@alloy-js/csharp 0.23.0-dev.7 → 0.23.0

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 (102) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/dev/src/components/constructor/constructor.js +69 -9
  3. package/dist/dev/src/components/constructor/constructor.js.map +1 -1
  4. package/dist/dev/src/components/constructor/constructor.test.js +117 -0
  5. package/dist/dev/src/components/constructor/constructor.test.js.map +1 -1
  6. package/dist/dev/src/components/method/method.test.js +64 -0
  7. package/dist/dev/src/components/method/method.test.js.map +1 -1
  8. package/dist/dev/src/components/namespace/namespace.js +2 -1
  9. package/dist/dev/src/components/namespace/namespace.js.map +1 -1
  10. package/dist/dev/src/components/namespace/namespace.test.js +13 -10
  11. package/dist/dev/src/components/namespace/namespace.test.js.map +1 -1
  12. package/dist/dev/src/components/namespace.ref.test.js +54 -42
  13. package/dist/dev/src/components/namespace.ref.test.js.map +1 -1
  14. package/dist/dev/src/components/property/property.js +101 -24
  15. package/dist/dev/src/components/property/property.js.map +1 -1
  16. package/dist/dev/src/components/property/property.test.js +140 -0
  17. package/dist/dev/src/components/property/property.test.js.map +1 -1
  18. package/dist/dev/src/components/source-file/source-file.js +12 -11
  19. package/dist/dev/src/components/source-file/source-file.js.map +1 -1
  20. package/dist/dev/src/identifier-utils.js +45 -0
  21. package/dist/dev/src/identifier-utils.js.map +1 -0
  22. package/dist/dev/src/index.js +2 -0
  23. package/dist/dev/src/index.js.map +1 -1
  24. package/dist/dev/src/keywords.js +39 -0
  25. package/dist/dev/src/keywords.js.map +1 -0
  26. package/dist/dev/src/name-policy.js +29 -6
  27. package/dist/dev/src/name-policy.js.map +1 -1
  28. package/dist/dev/src/name-policy.test.js +167 -0
  29. package/dist/dev/src/name-policy.test.js.map +1 -0
  30. package/dist/src/components/constructor/constructor.d.ts +32 -0
  31. package/dist/src/components/constructor/constructor.d.ts.map +1 -1
  32. package/dist/src/components/constructor/constructor.js +35 -3
  33. package/dist/src/components/constructor/constructor.js.map +1 -1
  34. package/dist/src/components/constructor/constructor.test.js +81 -0
  35. package/dist/src/components/constructor/constructor.test.js.map +1 -1
  36. package/dist/src/components/method/method.test.js +48 -0
  37. package/dist/src/components/method/method.test.js.map +1 -1
  38. package/dist/src/components/namespace/namespace.js +2 -1
  39. package/dist/src/components/namespace/namespace.js.map +1 -1
  40. package/dist/src/components/namespace/namespace.test.js +6 -3
  41. package/dist/src/components/namespace/namespace.test.js.map +1 -1
  42. package/dist/src/components/namespace.ref.test.js +24 -12
  43. package/dist/src/components/namespace.ref.test.js.map +1 -1
  44. package/dist/src/components/property/property.d.ts +42 -4
  45. package/dist/src/components/property/property.d.ts.map +1 -1
  46. package/dist/src/components/property/property.js +64 -11
  47. package/dist/src/components/property/property.js.map +1 -1
  48. package/dist/src/components/property/property.test.js +104 -0
  49. package/dist/src/components/property/property.test.js.map +1 -1
  50. package/dist/src/components/source-file/source-file.d.ts.map +1 -1
  51. package/dist/src/components/source-file/source-file.js +3 -2
  52. package/dist/src/components/source-file/source-file.js.map +1 -1
  53. package/dist/src/identifier-utils.d.ts +22 -0
  54. package/dist/src/identifier-utils.d.ts.map +1 -0
  55. package/dist/src/identifier-utils.js +45 -0
  56. package/dist/src/identifier-utils.js.map +1 -0
  57. package/dist/src/index.d.ts +2 -0
  58. package/dist/src/index.d.ts.map +1 -1
  59. package/dist/src/index.js +2 -0
  60. package/dist/src/index.js.map +1 -1
  61. package/dist/src/keywords.d.ts +32 -0
  62. package/dist/src/keywords.d.ts.map +1 -0
  63. package/dist/src/keywords.js +39 -0
  64. package/dist/src/keywords.js.map +1 -0
  65. package/dist/src/name-policy.d.ts +7 -0
  66. package/dist/src/name-policy.d.ts.map +1 -1
  67. package/dist/src/name-policy.js +29 -6
  68. package/dist/src/name-policy.js.map +1 -1
  69. package/dist/src/name-policy.test.d.ts +2 -0
  70. package/dist/src/name-policy.test.d.ts.map +1 -0
  71. package/dist/src/name-policy.test.js +167 -0
  72. package/dist/src/name-policy.test.js.map +1 -0
  73. package/dist/tsconfig.tsbuildinfo +1 -1
  74. package/docs/api/components/Constructor.md +17 -11
  75. package/docs/api/components/Property.md +30 -30
  76. package/docs/api/contexts/csharp-context.md +21 -0
  77. package/docs/api/contexts/index.md +3 -0
  78. package/docs/api/functions/createCSharpNamePolicy.md +4 -0
  79. package/docs/api/functions/index.md +5 -1
  80. package/docs/api/functions/isCSharpContextualKeyword.md +20 -0
  81. package/docs/api/functions/isCSharpKeyword.md +22 -0
  82. package/docs/api/functions/isValidCSharpIdentifier.md +20 -0
  83. package/docs/api/functions/sanitizeCSharpIdentifier.md +24 -0
  84. package/docs/api/index.md +3 -2
  85. package/docs/api/variables/csharpKeywords.md +11 -0
  86. package/docs/api/variables/index.md +1 -0
  87. package/package.json +8 -8
  88. package/src/components/constructor/constructor.test.tsx +64 -0
  89. package/src/components/constructor/constructor.tsx +81 -1
  90. package/src/components/method/method.test.tsx +36 -0
  91. package/src/components/namespace/namespace.test.tsx +6 -3
  92. package/src/components/namespace/namespace.tsx +2 -2
  93. package/src/components/namespace.ref.test.tsx +24 -12
  94. package/src/components/property/property.test.tsx +89 -0
  95. package/src/components/property/property.tsx +111 -16
  96. package/src/components/source-file/source-file.tsx +1 -4
  97. package/src/identifier-utils.ts +45 -0
  98. package/src/index.ts +2 -0
  99. package/src/keywords.ts +162 -0
  100. package/src/name-policy.test.ts +210 -0
  101. package/src/name-policy.ts +30 -6
  102. package/temp/api.json +317 -7
