@typespec-dev/emitter-typebox 0.2.0 → 0.3.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.
- package/README.md +70 -0
- package/dist/src/components/TypeBoxSchema.d.ts.map +1 -1
- package/dist/src/components/TypeBoxSchema.js +4 -3
- package/dist/src/components/TypeBoxSchema.js.map +1 -1
- package/dist/src/components/TypeBoxSchema.jsx +4 -3
- package/dist/src/components/TypeBoxSchema.jsx.map +1 -1
- package/dist/src/typeboxBaseSchema.d.ts +2 -2
- package/dist/src/typeboxBaseSchema.d.ts.map +1 -1
- package/dist/src/typeboxBaseSchema.js +68 -33
- package/dist/src/typeboxBaseSchema.js.map +1 -1
- package/dist/src/typeboxBaseSchema.jsx +36 -28
- package/dist/src/typeboxBaseSchema.jsx.map +1 -1
- package/dist/src/typeboxConstraints.d.ts +10 -0
- package/dist/src/typeboxConstraints.d.ts.map +1 -0
- package/dist/src/typeboxConstraints.js +308 -0
- package/dist/src/typeboxConstraints.js.map +1 -0
- package/dist/src/typeboxConstraints.jsx +246 -0
- package/dist/src/typeboxConstraints.jsx.map +1 -0
- package/dist/test/arrays.test.js +1 -1
- package/dist/test/arrays.test.js.map +1 -1
- package/dist/test/arrays.test.jsx +1 -1
- package/dist/test/arrays.test.jsx.map +1 -1
- package/dist/test/constraints.test.d.ts +2 -0
- package/dist/test/constraints.test.d.ts.map +1 -0
- package/dist/test/constraints.test.js +414 -0
- package/dist/test/constraints.test.js.map +1 -0
- package/dist/test/constraints.test.jsx +279 -0
- package/dist/test/constraints.test.jsx.map +1 -0
- package/dist/test/dictionaries.test.js +1 -1
- package/dist/test/dictionaries.test.js.map +1 -1
- package/dist/test/dictionaries.test.jsx +1 -1
- package/dist/test/dictionaries.test.jsx.map +1 -1
- package/dist/test/models.test.js +2 -2
- package/dist/test/models.test.js.map +1 -1
- package/dist/test/models.test.jsx +2 -2
- package/dist/test/models.test.jsx.map +1 -1
- package/dist/test/nullable.test.js +1 -1
- package/dist/test/nullable.test.js.map +1 -1
- package/dist/test/nullable.test.jsx +1 -1
- package/dist/test/nullable.test.jsx.map +1 -1
- package/dist/test/optionality.test.js +2 -2
- package/dist/test/optionality.test.js.map +1 -1
- package/dist/test/optionality.test.jsx +2 -2
- package/dist/test/optionality.test.jsx.map +1 -1
- package/dist/test/scalars.test.js +13 -13
- package/dist/test/scalars.test.js.map +1 -1
- package/dist/test/scalars.test.jsx +13 -13
- package/dist/test/scalars.test.jsx.map +1 -1
- package/dist/test/unions.test.js +1 -1
- package/dist/test/unions.test.js.map +1 -1
- package/dist/test/unions.test.jsx +1 -1
- package/dist/test/unions.test.jsx.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,414 @@
|
|
|
1
|
+
import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
|
|
2
|
+
import { describe, it } from 'vitest';
|
|
3
|
+
import { TypeBoxSchema } from "../src/components/TypeBoxSchema.js";
|
|
4
|
+
import { createTestRunner, expectRender } from "./utils.js";
|
|
5
|
+
describe('string constraints', () => {
|
|
6
|
+
it('applies minLength and maxLength', async () => {
|
|
7
|
+
const runner = await createTestRunner();
|
|
8
|
+
const {
|
|
9
|
+
nameProp
|
|
10
|
+
} = await runner.compile(`
|
|
11
|
+
model Test {
|
|
12
|
+
@test @minLength(1) @maxLength(100) nameProp: string;
|
|
13
|
+
}
|
|
14
|
+
`);
|
|
15
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
16
|
+
type: nameProp
|
|
17
|
+
}), 'Type.String({\n minLength: 1,\n maxLength: 100\n})');
|
|
18
|
+
});
|
|
19
|
+
it('applies pattern', async () => {
|
|
20
|
+
const runner = await createTestRunner();
|
|
21
|
+
const {
|
|
22
|
+
codeProp
|
|
23
|
+
} = await runner.compile(`
|
|
24
|
+
model Test {
|
|
25
|
+
@test @pattern("^[a-z]+$") codeProp: string;
|
|
26
|
+
}
|
|
27
|
+
`);
|
|
28
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
29
|
+
type: codeProp
|
|
30
|
+
}), 'Type.String({\n pattern: "^[a-z]+$"\n})');
|
|
31
|
+
});
|
|
32
|
+
it('applies format', async () => {
|
|
33
|
+
const runner = await createTestRunner();
|
|
34
|
+
const {
|
|
35
|
+
emailProp
|
|
36
|
+
} = await runner.compile(`
|
|
37
|
+
model Test {
|
|
38
|
+
@test @format("email") emailProp: string;
|
|
39
|
+
}
|
|
40
|
+
`);
|
|
41
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
42
|
+
type: emailProp
|
|
43
|
+
}), 'Type.String({\n format: "email"\n})');
|
|
44
|
+
});
|
|
45
|
+
it('escapes backslashes in pattern', async () => {
|
|
46
|
+
const runner = await createTestRunner();
|
|
47
|
+
const {
|
|
48
|
+
phoneProp
|
|
49
|
+
} = await runner.compile(`
|
|
50
|
+
model Test {
|
|
51
|
+
@test @pattern("^\\\\d{3}-\\\\d{4}$") phoneProp: string;
|
|
52
|
+
}
|
|
53
|
+
`);
|
|
54
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
55
|
+
type: phoneProp
|
|
56
|
+
}), 'Type.String({\n pattern: "^\\\\d{3}-\\\\d{4}$"\n})');
|
|
57
|
+
});
|
|
58
|
+
it('applies minLength only', async () => {
|
|
59
|
+
const runner = await createTestRunner();
|
|
60
|
+
const {
|
|
61
|
+
tagProp
|
|
62
|
+
} = await runner.compile(`
|
|
63
|
+
model Test {
|
|
64
|
+
@test @minLength(1) tagProp: string;
|
|
65
|
+
}
|
|
66
|
+
`);
|
|
67
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
68
|
+
type: tagProp
|
|
69
|
+
}), 'Type.String({\n minLength: 1\n})');
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
describe('numeric constraints', () => {
|
|
73
|
+
it('applies minValue and maxValue', async () => {
|
|
74
|
+
const runner = await createTestRunner();
|
|
75
|
+
const {
|
|
76
|
+
scoreProp
|
|
77
|
+
} = await runner.compile(`
|
|
78
|
+
model Test {
|
|
79
|
+
@test @minValue(0) @maxValue(100) scoreProp: int32;
|
|
80
|
+
}
|
|
81
|
+
`);
|
|
82
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
83
|
+
type: scoreProp
|
|
84
|
+
}), 'Type.Integer({\n minimum: 0,\n maximum: 100\n})');
|
|
85
|
+
});
|
|
86
|
+
it('applies exclusive bounds', async () => {
|
|
87
|
+
const runner = await createTestRunner();
|
|
88
|
+
const {
|
|
89
|
+
priceProp
|
|
90
|
+
} = await runner.compile(`
|
|
91
|
+
model Test {
|
|
92
|
+
@test @minValueExclusive(0) priceProp: float64;
|
|
93
|
+
}
|
|
94
|
+
`);
|
|
95
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
96
|
+
type: priceProp
|
|
97
|
+
}), 'Type.Number({\n exclusiveMinimum: 0\n})');
|
|
98
|
+
});
|
|
99
|
+
it('applies maxValueExclusive', async () => {
|
|
100
|
+
const runner = await createTestRunner();
|
|
101
|
+
const {
|
|
102
|
+
rateProp
|
|
103
|
+
} = await runner.compile(`
|
|
104
|
+
model Test {
|
|
105
|
+
@test @maxValueExclusive(1) rateProp: float64;
|
|
106
|
+
}
|
|
107
|
+
`);
|
|
108
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
109
|
+
type: rateProp
|
|
110
|
+
}), 'Type.Number({\n exclusiveMaximum: 1\n})');
|
|
111
|
+
});
|
|
112
|
+
it('narrows intrinsic bounds with user constraints', async () => {
|
|
113
|
+
const runner = await createTestRunner();
|
|
114
|
+
const {
|
|
115
|
+
ageProp
|
|
116
|
+
} = await runner.compile(`
|
|
117
|
+
model Test {
|
|
118
|
+
@test @minValue(0) @maxValue(150) ageProp: int32;
|
|
119
|
+
}
|
|
120
|
+
`);
|
|
121
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
122
|
+
type: ageProp
|
|
123
|
+
}), 'Type.Integer({\n minimum: 0,\n maximum: 150\n})');
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
describe('intrinsic numeric bounds', () => {
|
|
127
|
+
it('applies int8 bounds', async () => {
|
|
128
|
+
const runner = await createTestRunner();
|
|
129
|
+
const {
|
|
130
|
+
val
|
|
131
|
+
} = await runner.compile(`
|
|
132
|
+
model Test {
|
|
133
|
+
@test val: int8;
|
|
134
|
+
}
|
|
135
|
+
`);
|
|
136
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
137
|
+
get type() {
|
|
138
|
+
return val.type;
|
|
139
|
+
}
|
|
140
|
+
}), 'Type.Integer({\n minimum: -128,\n maximum: 127\n})');
|
|
141
|
+
});
|
|
142
|
+
it('applies uint8 bounds', async () => {
|
|
143
|
+
const runner = await createTestRunner();
|
|
144
|
+
const {
|
|
145
|
+
val
|
|
146
|
+
} = await runner.compile(`
|
|
147
|
+
model Test {
|
|
148
|
+
@test val: uint8;
|
|
149
|
+
}
|
|
150
|
+
`);
|
|
151
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
152
|
+
get type() {
|
|
153
|
+
return val.type;
|
|
154
|
+
}
|
|
155
|
+
}), 'Type.Integer({\n minimum: 0,\n maximum: 255\n})');
|
|
156
|
+
});
|
|
157
|
+
it('applies int16 bounds', async () => {
|
|
158
|
+
const runner = await createTestRunner();
|
|
159
|
+
const {
|
|
160
|
+
val
|
|
161
|
+
} = await runner.compile(`
|
|
162
|
+
model Test {
|
|
163
|
+
@test val: int16;
|
|
164
|
+
}
|
|
165
|
+
`);
|
|
166
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
167
|
+
get type() {
|
|
168
|
+
return val.type;
|
|
169
|
+
}
|
|
170
|
+
}), 'Type.Integer({\n minimum: -32768,\n maximum: 32767\n})');
|
|
171
|
+
});
|
|
172
|
+
it('applies uint16 bounds', async () => {
|
|
173
|
+
const runner = await createTestRunner();
|
|
174
|
+
const {
|
|
175
|
+
val
|
|
176
|
+
} = await runner.compile(`
|
|
177
|
+
model Test {
|
|
178
|
+
@test val: uint16;
|
|
179
|
+
}
|
|
180
|
+
`);
|
|
181
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
182
|
+
get type() {
|
|
183
|
+
return val.type;
|
|
184
|
+
}
|
|
185
|
+
}), 'Type.Integer({\n minimum: 0,\n maximum: 65535\n})');
|
|
186
|
+
});
|
|
187
|
+
it('applies int32 bounds', async () => {
|
|
188
|
+
const runner = await createTestRunner();
|
|
189
|
+
const {
|
|
190
|
+
val
|
|
191
|
+
} = await runner.compile(`
|
|
192
|
+
model Test {
|
|
193
|
+
@test val: int32;
|
|
194
|
+
}
|
|
195
|
+
`);
|
|
196
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
197
|
+
get type() {
|
|
198
|
+
return val.type;
|
|
199
|
+
}
|
|
200
|
+
}), 'Type.Integer({\n minimum: -2147483648,\n maximum: 2147483647\n})');
|
|
201
|
+
});
|
|
202
|
+
it('applies uint32 bounds', async () => {
|
|
203
|
+
const runner = await createTestRunner();
|
|
204
|
+
const {
|
|
205
|
+
val
|
|
206
|
+
} = await runner.compile(`
|
|
207
|
+
model Test {
|
|
208
|
+
@test val: uint32;
|
|
209
|
+
}
|
|
210
|
+
`);
|
|
211
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
212
|
+
get type() {
|
|
213
|
+
return val.type;
|
|
214
|
+
}
|
|
215
|
+
}), 'Type.Integer({\n minimum: 0,\n maximum: 4294967295\n})');
|
|
216
|
+
});
|
|
217
|
+
it('applies safeint bounds', async () => {
|
|
218
|
+
const runner = await createTestRunner();
|
|
219
|
+
const {
|
|
220
|
+
val
|
|
221
|
+
} = await runner.compile(`
|
|
222
|
+
model Test {
|
|
223
|
+
@test val: safeint;
|
|
224
|
+
}
|
|
225
|
+
`);
|
|
226
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
227
|
+
get type() {
|
|
228
|
+
return val.type;
|
|
229
|
+
}
|
|
230
|
+
}), 'Type.Integer({\n minimum: -9007199254740991,\n maximum: 9007199254740991\n})');
|
|
231
|
+
});
|
|
232
|
+
it('applies float32 bounds', async () => {
|
|
233
|
+
const runner = await createTestRunner();
|
|
234
|
+
const {
|
|
235
|
+
val
|
|
236
|
+
} = await runner.compile(`
|
|
237
|
+
model Test {
|
|
238
|
+
@test val: float32;
|
|
239
|
+
}
|
|
240
|
+
`);
|
|
241
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
242
|
+
get type() {
|
|
243
|
+
return val.type;
|
|
244
|
+
}
|
|
245
|
+
}), 'Type.Number({\n minimum: -3.4028235e+38,\n maximum: 3.4028235e+38\n})');
|
|
246
|
+
});
|
|
247
|
+
it('does not apply bounds to float64', async () => {
|
|
248
|
+
const runner = await createTestRunner();
|
|
249
|
+
const {
|
|
250
|
+
val
|
|
251
|
+
} = await runner.compile(`
|
|
252
|
+
model Test {
|
|
253
|
+
@test val: float64;
|
|
254
|
+
}
|
|
255
|
+
`);
|
|
256
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
257
|
+
get type() {
|
|
258
|
+
return val.type;
|
|
259
|
+
}
|
|
260
|
+
}), 'Type.Number()');
|
|
261
|
+
});
|
|
262
|
+
});
|
|
263
|
+
describe('array constraints', () => {
|
|
264
|
+
it('applies minItems and maxItems', async () => {
|
|
265
|
+
const runner = await createTestRunner();
|
|
266
|
+
const {
|
|
267
|
+
itemsProp
|
|
268
|
+
} = await runner.compile(`
|
|
269
|
+
model Test {
|
|
270
|
+
@test @minItems(1) @maxItems(10) itemsProp: string[];
|
|
271
|
+
}
|
|
272
|
+
`);
|
|
273
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
274
|
+
type: itemsProp
|
|
275
|
+
}), 'Type.Array(\n Type.String(),\n {\n minItems: 1,\n maxItems: 10\n }\n)');
|
|
276
|
+
});
|
|
277
|
+
it('applies minItems only', async () => {
|
|
278
|
+
const runner = await createTestRunner();
|
|
279
|
+
const {
|
|
280
|
+
tagsProp
|
|
281
|
+
} = await runner.compile(`
|
|
282
|
+
model Test {
|
|
283
|
+
@test @minItems(1) tagsProp: string[];
|
|
284
|
+
}
|
|
285
|
+
`);
|
|
286
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
287
|
+
type: tagsProp
|
|
288
|
+
}), 'Type.Array(\n Type.String(),\n {\n minItems: 1\n }\n)');
|
|
289
|
+
});
|
|
290
|
+
});
|
|
291
|
+
describe('description', () => {
|
|
292
|
+
it('applies @doc to string property', async () => {
|
|
293
|
+
const runner = await createTestRunner();
|
|
294
|
+
const {
|
|
295
|
+
nameProp
|
|
296
|
+
} = await runner.compile(`
|
|
297
|
+
model Test {
|
|
298
|
+
@test @doc("A person's name") nameProp: string;
|
|
299
|
+
}
|
|
300
|
+
`);
|
|
301
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
302
|
+
type: nameProp
|
|
303
|
+
}), 'Type.String({\n description: "A person\'s name"\n})');
|
|
304
|
+
});
|
|
305
|
+
it('escapes double quotes in description', async () => {
|
|
306
|
+
const runner = await createTestRunner();
|
|
307
|
+
const {
|
|
308
|
+
valProp
|
|
309
|
+
} = await runner.compile(`
|
|
310
|
+
model Test {
|
|
311
|
+
@test @doc("A \\"quoted\\" value") valProp: string;
|
|
312
|
+
}
|
|
313
|
+
`);
|
|
314
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
315
|
+
type: valProp
|
|
316
|
+
}), 'Type.String({\n description: "A \\"quoted\\" value"\n})');
|
|
317
|
+
});
|
|
318
|
+
it('applies @doc to numeric property', async () => {
|
|
319
|
+
const runner = await createTestRunner();
|
|
320
|
+
const {
|
|
321
|
+
ageProp
|
|
322
|
+
} = await runner.compile(`
|
|
323
|
+
model Test {
|
|
324
|
+
@test @doc("Age in years") ageProp: float64;
|
|
325
|
+
}
|
|
326
|
+
`);
|
|
327
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
328
|
+
type: ageProp
|
|
329
|
+
}), 'Type.Number({\n description: "Age in years"\n})');
|
|
330
|
+
});
|
|
331
|
+
});
|
|
332
|
+
describe('defaults', () => {
|
|
333
|
+
it('applies string default', async () => {
|
|
334
|
+
const runner = await createTestRunner();
|
|
335
|
+
const {
|
|
336
|
+
greetingProp
|
|
337
|
+
} = await runner.compile(`
|
|
338
|
+
model Test {
|
|
339
|
+
@test greetingProp?: string = "hello";
|
|
340
|
+
}
|
|
341
|
+
`);
|
|
342
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
343
|
+
type: greetingProp
|
|
344
|
+
}), 'Type.String({\n default: "hello"\n})');
|
|
345
|
+
});
|
|
346
|
+
it('applies numeric default', async () => {
|
|
347
|
+
const runner = await createTestRunner();
|
|
348
|
+
const {
|
|
349
|
+
limitProp
|
|
350
|
+
} = await runner.compile(`
|
|
351
|
+
model Test {
|
|
352
|
+
@test limitProp?: float64 = 10;
|
|
353
|
+
}
|
|
354
|
+
`);
|
|
355
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
356
|
+
type: limitProp
|
|
357
|
+
}), 'Type.Number({\n default: 10\n})');
|
|
358
|
+
});
|
|
359
|
+
it('applies boolean default', async () => {
|
|
360
|
+
const runner = await createTestRunner();
|
|
361
|
+
const {
|
|
362
|
+
activeProp
|
|
363
|
+
} = await runner.compile(`
|
|
364
|
+
model Test {
|
|
365
|
+
@test activeProp?: boolean = true;
|
|
366
|
+
}
|
|
367
|
+
`);
|
|
368
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
369
|
+
type: activeProp
|
|
370
|
+
}), 'Type.Boolean({\n default: true\n})');
|
|
371
|
+
});
|
|
372
|
+
});
|
|
373
|
+
describe('combined constraints', () => {
|
|
374
|
+
it('combines string constraints with description', async () => {
|
|
375
|
+
const runner = await createTestRunner();
|
|
376
|
+
const {
|
|
377
|
+
nameProp
|
|
378
|
+
} = await runner.compile(`
|
|
379
|
+
model Test {
|
|
380
|
+
@test @minLength(1) @maxLength(50) @doc("User name") nameProp: string;
|
|
381
|
+
}
|
|
382
|
+
`);
|
|
383
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
384
|
+
type: nameProp
|
|
385
|
+
}), 'Type.String({\n minLength: 1,\n maxLength: 50,\n description: "User name"\n})');
|
|
386
|
+
});
|
|
387
|
+
it('combines numeric constraints with default', async () => {
|
|
388
|
+
const runner = await createTestRunner();
|
|
389
|
+
const {
|
|
390
|
+
limitProp
|
|
391
|
+
} = await runner.compile(`
|
|
392
|
+
model Test {
|
|
393
|
+
@test @minValue(1) @maxValue(100) limitProp?: float64 = 10;
|
|
394
|
+
}
|
|
395
|
+
`);
|
|
396
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
397
|
+
type: limitProp
|
|
398
|
+
}), 'Type.Number({\n minimum: 1,\n maximum: 100,\n default: 10\n})');
|
|
399
|
+
});
|
|
400
|
+
it('combines format with description', async () => {
|
|
401
|
+
const runner = await createTestRunner();
|
|
402
|
+
const {
|
|
403
|
+
emailProp
|
|
404
|
+
} = await runner.compile(`
|
|
405
|
+
model Test {
|
|
406
|
+
@test @format("email") @doc("Email address") emailProp: string;
|
|
407
|
+
}
|
|
408
|
+
`);
|
|
409
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
410
|
+
type: emailProp
|
|
411
|
+
}), 'Type.String({\n format: "email",\n description: "Email address"\n})');
|
|
412
|
+
});
|
|
413
|
+
});
|
|
414
|
+
//# sourceMappingURL=constraints.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["describe","it","TypeBoxSchema","createTestRunner","expectRender","runner","nameProp","compile","program","_$createComponent","type","codeProp","emailProp","phoneProp","tagProp","scoreProp","priceProp","rateProp","ageProp","val","itemsProp","tagsProp","valProp","greetingProp","limitProp","activeProp"],"sources":["../../test/constraints.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|