expect(deps && [...deps]).toStrictEqual(Object.keys(files))
})
+ // #8244
+ test('utility type in external file', () => {
+ const files = {
+ '/foo.ts': 'type A = { n?: number }; export type B = Required<A>'
+ }
+ const { props } = resolve(
+ `
+ import { B } from './foo'
+ defineProps<B>()
+ `,
+ files
+ )
+ expect(props).toStrictEqual({
+ n: ['Number']
+ })
+ })
+
test('relative vue', () => {
const files = {
'/foo.vue':
name: GetSetType<typeof SupportedBuiltinsSet>,
scope: TypeScope
): ResolvedElements {
- const t = resolveTypeElements(ctx, node.typeParameters!.params[0])
+ const t = resolveTypeElements(ctx, node.typeParameters!.params[0], scope)
switch (name) {
case 'Partial': {
const res: ResolvedElements = { props: {}, calls: t.calls }