@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.
Files changed (47) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/array.test.js +2 -2
  3. package/dist/core/module-emitter.test.js +4 -4
  4. package/dist/core/naming-collisions.d.ts +1 -2
  5. package/dist/core/naming-collisions.d.ts.map +1 -1
  6. package/dist/core/naming-collisions.js +15 -20
  7. package/dist/core/naming-collisions.js.map +1 -1
  8. package/dist/emitter-types/context.d.ts.map +1 -1
  9. package/dist/emitter-types/context.js +3 -36
  10. package/dist/emitter-types/context.js.map +1 -1
  11. package/dist/emitter-types/core.d.ts +4 -11
  12. package/dist/emitter-types/core.d.ts.map +1 -1
  13. package/dist/emitter.d.ts.map +1 -1
  14. package/dist/emitter.js +1 -1
  15. package/dist/emitter.js.map +1 -1
  16. package/dist/expressions/access.d.ts.map +1 -1
  17. package/dist/expressions/access.js +5 -23
  18. package/dist/expressions/access.js.map +1 -1
  19. package/dist/expressions/index.test.js +2 -2
  20. package/dist/extension-methods.test.js +2 -2
  21. package/dist/generator-wrapper.test.js +12 -12
  22. package/dist/generator-wrapper.test.js.map +1 -1
  23. package/dist/generator.test.js +20 -20
  24. package/dist/generator.test.js.map +1 -1
  25. package/dist/golden.test.js +4 -1
  26. package/dist/golden.test.js.map +1 -1
  27. package/dist/hierarchical-bindings.test.js +1 -1
  28. package/dist/integration.test.js +19 -19
  29. package/dist/invariants/numeric-proof-contract.test.js +1 -55
  30. package/dist/invariants/numeric-proof-contract.test.js.map +1 -1
  31. package/dist/naming-policy.d.ts +2 -2
  32. package/dist/naming-policy.d.ts.map +1 -1
  33. package/dist/naming-policy.js +2 -4
  34. package/dist/naming-policy.js.map +1 -1
  35. package/dist/specialization/generic-classes.test.js +1 -1
  36. package/dist/specialization/generic-functions.test.js +6 -6
  37. package/dist/specialization/interfaces.test.js +5 -5
  38. package/dist/specialization/type-aliases.test.js +6 -6
  39. package/dist/statements/declarations/structs.test.js +5 -5
  40. package/dist/type-assertion.test.js +1 -1
  41. package/dist/types/index.test.js +1 -1
  42. package/dist/types/references.d.ts.map +1 -1
  43. package/dist/types/references.js +2 -4
  44. package/dist/types/references.js.map +1 -1
  45. package/dist/types/references.test.js +8 -8
  46. package/dist/types/unions.test.js +9 -9
  47. 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 Id { get; set; }");
58
- expect(result).to.include("public required string Name { get; set; }");
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? Active { get; set; }");
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 ApiUrl { get; init; }");
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 Data { get; set; }");
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 X { get; set; }");
50
- expect(result).to.include("public required double Y { get; set; }");
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 Name { get; set; }");
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? Next { get; set; }");
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 Item { get; set; }");
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[] Items { get; set; }");
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 X");
49
- expect(result).to.include("public required double Y");
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 X");
128
- expect(result).to.include("public required double Y");
129
- expect(result).to.include("public required double Z");
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 Value = "hello"');
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
  });
@@ -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("FetchData()");
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;AAsH7C;;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,CA6QzB,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"}
@@ -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
- // tsbindgen TypeBinding: { clrName: "System.Action", tsEmitName: "Action", ... }
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
- // Convert nested type names (Outer$Inner → Outer.Inner)
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 X");
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 X");
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 X");
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 X");
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 X");
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 X");
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 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 User");
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? MaybeString");
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> Value");
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> GetValue()");
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("Process(global::Tsonic.Runtime.Union<string, bool> input)");
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> GetResult()");
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> Value");
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> Process()");
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> Value");
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 Value");
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.27",
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.27"
28
+ "@tsonic/frontend": "0.0.29"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/chai": "5.2.2",