@tsonic/emitter 0.0.39 → 0.0.41

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 (92) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/core/boolean-context.d.ts.map +1 -1
  3. package/dist/core/boolean-context.js +235 -25
  4. package/dist/core/boolean-context.js.map +1 -1
  5. package/dist/core/local-names.d.ts +26 -0
  6. package/dist/core/local-names.d.ts.map +1 -0
  7. package/dist/core/local-names.js +47 -0
  8. package/dist/core/local-names.js.map +1 -0
  9. package/dist/emitter-types/context.d.ts.map +1 -1
  10. package/dist/emitter-types/context.js +1 -0
  11. package/dist/emitter-types/context.js.map +1 -1
  12. package/dist/emitter-types/core.d.ts +14 -0
  13. package/dist/emitter-types/core.d.ts.map +1 -1
  14. package/dist/expressions/functions.d.ts.map +1 -1
  15. package/dist/expressions/functions.js +24 -6
  16. package/dist/expressions/functions.js.map +1 -1
  17. package/dist/expressions/operators.js +3 -3
  18. package/dist/expressions/operators.js.map +1 -1
  19. package/dist/golden-shard-0.test.d.ts +2 -0
  20. package/dist/golden-shard-0.test.d.ts.map +1 -0
  21. package/dist/golden-shard-0.test.js +3 -0
  22. package/dist/golden-shard-0.test.js.map +1 -0
  23. package/dist/golden-shard-1.test.d.ts +2 -0
  24. package/dist/golden-shard-1.test.d.ts.map +1 -0
  25. package/dist/golden-shard-1.test.js +3 -0
  26. package/dist/golden-shard-1.test.js.map +1 -0
  27. package/dist/golden-shard-2.test.d.ts +2 -0
  28. package/dist/golden-shard-2.test.d.ts.map +1 -0
  29. package/dist/golden-shard-2.test.js +3 -0
  30. package/dist/golden-shard-2.test.js.map +1 -0
  31. package/dist/golden-shard-3.test.d.ts +2 -0
  32. package/dist/golden-shard-3.test.d.ts.map +1 -0
  33. package/dist/golden-shard-3.test.js +3 -0
  34. package/dist/golden-shard-3.test.js.map +1 -0
  35. package/dist/golden-shard-4.test.d.ts +2 -0
  36. package/dist/golden-shard-4.test.d.ts.map +1 -0
  37. package/dist/golden-shard-4.test.js +3 -0
  38. package/dist/golden-shard-4.test.js.map +1 -0
  39. package/dist/golden-shard-5.test.d.ts +2 -0
  40. package/dist/golden-shard-5.test.d.ts.map +1 -0
  41. package/dist/golden-shard-5.test.js +3 -0
  42. package/dist/golden-shard-5.test.js.map +1 -0
  43. package/dist/golden-shard-6.test.d.ts +2 -0
  44. package/dist/golden-shard-6.test.d.ts.map +1 -0
  45. package/dist/golden-shard-6.test.js +3 -0
  46. package/dist/golden-shard-6.test.js.map +1 -0
  47. package/dist/golden-shard-7.test.d.ts +2 -0
  48. package/dist/golden-shard-7.test.d.ts.map +1 -0
  49. package/dist/golden-shard-7.test.js +3 -0
  50. package/dist/golden-shard-7.test.js.map +1 -0
  51. package/dist/golden-shards.d.ts +7 -0
  52. package/dist/golden-shards.d.ts.map +1 -0
  53. package/dist/golden-shards.js +35 -0
  54. package/dist/golden-shards.js.map +1 -0
  55. package/dist/patterns.d.ts.map +1 -1
  56. package/dist/patterns.js +33 -13
  57. package/dist/patterns.js.map +1 -1
  58. package/dist/statements/blocks.d.ts.map +1 -1
  59. package/dist/statements/blocks.js +21 -11
  60. package/dist/statements/blocks.js.map +1 -1
  61. package/dist/statements/classes/members/constructors.d.ts.map +1 -1
  62. package/dist/statements/classes/members/constructors.js +16 -6
  63. package/dist/statements/classes/members/constructors.js.map +1 -1
  64. package/dist/statements/classes/members/methods.d.ts.map +1 -1
  65. package/dist/statements/classes/members/methods.js +15 -7
  66. package/dist/statements/classes/members/methods.js.map +1 -1
  67. package/dist/statements/classes/members/properties.d.ts.map +1 -1
  68. package/dist/statements/classes/members/properties.js +30 -17
  69. package/dist/statements/classes/members/properties.js.map +1 -1
  70. package/dist/statements/control/conditionals.d.ts.map +1 -1
  71. package/dist/statements/control/conditionals.js +72 -35
  72. package/dist/statements/control/conditionals.js.map +1 -1
  73. package/dist/statements/control/exceptions.d.ts.map +1 -1
  74. package/dist/statements/control/exceptions.js +11 -4
  75. package/dist/statements/control/exceptions.js.map +1 -1
  76. package/dist/statements/control/loops.d.ts.map +1 -1
  77. package/dist/statements/control/loops.js +47 -16
  78. package/dist/statements/control/loops.js.map +1 -1
  79. package/dist/statements/declarations/classes.d.ts.map +1 -1
  80. package/dist/statements/declarations/classes.js +19 -6
  81. package/dist/statements/declarations/classes.js.map +1 -1
  82. package/dist/statements/declarations/functions.d.ts.map +1 -1
  83. package/dist/statements/declarations/functions.js +52 -17
  84. package/dist/statements/declarations/functions.js.map +1 -1
  85. package/dist/statements/declarations/variables.d.ts.map +1 -1
  86. package/dist/statements/declarations/variables.js +13 -24
  87. package/dist/statements/declarations/variables.js.map +1 -1
  88. package/package.json +3 -3
  89. package/dist/golden.test.d.ts +0 -11
  90. package/dist/golden.test.d.ts.map +0 -1
  91. package/dist/golden.test.js +0 -41
  92. package/dist/golden.test.js.map +0 -1
