@tsonic/frontend 0.0.71 → 0.0.73

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 (152) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/core-intrinsics/provenance.d.ts +11 -0
  3. package/dist/core-intrinsics/provenance.d.ts.map +1 -0
  4. package/dist/core-intrinsics/provenance.js +101 -0
  5. package/dist/core-intrinsics/provenance.js.map +1 -0
  6. package/dist/ir/binding/binding-factory.d.ts.map +1 -1
  7. package/dist/ir/binding/binding-factory.js +42 -6
  8. package/dist/ir/binding/binding-factory.js.map +1 -1
  9. package/dist/ir/binding-resolution.test.js +97 -0
  10. package/dist/ir/binding-resolution.test.js.map +1 -1
  11. package/dist/ir/builder/imports.d.ts.map +1 -1
  12. package/dist/ir/builder/imports.js +51 -8
  13. package/dist/ir/builder/imports.js.map +1 -1
  14. package/dist/ir/builder.test.js +1010 -53
  15. package/dist/ir/builder.test.js.map +1 -1
  16. package/dist/ir/converters/expressions/access/access-converter.d.ts.map +1 -1
  17. package/dist/ir/converters/expressions/access/access-converter.js +35 -1
  18. package/dist/ir/converters/expressions/access/access-converter.js.map +1 -1
  19. package/dist/ir/converters/expressions/access/member-resolution.d.ts.map +1 -1
  20. package/dist/ir/converters/expressions/access/member-resolution.js +24 -0
  21. package/dist/ir/converters/expressions/access/member-resolution.js.map +1 -1
  22. package/dist/ir/converters/expressions/calls/call-converter.d.ts.map +1 -1
  23. package/dist/ir/converters/expressions/calls/call-converter.js +38 -14
  24. package/dist/ir/converters/expressions/calls/call-converter.js.map +1 -1
  25. package/dist/ir/converters/expressions/calls/call-site-analysis.d.ts +1 -1
  26. package/dist/ir/converters/expressions/calls/call-site-analysis.d.ts.map +1 -1
  27. package/dist/ir/converters/expressions/calls/call-site-analysis.js +4 -30
  28. package/dist/ir/converters/expressions/calls/call-site-analysis.js.map +1 -1
  29. package/dist/ir/converters/expressions/collections.d.ts.map +1 -1
  30. package/dist/ir/converters/expressions/collections.js +154 -12
  31. package/dist/ir/converters/expressions/collections.js.map +1 -1
  32. package/dist/ir/converters/expressions/dynamic-import.d.ts.map +1 -1
  33. package/dist/ir/converters/expressions/dynamic-import.js +41 -7
  34. package/dist/ir/converters/expressions/dynamic-import.js.map +1 -1
  35. package/dist/ir/converters/flow-narrowing.d.ts +1 -0
  36. package/dist/ir/converters/flow-narrowing.d.ts.map +1 -1
  37. package/dist/ir/converters/flow-narrowing.js +223 -0
  38. package/dist/ir/converters/flow-narrowing.js.map +1 -1
  39. package/dist/ir/converters/statements/control/blocks.d.ts.map +1 -1
  40. package/dist/ir/converters/statements/control/blocks.js +46 -0
  41. package/dist/ir/converters/statements/control/blocks.js.map +1 -1
  42. package/dist/ir/program-context.d.ts.map +1 -1
  43. package/dist/ir/program-context.js +32 -2
  44. package/dist/ir/program-context.js.map +1 -1
  45. package/dist/ir/program-context.test.d.ts +2 -0
  46. package/dist/ir/program-context.test.d.ts.map +1 -0
  47. package/dist/ir/program-context.test.js +76 -0
  48. package/dist/ir/program-context.test.js.map +1 -0
  49. package/dist/ir/type-system/internal/type-converter/orchestrator.d.ts.map +1 -1
  50. package/dist/ir/type-system/internal/type-converter/orchestrator.js +250 -12
  51. package/dist/ir/type-system/internal/type-converter/orchestrator.js.map +1 -1
  52. package/dist/ir/type-system/internal/type-converter/orchestrator.test.js +19 -0
  53. package/dist/ir/type-system/internal/type-converter/orchestrator.test.js.map +1 -1
  54. package/dist/ir/type-system/internal/type-converter/references.d.ts.map +1 -1
  55. package/dist/ir/type-system/internal/type-converter/references.js +93 -3
  56. package/dist/ir/type-system/internal/type-converter/references.js.map +1 -1
  57. package/dist/ir/type-system/internal/type-converter/utility-types.d.ts.map +1 -1
  58. package/dist/ir/type-system/internal/type-converter/utility-types.js +9 -3
  59. package/dist/ir/type-system/internal/type-converter/utility-types.js.map +1 -1
  60. package/dist/ir/type-system/internal/type-converter/utility-types.test.js +19 -0
  61. package/dist/ir/type-system/internal/type-converter/utility-types.test.js.map +1 -1
  62. package/dist/ir/type-system/internal/universe/clr-catalog.d.ts.map +1 -1
  63. package/dist/ir/type-system/internal/universe/clr-catalog.js +20 -1
  64. package/dist/ir/type-system/internal/universe/clr-catalog.js.map +1 -1
  65. package/dist/ir/type-system/internal/universe/clr-catalog.test.js +43 -0
  66. package/dist/ir/type-system/internal/universe/clr-catalog.test.js.map +1 -1
  67. package/dist/ir/type-system/internal/universe/clr-entry-converter.d.ts.map +1 -1
  68. package/dist/ir/type-system/internal/universe/clr-entry-converter.js +43 -2
  69. package/dist/ir/type-system/internal/universe/clr-entry-converter.js.map +1 -1
  70. package/dist/ir/type-system/internal/universe/types.d.ts +10 -1
  71. package/dist/ir/type-system/internal/universe/types.d.ts.map +1 -1
  72. package/dist/ir/type-system/internal/universe/types.js.map +1 -1
  73. package/dist/ir/type-system/type-system-call-resolution.d.ts +1 -0
  74. package/dist/ir/type-system/type-system-call-resolution.d.ts.map +1 -1
  75. package/dist/ir/type-system/type-system-call-resolution.js +49 -22
  76. package/dist/ir/type-system/type-system-call-resolution.js.map +1 -1
  77. package/dist/ir/type-system/type-system-inference.d.ts.map +1 -1
  78. package/dist/ir/type-system/type-system-inference.js +39 -5
  79. package/dist/ir/type-system/type-system-inference.js.map +1 -1
  80. package/dist/ir/type-system/type-system-utilities.d.ts.map +1 -1
  81. package/dist/ir/type-system/type-system-utilities.js +4 -22
  82. package/dist/ir/type-system/type-system-utilities.js.map +1 -1
  83. package/dist/ir/type-system/type-system.d.ts +16 -0
  84. package/dist/ir/type-system/type-system.d.ts.map +1 -1
  85. package/dist/ir/type-system/type-system.js +3 -1
  86. package/dist/ir/type-system/type-system.js.map +1 -1
  87. package/dist/ir/types/index.d.ts +1 -1
  88. package/dist/ir/types/index.d.ts.map +1 -1
  89. package/dist/ir/types/index.js +1 -1
  90. package/dist/ir/types/index.js.map +1 -1
  91. package/dist/ir/types/type-ops.d.ts +2 -0
  92. package/dist/ir/types/type-ops.d.ts.map +1 -1
  93. package/dist/ir/types/type-ops.js +34 -12
  94. package/dist/ir/types/type-ops.js.map +1 -1
  95. package/dist/ir/types/type-ops.test.js +44 -1
  96. package/dist/ir/types/type-ops.test.js.map +1 -1
  97. package/dist/ir/types.d.ts +1 -1
  98. package/dist/ir/types.d.ts.map +1 -1
  99. package/dist/ir/types.js +1 -1
  100. package/dist/ir/types.js.map +1 -1
  101. package/dist/program/binding-registry.d.ts +2 -0
  102. package/dist/program/binding-registry.d.ts.map +1 -1
  103. package/dist/program/binding-registry.js +54 -12
  104. package/dist/program/binding-registry.js.map +1 -1
  105. package/dist/program/binding-types.d.ts +21 -1
  106. package/dist/program/binding-types.d.ts.map +1 -1
  107. package/dist/program/binding-types.js +70 -0
  108. package/dist/program/binding-types.js.map +1 -1
  109. package/dist/program/bindings.test.js +145 -0
  110. package/dist/program/bindings.test.js.map +1 -1
  111. package/dist/program/clr-bindings-discovery.d.ts.map +1 -1
  112. package/dist/program/clr-bindings-discovery.js +9 -3
  113. package/dist/program/clr-bindings-discovery.js.map +1 -1
  114. package/dist/program/clr-bindings-discovery.test.js +107 -0
  115. package/dist/program/clr-bindings-discovery.test.js.map +1 -1
  116. package/dist/program/creation.d.ts.map +1 -1
  117. package/dist/program/creation.js +22 -3
  118. package/dist/program/creation.js.map +1 -1
  119. package/dist/program/creation.test.js +37 -0
  120. package/dist/program/creation.test.js.map +1 -1
  121. package/dist/program/package-roots.js +4 -4
  122. package/dist/program/package-roots.js.map +1 -1
  123. package/dist/program/package-roots.test.d.ts +2 -0
  124. package/dist/program/package-roots.test.d.ts.map +1 -0
  125. package/dist/program/package-roots.test.js +42 -0
  126. package/dist/program/package-roots.test.js.map +1 -0
  127. package/dist/program.d.ts +1 -1
  128. package/dist/program.d.ts.map +1 -1
  129. package/dist/program.js +1 -1
  130. package/dist/program.js.map +1 -1
  131. package/dist/resolver/import-resolution.d.ts.map +1 -1
  132. package/dist/resolver/import-resolution.js +2 -2
  133. package/dist/resolver/import-resolution.js.map +1 -1
  134. package/dist/resolver/source-package-resolution.d.ts +1 -0
  135. package/dist/resolver/source-package-resolution.d.ts.map +1 -1
  136. package/dist/resolver/source-package-resolution.js +6 -1
  137. package/dist/resolver/source-package-resolution.js.map +1 -1
  138. package/dist/resolver/source-package-resolution.test.js +7 -1
  139. package/dist/resolver/source-package-resolution.test.js.map +1 -1
  140. package/dist/resolver.test.js +37 -0
  141. package/dist/resolver.test.js.map +1 -1
  142. package/dist/surface/profiles.d.ts.map +1 -1
  143. package/dist/surface/profiles.js +12 -0
  144. package/dist/surface/profiles.js.map +1 -1
  145. package/dist/surface/profiles.test.js +43 -1
  146. package/dist/surface/profiles.test.js.map +1 -1
  147. package/dist/validation/core-intrinsics.d.ts.map +1 -1
  148. package/dist/validation/core-intrinsics.js +1 -115
  149. package/dist/validation/core-intrinsics.js.map +1 -1
  150. package/dist/validator.test.js +14 -0
  151. package/dist/validator.test.js.map +1 -1
  152. package/package.json +1 -1
