@tsonic/emitter 0.0.27 → 0.0.29
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/array.test.js +2 -2
- package/dist/core/module-emitter.test.js +4 -4
- package/dist/core/naming-collisions.d.ts +1 -2
- package/dist/core/naming-collisions.d.ts.map +1 -1
- package/dist/core/naming-collisions.js +15 -20
- package/dist/core/naming-collisions.js.map +1 -1
- package/dist/emitter-types/context.d.ts.map +1 -1
- package/dist/emitter-types/context.js +3 -36
- package/dist/emitter-types/context.js.map +1 -1
- package/dist/emitter-types/core.d.ts +4 -11
- package/dist/emitter-types/core.d.ts.map +1 -1
- package/dist/emitter.d.ts.map +1 -1
- package/dist/emitter.js +1 -1
- package/dist/emitter.js.map +1 -1
- package/dist/expressions/access.d.ts.map +1 -1
- package/dist/expressions/access.js +5 -23
- package/dist/expressions/access.js.map +1 -1
- package/dist/expressions/index.test.js +2 -2
- package/dist/extension-methods.test.js +2 -2
- package/dist/generator-wrapper.test.js +12 -12
- package/dist/generator-wrapper.test.js.map +1 -1
- package/dist/generator.test.js +20 -20
- package/dist/generator.test.js.map +1 -1
- package/dist/golden.test.js +4 -1
- package/dist/golden.test.js.map +1 -1
- package/dist/hierarchical-bindings.test.js +1 -1
- package/dist/integration.test.js +19 -19
- package/dist/invariants/numeric-proof-contract.test.js +1 -55
- package/dist/invariants/numeric-proof-contract.test.js.map +1 -1
- package/dist/naming-policy.d.ts +2 -2
- package/dist/naming-policy.d.ts.map +1 -1
- package/dist/naming-policy.js +2 -4
- package/dist/naming-policy.js.map +1 -1
- package/dist/specialization/generic-classes.test.js +1 -1
- package/dist/specialization/generic-functions.test.js +6 -6
- package/dist/specialization/interfaces.test.js +5 -5
- package/dist/specialization/type-aliases.test.js +6 -6
- package/dist/statements/declarations/structs.test.js +5 -5
- package/dist/type-assertion.test.js +1 -1
- package/dist/types/index.test.js +1 -1
- package/dist/types/references.d.ts.map +1 -1
- package/dist/types/references.js +2 -4
- package/dist/types/references.js.map +1 -1
- package/dist/types/references.test.js +8 -8
- package/dist/types/unions.test.js +9 -9
- package/package.json +2 -2
|
@@ -54,10 +54,10 @@ describe("Interfaces (spec/16 §2)", () => {
|
|
|
54
54
|
expect(result).to.include("public class User");
|
|
55
55
|
expect(result).not.to.include("interface User");
|
|
56
56
|
// Should have auto-properties (required for non-optional)
|
|
57
|
-
expect(result).to.include("public required double
|
|
58
|
-
expect(result).to.include("public required string
|
|
57
|
+
expect(result).to.include("public required double id { get; set; }");
|
|
58
|
+
expect(result).to.include("public required string name { get; set; }");
|
|
59
59
|
// Optional property should be nullable
|
|
60
|
-
expect(result).to.include("public bool?
|
|
60
|
+
expect(result).to.include("public bool? active { get; set; }");
|
|
61
61
|
});
|
|
62
62
|
it("should emit interface with readonly members", () => {
|
|
63
63
|
const module = {
|
|
@@ -90,7 +90,7 @@ describe("Interfaces (spec/16 §2)", () => {
|
|
|
90
90
|
};
|
|
91
91
|
const result = emitModule(module);
|
|
92
92
|
// Readonly should use init-only setter (required for non-optional + C# 11 required)
|
|
93
|
-
expect(result).to.include("public required string
|
|
93
|
+
expect(result).to.include("public required string apiUrl { get; init; }");
|
|
94
94
|
});
|
|
95
95
|
it("should emit generic interface", () => {
|
|
96
96
|
const module = {
|
|
@@ -133,7 +133,7 @@ describe("Interfaces (spec/16 §2)", () => {
|
|
|
133
133
|
const result = emitModule(module);
|
|
134
134
|
// Allow for whitespace variations
|
|
135
135
|
expect(result).to.match(/public\s+class\s+Result\s*<T>/);
|
|
136
|
-
expect(result).to.include("public required T
|
|
136
|
+
expect(result).to.include("public required T data { get; set; }");
|
|
137
137
|
});
|
|
138
138
|
});
|
|
139
139
|
//# sourceMappingURL=interfaces.test.js.map
|
|
@@ -46,8 +46,8 @@ describe("Type Aliases (spec/16 §3)", () => {
|
|
|
46
46
|
};
|
|
47
47
|
const result = emitModule(module);
|
|
48
48
|
expect(result).to.include("public sealed class Point__Alias");
|
|
49
|
-
expect(result).to.include("public required double
|
|
50
|
-
expect(result).to.include("public required double
|
|
49
|
+
expect(result).to.include("public required double x { get; set; }");
|
|
50
|
+
expect(result).to.include("public required double y { get; set; }");
|
|
51
51
|
});
|
|
52
52
|
it("should emit non-structural type alias as comment", () => {
|
|
53
53
|
const module = {
|
|
@@ -116,9 +116,9 @@ describe("Type Aliases (spec/16 §3)", () => {
|
|
|
116
116
|
};
|
|
117
117
|
const result = emitModule(module);
|
|
118
118
|
expect(result).to.include("public sealed class Node__Alias");
|
|
119
|
-
expect(result).to.include("public required string
|
|
119
|
+
expect(result).to.include("public required string name { get; set; }");
|
|
120
120
|
// Self-reference should use __Alias suffix and be nullable (optional)
|
|
121
|
-
expect(result).to.include("public Node__Alias?
|
|
121
|
+
expect(result).to.include("public Node__Alias? next { get; set; }");
|
|
122
122
|
});
|
|
123
123
|
it("should emit __Alias suffix when alias is referenced from another alias", () => {
|
|
124
124
|
// Test case: type A = { name: string }; type B = { item: A }
|
|
@@ -199,9 +199,9 @@ describe("Type Aliases (spec/16 §3)", () => {
|
|
|
199
199
|
// Container should be emitted with __Alias suffix
|
|
200
200
|
expect(result).to.include("public sealed class Container__Alias");
|
|
201
201
|
// Reference to PersonData inside Container should use __Alias suffix
|
|
202
|
-
expect(result).to.include("public required PersonData__Alias
|
|
202
|
+
expect(result).to.include("public required PersonData__Alias item { get; set; }");
|
|
203
203
|
// Array of PersonData should also use __Alias suffix
|
|
204
|
-
expect(result).to.include("public required PersonData__Alias[]
|
|
204
|
+
expect(result).to.include("public required PersonData__Alias[] items { get; set; }");
|
|
205
205
|
});
|
|
206
206
|
});
|
|
207
207
|
//# sourceMappingURL=type-aliases.test.js.map
|
|
@@ -45,8 +45,8 @@ describe("Struct Emission", () => {
|
|
|
45
45
|
};
|
|
46
46
|
const result = emitCSharpFile(module);
|
|
47
47
|
expect(result).to.include("public struct Point");
|
|
48
|
-
expect(result).to.include("public required double
|
|
49
|
-
expect(result).to.include("public required double
|
|
48
|
+
expect(result).to.include("public required double x");
|
|
49
|
+
expect(result).to.include("public required double y");
|
|
50
50
|
expect(result).not.to.include("class Point");
|
|
51
51
|
});
|
|
52
52
|
it("should emit class for class without isStruct flag", () => {
|
|
@@ -124,9 +124,9 @@ describe("Struct Emission", () => {
|
|
|
124
124
|
};
|
|
125
125
|
const result = emitCSharpFile(module);
|
|
126
126
|
expect(result).to.include("public struct Vector3D");
|
|
127
|
-
expect(result).to.include("public required double
|
|
128
|
-
expect(result).to.include("public required double
|
|
129
|
-
expect(result).to.include("public required double
|
|
127
|
+
expect(result).to.include("public required double x");
|
|
128
|
+
expect(result).to.include("public required double y");
|
|
129
|
+
expect(result).to.include("public required double z");
|
|
130
130
|
expect(result).not.to.include("class Vector3D");
|
|
131
131
|
});
|
|
132
132
|
it("should not emit __brand property for struct", () => {
|
|
@@ -35,7 +35,7 @@ describe("Type Assertion Emission", () => {
|
|
|
35
35
|
};
|
|
36
36
|
const code = emitModule(module);
|
|
37
37
|
// Should emit the value directly without any type assertion
|
|
38
|
-
expect(code).to.include('string
|
|
38
|
+
expect(code).to.include('string value = "hello"');
|
|
39
39
|
// Note: "as" might appear in "class" or "namespace" - check for actual cast syntax
|
|
40
40
|
expect(code).not.to.match(/\sas\s/);
|
|
41
41
|
});
|
package/dist/types/index.test.js
CHANGED
|
@@ -103,7 +103,7 @@ describe("Type Emission", () => {
|
|
|
103
103
|
const result = emitModule(module);
|
|
104
104
|
// Task should be emitted (may be fully-qualified or short form depending on emitter)
|
|
105
105
|
expect(result).to.include("async");
|
|
106
|
-
expect(result).to.include("
|
|
106
|
+
expect(result).to.include("fetchData()");
|
|
107
107
|
expect(result).to.include("await getData()");
|
|
108
108
|
// Should NOT include using directives - uses global:: FQN
|
|
109
109
|
expect(result).to.not.include("using System.Threading.Tasks");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../src/types/references.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../src/types/references.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAkH7C;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,OAAO,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC,EAChD,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CA4QzB,CAAC"}
|
package/dist/types/references.js
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
* All types are emitted with global:: prefix for unambiguous resolution.
|
|
5
5
|
*/
|
|
6
6
|
import { emitType } from "./emitter.js";
|
|
7
|
-
import { isNestedType, tsCSharpNestedTypeName, } from "@tsonic/frontend/types/nested-types.js";
|
|
8
7
|
import { substituteTypeArgs } from "../core/type-resolution.js";
|
|
9
8
|
/**
|
|
10
9
|
* C# primitive type names that can be emitted directly without qualification.
|
|
@@ -52,7 +51,7 @@ const toGlobalClr = (clr) => {
|
|
|
52
51
|
const getBindingClrName = (b) => {
|
|
53
52
|
if (!b || typeof b !== "object")
|
|
54
53
|
return undefined;
|
|
55
|
-
//
|
|
54
|
+
// Legacy/duck-typed support: { clrName: "System.Action", ... }
|
|
56
55
|
const maybeClrName = b.clrName;
|
|
57
56
|
if (typeof maybeClrName === "string" && maybeClrName.length > 0) {
|
|
58
57
|
return maybeClrName;
|
|
@@ -246,8 +245,7 @@ export const emitReferenceType = (type, context) => {
|
|
|
246
245
|
// to `System.ComponentModel.Container` from the binding registry.
|
|
247
246
|
const localTypeInfo = context.localTypes?.get(name);
|
|
248
247
|
if (localTypeInfo) {
|
|
249
|
-
|
|
250
|
-
let csharpName = isNestedType(name) ? tsCSharpNestedTypeName(name) : name;
|
|
248
|
+
let csharpName = name;
|
|
251
249
|
// Type aliases with objectType underlying type are emitted as classes with __Alias suffix
|
|
252
250
|
// (per spec/16-types-and-interfaces.md §3.4)
|
|
253
251
|
if (localTypeInfo.kind === "typeAlias" &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"references.js","sourceRoot":"","sources":["../../src/types/references.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"references.js","sourceRoot":"","sources":["../../src/types/references.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,7 @@ describe("Reference Type Emission", () => {
|
|
|
45
45
|
name: "int",
|
|
46
46
|
});
|
|
47
47
|
const result = emitModule(module);
|
|
48
|
-
expect(result).to.include("int
|
|
48
|
+
expect(result).to.include("int x");
|
|
49
49
|
});
|
|
50
50
|
it("should emit long without qualification", () => {
|
|
51
51
|
const module = createModuleWithType({
|
|
@@ -53,7 +53,7 @@ describe("Reference Type Emission", () => {
|
|
|
53
53
|
name: "long",
|
|
54
54
|
});
|
|
55
55
|
const result = emitModule(module);
|
|
56
|
-
expect(result).to.include("long
|
|
56
|
+
expect(result).to.include("long x");
|
|
57
57
|
});
|
|
58
58
|
it("should emit double without qualification", () => {
|
|
59
59
|
const module = createModuleWithType({
|
|
@@ -61,7 +61,7 @@ describe("Reference Type Emission", () => {
|
|
|
61
61
|
name: "double",
|
|
62
62
|
});
|
|
63
63
|
const result = emitModule(module);
|
|
64
|
-
expect(result).to.include("double
|
|
64
|
+
expect(result).to.include("double x");
|
|
65
65
|
});
|
|
66
66
|
it("should emit decimal without qualification", () => {
|
|
67
67
|
const module = createModuleWithType({
|
|
@@ -69,7 +69,7 @@ describe("Reference Type Emission", () => {
|
|
|
69
69
|
name: "decimal",
|
|
70
70
|
});
|
|
71
71
|
const result = emitModule(module);
|
|
72
|
-
expect(result).to.include("decimal
|
|
72
|
+
expect(result).to.include("decimal x");
|
|
73
73
|
});
|
|
74
74
|
it("should emit bool without qualification", () => {
|
|
75
75
|
const module = createModuleWithType({
|
|
@@ -77,7 +77,7 @@ describe("Reference Type Emission", () => {
|
|
|
77
77
|
name: "bool",
|
|
78
78
|
});
|
|
79
79
|
const result = emitModule(module);
|
|
80
|
-
expect(result).to.include("bool
|
|
80
|
+
expect(result).to.include("bool x");
|
|
81
81
|
});
|
|
82
82
|
it("should emit nint (native int) without qualification", () => {
|
|
83
83
|
const module = createModuleWithType({
|
|
@@ -85,7 +85,7 @@ describe("Reference Type Emission", () => {
|
|
|
85
85
|
name: "nint",
|
|
86
86
|
});
|
|
87
87
|
const result = emitModule(module);
|
|
88
|
-
expect(result).to.include("nint
|
|
88
|
+
expect(result).to.include("nint x");
|
|
89
89
|
});
|
|
90
90
|
});
|
|
91
91
|
describe("Known Builtin Types", () => {
|
|
@@ -203,7 +203,7 @@ describe("Reference Type Emission", () => {
|
|
|
203
203
|
exports: [],
|
|
204
204
|
};
|
|
205
205
|
const result = emitModule(module);
|
|
206
|
-
expect(result).to.include("User
|
|
206
|
+
expect(result).to.include("User user");
|
|
207
207
|
});
|
|
208
208
|
it("should emit local interface types without qualification", () => {
|
|
209
209
|
const module = {
|
|
@@ -242,7 +242,7 @@ describe("Reference Type Emission", () => {
|
|
|
242
242
|
exports: [],
|
|
243
243
|
};
|
|
244
244
|
const result = emitModule(module);
|
|
245
|
-
expect(result).to.include("IUser
|
|
245
|
+
expect(result).to.include("IUser user");
|
|
246
246
|
});
|
|
247
247
|
});
|
|
248
248
|
describe("Array Indexing", () => {
|
|
@@ -39,7 +39,7 @@ describe("Union Type Emission", () => {
|
|
|
39
39
|
};
|
|
40
40
|
const code = emitModule(module);
|
|
41
41
|
// Should use nullable syntax
|
|
42
|
-
expect(code).to.include("string?
|
|
42
|
+
expect(code).to.include("string? maybeString");
|
|
43
43
|
});
|
|
44
44
|
it("should emit two-type union as Union<T1, T2>", () => {
|
|
45
45
|
const module = {
|
|
@@ -74,7 +74,7 @@ describe("Union Type Emission", () => {
|
|
|
74
74
|
};
|
|
75
75
|
const code = emitModule(module);
|
|
76
76
|
// Should use fully-qualified Union<T1, T2>
|
|
77
|
-
expect(code).to.include("global::Tsonic.Runtime.Union<string, double>
|
|
77
|
+
expect(code).to.include("global::Tsonic.Runtime.Union<string, double> value");
|
|
78
78
|
// Should NOT include using directives - uses global:: FQN
|
|
79
79
|
expect(code).to.not.include("using Tsonic.Runtime");
|
|
80
80
|
});
|
|
@@ -116,7 +116,7 @@ describe("Union Type Emission", () => {
|
|
|
116
116
|
};
|
|
117
117
|
const code = emitModule(module);
|
|
118
118
|
// Should return Union<string, double> with global:: FQN
|
|
119
|
-
expect(code).to.include("public static global::Tsonic.Runtime.Union<string, double>
|
|
119
|
+
expect(code).to.include("public static global::Tsonic.Runtime.Union<string, double> getValue()");
|
|
120
120
|
});
|
|
121
121
|
it("should emit function parameter with union type", () => {
|
|
122
122
|
const module = {
|
|
@@ -160,7 +160,7 @@ describe("Union Type Emission", () => {
|
|
|
160
160
|
};
|
|
161
161
|
const code = emitModule(module);
|
|
162
162
|
// Should accept Union<string, bool> parameter with global:: FQN
|
|
163
|
-
expect(code).to.include("
|
|
163
|
+
expect(code).to.include("process(global::Tsonic.Runtime.Union<string, bool> input)");
|
|
164
164
|
});
|
|
165
165
|
it("should handle union with custom types", () => {
|
|
166
166
|
const module = {
|
|
@@ -219,7 +219,7 @@ describe("Union Type Emission", () => {
|
|
|
219
219
|
};
|
|
220
220
|
const code = emitModule(module);
|
|
221
221
|
// Should use Union<User, Product>
|
|
222
|
-
expect(code).to.include("Union<User, Product>
|
|
222
|
+
expect(code).to.include("Union<User, Product> getResult()");
|
|
223
223
|
});
|
|
224
224
|
it("should emit three-type union as Union<T1, T2, T3>", () => {
|
|
225
225
|
const module = {
|
|
@@ -255,7 +255,7 @@ describe("Union Type Emission", () => {
|
|
|
255
255
|
};
|
|
256
256
|
const code = emitModule(module);
|
|
257
257
|
// Should use fully-qualified Union<T1, T2, T3>
|
|
258
|
-
expect(code).to.include("global::Tsonic.Runtime.Union<string, double, bool>
|
|
258
|
+
expect(code).to.include("global::Tsonic.Runtime.Union<string, double, bool> value");
|
|
259
259
|
// Should NOT include using directives - uses global:: FQN
|
|
260
260
|
expect(code).to.not.include("using Tsonic.Runtime");
|
|
261
261
|
});
|
|
@@ -309,7 +309,7 @@ describe("Union Type Emission", () => {
|
|
|
309
309
|
};
|
|
310
310
|
const code = emitModule(module);
|
|
311
311
|
// Should use Union<T1, T2, T3, T4> with global:: FQN
|
|
312
|
-
expect(code).to.include("global::Tsonic.Runtime.Union<string, double, bool, DateLike>
|
|
312
|
+
expect(code).to.include("global::Tsonic.Runtime.Union<string, double, bool, DateLike> process()");
|
|
313
313
|
});
|
|
314
314
|
it("should emit eight-type union as Union<T1, T2, T3, T4, T5, T6, T7, T8>", () => {
|
|
315
315
|
// Helper to create an interface declaration
|
|
@@ -366,7 +366,7 @@ describe("Union Type Emission", () => {
|
|
|
366
366
|
};
|
|
367
367
|
const code = emitModule(module);
|
|
368
368
|
// Should use Union<T1, T2, T3, T4, T5, T6, T7, T8> with global:: FQN
|
|
369
|
-
expect(code).to.include("global::Tsonic.Runtime.Union<string, double, bool, User, Product, Order, Payment, Invoice>
|
|
369
|
+
expect(code).to.include("global::Tsonic.Runtime.Union<string, double, bool, User, Product, Order, Payment, Invoice> value");
|
|
370
370
|
});
|
|
371
371
|
it("should fall back to object for unions with more than 8 types", () => {
|
|
372
372
|
const module = {
|
|
@@ -408,7 +408,7 @@ describe("Union Type Emission", () => {
|
|
|
408
408
|
};
|
|
409
409
|
const code = emitModule(module);
|
|
410
410
|
// Should fall back to object for 9+ types
|
|
411
|
-
expect(code).to.include("object
|
|
411
|
+
expect(code).to.include("object value");
|
|
412
412
|
});
|
|
413
413
|
});
|
|
414
414
|
//# sourceMappingURL=unions.test.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsonic/emitter",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.29",
|
|
4
4
|
"description": "C# code generator for Tsonic compiler",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"update-golden:js": "npx tsx scripts/update-golden-tests.ts js"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@tsonic/frontend": "0.0.
|
|
28
|
+
"@tsonic/frontend": "0.0.29"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/chai": "5.2.2",
|