@@ -9,6 +9,7 @@ import { escapeCSharpIdentifier } from "../../emitter-types/index.js";
9
9
  import { needsBidirectionalSupport, hasGeneratorReturnType, extractGeneratorTypeArgs, } from "../../generator-wrapper.js";
10
10
  import { emitAttributes } from "../../core/attributes.js";
11
11
  import { emitCSharpName, getCSharpName } from "../../naming-policy.js";
12
+ import { allocateLocalName } from "../../core/local-names.js";
12
13
  const getAsyncBodyReturnType = (isAsync, returnType) => {
13
14
  if (!isAsync || !returnType)
14
15
  return returnType;
@@ -23,12 +24,15 @@ const getAsyncBodyReturnType = (isAsync, returnType) => {
23
24
  };
24
25
  const seedLocalNameMapFromParameters = (params, context) => {
25
26
  const map = new Map(context.localNameMap ?? []);
27
+ const used = new Set();
26
28
  for (const p of params) {
27
29
  if (p.pattern.kind === "identifierPattern") {
28
- map.set(p.pattern.name, escapeCSharpIdentifier(p.pattern.name));
30
+ const emitted = escapeCSharpIdentifier(p.pattern.name);
31
+ map.set(p.pattern.name, emitted);
32
+ used.add(emitted);
29
33
  }
30
34
  }
31
- return { ...context, localNameMap: map };
35
+ return { ...context, localNameMap: map, usedLocalNames: used };
32
36
  };
33
37
  /**
34
38
  * Emit a function declaration
@@ -40,6 +44,7 @@ export const emitFunctionDeclaration = (stmt, context) => {
40
44
  typeParameterNameMap: context.typeParameterNameMap,
41
45
  returnType: context.returnType,
42
46
  localNameMap: context.localNameMap,
47
+ usedLocalNames: context.usedLocalNames,
43
48
  };
44
49
  const ind = getIndent(context);
45
50
  const parts = [];
@@ -80,6 +85,7 @@ export const emitFunctionDeclaration = (stmt, context) => {
80
85
  }
81
86
  // Check if this is a bidirectional generator (has TNext type)
82
87
  const isBidirectional = needsBidirectionalSupport(stmt);
88
+ const generatorHasReturnType = stmt.isGenerator && isBidirectional ? hasGeneratorReturnType(stmt) : false;
83
89
  // Return type
84
90
  if (stmt.isGenerator) {
85
91
  if (isBidirectional) {
@@ -124,10 +130,42 @@ export const emitFunctionDeclaration = (stmt, context) => {
124
130
  currentContext = paramsResult.context;
125
131
  // Function body (not a static context - local variables)
126
132
  // Use withScoped to set typeParameters and returnType for nested expressions
127
- const baseBodyContext = seedLocalNameMapFromParameters(stmt.parameters, withAsync(withStatic(indent(currentContext), false), stmt.isAsync));
133
+ let baseBodyContext = seedLocalNameMapFromParameters(stmt.parameters, withAsync(withStatic(indent(currentContext), false), stmt.isAsync));
134
+ // Reserve generator-internal locals BEFORE emitting the body so user locals can safely
135
+ // use these names (and get deterministically renamed) without colliding in C#.
136
+ let generatorExchangeVar = "exchange";
137
+ let generatorIteratorFn = "__iterator";
138
+ let generatorReturnValueVar = "__returnValue";
139
+ if (stmt.isGenerator) {
140
+ const exchangeAlloc = allocateLocalName(generatorExchangeVar, baseBodyContext);
141
+ generatorExchangeVar = exchangeAlloc.emittedName;
142
+ baseBodyContext = {
143
+ ...exchangeAlloc.context,
144
+ generatorExchangeVar,
145
+ };
146
+ if (isBidirectional) {
147
+ const iterAlloc = allocateLocalName(generatorIteratorFn, baseBodyContext);
148
+ generatorIteratorFn = iterAlloc.emittedName;
149
+ baseBodyContext = iterAlloc.context;
150
+ if (generatorHasReturnType) {
151
+ const retAlloc = allocateLocalName(generatorReturnValueVar, baseBodyContext);
152
+ generatorReturnValueVar = retAlloc.emittedName;
153
+ baseBodyContext = {
154
+ ...retAlloc.context,
155
+ generatorReturnValueVar,
156
+ };
157
+ }
158
+ }
159
+ }
160
+ // Generate parameter destructuring statements BEFORE emitting the body so
161
+ // any renamed locals are visible to the body emitter via localNameMap.
162
+ const bodyInd = getIndent(baseBodyContext);
163
+ const [parameterDestructuringStmts, destructuringContext] = paramsResult.destructuringParams.length > 0
164
+ ? generateParameterDestructuring(paramsResult.destructuringParams, bodyInd, baseBodyContext)
165
+ : [[], baseBodyContext];
128
166
  // Emit body with scoped typeParameters and returnType
129
167
  // funcTypeParams was already built at the start of this function
130
- const [bodyCode] = withScoped(baseBodyContext, {
168
+ const [bodyCode] = withScoped(destructuringContext, {
131
169
  typeParameters: funcTypeParams,
132
170
  returnType: stmt.isAsync && !stmt.isGenerator
133
171
  ? getAsyncBodyReturnType(stmt.isAsync, stmt.returnType)
@@ -152,13 +190,10 @@ export const emitFunctionDeclaration = (stmt, context) => {
152
190
  }
153
191
  // Inject initialization code for generators, out parameters, and destructuring
154
192
  let finalBodyCode = bodyCode;
155
- const bodyInd = getIndent(baseBodyContext);
156
193
  const injectLines = [];
157
194
  // Generate parameter destructuring statements
158
- if (paramsResult.destructuringParams.length > 0) {
159
- const [destructuringStmts, newCtx] = generateParameterDestructuring(paramsResult.destructuringParams, bodyInd, currentContext);
160
- currentContext = newCtx;
161
- injectLines.push(...destructuringStmts);
195
+ if (parameterDestructuringStmts.length > 0) {
196
+ injectLines.push(...parameterDestructuringStmts);
162
197
  }
163
198
  // Handle bidirectional generators specially
164
199
  if (stmt.isGenerator && isBidirectional) {
@@ -168,8 +203,8 @@ export const emitFunctionDeclaration = (stmt, context) => {
168
203
  ? `global::System.Collections.Generic.IAsyncEnumerable<${exchangeName}>`
169
204
  : `global::System.Collections.Generic.IEnumerable<${exchangeName}>`;
170
205
  const asyncModifier = stmt.isAsync ? "async " : "";
171
- // Check if generator has a return type (TReturn is not void/undefined)
172
- const hasReturnType = hasGeneratorReturnType(stmt);
206
+ // generatorHasReturnType was computed earlier so we can reserve locals before body emission.
207
+ const hasReturnType = generatorHasReturnType;
173
208
  // Extract return type for __returnValue variable
174
209
  let returnTypeStr = "object";
175
210
  if (hasReturnType) {
@@ -186,24 +221,24 @@ export const emitFunctionDeclaration = (stmt, context) => {
186
221
  // Construct the bidirectional generator body
187
222
  const bodyLines = [
188
223
  `${ind}{`,
189
- `${bodyInd}var exchange = new ${exchangeName}();`,
224
+ `${bodyInd}var ${generatorExchangeVar} = new ${exchangeName}();`,
190
225
  ];
191
226
  // Add __returnValue capture if TReturn is not void
192
227
  if (hasReturnType) {
193
- bodyLines.push(`${bodyInd}${returnTypeStr} __returnValue = default!;`);
228
+ bodyLines.push(`${bodyInd}${returnTypeStr} ${generatorReturnValueVar} = default!;`);
194
229
  }
195
230
  bodyLines.push(``);
196
- bodyLines.push(`${bodyInd}${asyncModifier}${enumerableType} __iterator()`);
231
+ bodyLines.push(`${bodyInd}${asyncModifier}${enumerableType} ${generatorIteratorFn}()`);
197
232
  bodyLines.push(`${bodyInd}{`);
198
233
  bodyLines.push(iteratorBody);
199
234
  bodyLines.push(`${bodyInd}}`);
200
235
  bodyLines.push(``);
201
236
  // Wrapper constructor call - pass return value getter if needed
202
237
  if (hasReturnType) {
203
- bodyLines.push(`${bodyInd}return new ${wrapperName}(__iterator(), exchange, () => __returnValue);`);
238
+ bodyLines.push(`${bodyInd}return new ${wrapperName}(${generatorIteratorFn}(), ${generatorExchangeVar}, () => ${generatorReturnValueVar});`);
204
239
  }
205
240
  else {
206
- bodyLines.push(`${bodyInd}return new ${wrapperName}(__iterator(), exchange);`);
241
+ bodyLines.push(`${bodyInd}return new ${wrapperName}(${generatorIteratorFn}(), ${generatorExchangeVar});`);
207
242
  }
208
243
  bodyLines.push(`${ind}}`);
209
244
  finalBodyCode = bodyLines.join("\n");
@@ -212,7 +247,7 @@ export const emitFunctionDeclaration = (stmt, context) => {
212
247
  // Add generator exchange initialization for unidirectional generators
213
248
  if (stmt.isGenerator) {
214
249
  const exchangeName = `${csharpBaseName}_exchange`;
215
- injectLines.push(`${bodyInd}var exchange = new ${exchangeName}();`);
250
+ injectLines.push(`${bodyInd}var ${generatorExchangeVar} = new ${exchangeName}();`);
216
251
  }
217
252
  // Add out parameter initializations
218
253
  if (outParams.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/statements/declarations/functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/statements/declarations/functions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../src/statements/declarations/variables.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAEL,WAAW,EAGZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAiC,MAAM,gBAAgB,CAAC;AAuL/E;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAClC,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE,CAAC,EAC3D,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAqiBzB,CAAC"}
1
+ {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../src/statements/declarations/variables.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAEL,WAAW,EAGZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAiC,MAAM,gBAAgB,CAAC;AAgK/E;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAClC,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE,CAAC,EAC3D,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAwiBzB,CAAC"}
@@ -8,25 +8,9 @@ import { emitStatement } from "../../statement-emitter.js";
8
8
  import { emitType } from "../../type-emitter.js";
9
9
  import { escapeCSharpIdentifier } from "../../emitter-types/index.js";
10
10
  import { lowerPattern } from "../../patterns.js";
11
+ import { allocateLocalName, registerLocalName } from "../../core/local-names.js";
11
12
  import { resolveTypeAlias, stripNullish } from "../../core/type-resolution.js";
12
13
  import { emitCSharpName } from "../../naming-policy.js";
13
- const computeLocalName = (originalName, context) => {
14
- const alreadyDeclared = context.localNameMap?.has(originalName) ?? false;
15
- if (!alreadyDeclared) {
16
- return { emittedName: escapeCSharpIdentifier(originalName), updatedContext: context };
17
- }
18
- const nextId = (context.tempVarId ?? 0) + 1;
19
- const renamed = `${originalName}__${nextId}`;
20
- return {
21
- emittedName: escapeCSharpIdentifier(renamed),
22
- updatedContext: { ...context, tempVarId: nextId },
23
- };
24
- };
25
- const registerLocalName = (originalName, emittedName, context) => {
26
- const nextMap = new Map(context.localNameMap ?? []);
27
- nextMap.set(originalName, emittedName);
28
- return { ...context, localNameMap: nextMap };
29
- };
30
14
  const getAsyncBodyReturnType = (isAsync, returnType) => {
31
15
  if (!isAsync || !returnType)
32
16
  return returnType;
@@ -134,12 +118,15 @@ const resolveAsInterfaceTargetType = (type, context) => {
134
118
  };
135
119
  const seedLocalNameMapFromParameters = (params, context) => {
136
120
  const map = new Map(context.localNameMap ?? []);
121
+ const used = new Set();
137
122
  for (const p of params) {
138
123
  if (p.pattern.kind === "identifierPattern") {
139
- map.set(p.pattern.name, escapeCSharpIdentifier(p.pattern.name));
124
+ const emitted = escapeCSharpIdentifier(p.pattern.name);
125
+ map.set(p.pattern.name, emitted);
126
+ used.add(emitted);
140
127
  }
141
128
  }
142
- return { ...context, localNameMap: map };
129
+ return { ...context, localNameMap: map, usedLocalNames: used };
143
130
  };
144
131
  /**
145
132
  * Emit a variable declaration
@@ -506,11 +493,13 @@ export const emitVariableDeclaration = (stmt, context) => {
506
493
  if (decl.name.kind === "identifierPattern") {
507
494
  // Simple identifier pattern (escape C# keywords)
508
495
  const originalName = decl.name.name;
509
- const localNameInfo = context.isStatic
510
- ? { emittedName: emitCSharpName(originalName, "fields", context), updatedContext: currentContext }
511
- : computeLocalName(originalName, currentContext);
512
- const localName = localNameInfo.emittedName;
513
- currentContext = localNameInfo.updatedContext;
496
+ const localName = context.isStatic
497
+ ? emitCSharpName(originalName, "fields", context)
498
+ : (() => {
499
+ const alloc = allocateLocalName(originalName, currentContext);
500
+ currentContext = alloc.context;
501
+ return alloc.emittedName;
502
+ })();
514
503
  varDecl += localName;
515
504
  // Add initializer if present
516
505
  if (decl.initializer) {
@@ -1 +1 @@
1
- {"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../src/statements/declarations/variables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../src/statements/declarations/variables.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsonic/emitter",
3
- "version": "0.0.39",
3
+ "version": "0.0.41",
4
4
  "description": "C# code generator for Tsonic compiler",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -18,14 +18,14 @@
18
18
  "build": "tsc -b",
19
19
  "clean": "rm -rf dist *.tsbuildinfo",
20
20
  "pretest": "npm run clean && npm run build",
21
- "test": "mocha --parallel --timeout 10000 'dist/**/*.test.js'",
21
+ "test": "mocha --parallel --jobs 4 --timeout 10000 'dist/**/*.test.js'",
22
22
  "test:watch": "mocha 'dist/**/*.test.js' --watch",
23
23
  "update-golden": "npx tsx scripts/update-golden-tests.ts",
24
24
  "update-golden:dotnet": "npx tsx scripts/update-golden-tests.ts dotnet",
25
25
  "update-golden:js": "npx tsx scripts/update-golden-tests.ts js"
26
26
  },
