issue: deepkit doesn't reflect types imported via import type
This commit is contained in:
parent
58f0250ab4
commit
9abea5c484
@ -1,5 +1,22 @@
|
|||||||
import type {Dependencies, Signature} from '../interfaces/type.js'
|
import {ReflectionFunction, stringifyType, typeOf} from '@deepkit/type'
|
||||||
|
import type {Dependencies, Signature, Signatures, OneType} from '../interfaces/type.js'
|
||||||
|
|
||||||
|
interface LocalSignatures<T> {
|
||||||
|
one: (a: T) => OneType<T>
|
||||||
|
}
|
||||||
|
|
||||||
export const square =
|
export const square =
|
||||||
<T>(dep: Dependencies<'multiply', T>): Signature<'square', T> =>
|
<T>(dep: Dependencies<'multiply', T>): Signature<'square', T> =>
|
||||||
z => dep.multiply(z, z)
|
z => dep.multiply(z, z)
|
||||||
|
|
||||||
|
const sqRefl = ReflectionFunction.from(square)
|
||||||
|
console.log(
|
||||||
|
' For generic square I know that:',
|
||||||
|
sqRefl,
|
||||||
|
sqRefl.getParameterNames(),
|
||||||
|
sqRefl.getParameterType('dep'),
|
||||||
|
"\n final dep type:",
|
||||||
|
stringifyType(sqRefl.getParameterType('dep')))
|
||||||
|
|
||||||
|
console.log(' because', typeOf<LocalSignatures<number>['one']>())
|
||||||
|
console.log(' readable:', stringifyType(typeOf<LocalSignatures<number>['one']>()))
|
||||||
|
10
src/local.ts
Normal file
10
src/local.ts
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import type {ImportedInterface} from './remote.js'
|
||||||
|
|
||||||
|
interface LocalInterface {
|
||||||
|
item: (a: number) => string
|
||||||
|
}
|
||||||
|
|
||||||
|
import {stringifyType, typeOf} from '@deepkit/type'
|
||||||
|
|
||||||
|
console.log('Locally:', stringifyType(typeOf<LocalInterface['item']>()))
|
||||||
|
console.log('Remotely:', stringifyType(typeOf<ImportedInterface['item']>()))
|
3
src/remote.ts
Normal file
3
src/remote.ts
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
export interface ImportedInterface {
|
||||||
|
item: (a: number) => string
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user