feat: Runtime type reflection #17
@ -28,7 +28,7 @@
|
||||
'del-cli': '5.1.0',
|
||||
mkdirp: '3.0.1',
|
||||
'source-map': '^0.7.4',
|
||||
'ts-macros': '^2.4.1',
|
||||
'ts-macros': 'github:GoogleFeud/ts-macros',
|
||||
'ts-patch': '^3.0.2',
|
||||
typescript: '^5.1.6',
|
||||
},
|
||||
|
@ -21,8 +21,8 @@ devDependencies:
|
||||
specifier: ^0.7.4
|
||||
version: 0.7.4
|
||||
ts-macros:
|
||||
specifier: ^2.4.1
|
||||
version: 2.4.1(typescript@5.1.6)
|
||||
specifier: github:GoogleFeud/ts-macros
|
||||
version: github.com/GoogleFeud/ts-macros/4f8c22db77e3b5840e3a2f285e30436f71c27e15(typescript@5.1.6)
|
||||
ts-patch:
|
||||
specifier: ^3.0.2
|
||||
version: 3.0.2
|
||||
@ -843,14 +843,6 @@ packages:
|
||||
engines: {node: '>=12'}
|
||||
dev: true
|
||||
|
||||
/ts-macros@2.4.1(typescript@5.1.6):
|
||||
resolution: {integrity: sha512-DmrftFZ5pgM7dw8ySYcd90wGEfjp7yx9MFw/YyJHNdwKYdUb//lcy/XI/Lvg3LbrGIbjBMEj1rzuc5Kfkzvafg==}
|
||||
peerDependencies:
|
||||
typescript: 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x
|
||||
dependencies:
|
||||
typescript: 5.1.6
|
||||
dev: true
|
||||
|
||||
/ts-patch@3.0.2:
|
||||
resolution: {integrity: sha512-iTg8euqiNsNM1VDfOsVIsP0bM4kAVXU38n7TGQSkky7YQX/syh6sDPIRkvSS0HjT8ZOr0pq1h+5Le6jdB3hiJQ==}
|
||||
hasBin: true
|
||||
@ -905,3 +897,14 @@ packages:
|
||||
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
github.com/GoogleFeud/ts-macros/4f8c22db77e3b5840e3a2f285e30436f71c27e15(typescript@5.1.6):
|
||||
resolution: {tarball: https://codeload.github.com/GoogleFeud/ts-macros/tar.gz/4f8c22db77e3b5840e3a2f285e30436f71c27e15}
|
||||
id: github.com/GoogleFeud/ts-macros/4f8c22db77e3b5840e3a2f285e30436f71c27e15
|
||||
name: ts-macros
|
||||
version: 2.4.2
|
||||
peerDependencies:
|
||||
typescript: 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x
|
||||
dependencies:
|
||||
typescript: 5.1.6
|
||||
dev: true
|
||||
|
@ -84,5 +84,5 @@ export type AliasOf<Name extends string, T> = T & {aliasOf?: Name}
|
||||
// For defining implementations with type reflection
|
||||
export function $implement<Impl>(name: string, expr: Impl) {
|
||||
$$define!(name, expr, false, true); // Final `true` is export
|
||||
$$ident!(name).reflectedType = $$typeToString!<Impl>();
|
||||
$$ident!(name).reflectedType = $$typeToString!<Impl>(true, false, true);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user