@creative-introvert/tons-of-tests 0.9.0 → 1.0.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 (103) hide show
  1. package/README.md +78 -12
  2. package/dist/cjs/Classify.js +33 -2
  3. package/dist/cjs/Classify.js.map +1 -1
  4. package/dist/cjs/RepositoryError.js +45 -0
  5. package/dist/cjs/RepositoryError.js.map +1 -0
  6. package/dist/cjs/Test.js +2 -1
  7. package/dist/cjs/Test.js.map +1 -1
  8. package/dist/cjs/Test.repository.js +32 -6
  9. package/dist/cjs/Test.repository.js.map +1 -1
  10. package/dist/cjs/Test.repository.types.js +14 -0
  11. package/dist/cjs/Test.repository.types.js.map +1 -0
  12. package/dist/cjs/index.js +1 -1
  13. package/dist/cjs/internal/Classify.js +4 -32
  14. package/dist/cjs/internal/Classify.js.map +1 -1
  15. package/dist/cjs/internal/Classify.spec.js +223 -0
  16. package/dist/cjs/internal/Classify.spec.js.map +1 -0
  17. package/dist/cjs/internal/Test.js +61 -29
  18. package/dist/cjs/internal/Test.js.map +1 -1
  19. package/dist/cjs/internal/Test.repository.sqlite.js +172 -121
  20. package/dist/cjs/internal/Test.repository.sqlite.js.map +1 -1
  21. package/dist/cjs/internal/Test.repository.sqlite.spec.js +263 -170
  22. package/dist/cjs/internal/Test.repository.sqlite.spec.js.map +1 -1
  23. package/dist/cjs/internal/Test.spec.js +205 -0
  24. package/dist/cjs/internal/Test.spec.js.map +1 -0
  25. package/dist/cjs/internal/format-diff.spec.js +22 -16
  26. package/dist/cjs/internal/format-diff.spec.js.map +1 -1
  27. package/dist/cjs/internal/summarize.js.map +1 -1
  28. package/dist/cjs/pack.js.map +1 -1
  29. package/dist/dts/Classify.d.ts +58 -24
  30. package/dist/dts/Classify.d.ts.map +1 -1
  31. package/dist/dts/Error.d.ts +1 -1
  32. package/dist/dts/RepositoryError.d.ts +40 -0
  33. package/dist/dts/RepositoryError.d.ts.map +1 -0
  34. package/dist/dts/Test.d.ts +8 -1
  35. package/dist/dts/Test.d.ts.map +1 -1
  36. package/dist/dts/Test.repository.d.ts +11 -55
  37. package/dist/dts/Test.repository.d.ts.map +1 -1
  38. package/dist/dts/Test.repository.types.d.ts +66 -0
  39. package/dist/dts/Test.repository.types.d.ts.map +1 -0
  40. package/dist/dts/index.d.ts +1 -1
  41. package/dist/dts/index.d.ts.map +1 -1
  42. package/dist/dts/internal/Classify.d.ts +14 -23
  43. package/dist/dts/internal/Classify.d.ts.map +1 -1
  44. package/dist/dts/internal/Classify.spec.d.ts +2 -0
  45. package/dist/dts/internal/Classify.spec.d.ts.map +1 -0
  46. package/dist/dts/internal/Test.d.ts +3 -3
  47. package/dist/dts/internal/Test.d.ts.map +1 -1
  48. package/dist/dts/internal/Test.repository.sqlite.d.ts +9 -12
  49. package/dist/dts/internal/Test.repository.sqlite.d.ts.map +1 -1
  50. package/dist/dts/internal/Test.spec.d.ts +2 -0
  51. package/dist/dts/internal/Test.spec.d.ts.map +1 -0
  52. package/dist/dts/internal/common.d.ts +1 -1
  53. package/dist/dts/internal/common.d.ts.map +1 -1
  54. package/dist/dts/internal/diff.d.ts.map +1 -1
  55. package/dist/dts/internal/format-diff.d.ts.map +1 -1
  56. package/dist/dts/internal/lib/Schema.d.ts.map +1 -1
  57. package/dist/dts/internal/lib/jsondiffpatch/contexts/context.d.ts.map +1 -1
  58. package/dist/dts/internal/lib/jsondiffpatch/contexts/diff.d.ts.map +1 -1
  59. package/dist/dts/internal/lib/jsondiffpatch/contexts/patch.d.ts.map +1 -1
  60. package/dist/dts/internal/lib/jsondiffpatch/contexts/reverse.d.ts.map +1 -1
  61. package/dist/dts/internal/lib/jsondiffpatch/diffpatcher.d.ts.map +1 -1
  62. package/dist/dts/internal/lib/jsondiffpatch/filters/lcs.d.ts.map +1 -1
  63. package/dist/dts/internal/lib/jsondiffpatch/formatters/annotated.d.ts.map +1 -1
  64. package/dist/dts/internal/lib/jsondiffpatch/formatters/base.d.ts +1 -1
  65. package/dist/dts/internal/lib/jsondiffpatch/formatters/base.d.ts.map +1 -1
  66. package/dist/dts/internal/lib/jsondiffpatch/formatters/html.d.ts.map +1 -1
  67. package/dist/dts/internal/lib/jsondiffpatch/formatters/jsonpatch.d.ts.map +1 -1
  68. package/dist/dts/internal/lib/jsondiffpatch/pipe.d.ts.map +1 -1
  69. package/dist/dts/internal/lib/jsondiffpatch/processor.d.ts +1 -1
  70. package/dist/dts/internal/lib/jsondiffpatch/processor.d.ts.map +1 -1
  71. package/dist/dts/internal/pack.d.ts.map +1 -1
  72. package/dist/dts/internal/stats.d.ts +1 -1
  73. package/dist/dts/internal/stats.d.ts.map +1 -1
  74. package/dist/dts/internal/summarize.d.ts +2 -2
  75. package/dist/dts/internal/summarize.d.ts.map +1 -1
  76. package/dist/esm/Classify.js +33 -2
  77. package/dist/esm/Classify.js.map +1 -1
  78. package/dist/esm/RepositoryError.js +45 -0
  79. package/dist/esm/RepositoryError.js.map +1 -0
  80. package/dist/esm/Test.js +2 -1
  81. package/dist/esm/Test.js.map +1 -1
  82. package/dist/esm/Test.repository.js +32 -6
  83. package/dist/esm/Test.repository.js.map +1 -1
  84. package/dist/esm/Test.repository.types.js +14 -0
  85. package/dist/esm/Test.repository.types.js.map +1 -0
  86. package/dist/esm/index.js +1 -1
  87. package/dist/esm/internal/Classify.js +4 -32
  88. package/dist/esm/internal/Classify.js.map +1 -1
  89. package/dist/esm/internal/Classify.spec.js +204 -0
  90. package/dist/esm/internal/Classify.spec.js.map +1 -0
  91. package/dist/esm/internal/Test.js +61 -29
  92. package/dist/esm/internal/Test.js.map +1 -1
  93. package/dist/esm/internal/Test.repository.sqlite.js +172 -121
  94. package/dist/esm/internal/Test.repository.sqlite.js.map +1 -1
  95. package/dist/esm/internal/Test.repository.sqlite.spec.js +263 -170
  96. package/dist/esm/internal/Test.repository.sqlite.spec.js.map +1 -1
  97. package/dist/esm/internal/Test.spec.js +186 -0
  98. package/dist/esm/internal/Test.spec.js.map +1 -0
  99. package/dist/esm/internal/format-diff.spec.js +22 -16
  100. package/dist/esm/internal/format-diff.spec.js.map +1 -1
  101. package/dist/esm/internal/summarize.js.map +1 -1
  102. package/dist/esm/pack.js.map +1 -1
  103. package/package.json +7 -7
