import { defineCustomElement, expectType, expectError } from './index' describe('inject', () => { // with object inject defineCustomElement({ props: { a: String }, inject: { foo: 'foo', bar: 'bar', }, created() { expectType(this.foo) expectType(this.bar) // @ts-expect-error expectError(this.foobar = 1) } }) // with array inject defineCustomElement({ props: ['a', 'b'], inject: ['foo', 'bar'], created() { expectType(this.foo) expectType(this.bar) // @ts-expect-error expectError(this.foobar = 1) } }) // with no props defineCustomElement({ inject: { foo: { from: 'pbar', default: 'foo' }, bar: { from: 'pfoo', default: 'bar' }, }, created() { expectType(this.foo) expectType(this.bar) // @ts-expect-error expectError(this.foobar = 1) } }) // without inject defineCustomElement({ props: ['a', 'b'], created() { // @ts-expect-error expectError(this.foo = 1) // @ts-expect-error expectError(this.bar = 1) } }) })