@@ -27,6 +27,55 @@ const validateTypeSemantics = (value, filePath, label) => {
27
27
  }
28
28
  return undefined;
29
29
  };
30
+ const validateBindingSemanticSignature = (value, filePath, label) => {
31
+ if (value === undefined)
32
+ return undefined;
33
+ if (value === null || typeof value !== "object" || Array.isArray(value)) {
34
+ return `${filePath}: '${label}' must be an object`;
35
+ }
36
+ const record = value;
37
+ if ("typeParameters" in record &&
38
+ record.typeParameters !== undefined &&
39
+ !(Array.isArray(record.typeParameters) &&
40
+ record.typeParameters.every((entry) => typeof entry === "string"))) {
41
+ return `${filePath}: '${label}.typeParameters' must be a string array when present`;
42
+ }
43
+ if (!Array.isArray(record.parameters)) {
44
+ return `${filePath}: '${label}.parameters' must be an array`;
45
+ }
46
+ return undefined;
47
+ };
48
+ const validateTsbindgenExport = (value, filePath, label) => {
49
+ if (value === null || typeof value !== "object" || Array.isArray(value)) {
50
+ return `${filePath}: '${label}' must be an object`;
51
+ }
52
+ const record = value;
53
+ const kind = record.kind;
54
+ if (kind !== "method" &&
55
+ kind !== "property" &&
56
+ kind !== "field" &&
57
+ kind !== "functionType") {
58
+ return `${filePath}: '${label}.kind' must be 'method', 'property', 'field', or 'functionType'`;
59
+ }
60
+ if (typeof record.clrName !== "string") {
61
+ return `${filePath}: '${label}.clrName' must be a string`;
62
+ }
63
+ if (typeof record.declaringClrType !== "string") {
64
+ return `${filePath}: '${label}.declaringClrType' must be a string`;
65
+ }
66
+ if (typeof record.declaringAssemblyName !== "string") {
67
+ return `${filePath}: '${label}.declaringAssemblyName' must be a string`;
68
+ }
69
+ const semanticSignatureError = validateBindingSemanticSignature(record.semanticSignature, filePath, `${label}.semanticSignature`);
70
+ if (semanticSignatureError)
71
+ return semanticSignatureError;
72
+ if ("semanticOptional" in record &&
73
+ record.semanticOptional !== undefined &&
74
+ typeof record.semanticOptional !== "boolean") {
75
+ return `${filePath}: '${label}.semanticOptional' must be a boolean when present`;
76
+ }
77
+ return undefined;
78
+ };
30
79
  /**
31
80
  * Type guard to check if a manifest is the full format
32
81
  */