@@ -0,0 +1,223 @@
1
+ "use strict";
2
+
3
+ var t = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("vitest"));
4
+ var _effect = /*#__PURE__*/require("effect");
5
+ var _Classify = /*#__PURE__*/require("./Classify.js");
6
+ function _interopRequireWildcard(e, t) {
7
+ if ("function" == typeof WeakMap) var r = new WeakMap(),
8
+ n = new WeakMap();
9
+ return (_interopRequireWildcard = function (e, t) {
10
+ if (!t && e && e.__esModule) return e;
11
+ var o,
12
+ i,
13
+ f = {
14
+ __proto__: null,
15
+ default: e
16
+ };
17
+ if (null === e || "object" != typeof e && "function" != typeof e) return f;
18
+ if (o = t ? n : r) {
19
+ if (o.has(e)) return o.get(e);
20
+ o.set(e, f);
21
+ }
22
+ for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]);
23
+ return f;
24
+ })(e, t);
25
+ }
26
+ const classify = /*#__PURE__*/(0, _Classify.makeClassify)({
27
+ isEqual: (o, e) => (0, _Classify.defaultIsEqual)(o, e)
28
+ });
29
+ t.describe('makeClassify', () => {
30
+ t.test.each([{
31
+ description: 'both nil -> TN',
32
+ output: null,
33
+ expected: null,
34
+ label: _Classify.values.TN
35
+ }, {
36
+ description: 'both nil (undefined) -> TN',
37
+ output: undefined,
38
+ expected: undefined,
39
+ label: _Classify.values.TN
40
+ }, {
41
+ description: 'equal non-nil -> TP',
42
+ output: 1,
43
+ expected: 1,
44
+ label: _Classify.values.TP
45
+ }, {
46
+ description: 'equal objects -> TP',
47
+ output: {
48
+ a: 1
49
+ },
50
+ expected: {
51
+ a: 1
52
+ },
53
+ label: _Classify.values.TP
54
+ }, {
55
+ description: 'unequal non-nil -> FP',
56
+ output: 2,
57
+ expected: 1,
58
+ label: _Classify.values.FP
59
+ }, {
60
+ description: 'output present, expected nil -> FP',
61
+ output: 1,
62
+ expected: null,
63
+ label: _Classify.values.FP
64
+ }, {
65
+ description: 'output nil, expected present -> FN',
66
+ output: null,
67
+ expected: 1,
68
+ label: _Classify.values.FN
69
+ }, {
70
+ description: 'output nil, expected present (undefined) -> FN',
71
+ output: undefined,
72
+ expected: 0,
73
+ label: _Classify.values.FN
74
+ }])('$description', ({
75
+ output,
76
+ expected,
77
+ label
78
+ }) => {
79
+ t.expect(classify(output, expected)).toBe(label);
80
+ });
81
+ });
82
+ t.describe('defaultIsEqual', () => {
83
+ // Documents the FIXME: JSON round-trip strips `undefined`-valued keys,
84
+ // so {a: undefined, b: 1} compares equal to {b: 1}. A refactor that
85
+ // switches to a cheaper deep-equal would flip this silently.
86
+ t.test.each([{
87
+ description: 'strips undefined keys from a',
88
+ a: {
89
+ a: undefined,
90
+ b: 1
91
+ },
92
+ b: {
93
+ b: 1
94
+ },
95
+ expected: true
96
+ }, {
97
+ description: 'strips undefined keys from b',
98
+ a: {
99
+ b: 1
100
+ },
101
+ b: {
102
+ a: undefined,
103
+ b: 1
104
+ },
105
+ expected: true
106
+ }, {
107
+ description: 'equal primitives',
108
+ a: 1,
109
+ b: 1,
110
+ expected: true
111
+ }, {
112
+ description: 'different primitives',
113
+ a: 1,
114
+ b: 2,
115
+ expected: false
116
+ }, {
117
+ description: 'different object shapes',
118
+ a: {
119
+ a: 1
120
+ },
121
+ b: {
122
+ a: 2
123
+ },
124
+ expected: false
125
+ }])('$description', ({
126
+ a,
127
+ b,
128
+ expected
129
+ }) => {
130
+ t.expect((0, _Classify.defaultIsEqual)(a, b)).toBe(expected);
131
+ });
132
+ });
133
+ t.describe('precision', () => {
134
+ t.test.each([{
135
+ description: 'no predictions -> 0',
136
+ m: {
137
+ TP: 0,
138
+ FP: 0
139
+ },
140
+ expected: 0
141
+ }, {
142
+ description: 'all TP -> 1',
143
+ m: {
144
+ TP: 3,
145
+ FP: 0
146
+ },
147
+ expected: 1
148
+ }, {
149
+ description: 'half FP -> 0.5',
150
+ m: {
151
+ TP: 1,
152
+ FP: 1
153
+ },
154
+ expected: 0.5
155
+ }])('$description', ({
156
+ m,
157
+ expected
158
+ }) => {
159
+ t.expect((0, _Classify.precision)(m)).toBe(expected);
160
+ });
161
+ });
162
+ t.describe('recall', () => {
163
+ t.test.each([{
164
+ description: 'no actual positives -> 0',
165
+ m: {
166
+ TP: 0,
167
+ FN: 0
168
+ },
169
+ expected: 0
170
+ }, {
171
+ description: 'all TP -> 1',
172
+ m: {
173
+ TP: 3,
174
+ FN: 0
175
+ },
176
+ expected: 1
177
+ }, {
178
+ description: 'half FN -> 0.5',
179
+ m: {
180
+ TP: 1,
181
+ FN: 1
182
+ },
183
+ expected: 0.5
184
+ }])('$description', ({
185
+ m,
186
+ expected
187
+ }) => {
188
+ t.expect((0, _Classify.recall)(m)).toBe(expected);
189
+ });
190
+ });
191
+ t.describe('median', () => {
192
+ t.test.each([{
193
+ description: 'empty -> none',
194
+ xs: [],
195
+ expected: _effect.Option.none()
196
+ }, {
197
+ description: 'single -> value',
198
+ xs: [7],
199
+ expected: _effect.Option.some(7)
200
+ }, {
201
+ description: 'two elements -> average',
202
+ xs: [1, 2],
203
+ expected: _effect.Option.some(1.5)
204
+ }, {
205
+ description: 'odd length -> middle',
206
+ xs: [3, 1, 2],
207
+ expected: _effect.Option.some(2)
208
+ }, {
209
+ description: 'even length -> average of middle two',
210
+ xs: [1, 2, 3, 4],
211
+ expected: _effect.Option.some(2.5)
212
+ }, {
213
+ description: 'unsorted even length',
214
+ xs: [4, 1, 3, 2],
215
+ expected: _effect.Option.some(2.5)
216
+ }])('$description', ({
217
+ xs,
218
+ expected
219
+ }) => {
220
+ t.expect((0, _Classify.median)(xs)).toStrictEqual(expected);
221
+ });
222
+ });
223
+ //# sourceMappingURL=Classify.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Classify.spec.js","names":["t","_interopRequireWildcard","require","_effect","_Classify","e","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","classify","makeClassify","isEqual","defaultIsEqual","describe","test","each","description","output","expected","label","values","TN","undefined","TP","a","FP","FN","expect","toBe","b","m","precision","recall","xs","Option","none","some","median","toStrictEqual"],"sources":["../../../src/internal/Classify.spec.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -7,7 +7,8 @@ exports.test = exports.runCollectRecord = exports.makeSha256 = exports.diff = ex
7
7
  var _nodeCrypto = /*#__PURE__*/require("node:crypto");