@@ -392,4 +392,144 @@ describe("format", () => {
392
392
  `);
393
393
  });
394
394
  });
395
+ describe("accessor bodies", () => {
396
+ it("renders get with body", () => {
397
+ expect(_$createComponent(Wrapper, {
398
+ get children() {
399
+ return _$createComponent(Property, {
400
+ "public": true,
401
+ name: "Name",
402
+ type: "string",
403
+ get get() {
404
+ return ["return _name;"];
405
+ }
406
+ }, {
407
+ fileName: import.meta.url,
408
+ lineNumber: 240,
409
+ columnNumber: 9
410
+ });
411
+ }
412
+ }, {
413
+ fileName: import.meta.url,
414
+ lineNumber: 239,
415
+ columnNumber: 7
416
+ })).toRenderTo(`
417
+ public class TestClass
418
+ {
419
+ public string Name
420
+ {
421
+ get { return _name; }
422
+ }
423
+ }
424
+ `);
425
+ });
426
+ it("renders set with body", () => {
427
+ expect(_$createComponent(Wrapper, {
428
+ get children() {
429
+ return _$createComponent(Property, {
430
+ "public": true,
431
+ name: "Value",
432
+ type: "int",
433
+ get: true,
434
+ get set() {
435
+ return ["_value = value;"];
436
+ }
437
+ }, {
438
+ fileName: import.meta.url,
439
+ lineNumber: 256,
440
+ columnNumber: 9
441
+ });
442
+ }
443
+ }, {
444
+ fileName: import.meta.url,
445
+ lineNumber: 255,
446
+ columnNumber: 7
447
+ })).toRenderTo(`
448
+ public class TestClass
449
+ {
450
+ public int Value
451
+ {
452
+ get;
453
+ set { _value = value; }
454
+ }
455
+ }
456
+ `);
457
+ });
458
+ it("renders both get and set with bodies", () => {
459
+ expect(_$createComponent(Wrapper, {
460
+ get children() {
461
+ return _$createComponent(Property, {
462
+ "public": true,
463
+ name: "MinValue",
464
+ type: "T",
465
+ get get() {
466
+ return ["return _minValue.HasValue ? _minValue.Value : default(T);"];
467
+ },
468
+ get set() {
469
+ return ["_minValue = value;"];
470
+ }
471
+ }, {
472
+ fileName: import.meta.url,
473
+ lineNumber: 279,
474
+ columnNumber: 9
475
+ });
476
+ }
477
+ }, {
478
+ fileName: import.meta.url,
479
+ lineNumber: 278,
480
+ columnNumber: 7
481
+ })).toRenderTo(`
482
+ public class TestClass
483
+ {
484
+ public T MinValue
485
+ {
486
+ get { return _minValue.HasValue ? _minValue.Value : default(T); }
487
+ set { _minValue = value; }
488
+ }
489
+ }
490
+ `);
491
+ });
492
+ it("breaks long accessor body across lines", () => {
493
+ expect(_$createComponent(TestNamespace, {
494
+ printWidth: 40,
495
+ get children() {
496
+ return _$createComponent(ClassDeclaration, {
497
+ name: "Test",
498
+ get children() {
499
+ return _$createComponent(Property, {
500
+ "public": true,
501
+ name: "Value",
502
+ type: "int",
503
+ get get() {
504
+ return ["return _someVeryLongFieldName;"];
505
+ }
506
+ }, {
507
+ fileName: import.meta.url,
508
+ lineNumber: 303,
509
+ columnNumber: 11
510
+ });
511
+ }
512
+ }, {
513
+ fileName: import.meta.url,
514
+ lineNumber: 302,
515
+ columnNumber: 9
516
+ });
517
+ }
518
+ }, {
519
+ fileName: import.meta.url,
520
+ lineNumber: 301,
521
+ columnNumber: 7
522
+ })).toRenderTo(`
523
+ class Test
524
+ {
525
+ public int Value
526
+ {
527
+ get {
528
+ return _someVeryLongFieldName;
529
+ }
530
+ }
531
+ }
532
+ `);
533
+ });
534
+ });
395
535
  //# sourceMappingURL=property.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["describe","expect","it","TestNamespace","Attribute","ClassDeclaration","Property","Wrapper","props","_$createComponent","children","name","fileName","import","meta","url","lineNumber","columnNumber","each","accessModifier","_$mergeProps","type","get","toRenderTo","methodModifier","set","init","doc","nullable","initializer","attributes","printWidth"],"sources":["../../../../../src/components/property/property.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["describe","expect","it","TestNamespace","Attribute","ClassDeclaration","Property","Wrapper","props","_$createComponent","children","name","fileName","import","meta","url","lineNumber","columnNumber","each","accessModifier","_$mergeProps","type","get","toRenderTo","methodModifier","set","init","doc","nullable","initializer","attributes","printWidth"],"sources":["../../../../../src/components/property/property.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -87,19 +87,20 @@ export function SourceFile(props) {
87
87
  fileName: import.meta.url,
88
88
  lineNumber: 106,
89
89
  columnNumber: 23
90
- }), _$memo(() => _$memo(() => !!sourceFileScope.hasBlockNamespace)() ? [" ", _$createComponent(Block, {
90
+ }), _$memo(() => _$memo(() => !!sourceFileScope.hasBlockNamespace)() ? _$createComponent(Block, {
91
+ newline: true,
91
92
  children: content
92
93
  }, {
93
94
  fileName: import.meta.url,
94
- lineNumber: 110,
95
- columnNumber: 17
96
- })] : [";", _$createIntrinsic("hbr", {}, {
95
+ lineNumber: 108,
96
+ columnNumber: 15
97
+ }) : [";", _$createIntrinsic("hbr", {}, {
97
98
  fileName: import.meta.url,
98
- lineNumber: 113,
99
+ lineNumber: 110,
99
100
  columnNumber: 18
100
101
  }), _$createIntrinsic("hbr", {}, {
101
102
  fileName: import.meta.url,
102
- lineNumber: 114,
103
+ lineNumber: 111,
103
104
  columnNumber: 17
104
105
  }), content], false, "_$memo(\u2026)(\u2026) ? \u2026")])];
105
106
  }
@@ -129,13 +130,13 @@ function SourceFileHeader(props) {
129
130
  }
130
131
  }, {
131
132
  fileName: import.meta.url,
132
- lineNumber: 134,
133
+ lineNumber: 131,
133
134
  columnNumber: 9
134
135
  });
135
136
  }
136
137
  }, {
137
138
  fileName: import.meta.url,
138
- lineNumber: 133,
139
+ lineNumber: 130,
139
140
  columnNumber: 7
140
141
  }), _$createComponent(Show, {
141
142
  get when() {
@@ -146,17 +147,17 @@ function SourceFileHeader(props) {
146
147
  }
147
148
  }, {
148
149
  fileName: import.meta.url,
149
- lineNumber: 136,
150
+ lineNumber: 133,
150
151
  columnNumber: 7
151
152
  }), _$createIntrinsic("hbr", {}, {
152
153
  fileName: import.meta.url,
153
- lineNumber: 137,
154
+ lineNumber: 134,
154
155
  columnNumber: 7
155
156
  })];
156
157
  }
157
158
  }, {
158
159
  fileName: import.meta.url,
159
- lineNumber: 132,
160
+ lineNumber: 129,
160
161
  columnNumber: 5
161
162
  });
162
163
  }
@@ -1 +1 @@
1
- {"version":3,"names":["DocComment","NamespaceScopes","NamespaceName","Reference","Usings","Block","computed","SourceFile","CoreSourceFile","createScope","List","Scope","Show","useBinder","useCsharpFormatOptions","getGlobalNamespace","useNamespaceContext","CSharpSourceFileScope","props","binder","sourceFileScope","path","undefined","nsContext","globalNs","nsSymbol","symbol","usings","Array","from","concat","using","content","_$createComponent","children","fileName","import","meta","url","lineNumber","columnNumber","opts","printWidth","tabWidth","useTabs","header","headerComment","SourceFileHeader","_$mergeProps","filetype","reference","value","_$memo","size","length","namespaces","_$createIntrinsic","hasBlockNamespace","when"],"sources":["../../../../../src/components/source-file/source-file.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DocComment","NamespaceScopes","NamespaceName","Reference","Usings","Block","computed","SourceFile","CoreSourceFile","createScope","List","Scope","Show","useBinder","useCsharpFormatOptions","getGlobalNamespace","useNamespaceContext","CSharpSourceFileScope","props","binder","sourceFileScope","path","undefined","nsContext","globalNs","nsSymbol","symbol","usings","Array","from","concat","using","content","_$createComponent","children","fileName","import","meta","url","lineNumber","columnNumber","opts","printWidth","tabWidth","useTabs","header","headerComment","SourceFileHeader","_$mergeProps","filetype","reference","value","_$memo","size","length","namespaces","_$createIntrinsic","hasBlockNamespace","newline","when"],"sources":["../../../../../src/components/source-file/source-file.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Checks whether the provided name is a valid C# identifier (without `@` prefix).
3
+ * Does not account for keyword conflicts — use {@link isCSharpKeyword} for that.
4
+ *
5
+ * @param name - The name to validate.
6
+ * @returns true if the name matches C# identifier rules (letter or underscore start, word chars after).
7
+ */
8
+ export function isValidCSharpIdentifier(name) {
9
+ return /^[A-Za-z_]\w*$/.test(name);
10
+ }
11
+
12
+ /**
13
+ * Transforms an arbitrary string into a valid C# identifier by replacing
14
+ * invalid characters. The result may still be a C# keyword — callers
15
+ * should combine with keyword escaping if needed.
16
+ *
17
+ * - If the first character is not a letter or underscore, a `_` prefix is added.
18
+ * - Subsequent non-word characters are replaced with `_`.
19
+ * - Empty strings become `_`.
20
+ *
21
+ * @param name - The string to sanitize.
22
+ * @returns A string that satisfies C# identifier character rules.
23
+ */
24
+ export function sanitizeCSharpIdentifier(name) {
25
+ if (name.length === 0) return "_";
26
+ const chars = [];
27
+ for (let i = 0; i < name.length; i++) {
28
+ const ch = name[i];
29
+ if (i === 0) {
30
+ if (/[A-Za-z_]/.test(ch)) {
31
+ chars.push(ch);
32
+ } else {
33
+ chars.push("_");
34
+ // Keep the original char if it's a word char (e.g., digit)
35
+ if (/\w/.test(ch)) {
36
+ chars.push(ch);
37
+ }
38
+ }
39
+ } else {
40
+ chars.push(/\w/.test(ch) ? ch : "_");
41
+ }
42
+ }
43
+ return chars.join("");
44
+ }
45
+ //# sourceMappingURL=identifier-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isValidCSharpIdentifier","name","test","sanitizeCSharpIdentifier","length","chars","i","ch","push","join"],"sources":["../../../src/identifier-utils.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,uBAAuBA,CAACC,IAAY,EAAW;EAC7D,OAAO,gBAAgB,CAACC,IAAI,CAACD,IAAI,CAAC;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,wBAAwBA,CAACF,IAAY,EAAU;EAC7D,IAAIA,IAAI,CAACG,MAAM,KAAK,CAAC,EAAE,OAAO,GAAG;EAEjC,MAAMC,KAAe,GAAG,EAAE;EAC1B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,IAAI,CAACG,MAAM,EAAEE,CAAC,EAAE,EAAE;IACpC,MAAMC,EAAE,GAAGN,IAAI,CAACK,CAAC,CAAC;IAClB,IAAIA,CAAC,KAAK,CAAC,EAAE;MACX,IAAI,WAAW,CAACJ,IAAI,CAACK,EAAE,CAAC,EAAE;QACxBF,KAAK,CAACG,IAAI,CAACD,EAAE,CAAC;MAChB,CAAC,MAAM;QACLF,KAAK,CAACG,IAAI,CAAC,GAAG,CAAC;QACf;QACA,IAAI,IAAI,CAACN,IAAI,CAACK,EAAE,CAAC,EAAE;UACjBF,KAAK,CAACG,IAAI,CAACD,EAAE,CAAC;QAChB;MACF;IACF,CAAC,MAAM;MACLF,KAAK,CAACG,IAAI,CAAC,IAAI,CAACN,IAAI,CAACK,EAAE,CAAC,GAAGA,EAAE,GAAG,GAAG,CAAC;IACtC;EACF;EACA,OAAOF,KAAK,CAACI,IAAI,CAAC,EAAE,CAAC;AACvB","ignoreList":[]}
@@ -2,6 +2,8 @@ export * from "./access.js";
2
2
  export * from "./components/index.js";
3
3
  export * from "./contexts/format-options.js";
4
4
  export * from "./create-library.js";
5
+ export * from "./identifier-utils.js";
6
+ export * from "./keywords.js";
5
7
  export * from "./modifiers.js";
6
8
  export * from "./name-policy.js";
7
9
  export * from "./scopes/index.js";
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA,cAAc,uBAAuB;AACrC,cAAc,8BAA8B;AAC5C,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,oBAAoB","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA,cAAc,uBAAuB;AACrC,cAAc,8BAA8B;AAC5C,cAAc,qBAAqB;AACnC,cAAc,uBAAuB;AACrC,cAAc,eAAe;AAC7B,cAAc,gBAAgB;AAC9B,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,oBAAoB","ignoreList":[]}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * C# reserved keywords that cannot be used as identifiers without `@` prefix.
3
+ * These are case-sensitive in C#.
4
+ *
5
+ * @see https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/
6
+ */
7
+ export const csharpKeywords = new Set(["abstract", "as", "base", "bool", "break", "byte", "case", "catch", "char", "checked", "class", "const", "continue", "decimal", "default", "delegate", "do", "double", "else", "enum", "event", "explicit", "extern", "false", "finally", "fixed", "float", "for", "foreach", "goto", "if", "implicit", "in", "int", "interface", "internal", "is", "lock", "long", "namespace", "new", "null", "object", "operator", "out", "override", "params", "private", "protected", "public", "readonly", "ref", "return", "sbyte", "sealed", "short", "sizeof", "stackalloc", "static", "string", "struct", "switch", "this", "throw", "true", "try", "typeof", "uint", "ulong", "unchecked", "unsafe", "ushort", "using", "virtual", "void", "volatile", "while"]);
8
+
9
+ /**
10
+ * C# contextual keywords that are reserved in certain contexts.
11
+ * While not always reserved, treating them as keywords in generated code
12
+ * avoids subtle context-dependent issues.
13
+ *
14
+ * @see https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/#contextual-keywords
15
+ */
16
+ export const csharpContextualKeywords = new Set(["add", "allows", "alias", "and", "ascending", "args", "async", "await", "by", "descending", "dynamic", "equals", "field", "file", "from", "get", "global", "group", "init", "into", "join", "let", "managed", "nameof", "nint", "not", "notnull", "nuint", "on", "or", "orderby", "partial", "record", "remove", "required", "scoped", "select", "set", "unmanaged", "value", "var", "when", "where", "with", "yield"]);
17
+
18
+ /**
19
+ * Returns true if the given name is a C# reserved keyword.
20
+ * The check is case-sensitive, matching C# language semantics.
21
+ *
22
+ * Note: this only checks reserved keywords, not contextual keywords.
23
+ * Contextual keywords are only reserved in specific language contexts
24
+ * and are valid identifiers elsewhere (e.g., `value` is valid as a parameter name).
25
+ * Use {@link isCSharpContextualKeyword} to check contextual keywords separately.
26
+ */
27
+ export function isCSharpKeyword(name) {
28
+ return csharpKeywords.has(name);
29
+ }
30
+
31
+ /**
32
+ * Returns true if the given name is a C# contextual keyword.
33
+ * Contextual keywords are only reserved in specific language contexts
34
+ * and are generally valid as identifiers.
35
+ */
36
+ export function isCSharpContextualKeyword(name) {
37
+ return csharpContextualKeywords.has(name);
38
+ }
39
+ //# sourceMappingURL=keywords.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["csharpKeywords","Set","csharpContextualKeywords","isCSharpKeyword","name","has","isCSharpContextualKeyword"],"sources":["../../../src/keywords.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,cAAmC,GAAG,IAAIC,GAAG,CAAC,CACzD,UAAU,EACV,IAAI,EACJ,MAAM,EACN,MAAM,EACN,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,EACP,MAAM,EACN,SAAS,EACT,OAAO,EACP,OAAO,EACP,UAAU,EACV,SAAS,EACT,SAAS,EACT,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,EACP,UAAU,EACV,QAAQ,EACR,OAAO,EACP,SAAS,EACT,OAAO,EACP,OAAO,EACP,KAAK,EACL,SAAS,EACT,MAAM,EACN,IAAI,EACJ,UAAU,EACV,IAAI,EACJ,KAAK,EACL,WAAW,EACX,UAAU,EACV,IAAI,EACJ,MAAM,EACN,MAAM,EACN,WAAW,EACX,KAAK,EACL,MAAM,EACN,QAAQ,EACR,UAAU,EACV,KAAK,EACL,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,QAAQ,EACR,UAAU,EACV,KAAK,EACL,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,OAAO,EACP,MAAM,EACN,KAAK,EACL,QAAQ,EACR,MAAM,EACN,OAAO,EACP,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,SAAS,EACT,MAAM,EACN,UAAU,EACV,OAAO,CACR,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,wBAA6C,GAAG,IAAID,GAAG,CAAC,CACnE,KAAK,EACL,QAAQ,EACR,OAAO,EACP,KAAK,EACL,WAAW,EACX,MAAM,EACN,OAAO,EACP,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,OAAO,EACP,MAAM,EACN,MAAM,EACN,KAAK,EACL,QAAQ,EACR,OAAO,EACP,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,EACL,SAAS,EACT,QAAQ,EACR,MAAM,EACN,KAAK,EACL,SAAS,EACT,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,WAAW,EACX,OAAO,EACP,KAAK,EACL,MAAM,EACN,OAAO,EACP,MAAM,EACN,OAAO,CACR,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,eAAeA,CAACC,IAAY,EAAW;EACrD,OAAOJ,cAAc,CAACK,GAAG,CAACD,IAAI,CAAC;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,yBAAyBA,CAACF,IAAY,EAAW;EAC/D,OAAOF,wBAAwB,CAACG,GAAG,CAACD,IAAI,CAAC;AAC3C","ignoreList":[]}
@@ -1,12 +1,31 @@
1
1
  import * as core from "@alloy-js/core";
2
2
  import * as changecase from "change-case";
3
+ import { sanitizeCSharpIdentifier } from "./identifier-utils.js";
4
+ import { isCSharpKeyword } from "./keywords.js";
3
5
 
4
6
  // the context in which the name policy should be applied
5
7
 
6
- // creates the C# naming policy
8
+ /**
9
+ * Prefixes the name with `@` if it is a C# keyword.
10
+ * This is the idiomatic C# way to use reserved words as identifiers.
11
+ * The check is case-sensitive, matching C# language semantics.
12
+ */
13
+ function escapeIfKeyword(name) {
14
+ return isCSharpKeyword(name) ? `@${name}` : name;
15
+ }
16
+
17
+ /**
18
+ * Creates the C# naming policy with case conversion and keyword escaping.
19
+ *
20
+ * After applying the appropriate case conversion for each element kind,
21
+ * the resulting name is checked against C# reserved and contextual keywords.
22
+ * If it matches (case-sensitively), the name is prefixed with `@`.
23
+ */
7
24
  export function createCSharpNamePolicy() {
8
25
  return core.createNamePolicy((name, element) => {
26
+ let result;
9
27
  switch (element) {
28
+ case "namespace":
10
29
  case "class":
11
30
  case "struct":
12
31
  case "enum":
@@ -17,15 +36,19 @@ export function createCSharpNamePolicy() {
17
36
  case "class-method":
18
37
  case "type-parameter":
19
38
  case "class-property":
20
- case "namespace":
21
- return changecase.pascalCase(name);
39
+ result = changecase.pascalCase(name);
40
+ break;
22
41
  case "constant":
23
- return changecase.constantCase(name);
42
+ result = changecase.constantCase(name);
43
+ break;
24
44
  case "class-member-private":
25
- return `_${changecase.camelCase(name)}`;
45
+ result = `_${changecase.camelCase(name)}`;
46
+ break;
26
47
  default:
27
- return changecase.camelCase(name);
48
+ result = changecase.camelCase(name);
49
+ break;
28
50
  }
51
+ return escapeIfKeyword(sanitizeCSharpIdentifier(result));
29
52
  });
30
53
  }
31
54
 
@@ -1 +1 @@
1
- {"version":3,"names":["core","changecase","createCSharpNamePolicy","createNamePolicy","name","element","pascalCase","constantCase","camelCase","useCSharpNamePolicy","useNamePolicy"],"sources":["../../../src/name-policy.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,IAAI,MAAM,gBAAgB;AACtC,OAAO,KAAKC,UAAU,MAAM,aAAa;;AAEzC;;AAmBA;AACA,OAAO,SAASC,sBAAsBA,CAAA,EAAoC;EACxE,OAAOF,IAAI,CAACG,gBAAgB,CAAC,CAACC,IAAI,EAAEC,OAAO,KAAK;IAC9C,QAAQA,OAAO;MACb,KAAK,OAAO;MACZ,KAAK,QAAQ;MACb,KAAK,MAAM;MACX,KAAK,aAAa;MAClB,KAAK,WAAW;MAChB,KAAK,QAAQ;MACb,KAAK,qBAAqB;MAC1B,KAAK,cAAc;MACnB,KAAK,gBAAgB;MACrB,KAAK,gBAAgB;MACrB,KAAK,WAAW;QACd,OAAOJ,UAAU,CAACK,UAAU,CAACF,IAAI,CAAC;MACpC,KAAK,UAAU;QACb,OAAOH,UAAU,CAACM,YAAY,CAACH,IAAI,CAAC;MACtC,KAAK,sBAAsB;QACzB,OAAO,IAAIH,UAAU,CAACO,SAAS,CAACJ,IAAI,CAAC,EAAE;MACzC;QACE,OAAOH,UAAU,CAACO,SAAS,CAACJ,IAAI,CAAC;IACrC;EACF,CAAC,CAAC;AACJ;;AAEA;AACA,OAAO,SAASK,mBAAmBA,CAAA,EAAoC;EACrE,OAAOT,IAAI,CAACU,aAAa,CAAC,CAAC;AAC7B","ignoreList":[]}
1
+ {"version":3,"names":["core","changecase","sanitizeCSharpIdentifier","isCSharpKeyword","escapeIfKeyword","name","createCSharpNamePolicy","createNamePolicy","element","result","pascalCase","constantCase","camelCase","useCSharpNamePolicy","useNamePolicy"],"sources":["../../../src/name-policy.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,IAAI,MAAM,gBAAgB;AACtC,OAAO,KAAKC,UAAU,MAAM,aAAa;AACzC,SAASC,wBAAwB,QAAQ,uBAAuB;AAChE,SAASC,eAAe,QAAQ,eAAe;;AAE/C;;AAmBA;AACA;AACA;AACA;AACA;AACA,SAASC,eAAeA,CAACC,IAAY,EAAU;EAC7C,OAAOF,eAAe,CAACE,IAAI,CAAC,GAAG,IAAIA,IAAI,EAAE,GAAGA,IAAI;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAAA,EAAoC;EACxE,OAAON,IAAI,CAACO,gBAAgB,CAAC,CAACF,IAAI,EAAEG,OAAO,KAAK;IAC9C,IAAIC,MAAc;IAClB,QAAQD,OAAO;MACb,KAAK,WAAW;MAChB,KAAK,OAAO;MACZ,KAAK,QAAQ;MACb,KAAK,MAAM;MACX,KAAK,aAAa;MAClB,KAAK,WAAW;MAChB,KAAK,QAAQ;MACb,KAAK,qBAAqB;MAC1B,KAAK,cAAc;MACnB,KAAK,gBAAgB;MACrB,KAAK,gBAAgB;QACnBC,MAAM,GAAGR,UAAU,CAACS,UAAU,CAACL,IAAI,CAAC;QACpC;MACF,KAAK,UAAU;QACbI,MAAM,GAAGR,UAAU,CAACU,YAAY,CAACN,IAAI,CAAC;QACtC;MACF,KAAK,sBAAsB;QACzBI,MAAM,GAAG,IAAIR,UAAU,CAACW,SAAS,CAACP,IAAI,CAAC,EAAE;QACzC;MACF;QACEI,MAAM,GAAGR,UAAU,CAACW,SAAS,CAACP,IAAI,CAAC;QACnC;IACJ;IAEA,OAAOD,eAAe,CAACF,wBAAwB,CAACO,MAAM,CAAC,CAAC;EAC1D,CAAC,CAAC;AACJ;;AAEA;AACA,OAAO,SAASI,mBAAmBA,CAAA,EAAoC;EACrE,OAAOb,IAAI,CAACc,aAAa,CAAC,CAAC;AAC7B","ignoreList":[]}
@@ -0,0 +1,167 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { isValidCSharpIdentifier, sanitizeCSharpIdentifier } from "./identifier-utils.js";
3
+ import { csharpContextualKeywords, csharpKeywords, isCSharpContextualKeyword, isCSharpKeyword } from "./keywords.js";
4
+ import { createCSharpNamePolicy } from "./name-policy.js";
5
+ describe("isCSharpKeyword", () => {
6
+ it("recognizes reserved keywords", () => {
7
+ expect(isCSharpKeyword("class")).toBe(true);
8
+ expect(isCSharpKeyword("interface")).toBe(true);
9
+ expect(isCSharpKeyword("string")).toBe(true);
10
+ expect(isCSharpKeyword("int")).toBe(true);
11
+ expect(isCSharpKeyword("void")).toBe(true);
12
+ expect(isCSharpKeyword("return")).toBe(true);
13
+ });
14
+ it("does not match contextual keywords", () => {
15
+ expect(isCSharpKeyword("async")).toBe(false);
16
+ expect(isCSharpKeyword("value")).toBe(false);
17
+ expect(isCSharpKeyword("var")).toBe(false);
18
+ expect(isCSharpKeyword("record")).toBe(false);
19
+ });
20
+ it("is case-sensitive — PascalCase versions are not keywords", () => {
21
+ expect(isCSharpKeyword("Class")).toBe(false);
22
+ expect(isCSharpKeyword("String")).toBe(false);
23
+ expect(isCSharpKeyword("Int")).toBe(false);
24
+ expect(isCSharpKeyword("Void")).toBe(false);
25
+ });
26
+ it("rejects non-keywords", () => {
27
+ expect(isCSharpKeyword("MyClass")).toBe(false);
28
+ expect(isCSharpKeyword("foo")).toBe(false);
29
+ });
30
+ it("keyword sets are non-empty", () => {
31
+ expect(csharpKeywords.size).toBeGreaterThan(70);
32
+ expect(csharpContextualKeywords.size).toBeGreaterThan(30);
33
+ });
34
+ });
35
+ describe("isCSharpContextualKeyword", () => {
36
+ it("recognizes contextual keywords", () => {
37
+ expect(isCSharpContextualKeyword("async")).toBe(true);
38
+ expect(isCSharpContextualKeyword("await")).toBe(true);
39
+ expect(isCSharpContextualKeyword("value")).toBe(true);
40
+ expect(isCSharpContextualKeyword("var")).toBe(true);
41
+ expect(isCSharpContextualKeyword("record")).toBe(true);
42
+ expect(isCSharpContextualKeyword("required")).toBe(true);
43
+ });
44
+ it("does not match reserved keywords", () => {
45
+ expect(isCSharpContextualKeyword("class")).toBe(false);
46
+ expect(isCSharpContextualKeyword("int")).toBe(false);
47
+ });
48
+ });
49
+ describe("isValidCSharpIdentifier", () => {
50
+ it("accepts valid identifiers", () => {
51
+ expect(isValidCSharpIdentifier("MyClass")).toBe(true);
52
+ expect(isValidCSharpIdentifier("_private")).toBe(true);
53
+ expect(isValidCSharpIdentifier("name123")).toBe(true);
54
+ expect(isValidCSharpIdentifier("a")).toBe(true);
55
+ expect(isValidCSharpIdentifier("_")).toBe(true);
56
+ });
57
+ it("rejects invalid identifiers", () => {
58
+ expect(isValidCSharpIdentifier("123start")).toBe(false);
59
+ expect(isValidCSharpIdentifier("has-dash")).toBe(false);
60
+ expect(isValidCSharpIdentifier("has space")).toBe(false);
61
+ expect(isValidCSharpIdentifier("")).toBe(false);
62
+ expect(isValidCSharpIdentifier("foo.bar")).toBe(false);
63
+ });
64
+ it("does not check for keywords (only character rules)", () => {
65
+ // "class" has valid characters, even though it's a keyword
66
+ expect(isValidCSharpIdentifier("class")).toBe(true);
67
+ });
68
+ });
69
+ describe("sanitizeCSharpIdentifier", () => {
70
+ it("passes through valid identifiers unchanged", () => {
71
+ expect(sanitizeCSharpIdentifier("ValidName")).toBe("ValidName");
72
+ expect(sanitizeCSharpIdentifier("_private")).toBe("_private");
73
+ expect(sanitizeCSharpIdentifier("name123")).toBe("name123");
74
+ });
75
+ it("prefixes underscore when first char is a digit", () => {
76
+ expect(sanitizeCSharpIdentifier("1foo")).toBe("_1foo");
77
+ });
78
+ it("replaces non-word characters with underscore", () => {
79
+ expect(sanitizeCSharpIdentifier("foo-bar")).toBe("foo_bar");
80
+ expect(sanitizeCSharpIdentifier("has space")).toBe("has_space");
81
+ expect(sanitizeCSharpIdentifier("a.b.c")).toBe("a_b_c");
82
+ });
83
+ it("handles leading special characters", () => {
84
+ expect(sanitizeCSharpIdentifier("$foo")).toBe("_foo");
85
+ expect(sanitizeCSharpIdentifier("-bar")).toBe("_bar");
86
+ });
87
+ it("handles empty string", () => {
88
+ expect(sanitizeCSharpIdentifier("")).toBe("_");
89
+ });
90
+ });
91
+ describe("createCSharpNamePolicy keyword escaping", () => {
92
+ const policy = createCSharpNamePolicy();
93
+ describe("PascalCase elements avoid most keyword conflicts naturally", () => {
94
+ it("class element: 'string' becomes 'String' (not a keyword, no escape)", () => {
95
+ expect(policy.getName("string", "class")).toBe("String");
96
+ });
97
+ it("class element: 'class' becomes 'Class' (not a keyword, no escape)", () => {
98
+ expect(policy.getName("class", "class")).toBe("Class");
99
+ });
100
+ it("class-property element: 'value' becomes 'Value' (not a keyword, no escape)", () => {
101
+ expect(policy.getName("value", "class-property")).toBe("Value");
102
+ });
103
+ });
104
+ describe("camelCase elements may hit keywords and get @-escaped", () => {
105
+ it("parameter: 'string' stays 'string' → gets @-escaped", () => {
106
+ expect(policy.getName("string", "parameter")).toBe("@string");
107
+ });
108
+ it("variable: 'int' stays 'int' → gets @-escaped", () => {
109
+ expect(policy.getName("int", "variable")).toBe("@int");
110
+ });
111
+ it("parameter: 'return' stays 'return' → gets @-escaped", () => {
112
+ expect(policy.getName("return", "parameter")).toBe("@return");
113
+ });
114
+ it("variable: 'value' stays 'value' — contextual keyword, not escaped", () => {
115
+ expect(policy.getName("value", "variable")).toBe("value");
116
+ });
117
+ it("parameter: 'async' stays 'async' — contextual keyword, not escaped", () => {
118
+ expect(policy.getName("async", "parameter")).toBe("async");
119
+ });
120
+ });
121
+ describe("non-keyword names pass through normally", () => {
122
+ it("parameter: 'myParam' stays 'myParam'", () => {
123
+ expect(policy.getName("myParam", "parameter")).toBe("myParam");
124
+ });
125
+ it("class: 'my-model' becomes 'MyModel'", () => {
126
+ expect(policy.getName("my-model", "class")).toBe("MyModel");
127
+ });
128
+ it("parameter: 'some-param' becomes 'someParam'", () => {
129
+ expect(policy.getName("some-param", "parameter")).toBe("someParam");
130
+ });
131
+ });
132
+ describe("namespace handling", () => {
133
+ it("applies PascalCase", () => {
134
+ expect(policy.getName("my-service", "namespace")).toBe("MyService");
135
+ });
136
+ it("single segment works", () => {
137
+ expect(policy.getName("system", "namespace")).toBe("System");
138
+ });
139
+ it("escapes keyword segments", () => {
140
+ // "namespace" as a namespace segment → PascalCase → "Namespace" → not a keyword
141
+ expect(policy.getName("namespace", "namespace")).toBe("Namespace");
142
+ });
143
+ });
144
+ describe("constant and private member escaping", () => {
145
+ it("constant: 'class' becomes 'CLASS' (not a keyword)", () => {
146
+ expect(policy.getName("class", "constant")).toBe("CLASS");
147
+ });
148
+ it("class-member-private: 'value' becomes '_value' (not a keyword)", () => {
149
+ expect(policy.getName("value", "class-member-private")).toBe("_value");
150
+ });
151
+ });
152
+ describe("identifier sanitization", () => {
153
+ it("sanitizes names starting with digits", () => {
154
+ expect(policy.getName("123foo", "class")).toBe("_123foo");
155
+ });
156
+ it("sanitizes names starting with digits for camelCase elements", () => {
157
+ expect(policy.getName("123param", "parameter")).toBe("_123param");
158
+ });
159
+ it("sanitizes empty string", () => {
160
+ expect(policy.getName("", "class")).toBe("_");
161
+ });
162
+ it("sanitizes namespace starting with digits", () => {
163
+ expect(policy.getName("123service", "namespace")).toBe("_123service");
164
+ });
165
+ });
166
+ });
167
+ //# sourceMappingURL=name-policy.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["describe","expect","it","isValidCSharpIdentifier","sanitizeCSharpIdentifier","csharpContextualKeywords","csharpKeywords","isCSharpContextualKeyword","isCSharpKeyword","createCSharpNamePolicy","toBe","size","toBeGreaterThan","policy","getName"],"sources":["../../../src/name-policy.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}