27
27
  "dependencies": {
28
- "@tsonic/frontend": "0.0.39"
28
+ "@tsonic/frontend": "0.0.41"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/chai": "5.2.2",
@@ -1,11 +0,0 @@
1
- /**
2
- * Golden Test Harness for Tsonic Emitter
3
- *
4
- * Directory structure:
5
- * testcases/
6
- * └── common/ # All tests
7
- * ├── <category>/<test>/ # .ts sources + config.yaml
8
- * └── expected/<category>/<test>/ # Expected .cs output
9
- */
10
- export {};
11
- //# sourceMappingURL=golden.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"golden.test.d.ts","sourceRoot":"","sources":["../src/golden.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -1,41 +0,0 @@
1
- /**
2
- * Golden Test Harness for Tsonic Emitter
3
- *
4
- * Directory structure:
5
- * testcases/
6
- * └── common/ # All tests
7
- * ├── <category>/<test>/ # .ts sources + config.yaml
8
- * └── expected/<category>/<test>/ # Expected .cs output
9
- */
10
- import { describe } from "mocha";
11
- import * as path from "path";
12
- import { fileURLToPath } from "url";
13
- import { discoverScenarios, buildDescribeTree, registerNode, } from "./golden-tests/index.js";
14
- const __filename = fileURLToPath(import.meta.url);
15
- const __dirname = path.dirname(__filename);
16
- /**
17
- * Main test suite setup (synchronous discovery for Mocha compatibility)
18
- */
19
- describe("Golden Tests", function () {
20
- // Golden tests run the full compiler+emitter pipeline per scenario and can
21
- // exceed the default timeout on slower machines / CI.
22
- this.timeout(30000);
23
- const testcasesDir = path.join(__dirname, "../testcases");
24
- try {
25
- const scenarios = discoverScenarios(testcasesDir);
26
- if (scenarios.length === 0) {
27
- console.warn("⚠️ No golden test cases found");
28
- }
29
- else {
30
- const tree = buildDescribeTree(scenarios);
31
- if (tree) {
32
- registerNode(tree);
33
- }
34
- }
35
- }
36
- catch (error) {
37
- console.error("❌ Failed to setup golden tests:", error);
38
- throw error;
39
- }
40
- });
41
- //# sourceMappingURL=golden.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"golden.test.js","sourceRoot":"","sources":["../src/golden.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,GACb,MAAM,yBAAyB,CAAC;AAEjC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C;;GAEG;AACH,QAAQ,CAAC,cAAc,EAAE;IACvB,2EAA2E;IAC3E,sDAAsD;IACtD,IAAI,CAAC,OAAO,CAAC,KAAM,CAAC,CAAC;IACrB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAElD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC1C,IAAI,IAAI,EAAE,CAAC;gBACT,YAAY,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACxD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC,CAAC"}