@tsonic/frontend 0.0.26 → 0.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/dotnet-metadata.d.ts +36 -7
- package/dist/dotnet-metadata.d.ts.map +1 -1
- package/dist/dotnet-metadata.js +82 -6
- package/dist/dotnet-metadata.js.map +1 -1
- package/dist/graph/extraction/orchestrator.d.ts.map +1 -1
- package/dist/graph/extraction/orchestrator.js +2 -3
- package/dist/graph/extraction/orchestrator.js.map +1 -1
- package/dist/ir/binding-resolution.test.js +6 -11
- package/dist/ir/binding-resolution.test.js.map +1 -1
- package/dist/ir/bindings-disambiguation.test.js +6 -18
- package/dist/ir/bindings-disambiguation.test.js.map +1 -1
- package/dist/ir/builder/orchestrator.d.ts.map +1 -1
- package/dist/ir/builder/orchestrator.js +2 -3
- package/dist/ir/builder/orchestrator.js.map +1 -1
- package/dist/ir/builder/types.d.ts +0 -2
- package/dist/ir/builder/types.d.ts.map +1 -1
- package/dist/ir/builder.test.js +1 -1
- package/dist/ir/converters/expressions/access.d.ts.map +1 -1
- package/dist/ir/converters/expressions/access.js +35 -14
- package/dist/ir/converters/expressions/access.js.map +1 -1
- package/dist/ir/converters/expressions/numeric-recovery.test.d.ts +3 -3
- package/dist/ir/converters/expressions/numeric-recovery.test.js +31 -31
- package/dist/ir/program-context.d.ts.map +1 -1
- package/dist/ir/program-context.js +7 -24
- package/dist/ir/program-context.js.map +1 -1
- package/dist/ir/type-system/internal/type-converter/orchestrator.d.ts.map +1 -1
- package/dist/ir/type-system/internal/type-converter/orchestrator.js +10 -0
- package/dist/ir/type-system/internal/type-converter/orchestrator.js.map +1 -1
- package/dist/ir/type-system/internal/type-registry.d.ts +0 -2
- package/dist/ir/type-system/internal/type-registry.d.ts.map +1 -1
- package/dist/ir/type-system/internal/type-registry.js +8 -9
- package/dist/ir/type-system/internal/type-registry.js.map +1 -1
- package/dist/ir/type-system/internal/universe/clr-catalog.d.ts +3 -4
- package/dist/ir/type-system/internal/universe/clr-catalog.d.ts.map +1 -1
- package/dist/ir/type-system/internal/universe/clr-catalog.js +129 -99
- package/dist/ir/type-system/internal/universe/clr-catalog.js.map +1 -1
- package/dist/ir/type-system/internal/universe/index.d.ts +2 -2
- package/dist/ir/type-system/internal/universe/index.d.ts.map +1 -1
- package/dist/ir/type-system/internal/universe/index.js +1 -1
- package/dist/ir/type-system/internal/universe/index.js.map +1 -1
- package/dist/ir/type-system/internal/universe/source-catalog.d.ts +0 -2
- package/dist/ir/type-system/internal/universe/source-catalog.d.ts.map +1 -1
- package/dist/ir/type-system/internal/universe/source-catalog.js +1 -6
- package/dist/ir/type-system/internal/universe/source-catalog.js.map +1 -1
- package/dist/ir/type-system/internal/universe/types.d.ts +51 -106
- package/dist/ir/type-system/internal/universe/types.d.ts.map +1 -1
- package/dist/ir/type-system/internal/universe/types.js +1 -1
- package/dist/ir/type-system/internal/universe/types.js.map +1 -1
- package/dist/ir/type-system/internal/universe/unified-universe.d.ts +1 -1
- package/dist/ir/type-system/internal/universe/unified-universe.d.ts.map +1 -1
- package/dist/ir/type-system/internal/universe/unified-universe.js +2 -8
- package/dist/ir/type-system/internal/universe/unified-universe.js.map +1 -1
- package/dist/ir/type-system/type-system.d.ts.map +1 -1
- package/dist/ir/type-system/type-system.js +1 -2
- package/dist/ir/type-system/type-system.js.map +1 -1
- package/dist/ir/types/expressions.d.ts +1 -2
- package/dist/ir/types/expressions.d.ts.map +1 -1
- package/dist/ir/validation/attribute-collection-pass.d.ts.map +1 -1
- package/dist/ir/validation/attribute-collection-pass.js +11 -4
- package/dist/ir/validation/attribute-collection-pass.js.map +1 -1
- package/dist/ir/validation/attribute-collection-pass.test.js +438 -0
- package/dist/ir/validation/attribute-collection-pass.test.js.map +1 -1
- package/dist/ir/validation/numeric-proof-pass.d.ts.map +1 -1
- package/dist/ir/validation/numeric-proof-pass.js +1 -4
- package/dist/ir/validation/numeric-proof-pass.js.map +1 -1
- package/dist/program/bindings.d.ts +8 -7
- package/dist/program/bindings.d.ts.map +1 -1
- package/dist/program/bindings.js +39 -55
- package/dist/program/bindings.js.map +1 -1
- package/dist/program/bindings.test.js +12 -14
- package/dist/program/bindings.test.js.map +1 -1
- package/dist/program/dependency-graph.d.ts.map +1 -1
- package/dist/program/dependency-graph.js +14 -10
- package/dist/program/dependency-graph.js.map +1 -1
- package/dist/program/metadata.d.ts +5 -3
- package/dist/program/metadata.d.ts.map +1 -1
- package/dist/program/metadata.js +16 -18
- package/dist/program/metadata.js.map +1 -1
- package/dist/program/types.d.ts +0 -2
- package/dist/program/types.d.ts.map +1 -1
- package/dist/resolver/clr-bindings-resolver.d.ts +0 -5
- package/dist/resolver/clr-bindings-resolver.d.ts.map +1 -1
- package/dist/resolver/clr-bindings-resolver.js +0 -11
- package/dist/resolver/clr-bindings-resolver.js.map +1 -1
- package/dist/resolver/clr-bindings-resolver.test.js +2 -5
- package/dist/resolver/clr-bindings-resolver.test.js.map +1 -1
- package/dist/resolver/namespace.d.ts +1 -2
- package/dist/resolver/namespace.d.ts.map +1 -1
- package/dist/resolver/namespace.js +3 -3
- package/dist/resolver/namespace.js.map +1 -1
- package/dist/resolver/namespace.test.js +6 -6
- package/dist/resolver/naming.d.ts +1 -2
- package/dist/resolver/naming.d.ts.map +1 -1
- package/dist/resolver/naming.js +3 -3
- package/dist/resolver/naming.js.map +1 -1
- package/dist/resolver.d.ts +0 -2
- package/dist/resolver.d.ts.map +1 -1
- package/dist/resolver.js +0 -1
- package/dist/resolver.js.map +1 -1
- package/dist/resolver.test.js +4 -8
- package/dist/resolver.test.js.map +1 -1
- package/dist/tsbindgen/names.d.ts +19 -0
- package/dist/tsbindgen/names.d.ts.map +1 -0
- package/dist/tsbindgen/names.js +32 -0
- package/dist/tsbindgen/names.js.map +1 -0
- package/dist/types/explicit-views.d.ts +0 -45
- package/dist/types/explicit-views.d.ts.map +1 -1
- package/dist/types/explicit-views.js +0 -81
- package/dist/types/explicit-views.js.map +1 -1
- package/package.json +1 -17
|
@@ -54,9 +54,7 @@ describe("ClrBindingsResolver (npm exports + dist bindings)", () => {
|
|
|
54
54
|
namespace: spec.namespace,
|
|
55
55
|
types: [{ assemblyName: spec.assemblyName }],
|
|
56
56
|
});
|
|
57
|
-
|
|
58
|
-
writeJson(metadataPath, {});
|
|
59
|
-
return { bindingsPath, metadataPath };
|
|
57
|
+
return { bindingsPath };
|
|
60
58
|
};
|
|
61
59
|
it("resolves CLR bindings from a scoped package using npm exports (dist layout)", () => {
|
|
62
60
|
const workspaceRoot = createWorkspaceRoot();
|
|
@@ -80,7 +78,7 @@ describe("ClrBindingsResolver (npm exports + dist bindings)", () => {
|
|
|
80
78
|
},
|
|
81
79
|
},
|
|
82
80
|
});
|
|
83
|
-
const { bindingsPath
|
|
81
|
+
const { bindingsPath } = writeDistBindingsPackage(pkgRoot, spec);
|
|
84
82
|
const resolver = createClrBindingsResolver(workspaceRoot);
|
|
85
83
|
const direct = resolver.resolve(`${spec.packageName}/${spec.namespaceKey}.js`);
|
|
86
84
|
expect(direct.isClr).to.equal(true);
|
|
@@ -88,7 +86,6 @@ describe("ClrBindingsResolver (npm exports + dist bindings)", () => {
|
|
|
88
86
|
return;
|
|
89
87
|
expect(direct.resolvedNamespace).to.equal(spec.namespace);
|
|
90
88
|
expect(direct.bindingsPath).to.equal(bindingsPath);
|
|
91
|
-
expect(direct.metadataPath).to.equal(metadataPath);
|
|
92
89
|
expect(direct.assembly).to.equal(spec.assemblyName);
|
|
93
90
|
// Deep subpaths should still resolve to the namespace bindings.
|
|
94
91
|
const deep = resolver.resolve(`${spec.packageName}/${spec.namespaceKey}/internal/index.js`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clr-bindings-resolver.test.js","sourceRoot":"","sources":["../../src/resolver/clr-bindings-resolver.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AASvE,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAE,KAAc,EAAE,EAAE;IACrD,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAE,KAAa,EAAE,EAAE;IACpD,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,QAAQ,CAAC,mDAAmD,EAAE,GAAG,EAAE;IACjE,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,GAAW,EAAE;QACvC,MAAM,IAAI,GAAG,IAAI,CACf,MAAM,EAAE,EACR,gCAAgC,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAChF,CAAC;QACF,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE;YACpC,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QACH,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,CAC9B,aAAqB,EACrB,WAAmB,EACX,EAAE;QACV,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,WAAW,EAAE,CAAC,CAAC;QACjF,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,IAAI,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC,CAAC;IAEF,MAAM,yBAAyB,GAAG,CAChC,aAAqB,EACrB,WAAmB,EACX,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;IAE9D,MAAM,wBAAwB,GAAG,CAC/B,OAAe,EACf,IAAiB,
|
|
1
|
+
{"version":3,"file":"clr-bindings-resolver.test.js","sourceRoot":"","sources":["../../src/resolver/clr-bindings-resolver.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AASvE,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAE,KAAc,EAAE,EAAE;IACrD,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAE,KAAa,EAAE,EAAE;IACpD,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,QAAQ,CAAC,mDAAmD,EAAE,GAAG,EAAE;IACjE,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,GAAW,EAAE;QACvC,MAAM,IAAI,GAAG,IAAI,CACf,MAAM,EAAE,EACR,gCAAgC,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAChF,CAAC;QACF,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE;YACpC,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QACH,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,CAC9B,aAAqB,EACrB,WAAmB,EACX,EAAE;QACV,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,WAAW,EAAE,CAAC,CAAC;QACjF,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,IAAI,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC,CAAC;IAEF,MAAM,yBAAyB,GAAG,CAChC,aAAqB,EACrB,WAAmB,EACX,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;IAE9D,MAAM,wBAAwB,GAAG,CAC/B,OAAe,EACf,IAAiB,EACkB,EAAE;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC7D,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEzC,yEAAyE;QACzE,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,cAAc,CAAC,CAAC;QACrE,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,YAAY,OAAO,CAAC,EAAE,2BAA2B,CAAC,CAAC;QAEpF,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5C,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QAClD,SAAS,CAAC,YAAY,EAAE;YACtB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;SAC7C,CAAC,CAAC;QACH,OAAO,EAAE,YAAY,EAAE,CAAC;IAC1B,CAAC,CAAC;IAEF,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;QACrF,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;QAE5C,MAAM,IAAI,GAAgB;YACxB,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,aAAa;YAC3B,SAAS,EAAE,aAAa;YACxB,YAAY,EAAE,aAAa;SAC5B,CAAC;QAEF,MAAM,OAAO,GAAG,uBAAuB,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACzE,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE;YACvC,IAAI,EAAE,IAAI,CAAC,WAAW;YACtB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,gBAAgB,EAAE,gBAAgB;gBAClC,QAAQ,EAAE;oBACR,KAAK,EAAE,+BAA+B;oBACtC,OAAO,EAAE,6BAA6B;iBACvC;aACF;SACF,CAAC,CAAC;QAEH,MAAM,EAAE,YAAY,EAAE,GAAG,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEjE,MAAM,QAAQ,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC;QAE1D,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC;QAC/E,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,OAAO;QAC1B,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEpD,gEAAgE;QAChE,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAC3B,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,oBAAoB,CAC7D,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,GAAG,EAAE;QACxF,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;QAE5C,MAAM,IAAI,GAAgB;YACxB,WAAW,EAAE,aAAa;YAC1B,YAAY,EAAE,0BAA0B;YACxC,SAAS,EAAE,0BAA0B;YACrC,YAAY,EAAE,aAAa;SAC5B,CAAC;QAEF,MAAM,OAAO,GAAG,yBAAyB,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3E,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE;YACvC,IAAI,EAAE,IAAI,CAAC,WAAW;YACtB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,gBAAgB,EAAE,gBAAgB;gBAClC,QAAQ,EAAE;oBACR,KAAK,EAAE,+BAA+B;oBACtC,OAAO,EAAE,6BAA6B;iBACvC;aACF;SACF,CAAC,CAAC;QAEH,MAAM,EAAE,YAAY,EAAE,GAAG,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC;QAE1D,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC;QAC/E,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,OAAO;QAC1B,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;QAE5C,MAAM,WAAW,GAAG,iBAAiB,CAAC;QACtC,MAAM,YAAY,GAAG,aAAa,CAAC;QACnC,MAAM,OAAO,GAAG,yBAAyB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QACtE,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE;YACvC,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC1C,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QAClD,SAAS,CAAC,YAAY,EAAE;YACtB,SAAS,EAAE,aAAa;YACxB,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC;SAClD,CAAC,CAAC;QAEH,6FAA6F;QAC7F,MAAM,QAAQ,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,YAAY,KAAK,CAAC,CAAC;QACrE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,OAAO;QAC1B,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { type NamingPolicy } from "./naming-policy.js";
|
|
2
1
|
/**
|
|
3
2
|
* Compute namespace from file path relative to source root.
|
|
4
3
|
*
|
|
@@ -17,5 +16,5 @@ import { type NamingPolicy } from "./naming-policy.js";
|
|
|
17
16
|
* @param rootNamespace - Root namespace for the project
|
|
18
17
|
* @returns Computed namespace string
|
|
19
18
|
*/
|
|
20
|
-
export declare const getNamespaceFromPath: (filePath: string, sourceRoot: string, rootNamespace: string
|
|
19
|
+
export declare const getNamespaceFromPath: (filePath: string, sourceRoot: string, rootNamespace: string) => string;
|
|
21
20
|
//# sourceMappingURL=namespace.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/resolver/namespace.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/resolver/namespace.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,oBAAoB,GAC/B,UAAU,MAAM,EAChB,YAAY,MAAM,EAClB,eAAe,MAAM,KACpB,MAmBF,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { dirname, relative } from "path";
|
|
2
|
-
|
|
2
|
+
const normalizePathFragment = (fragment) => fragment.replace(/-/g, "");
|
|
3
3
|
/**
|
|
4
4
|
* Compute namespace from file path relative to source root.
|
|
5
5
|
*
|
|
@@ -18,7 +18,7 @@ import { applyNamingPolicy } from "./naming-policy.js";
|
|
|
18
18
|
* @param rootNamespace - Root namespace for the project
|
|
19
19
|
* @returns Computed namespace string
|
|
20
20
|
*/
|
|
21
|
-
export const getNamespaceFromPath = (filePath, sourceRoot, rootNamespace
|
|
21
|
+
export const getNamespaceFromPath = (filePath, sourceRoot, rootNamespace) => {
|
|
22
22
|
const fileDir = dirname(filePath);
|
|
23
23
|
// Make relative to source root, then normalize to forward slashes
|
|
24
24
|
// IMPORTANT: Normalize AFTER relative() call, not before (cross-platform)
|
|
@@ -32,7 +32,7 @@ export const getNamespaceFromPath = (filePath, sourceRoot, rootNamespace, namesp
|
|
|
32
32
|
return parts.length === 0
|
|
33
33
|
? rootNamespace
|
|
34
34
|
: `${rootNamespace}.${parts
|
|
35
|
-
.map(
|
|
35
|
+
.map(normalizePathFragment)
|
|
36
36
|
.join(".")}`;
|
|
37
37
|
};
|
|
38
38
|
//# sourceMappingURL=namespace.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/resolver/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/resolver/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEzC,MAAM,qBAAqB,GAAG,CAAC,QAAgB,EAAU,EAAE,CACzD,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAE7B;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,QAAgB,EAChB,UAAkB,EAClB,aAAqB,EACb,EAAE;IACV,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAElC,kEAAkE;IAClE,0EAA0E;IAC1E,IAAI,YAAY,GAAG,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAErE,+DAA+D;IAC/D,MAAM,KAAK,GAAG,YAAY;SACvB,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;IAEvD,+CAA+C;IAC/C,2BAA2B;IAC3B,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;QACvB,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,GAAG,aAAa,IAAI,KAAK;aACtB,GAAG,CAAC,qBAAqB,CAAC;aAC1B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACrB,CAAC,CAAC"}
|
|
@@ -12,15 +12,15 @@ describe("getNamespaceFromPath", () => {
|
|
|
12
12
|
});
|
|
13
13
|
it("should compute namespace from single subdirectory", () => {
|
|
14
14
|
const result = getNamespaceFromPath("/project/src/models/user.ts", "/project/src", "MyApp");
|
|
15
|
-
expect(result).to.equal("MyApp.
|
|
15
|
+
expect(result).to.equal("MyApp.models");
|
|
16
16
|
});
|
|
17
17
|
it("should compute namespace from nested subdirectories", () => {
|
|
18
18
|
const result = getNamespaceFromPath("/project/src/models/entities/user.ts", "/project/src", "MyApp");
|
|
19
|
-
expect(result).to.equal("MyApp.
|
|
19
|
+
expect(result).to.equal("MyApp.models.entities");
|
|
20
20
|
});
|
|
21
21
|
it("should filter out 'src' from path components", () => {
|
|
22
22
|
const result = getNamespaceFromPath("/project/src/models/src/user.ts", "/project/src", "MyApp");
|
|
23
|
-
expect(result).to.equal("MyApp.
|
|
23
|
+
expect(result).to.equal("MyApp.models");
|
|
24
24
|
});
|
|
25
25
|
it("should handle case-preserved directory names", () => {
|
|
26
26
|
const result = getNamespaceFromPath("/project/src/MyModels/UserEntity.ts", "/project/src", "MyApp");
|
|
@@ -28,15 +28,15 @@ describe("getNamespaceFromPath", () => {
|
|
|
28
28
|
});
|
|
29
29
|
it("should handle deep nesting", () => {
|
|
30
30
|
const result = getNamespaceFromPath("/project/src/a/b/c/d/e/file.ts", "/project/src", "MyApp");
|
|
31
|
-
expect(result).to.equal("MyApp.
|
|
31
|
+
expect(result).to.equal("MyApp.a.b.c.d.e");
|
|
32
32
|
});
|
|
33
33
|
it("should handle source root without trailing slash", () => {
|
|
34
34
|
const result = getNamespaceFromPath("/project/src/models/user.ts", "/project/src", "MyApp");
|
|
35
|
-
expect(result).to.equal("MyApp.
|
|
35
|
+
expect(result).to.equal("MyApp.models");
|
|
36
36
|
});
|
|
37
37
|
it("should handle source root with trailing slash", () => {
|
|
38
38
|
const result = getNamespaceFromPath("/project/src/models/user.ts", "/project/src/", "MyApp");
|
|
39
|
-
expect(result).to.equal("MyApp.
|
|
39
|
+
expect(result).to.equal("MyApp.models");
|
|
40
40
|
});
|
|
41
41
|
});
|
|
42
42
|
//# sourceMappingURL=namespace.test.js.map
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Namespace and class name generation from file paths
|
|
3
3
|
*/
|
|
4
|
-
import { type NamingPolicy } from "./naming-policy.js";
|
|
5
4
|
/**
|
|
6
5
|
* Generate class name from file path
|
|
7
6
|
*/
|
|
8
|
-
export declare const getClassNameFromPath: (filePath: string
|
|
7
|
+
export declare const getClassNameFromPath: (filePath: string) => string;
|
|
9
8
|
//# sourceMappingURL=naming.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../src/resolver/naming.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../src/resolver/naming.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,UAAU,MAAM,KAAG,MAGvD,CAAC"}
|
package/dist/resolver/naming.js
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* Namespace and class name generation from file paths
|
|
3
3
|
*/
|
|
4
4
|
import * as path from "node:path";
|
|
5
|
-
|
|
5
|
+
const normalizePathFragment = (fragment) => fragment.replace(/-/g, "");
|
|
6
6
|
/**
|
|
7
7
|
* Generate class name from file path
|
|
8
8
|
*/
|
|
9
|
-
export const getClassNameFromPath = (filePath
|
|
9
|
+
export const getClassNameFromPath = (filePath) => {
|
|
10
10
|
const basename = path.basename(filePath, ".ts");
|
|
11
|
-
return
|
|
11
|
+
return normalizePathFragment(basename);
|
|
12
12
|
};
|
|
13
13
|
//# sourceMappingURL=naming.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/resolver/naming.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/resolver/naming.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,MAAM,qBAAqB,GAAG,CAAC,QAAgB,EAAU,EAAE,CACzD,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAE7B;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAAgB,EAAU,EAAE;IAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAChD,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC,CAAC"}
|
package/dist/resolver.d.ts
CHANGED
|
@@ -4,6 +4,4 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export type { ResolvedModule, ResolvedClrImport } from "./resolver/index.js";
|
|
6
6
|
export { resolveImport, resolveModulePath, getNamespaceFromPath, getClassNameFromPath, ClrBindingsResolver, createClrBindingsResolver, } from "./resolver/index.js";
|
|
7
|
-
export type { NamingPolicy, NamingPolicyConfig, NamingPolicyBucket, } from "./resolver/naming-policy.js";
|
|
8
|
-
export { applyNamingPolicy, resolveNamingPolicy } from "./resolver/naming-policy.js";
|
|
9
7
|
//# sourceMappingURL=resolver.d.ts.map
|
package/dist/resolver.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC"}
|
package/dist/resolver.js
CHANGED
|
@@ -3,5 +3,4 @@
|
|
|
3
3
|
* Main dispatcher - re-exports from resolver/ subdirectory
|
|
4
4
|
*/
|
|
5
5
|
export { resolveImport, resolveModulePath, getNamespaceFromPath, getClassNameFromPath, ClrBindingsResolver, createClrBindingsResolver, } from "./resolver/index.js";
|
|
6
|
-
export { applyNamingPolicy, resolveNamingPolicy } from "./resolver/naming-policy.js";
|
|
7
6
|
//# sourceMappingURL=resolver.js.map
|
package/dist/resolver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC"}
|
package/dist/resolver.test.js
CHANGED
|
@@ -71,7 +71,7 @@ describe("Module Resolver", () => {
|
|
|
71
71
|
describe("getNamespaceFromPath", () => {
|
|
72
72
|
it("should generate namespace from directory structure", () => {
|
|
73
73
|
const namespace = getNamespaceFromPath("/project/src/models/auth/User.ts", "/project/src", "MyApp");
|
|
74
|
-
expect(namespace).to.equal("MyApp.
|
|
74
|
+
expect(namespace).to.equal("MyApp.models.auth");
|
|
75
75
|
});
|
|
76
76
|
it("should use root namespace for files in source root", () => {
|
|
77
77
|
const namespace = getNamespaceFromPath("/project/src/index.ts", "/project/src", "MyApp");
|
|
@@ -83,15 +83,11 @@ describe("Module Resolver", () => {
|
|
|
83
83
|
});
|
|
84
84
|
});
|
|
85
85
|
describe("getClassNameFromPath", () => {
|
|
86
|
-
it("should extract class name from file name
|
|
86
|
+
it("should extract class name from file name", () => {
|
|
87
87
|
expect(getClassNameFromPath("/src/User.ts")).to.equal("User");
|
|
88
88
|
expect(getClassNameFromPath("/src/models/UserProfile.ts")).to.equal("UserProfile");
|
|
89
|
-
expect(getClassNameFromPath("index.ts")).to.equal("
|
|
90
|
-
expect(getClassNameFromPath("/src/todo-list.ts")).to.equal("
|
|
91
|
-
});
|
|
92
|
-
it("should support alternate naming policies", () => {
|
|
93
|
-
expect(getClassNameFromPath("/src/todo-list.ts", "none")).to.equal("todolist");
|
|
94
|
-
expect(getClassNameFromPath("/src/todolist.ts", "clr")).to.equal("Todolist");
|
|
89
|
+
expect(getClassNameFromPath("index.ts")).to.equal("index");
|
|
90
|
+
expect(getClassNameFromPath("/src/todo-list.ts")).to.equal("todolist");
|
|
95
91
|
});
|
|
96
92
|
});
|
|
97
93
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.test.js","sourceRoot":"","sources":["../src/resolver.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"resolver.test.js","sourceRoot":"","sources":["../src/resolver.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tsbindgen naming helpers.
|
|
3
|
+
*
|
|
4
|
+
* These utilities encode the deterministic mapping rules between CLR reflection
|
|
5
|
+
* names and the TypeScript identifiers produced by tsbindgen.
|
|
6
|
+
*
|
|
7
|
+
* IMPORTANT: These are NOT "naming transforms" (no casing policy). They are
|
|
8
|
+
* structural encodings required to represent CLR generics and nested types in TS.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Convert a CLR full type name to the tsbindgen TS type identifier.
|
|
12
|
+
*
|
|
13
|
+
* Examples:
|
|
14
|
+
* - "System.String" -> "String"
|
|
15
|
+
* - "System.Collections.Generic.List`1" -> "List_1"
|
|
16
|
+
* - "System.Collections.Generic.List`1+Enumerator" -> "List_1_Enumerator"
|
|
17
|
+
*/
|
|
18
|
+
export declare const tsbindgenClrTypeNameToTsTypeName: (clrFullName: string) => string;
|
|
19
|
+
//# sourceMappingURL=names.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"names.d.ts","sourceRoot":"","sources":["../../src/tsbindgen/names.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC,GAAI,aAAa,MAAM,KAAG,MAiBtE,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tsbindgen naming helpers.
|
|
3
|
+
*
|
|
4
|
+
* These utilities encode the deterministic mapping rules between CLR reflection
|
|
5
|
+
* names and the TypeScript identifiers produced by tsbindgen.
|
|
6
|
+
*
|
|
7
|
+
* IMPORTANT: These are NOT "naming transforms" (no casing policy). They are
|
|
8
|
+
* structural encodings required to represent CLR generics and nested types in TS.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Convert a CLR full type name to the tsbindgen TS type identifier.
|
|
12
|
+
*
|
|
13
|
+
* Examples:
|
|
14
|
+
* - "System.String" -> "String"
|
|
15
|
+
* - "System.Collections.Generic.List`1" -> "List_1"
|
|
16
|
+
* - "System.Collections.Generic.List`1+Enumerator" -> "List_1_Enumerator"
|
|
17
|
+
*/
|
|
18
|
+
export const tsbindgenClrTypeNameToTsTypeName = (clrFullName) => {
|
|
19
|
+
// Some signatures may include generic instantiation suffixes (e.g. "[[T]]").
|
|
20
|
+
// Those never appear in type declarations as part of the exported identifier.
|
|
21
|
+
const withoutInstantiation = clrFullName.includes("[[")
|
|
22
|
+
? clrFullName.split("[[")[0] ?? clrFullName
|
|
23
|
+
: clrFullName;
|
|
24
|
+
const lastDot = withoutInstantiation.lastIndexOf(".");
|
|
25
|
+
const simple = lastDot >= 0 ? withoutInstantiation.slice(lastDot + 1) : withoutInstantiation;
|
|
26
|
+
return (simple
|
|
27
|
+
// Nested CLR types use '+', TS uses '_' between segments.
|
|
28
|
+
.replace(/\+/g, "_")
|
|
29
|
+
// Generic arity markers use '`N', TS uses '_N'.
|
|
30
|
+
.replace(/`(\d+)/g, "_$1"));
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"names.js","sourceRoot":"","sources":["../../src/tsbindgen/names.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,WAAmB,EAAU,EAAE;IAC9E,6EAA6E;IAC7E,8EAA8E;IAC9E,MAAM,oBAAoB,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;QACrD,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW;QAC3C,CAAC,CAAC,WAAW,CAAC;IAEhB,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAE7F,OAAO,CACL,MAAM;QACJ,0DAA0D;SACzD,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;QACpB,gDAAgD;SAC/C,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAC7B,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
*
|
|
12
12
|
* @see spec/explicit-interface-views.md for complete documentation
|
|
13
13
|
*/
|
|
14
|
-
import type { ExplicitView } from "./metadata.ts";
|
|
15
14
|
/**
|
|
16
15
|
* Check if a property name matches the explicit view pattern (As_IInterface).
|
|
17
16
|
*
|
|
@@ -33,50 +32,6 @@ export declare const extractInterfaceNameFromView: (viewPropertyName: string) =>
|
|
|
33
32
|
* @returns View property name (e.g., "As_ICollection")
|
|
34
33
|
*/
|
|
35
34
|
export declare const buildViewPropertyName: (interfaceName: string) => string;
|
|
36
|
-
/**
|
|
37
|
-
* Find explicit view for a given interface in type metadata.
|
|
38
|
-
*
|
|
39
|
-
* @param explicitViews - Array of explicit views from metadata
|
|
40
|
-
* @param interfaceName - CLR interface name to find (e.g., "System.Collections.ICollection")
|
|
41
|
-
* @returns Explicit view if found, undefined otherwise
|
|
42
|
-
*/
|
|
43
|
-
export declare const findExplicitView: (explicitViews: readonly ExplicitView[] | undefined, interfaceName: string) => ExplicitView | undefined;
|
|
44
|
-
/**
|
|
45
|
-
* Check if a member is in an explicit view (view-only member).
|
|
46
|
-
*
|
|
47
|
-
* @param explicitViews - Array of explicit views from metadata
|
|
48
|
-
* @param memberName - CLR member name to check
|
|
49
|
-
* @returns True if member appears in any view
|
|
50
|
-
*/
|
|
51
|
-
export declare const isMemberInExplicitView: (explicitViews: readonly ExplicitView[] | undefined, memberName: string) => boolean;
|
|
52
|
-
/**
|
|
53
|
-
* Get all interface names that have explicit views.
|
|
54
|
-
*
|
|
55
|
-
* @param explicitViews - Array of explicit views from metadata
|
|
56
|
-
* @returns Array of interface CLR names
|
|
57
|
-
*/
|
|
58
|
-
export declare const getExplicitViewInterfaces: (explicitViews: readonly ExplicitView[] | undefined) => readonly string[];
|
|
59
|
-
/**
|
|
60
|
-
* Information about an explicit view member access.
|
|
61
|
-
*/
|
|
62
|
-
export type ExplicitViewAccess = {
|
|
63
|
-
readonly interfaceName: string;
|
|
64
|
-
readonly interfaceTsName: string;
|
|
65
|
-
readonly memberName: string;
|
|
66
|
-
readonly memberKind: "Method" | "Property" | "Event";
|
|
67
|
-
};
|
|
68
|
-
/**
|
|
69
|
-
* Parse an explicit view member access expression.
|
|
70
|
-
*
|
|
71
|
-
* Example: obj.As_ICollection.CopyTo
|
|
72
|
-
* Returns: { interfaceName: "ICollection", memberName: "CopyTo", ... }
|
|
73
|
-
*
|
|
74
|
-
* @param viewPropertyName - View property name (e.g., "As_ICollection")
|
|
75
|
-
* @param memberName - Member being accessed (e.g., "CopyTo")
|
|
76
|
-
* @param explicitViews - Array of explicit views from metadata
|
|
77
|
-
* @returns View access info if valid, undefined if invalid
|
|
78
|
-
*/
|
|
79
|
-
export declare const parseExplicitViewAccess: (viewPropertyName: string, memberName: string, explicitViews: readonly ExplicitView[] | undefined) => ExplicitViewAccess | undefined;
|
|
80
35
|
/**
|
|
81
36
|
* Generate C# interface cast expression for explicit view access.
|
|
82
37
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explicit-views.d.ts","sourceRoot":"","sources":["../../src/types/explicit-views.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"explicit-views.d.ts","sourceRoot":"","sources":["../../src/types/explicit-views.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AASH;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GAAI,cAAc,MAAM,KAAG,OAE7D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,GACvC,kBAAkB,MAAM,KACvB,MAAM,GAAG,SAMX,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,eAAe,MAAM,KAAG,MAE7D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAChC,kBAAkB,MAAM,EACxB,eAAe,MAAM,KACpB,MAKF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,GACvC,kBAAkB,MAAM,EACxB,eAAe,MAAM,EACrB,kBAAkB,SAAS,MAAM,EAAE,KAClC,MAcF,CAAC"}
|
|
@@ -48,87 +48,6 @@ export const extractInterfaceNameFromView = (viewPropertyName) => {
|
|
|
48
48
|
export const buildViewPropertyName = (interfaceName) => {
|
|
49
49
|
return `${VIEW_PROPERTY_PREFIX}${interfaceName}`;
|
|
50
50
|
};
|
|
51
|
-
/**
|
|
52
|
-
* Find explicit view for a given interface in type metadata.
|
|
53
|
-
*
|
|
54
|
-
* @param explicitViews - Array of explicit views from metadata
|
|
55
|
-
* @param interfaceName - CLR interface name to find (e.g., "System.Collections.ICollection")
|
|
56
|
-
* @returns Explicit view if found, undefined otherwise
|
|
57
|
-
*/
|
|
58
|
-
export const findExplicitView = (explicitViews, interfaceName) => {
|
|
59
|
-
if (!explicitViews) {
|
|
60
|
-
return undefined;
|
|
61
|
-
}
|
|
62
|
-
return explicitViews.find((view) => view.interfaceName === interfaceName);
|
|
63
|
-
};
|
|
64
|
-
/**
|
|
65
|
-
* Check if a member is in an explicit view (view-only member).
|
|
66
|
-
*
|
|
67
|
-
* @param explicitViews - Array of explicit views from metadata
|
|
68
|
-
* @param memberName - CLR member name to check
|
|
69
|
-
* @returns True if member appears in any view
|
|
70
|
-
*/
|
|
71
|
-
export const isMemberInExplicitView = (explicitViews, memberName) => {
|
|
72
|
-
if (!explicitViews) {
|
|
73
|
-
return false;
|
|
74
|
-
}
|
|
75
|
-
for (const view of explicitViews) {
|
|
76
|
-
if (view.members.some((m) => m.clrName === memberName)) {
|
|
77
|
-
return true;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
return false;
|
|
81
|
-
};
|
|
82
|
-
/**
|
|
83
|
-
* Get all interface names that have explicit views.
|
|
84
|
-
*
|
|
85
|
-
* @param explicitViews - Array of explicit views from metadata
|
|
86
|
-
* @returns Array of interface CLR names
|
|
87
|
-
*/
|
|
88
|
-
export const getExplicitViewInterfaces = (explicitViews) => {
|
|
89
|
-
if (!explicitViews) {
|
|
90
|
-
return [];
|
|
91
|
-
}
|
|
92
|
-
return explicitViews.map((view) => view.interfaceName);
|
|
93
|
-
};
|
|
94
|
-
/**
|
|
95
|
-
* Parse an explicit view member access expression.
|
|
96
|
-
*
|
|
97
|
-
* Example: obj.As_ICollection.CopyTo
|
|
98
|
-
* Returns: { interfaceName: "ICollection", memberName: "CopyTo", ... }
|
|
99
|
-
*
|
|
100
|
-
* @param viewPropertyName - View property name (e.g., "As_ICollection")
|
|
101
|
-
* @param memberName - Member being accessed (e.g., "CopyTo")
|
|
102
|
-
* @param explicitViews - Array of explicit views from metadata
|
|
103
|
-
* @returns View access info if valid, undefined if invalid
|
|
104
|
-
*/
|
|
105
|
-
export const parseExplicitViewAccess = (viewPropertyName, memberName, explicitViews) => {
|
|
106
|
-
// Extract interface name from view property
|
|
107
|
-
const interfaceTsName = extractInterfaceNameFromView(viewPropertyName);
|
|
108
|
-
if (!interfaceTsName) {
|
|
109
|
-
return undefined;
|
|
110
|
-
}
|
|
111
|
-
// Find the explicit view in metadata
|
|
112
|
-
if (!explicitViews) {
|
|
113
|
-
return undefined;
|
|
114
|
-
}
|
|
115
|
-
// Look for view that matches the property name
|
|
116
|
-
const view = explicitViews.find((v) => v.tsPropertyName === viewPropertyName);
|
|
117
|
-
if (!view) {
|
|
118
|
-
return undefined;
|
|
119
|
-
}
|
|
120
|
-
// Find the member in the view
|
|
121
|
-
const member = view.members.find((m) => m.name === memberName);
|
|
122
|
-
if (!member) {
|
|
123
|
-
return undefined;
|
|
124
|
-
}
|
|
125
|
-
return {
|
|
126
|
-
interfaceName: view.interfaceName,
|
|
127
|
-
interfaceTsName,
|
|
128
|
-
memberName: member.name,
|
|
129
|
-
memberKind: member.kind,
|
|
130
|
-
};
|
|
131
|
-
};
|
|
132
51
|
/**
|
|
133
52
|
* Generate C# interface cast expression for explicit view access.
|
|
134
53
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explicit-views.js","sourceRoot":"","sources":["../../src/types/explicit-views.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"explicit-views.js","sourceRoot":"","sources":["../../src/types/explicit-views.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;GAGG;AACH,MAAM,oBAAoB,GAAG,KAAK,CAAC;AACnC,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,YAAoB,EAAW,EAAE;IACtE,OAAO,YAAY,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,gBAAwB,EACJ,EAAE;IACtB,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC5D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,aAAqB,EAAU,EAAE;IACrE,OAAO,GAAG,oBAAoB,GAAG,aAAa,EAAE,CAAC;AACnD,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,gBAAwB,EACxB,aAAqB,EACb,EAAE;IACV,+CAA+C;IAC/C,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,aAAa,CAAC;IAElE,OAAO,KAAK,SAAS,IAAI,gBAAgB,GAAG,CAAC;AAC/C,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,gBAAwB,EACxB,aAAqB,EACrB,gBAAmC,EAC3B,EAAE;IACV,+CAA+C;IAC/C,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,aAAa,CAAC;IAElE,6CAA6C;IAC7C,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAExD,qBAAqB;IACrB,MAAM,WAAW,GACf,gBAAgB,CAAC,MAAM,GAAG,CAAC;QACzB,CAAC,CAAC,GAAG,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACvD,CAAC,CAAC,gBAAgB,CAAC;IAEvB,OAAO,KAAK,WAAW,IAAI,gBAAgB,GAAG,CAAC;AACjD,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsonic/frontend",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.28",
|
|
4
4
|
"description": "TypeScript parser and IR builder for Tsonic compiler",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -13,25 +13,9 @@
|
|
|
13
13
|
"types": "./dist/index.d.ts",
|
|
14
14
|
"default": "./dist/index.js"
|
|
15
15
|
},
|
|
16
|
-
"./types/metadata.js": {
|
|
17
|
-
"types": "./dist/types/metadata.d.ts",
|
|
18
|
-
"default": "./dist/types/metadata.js"
|
|
19
|
-
},
|
|
20
|
-
"./types/bindings.js": {
|
|
21
|
-
"types": "./dist/types/bindings.d.ts",
|
|
22
|
-
"default": "./dist/types/bindings.js"
|
|
23
|
-
},
|
|
24
|
-
"./types/nested-types.js": {
|
|
25
|
-
"types": "./dist/types/nested-types.d.ts",
|
|
26
|
-
"default": "./dist/types/nested-types.js"
|
|
27
|
-
},
|
|
28
16
|
"./types/explicit-views.js": {
|
|
29
17
|
"types": "./dist/types/explicit-views.d.ts",
|
|
30
18
|
"default": "./dist/types/explicit-views.js"
|
|
31
|
-
},
|
|
32
|
-
"./metadata/index.js": {
|
|
33
|
-
"types": "./dist/metadata/index.d.ts",
|
|
34
|
-
"default": "./dist/metadata/index.js"
|
|
35
19
|
}
|
|
36
20
|
},
|
|
37
21
|
"scripts": {
|