@@ -62,6 +111,11 @@ export const validateBindingFile = (obj, filePath) => {
62
111
  if (typeValue === null || typeof typeValue !== "object")
63
112
  continue;
64
113
  const typeRecord = typeValue;
114
+ if ("alias" in typeRecord &&
115
+ typeRecord.alias !== undefined &&
116
+ typeof typeRecord.alias !== "string") {
117
+ return `${filePath}: 'types[${typeIndex}].alias' must be a string when present`;
118
+ }
65
119
  const methods = Array.isArray(typeRecord.methods) ? typeRecord.methods : [];
66
120
  for (const [methodIndex, methodValue] of methods.entries()) {
67
121
  if (methodValue === null || typeof methodValue !== "object")
@@ -71,6 +125,22 @@ export const validateBindingFile = (obj, filePath) => {
71
125
  return error;
72
126
  }
73
127
  }
128
+ if ("exports" in manifest) {
129
+ const exportsValue = manifest.exports;
130
+ if (exportsValue !== undefined &&
131
+ (exportsValue === null ||
132
+ typeof exportsValue !== "object" ||
133
+ Array.isArray(exportsValue))) {
134
+ return `${filePath}: 'exports' must be an object when present`;
135
+ }
136
+ if (exportsValue && typeof exportsValue === "object") {
137
+ for (const [exportName, exportValue] of Object.entries(exportsValue)) {
138
+ const error = validateTsbindgenExport(exportValue, filePath, `exports.${exportName}`);
139
+ if (error)
140
+ return error;
141
+ }
142
+ }
143
+ }
74
144
  return undefined; // Valid tsbindgen format
75
145
  }