8
8
  var _nodePerf_hooks = /*#__PURE__*/require("node:perf_hooks");
9
9
  var _effect = /*#__PURE__*/require("effect");
10
- var _Classify = /*#__PURE__*/require("./Classify.js");
10
+ var _Classify = /*#__PURE__*/require("../Classify.js");
11
+ var _Classify2 = /*#__PURE__*/require("./Classify.js");
11
12
  const makeSha256 = input => {
12
13
  return (0, _nodeCrypto.createHash)('sha256').update(JSON.stringify(input)).digest('hex');
13
14
  };
@@ -47,7 +48,7 @@ const TestResultSchema = exports.TestResultSchema = /*#__PURE__*/_effect.Schema.
47
48
  input: _effect.Schema.Unknown,
48
49
  result: _effect.Schema.Unknown,
49
50
  expected: _effect.Schema.Unknown,
50
- label: _Classify.LabelSchema,
51
+ label: _Classify2.LabelSchema,
51
52
  tags: /*#__PURE__*/_effect.Schema.Array(_effect.Schema.String),
52
53
  timeMillis: _effect.Schema.Number
53
54
  });
@@ -87,8 +88,8 @@ exports.test = test;
87
88
  const all = ({
88
89
  testCases,
89
90
  program,
90
- classify = (0, _Classify.makeClassify)({
91
- isEqual: _Classify.defaultIsEqual
91
+ classify = (0, _Classify2.makeClassify)({
92
+ isEqual: _Classify2.defaultIsEqual
92
93
  })
93
94
  }, {
94
95
  concurrency
@@ -111,33 +112,64 @@ _effect.Array.map(testCases, ({
111
112
  }), _effect.Stream.tap(testResult => {
112
113
  const i = testResult.ordering + 1;
113
114
  const total = testCases.length;
114
- const n = Math.floor(i % Math.max(total * 0.05, 10));
115
- if (i === 1 || n === 0 || i === total) {
116
- const s = `PROGRESS: ${i}/${total}\r`;
117
- if (process.env.NODE_ENV === 'development') {
118
- process.stdout.write(s);
119
- } else {
120
- return _effect.Console.log(s);
121
- }
122
- }
123
- return _effect.Effect.void;
115
+ const stride = Math.max(Math.floor(total * 0.05), 10);
116
+ const isMilestone = i === 1 || i === total || i % stride === 0;
117
+ return isMilestone ? _effect.Effect.logInfo(`progress ${i}/${total}`) : _effect.Effect.void;
124
118
  }));
125
119
  exports.all = all;
126
- const runCollectRecord = testRun => testResults$ => testResults$.pipe(_effect.Stream.runFold(TestRunResults.emptyFromTestRun(testRun), (run, result) => {
127
- run.testResultsByTestCaseHash[result.hashTestCase] = result;
128
- run.testCaseHashes.push(result.hashTestCase);
129
- run.stats[result.label]++;
130
- return run;
131
- }), _effect.Effect.map(run => {
132
- run.stats.precision = (0, _Classify.precision)(run.stats);
133
- run.stats.recall = (0, _Classify.recall)(run.stats);
134
- const times = run.testCaseHashes.map(hash => run.testResultsByTestCaseHash[hash].timeMillis);
135
- run.stats.timeMean = _effect.Option.some(times.reduce((mean, n) => mean + n, 0) / times.length);
136
- run.stats.timeMax = _effect.Option.some(times.reduce((max, n) => Math.max(max, n), 0));
137
- run.stats.timeMin = _effect.Option.some(times.reduce((min, n) => Math.min(min, n), Number.POSITIVE_INFINITY));
138
- run.stats.timeMedian = (0, _Classify.median)(times);
139
- run.stats.total = run.testCaseHashes.length;
140
- return run;
120
+ const emptyAcc = () => ({
121
+ testResultsByTestCaseHash: {},
122
+ testCaseHashes: [],
123
+ times: [],
124
+ TP: 0,
125
+ TN: 0,
126
+ FP: 0,
127
+ FN: 0,
128
+ timeSum: 0,
129
+ timeMin: Number.POSITIVE_INFINITY,
130
+ timeMax: Number.NEGATIVE_INFINITY
131
+ });
132
+ const runCollectRecord = testRun => testResults$ => testResults$.pipe(_effect.Stream.run(
133
+ // Sink.foldLeft threads the accumulator by reference within a
134
+ // single fiber, so mutating in place is safe and avoids
135
+ // rebuilding the object per element.
136
+ _effect.Sink.foldLeft(emptyAcc(), (acc, r) => {
137
+ acc.testResultsByTestCaseHash[r.hashTestCase] = r;
138
+ acc.testCaseHashes.push(r.hashTestCase);
139
+ acc.times.push(r.timeMillis);
140
+ acc.timeSum += r.timeMillis;
141
+ if (r.timeMillis < acc.timeMin) acc.timeMin = r.timeMillis;
142
+ if (r.timeMillis > acc.timeMax) acc.timeMax = r.timeMillis;
143
+ if (r.label === 'TP') acc.TP++;else if (r.label === 'TN') acc.TN++;else if (r.label === 'FP') acc.FP++;else acc.FN++;
144
+ return acc;
145
+ })), _effect.Effect.map(acc => {
146
+ const total = acc.testCaseHashes.length;
147
+ const hasTimes = acc.times.length > 0;
148
+ const stats = new _Classify.Stats({
149
+ TP: acc.TP,
150
+ TN: acc.TN,
151
+ FP: acc.FP,
152
+ FN: acc.FN,
153
+ total,
154
+ precision: (0, _Classify2.precision)({
155
+ TP: acc.TP,
156
+ FP: acc.FP
157
+ }),
158
+ recall: (0, _Classify2.recall)({
159
+ TP: acc.TP,
160
+ FN: acc.FN
161
+ }),
162
+ timeMean: hasTimes ? _effect.Option.some(acc.timeSum / acc.times.length) : _effect.Option.none(),
163
+ timeMin: hasTimes ? _effect.Option.some(acc.timeMin) : _effect.Option.none(),
164
+ timeMax: hasTimes ? _effect.Option.some(acc.timeMax) : _effect.Option.none(),
165
+ timeMedian: (0, _Classify2.median)(acc.times)
166
+ });
167
+ return {
168
+ ...testRun,
169
+ testResultsByTestCaseHash: acc.testResultsByTestCaseHash,
170
+ testCaseHashes: acc.testCaseHashes,
171
+ stats
172
+ };
141
173
  }));
142
174
  exports.runCollectRecord = runCollectRecord;
143
175
  const diff = ({
@@ -1 +1 @@
1
- {"version":3,"file":"Test.js","names":["_nodeCrypto","require","_nodePerf_hooks","_effect","_Classify","makeSha256","input","createHash","update","JSON","stringify","digest","exports","TestResult","make","args","label","result","expected","id","hashTestCase","TestResultSchema","Schema","Struct","String","ordering","Int","Unknown","LabelSchema","tags","Array","timeMillis","Number","TestRunResults","emptyFromTestRun","testResultsByTestCaseHash","testCaseHashes","stats","Stats","empty","test","testCase","program","classify","t0","performance","now","pipe","Effect","map","t1","all","testCases","makeClassify","isEqual","defaultIsEqual","concurrency","_","Stream","fromIterable","mapEffect","unordered","tap","testResult","i","total","length","n","Math","floor","max","s","process","env","NODE_ENV","stdout","write","Console","log","void","runCollectRecord","testRun","testResults$","runFold","run","push","precision","recall","times","hash","timeMean","Option","some","reduce","mean","timeMax","timeMin","min","POSITIVE_INFINITY","timeMedian","median","diff","previousTestRun","match","onNone","onSome","previousStats","TP","TN","FP","FN"],"sources":["../../../src/internal/Test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Test.js","names":["_nodeCrypto","require","_nodePerf_hooks","_effect","_Classify","_Classify2","makeSha256","input","createHash","update","JSON","stringify","digest","exports","TestResult","make","args","label","result","expected","id","hashTestCase","TestResultSchema","Schema","Struct","String","ordering","Int","Unknown","LabelSchema","tags","Array","timeMillis","Number","TestRunResults","emptyFromTestRun","testResultsByTestCaseHash","testCaseHashes","stats","Stats","empty","test","testCase","program","classify","t0","performance","now","pipe","Effect","map","t1","all","testCases","makeClassify","isEqual","defaultIsEqual","concurrency","_","Stream","fromIterable","mapEffect","unordered","tap","testResult","i","total","length","stride","Math","max","floor","isMilestone","logInfo","void","emptyAcc","times","TP","TN","FP","FN","timeSum","timeMin","POSITIVE_INFINITY","timeMax","NEGATIVE_INFINITY","runCollectRecord","testRun","testResults$","run","Sink","foldLeft","acc","r","push","hasTimes","precision","recall","timeMean","Option","some","none","timeMedian","median","diff","previousTestRun","match","onNone","onSome","previousStats"],"sources":["../../../src/internal/Test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}