76
146
  // Check for full manifest format
@@ -1 +1 @@
1
- {"version":3,"file":"binding-types.js","sourceRoot":"","sources":["../../src/program/binding-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binding-types.js","sourceRoot":"","sources":["../../src/program/binding-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwMH,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAA0B,EAAE,CACtE,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,QAAQ,CAAC;AAE7C,MAAM,qBAAqB,GAAG,CAC5B,KAAc,EACd,QAAgB,EAChB,KAAa,EACO,EAAE;IACtB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,GAAG,QAAQ,MAAM,KAAK,qBAAqB,CAAC;IACrD,CAAC;IAED,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5C,OAAO,GAAG,QAAQ,MAAM,KAAK,4CAA4C,CAAC;IAC5E,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC5B,KAAc,EACd,QAAgB,EAChB,KAAa,EACO,EAAE;IACtB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,GAAG,QAAQ,MAAM,KAAK,qBAAqB,CAAC;IACrD,CAAC;IAED,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,IAAI,OAAO,MAAM,CAAC,uBAAuB,KAAK,SAAS,EAAE,CAAC;QACxD,OAAO,GAAG,QAAQ,MAAM,KAAK,6CAA6C,CAAC;IAC7E,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,gCAAgC,GAAG,CACvC,KAAc,EACd,QAAgB,EAChB,KAAa,EACO,EAAE;IACtB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,GAAG,QAAQ,MAAM,KAAK,qBAAqB,CAAC;IACrD,CAAC;IAED,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,IACE,gBAAgB,IAAI,MAAM;QAC1B,MAAM,CAAC,cAAc,KAAK,SAAS;QACnC,CAAC,CACC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;YACpC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAClE,EACD,CAAC;QACD,OAAO,GAAG,QAAQ,MAAM,KAAK,sDAAsD,CAAC;IACtF,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QACtC,OAAO,GAAG,QAAQ,MAAM,KAAK,+BAA+B,CAAC;IAC/D,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAC9B,KAAc,EACd,QAAgB,EAChB,KAAa,EACO,EAAE;IACtB,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,GAAG,QAAQ,MAAM,KAAK,qBAAqB,CAAC;IACrD,CAAC;IAED,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,IACE,IAAI,KAAK,QAAQ;QACjB,IAAI,KAAK,UAAU;QACnB,IAAI,KAAK,OAAO;QAChB,IAAI,KAAK,cAAc,EACvB,CAAC;QACD,OAAO,GAAG,QAAQ,MAAM,KAAK,iEAAiE,CAAC;IACjG,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,GAAG,QAAQ,MAAM,KAAK,4BAA4B,CAAC;IAC5D,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,GAAG,QAAQ,MAAM,KAAK,qCAAqC,CAAC;IACrE,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,QAAQ,EAAE,CAAC;QACrD,OAAO,GAAG,QAAQ,MAAM,KAAK,0CAA0C,CAAC;IAC1E,CAAC;IAED,MAAM,sBAAsB,GAAG,gCAAgC,CAC7D,MAAM,CAAC,iBAAiB,EACxB,QAAQ,EACR,GAAG,KAAK,oBAAoB,CAC7B,CAAC;IACF,IAAI,sBAAsB;QAAE,OAAO,sBAAsB,CAAC;IAE1D,IACE,kBAAkB,IAAI,MAAM;QAC5B,MAAM,CAAC,gBAAgB,KAAK,SAAS;QACrC,OAAO,MAAM,CAAC,gBAAgB,KAAK,SAAS,EAC5C,CAAC;QACD,OAAO,GAAG,QAAQ,MAAM,KAAK,mDAAmD,CAAC;IACnF,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAUF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,QAAqB,EACY,EAAE;IACnC,OAAO,UAAU,IAAI,QAAQ,IAAI,YAAY,IAAI,QAAQ,CAAC;AAC5D,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,QAAqB,EACa,EAAE;IACpC,OAAO,CACL,WAAW,IAAI,QAAQ;QACvB,OAAO,IAAI,QAAQ;QACnB,CAAC,CAAC,YAAY,IAAI,QAAQ,CAAC,CAC5B,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,GAAY,EACZ,QAAgB,EACI,EAAE;IACtB,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,GAAG,QAAQ,0BAA0B,OAAO,GAAG,EAAE,CAAC;IAC3D,CAAC;IAED,MAAM,QAAQ,GAAG,GAA8B,CAAC;IAEhD,6BAA6B;IAC7B,IAAI,WAAW,IAAI,QAAQ,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;QACnD,IAAI,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3C,OAAO,GAAG,QAAQ,gCAAgC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,GAAG,QAAQ,4BAA4B,CAAC;QACjD,CAAC;QACD,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9D,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ;gBAAE,SAAS;YAClE,MAAM,UAAU,GAAG,SAAoC,CAAC;YACxD,IACE,OAAO,IAAI,UAAU;gBACrB,UAAU,CAAC,KAAK,KAAK,SAAS;gBAC9B,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ,EACpC,CAAC;gBACD,OAAO,GAAG,QAAQ,YAAY,SAAS,wCAAwC,CAAC;YAClF,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,KAAK,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC3D,IAAI,WAAW,KAAK,IAAI,IAAI,OAAO,WAAW,KAAK,QAAQ;oBAAE,SAAS;gBACtE,MAAM,KAAK,GAAG,qBAAqB,CAChC,WAAuC,CAAC,aAAa,EACtD,QAAQ,EACR,SAAS,SAAS,aAAa,WAAW,iBAAiB,CAC5D,CAAC;gBACF,IAAI,KAAK;oBAAE,OAAO,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC;YACtC,IACE,YAAY,KAAK,SAAS;gBAC1B,CAAC,YAAY,KAAK,IAAI;oBACpB,OAAO,YAAY,KAAK,QAAQ;oBAChC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAC9B,CAAC;gBACD,OAAO,GAAG,QAAQ,4CAA4C,CAAC;YACjE,CAAC;YACD,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;gBACrD,KAAK,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;oBACrE,MAAM,KAAK,GAAG,uBAAuB,CACnC,WAAW,EACX,QAAQ,EACR,WAAW,UAAU,EAAE,CACxB,CAAC;oBACF,IAAI,KAAK;wBAAE,OAAO,KAAK,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC,CAAC,yBAAyB;IAC7C,CAAC;IAED,iCAAiC;IACjC,IAAI,UAAU,IAAI,QAAQ,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;QACvD,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1C,OAAO,GAAG,QAAQ,+BAA+B,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,OAAO,GAAG,QAAQ,iCAAiC,CAAC;QACtD,CAAC;QACD,KAAK,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7E,IAAI,cAAc,KAAK,IAAI,IAAI,OAAO,cAAc,KAAK,QAAQ;gBAAE,SAAS;YAC5E,MAAM,eAAe,GAAG,cAAyC,CAAC;YAClE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBACrD,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ;oBAAE,SAAS;gBAClE,MAAM,UAAU,GAAG,SAAoC,CAAC;gBACxD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,KAAK,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC3D,IAAI,WAAW,KAAK,IAAI,IAAI,OAAO,WAAW,KAAK,QAAQ;wBAAE,SAAS;oBACtE,MAAM,KAAK,GAAG,qBAAqB,CAChC,WAAuC,CAAC,aAAa,EACtD,QAAQ,EACR,cAAc,cAAc,WAAW,SAAS,aAAa,WAAW,iBAAiB,CAC1F,CAAC;oBACF,IAAI,KAAK;wBAAE,OAAO,KAAK,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC,CAAC,oBAAoB;IACxC,CAAC;IAED,mDAAmD;IACnD,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACxE,OAAO,GAAG,QAAQ,gCAAgC,CAAC;QACrD,CAAC;QACD,KAAK,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CACtD,QAAQ,CAAC,QAAmC,CAC7C,EAAE,CAAC;YACF,IAAI,YAAY,KAAK,IAAI,IAAI,OAAO,YAAY,KAAK,QAAQ;gBAAE,SAAS;YACxE,MAAM,KAAK,GAAG,qBAAqB,CAChC,YAAwC,CAAC,aAAa,EACvD,QAAQ,EACR,YAAY,WAAW,gBAAgB,CACxC,CAAC;YACF,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC1B,CAAC;QACD,OAAO,SAAS,CAAC,CAAC,sBAAsB;IAC1C,CAAC;IAED,OAAO,GAAG,QAAQ,oIAAoI,CAAC;AACzJ,CAAC,CAAC"}
@@ -201,6 +201,130 @@ describe("Binding System", () => {
201
201
  expect(lengthOverloads).to.not.equal(undefined);
202
202
  expect(lengthOverloads?.[0]?.binding.member).to.equal("length");
203
203
  });
204
+ it("should resolve tsbindgen types by CLR name", () => {
205
+ const registry = new BindingRegistry();
206
+ registry.addBindings("/test/acme/bindings.json", {
207
+ namespace: "Acme.Core",
208
+ types: [
209
+ {
210
+ clrName: "Acme.Core.Widget",
211
+ assemblyName: "Acme.Core",
212
+ methods: [],
213
+ properties: [
214
+ {
215
+ clrName: "Name",
216
+ declaringClrType: "Acme.Core.Widget",
217
+ declaringAssemblyName: "Acme.Core",
218
+ },
219
+ ],
220
+ fields: [],
221
+ },
222
+ ],
223
+ });
224
+ const byAlias = registry.getType("Widget");
225
+ const byClrName = registry.getType("Acme.Core.Widget");
226
+ expect(byAlias?.name).to.equal("Acme.Core.Widget");
227
+ expect(byClrName?.alias).to.equal("Widget");
228
+ });
229
+ it("should keep explicit tsbindgen aliases disambiguated when simple names collide", () => {
230
+ const registry = new BindingRegistry();
231
+ registry.addBindings("/test/acme/bindings.json", {
232
+ namespace: "Acme",
233
+ types: [
234
+ {
235
+ clrName: "Acme.domain.ChannelFolderWithItems",
236
+ alias: "Acme.domain.ChannelFolderWithItems",
237
+ assemblyName: "Acme",
238
+ methods: [],
239
+ properties: [
240
+ {
241
+ clrName: "folder",
242
+ declaringClrType: "Acme.domain.ChannelFolderWithItems",
243
+ declaringAssemblyName: "Acme",
244
+ },
245
+ ],
246
+ fields: [],
247
+ },
248
+ {
249
+ clrName: "Acme.repo.ChannelFolderWithItems",
250
+ alias: "Acme.repo.ChannelFolderWithItems",
251
+ assemblyName: "Acme",
252
+ methods: [],
253
+ properties: [
254
+ {
255
+ clrName: "folder",
256
+ declaringClrType: "Acme.repo.ChannelFolderWithItems",
257
+ declaringAssemblyName: "Acme",
258
+ },
259
+ ],
260
+ fields: [],
261
+ },
262
+ ],
263
+ });
264
+ const domainOverloads = registry.getMemberOverloads("Acme.domain.ChannelFolderWithItems", "folder");
265
+ expect(domainOverloads).to.not.equal(undefined);
266
+ expect(domainOverloads?.length).to.equal(1);
267
+ expect(domainOverloads?.[0]?.binding.type).to.equal("Acme.domain.ChannelFolderWithItems");
268
+ const repoOverloads = registry.getMemberOverloads("Acme.repo.ChannelFolderWithItems", "folder");
269
+ expect(repoOverloads).to.not.equal(undefined);
270
+ expect(repoOverloads?.length).to.equal(1);
271
+ expect(repoOverloads?.[0]?.binding.type).to.equal("Acme.repo.ChannelFolderWithItems");
272
+ expect(registry.getMemberOverloads("ChannelFolderWithItems", "folder")).to.equal(undefined);
273
+ });
274
+ it("should resolve member overloads by CLR type name for source-binding canonical identities", () => {
275
+ const registry = new BindingRegistry();
276
+ registry.addBindings("/test/acme/bindings.json", {
277
+ namespace: "Acme.Core",
278
+ types: [
279
+ {
280
+ clrName: "Acme.Core.Widget",
281
+ assemblyName: "Acme.Core",
282
+ methods: [],
283
+ properties: [
284
+ {
285
+ clrName: "Name",
286
+ declaringClrType: "Acme.Core.Widget",
287
+ declaringAssemblyName: "Acme.Core",
288
+ },
289
+ ],
290
+ fields: [],
291
+ },
292
+ ],
293
+ });
294
+ const overloads = registry.getMemberOverloads("Acme.Core.Widget", "Name");
295
+ expect(overloads).to.not.equal(undefined);
296
+ expect(overloads?.length).to.equal(1);
297
+ expect(overloads?.[0]?.binding.type).to.equal("Acme.Core.Widget");
298
+ expect(overloads?.[0]?.binding.member).to.equal("Name");
299
+ });
300
+ it("should resolve member overloads by qualified TS alias for source-binding canonical identities", () => {
301
+ const registry = new BindingRegistry();
302
+ registry.addBindings("/test/acme/bindings.json", {
303
+ namespace: "Acme.Core",
304
+ types: [
305
+ {
306
+ clrName: "Acme.Core.Ok__Alias`1",
307
+ assemblyName: "Acme.Core",
308
+ methods: [],
309
+ properties: [
310
+ {
311
+ clrName: "success",
312
+ declaringClrType: "Acme.Core.Ok__Alias`1",
313
+ declaringAssemblyName: "Acme.Core",
314
+ },
315
+ ],
316
+ fields: [],
317
+ },
318
+ ],
319
+ });
320
+ const byQualifiedAlias = registry.getType("Acme.Core.Ok__Alias_1");
321
+ const overloads = registry.getMemberOverloads("Acme.Core.Ok__Alias_1", "success");
322
+ expect(byQualifiedAlias?.alias).to.equal("Ok__Alias_1");
323
+ expect(overloads).to.not.equal(undefined);
324
+ expect(overloads?.length).to.equal(1);
325
+ expect(overloads?.[0]?.binding.type).to.equal("Acme.Core.Ok__Alias`1");
326
+ expect(overloads?.[0]?.binding.member).to.equal("success");
327
+ });
204
328
  it("should resolve tsbindgen extension methods for instance-style calls", () => {
205
329
  const registry = new BindingRegistry();
206
330
  registry.addBindings("/test/System.Linq/bindings.json", {
@@ -842,6 +966,27 @@ describe("Binding System", () => {
842
966
  expect(registry
843
967
  .getClrMemberOverloads("System.Linq", "System.Linq.Enumerable", "ToList")?.[0]?.emitSemantics?.callStyle).to.equal("receiver");
844
968
  });
969
+ it("should expose tsbindgen namespace types for namespace-scoped import identity", () => {
970
+ const registry = new BindingRegistry();
971
+ registry.addBindings("/test/System.Collections.Generic/bindings.json", {
972
+ namespace: "System.Collections.Generic",
973
+ types: [
974
+ {
975
+ clrName: "System.Collections.Generic.IEnumerable`1",
976
+ assemblyName: "System.Runtime",
977
+ kind: "Interface",
978
+ methods: [],
979
+ properties: [],
980
+ fields: [],
981
+ },
982
+ ],
983
+ });
984
+ const namespace = registry.getNamespace("System.Collections.Generic");
985
+ expect(namespace).to.not.equal(undefined);
986
+ expect(namespace?.name).to.equal("System.Collections.Generic");
987
+ expect(namespace?.types.some((type) => type.alias === "IEnumerable_1" &&
988
+ type.name === "System.Collections.Generic.IEnumerable`1")).to.equal(true);
989
+ });
845
990
  });
846
991
  });
847
992
  //# sourceMappingURL=bindings.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bindings.test.js","sourceRoot":"","sources":["../../src/program/bindings.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bindings.test.js","sourceRoot":"","sources":["../../src/program/bindings.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"clr-bindings-discovery.d.ts","sourceRoot":"","sources":["../../src/program/clr-bindings-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA2FhD;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GACrC,SAAS,aAAa,EACtB,UAAU,OAAO,KAChB,IA8EF,CAAC"}
1
+ {"version":3,"file":"clr-bindings-discovery.d.ts","sourceRoot":"","sources":["../../src/program/clr-bindings-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA2FhD;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GACrC,SAAS,aAAa,EACtB,UAAU,OAAO,KAChB,IAqFF,CAAC"}
@@ -95,11 +95,17 @@ export const discoverAndLoadClrBindings = (program, verbose) => {
95
95
  enqueued.add(bindingsPath);
96
96
  pending.push(bindingsPath);
97
97
  };
98
+ const filesToScan = [
99
+ ...program.sourceFiles,
100
+ ...program.declarationSourceFiles,
101
+ ];
98
102
  if (verbose) {
99
- console.log(`[CLR Bindings] Scanning ${program.sourceFiles.length} source files`);
103
+ console.log(`[CLR Bindings] Scanning ${filesToScan.length} source and declaration files`);
100
104
  }
101
- // First: discover direct CLR imports from source files.
102
- for (const sourceFile of program.sourceFiles) {
105
+ // First: discover direct CLR imports from program files, including declaration
106
+ // files. Generated/source-package .d.ts surfaces can import CLR namespaces from
107
+ // external packages, and those bindings must be loaded before IR building.
108
+ for (const sourceFile of filesToScan) {
103
109
  if (verbose) {
104
110
  console.log(`[CLR Bindings] Scanning: ${sourceFile.fileName}`);
105
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"clr-bindings-discovery.js","sourceRoot":"","sources":["../../src/program/clr-bindings-discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clr-bindings-discovery.js","sourceRoot":"","sources":["../../src/program/clr-bindings-discovery.ts"],"names":[],"mappings":"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"}
@@ -115,5 +115,112 @@ describe("CLR bindings discovery (entrypoint re-exports)", () => {
115
115
  expect(fooSpec.resolvedClrValue?.declaringClrType).to.equal("Other.Container");
116
116
  expect(fooSpec.resolvedClrValue?.memberName).to.equal("foo");
117
117
  });
118
+ it("loads CLR bindings referenced only from declaration files", () => {
119
+ const tmpRoot = fs.mkdtempSync(path.join(os.tmpdir(), "tsonic-clr-decl-import-"));
120
+ try {
121
+ const projectRoot = tmpRoot;
122
+ fs.writeFileSync(path.join(projectRoot, "package.json"), JSON.stringify({ name: "test-project", private: true, type: "module" }, null, 2));
123
+ const efPkgRoot = path.join(projectRoot, "node_modules", "@test", "ef");
124
+ fs.mkdirSync(efPkgRoot, { recursive: true });
125
+ fs.writeFileSync(path.join(efPkgRoot, "package.json"), JSON.stringify({
126
+ name: "@test/ef",
127
+ version: "0.0.0",
128
+ type: "module",
129
+ exports: {
130
+ "./*.js": {
131
+ types: "./dist/tsonic/bindings/*.d.ts",
132
+ default: "./dist/tsonic/bindings/*.js",
133
+ },
134
+ },
135
+ }, null, 2));
136
+ const efBindingsRoot = path.join(efPkgRoot, "dist", "tsonic", "bindings");
137
+ fs.mkdirSync(path.join(efBindingsRoot, "Foo"), { recursive: true });
138
+ fs.writeFileSync(path.join(efBindingsRoot, "Foo", "bindings.json"), JSON.stringify({
139
+ namespace: "Foo",
140
+ types: [],
141
+ exports: {
142
+ mark: {
143
+ kind: "method",
144
+ clrName: "mark",
145
+ declaringClrType: "Foo.Container",
146
+ declaringAssemblyName: "TestAssembly",
147
+ },
148
+ },
149
+ }, null, 2));
150
+ fs.writeFileSync(path.join(efBindingsRoot, "Foo.d.ts"), "export interface Marker { ok: true; }\nexport declare function mark(): void;\n");
151
+ fs.writeFileSync(path.join(efBindingsRoot, "Foo.js"), 'throw new Error("stub");\n');
152
+ const pkgRoot = path.join(projectRoot, "node_modules", "@test", "pkg");
153
+ fs.mkdirSync(pkgRoot, { recursive: true });
154
+ fs.writeFileSync(path.join(pkgRoot, "package.json"), JSON.stringify({
155
+ name: "@test/pkg",
156
+ version: "0.0.0",
157
+ type: "module",
158
+ exports: {
159
+ "./*.js": {
160
+ types: "./dist/tsonic/bindings/*.d.ts",
161
+ default: "./dist/tsonic/bindings/*.js",
162
+ },
163
+ },
164
+ }, null, 2));
165
+ const bindingsRoot = path.join(pkgRoot, "dist", "tsonic", "bindings");
166
+ fs.mkdirSync(bindingsRoot, { recursive: true });
167
+ fs.writeFileSync(path.join(bindingsRoot, "Root.d.ts"), [
168
+ 'import type { Marker } from "@test/ef/Foo.js";',
169
+ "",
170
+ "export interface NeedsMarker {",
171
+ " readonly value: Marker;",
172
+ "}",
173
+ "",
174
+ ].join("\n"));
175
+ fs.writeFileSync(path.join(bindingsRoot, "Root.js"), 'throw new Error("stub");\n');
176
+ fs.mkdirSync(path.join(bindingsRoot, "Root"), { recursive: true });
177
+ fs.writeFileSync(path.join(bindingsRoot, "Root", "bindings.json"), JSON.stringify({ namespace: "Root", types: [] }, null, 2));
178
+ const srcDir = path.join(projectRoot, "src");
179
+ fs.mkdirSync(srcDir, { recursive: true });
180
+ const entryFile = path.join(srcDir, "main.ts");
181
+ fs.writeFileSync(entryFile, 'import type { NeedsMarker } from "@test/pkg/Root.js";\nexport type Check = NeedsMarker;\n');
182
+ const program = ts.createProgram({
183
+ rootNames: [entryFile],
184
+ options: {
185
+ target: ts.ScriptTarget.ES2022,
186
+ module: ts.ModuleKind.NodeNext,
187
+ moduleResolution: ts.ModuleResolutionKind.NodeNext,
188
+ strict: true,
189
+ noLib: true,
190
+ noEmit: true,
191
+ skipLibCheck: true,
192
+ },
193
+ });
194
+ const sourceFile = program.getSourceFile(entryFile);
195
+ if (!sourceFile)
196
+ throw new Error("failed to read entry source file");
197
+ const checker = program.getTypeChecker();
198
+ const bindings = new BindingRegistry();
199
+ const declarationSourceFiles = program
200
+ .getSourceFiles()
201
+ .filter((sf) => sf.isDeclarationFile);
202
+ const tsonicProgram = {
203
+ program,
204
+ checker,
205
+ options: {
206
+ projectRoot,
207
+ sourceRoot: projectRoot,
208
+ rootNamespace: "TestApp",
209
+ strict: true,
210
+ },
211
+ sourceFiles: [sourceFile],
212
+ declarationSourceFiles,
213
+ metadata: new DotnetMetadataRegistry(),
214
+ bindings,
215
+ clrResolver: createClrBindingsResolver(projectRoot),
216
+ binding: createBinding(checker),
217
+ };
218
+ discoverAndLoadClrBindings(tsonicProgram);
219
+ expect(bindings.getTsbindgenExport("Foo", "mark")).to.not.equal(undefined);
220
+ }
221
+ finally {
222
+ fs.rmSync(tmpRoot, { recursive: true, force: true });
223
+ }
224
+ });
118
225
  });
119
226
  //# sourceMappingURL=clr-bindings-discovery.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clr-bindings-discovery.test.js","sourceRoot":"","sources":["../../src/program/clr-bindings-discovery.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clr-bindings-discovery.test.js","sourceRoot":"","sources":["../../src/program/clr-bindings-discovery.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"creation.d.ts","sourceRoot":"","sources":["../../src/program/creation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAKjC,OAAO,EAAE,MAAM,EAAa,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAmP5D;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,eAAe,KACvB,EAAE,CAAC,eAsEL,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,GACxB,WAAW,SAAS,MAAM,EAAE,EAC5B,SAAS,eAAe,KACvB,MAAM,CAAC,aAAa,EAAE,oBAAoB,CAqnB5C,CAAC"}
1
+ {"version":3,"file":"creation.d.ts","sourceRoot":"","sources":["../../src/program/creation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAKjC,OAAO,EAAE,MAAM,EAAa,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAiR5D;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,eAAe,KACvB,EAAE,CAAC,eAsEL,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,GACxB,WAAW,SAAS,MAAM,EAAE,EAC5B,SAAS,eAAe,KACvB,MAAM,CAAC,aAAa,EAAE,oBAAoB,CA4nB5C,CAAC"}