schematch 0.0.1 → 0.2.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/dist/match.js CHANGED
@@ -1,15 +1,18 @@
1
1
  import { looksLikeStandardSchema } from './standard-schema/utils.js';
2
2
  import { ASYNC_REQUIRED, NO_MATCH, matchSchemaAsync, matchSchemaSync, extractDiscriminator, isPlainObject } from './standard-schema/compiled.js';
3
3
  import { isPromiseLike, validateSync } from './standard-schema/validation.js';
4
- import { NonExhaustiveError } from './errors.js';
4
+ import { MatchError } from './errors.js';
5
5
  const unmatched = {
6
6
  matched: false,
7
7
  value: undefined,
8
8
  };
9
9
  const unset = Symbol('unset');
10
10
  export const match = Object.assign(function match(value) {
11
- return new MatchExpression(value, false, undefined);
11
+ return new MatchExpression(value);
12
12
  }, {
13
+ throw({ error }) {
14
+ throw error;
15
+ },
13
16
  input() {
14
17
  return new ReusableMatcher(unmatched);
15
18
  },
@@ -20,186 +23,32 @@ export const match = Object.assign(function match(value) {
20
23
  return new ReusableMatcher(unmatched).case(...args);
21
24
  },
22
25
  });
23
- export const matchAsync = Object.assign(function matchAsync(value) {
24
- return new MatchExpressionAsync(value, Promise.resolve(unmatched));
25
- }, {
26
- input() {
27
- return new ReusableMatcherAsync(Promise.resolve(unmatched));
28
- },
29
- output() {
30
- return new ReusableMatcherAsync(Promise.resolve(unmatched));
31
- },
32
- 'case'(...args) {
33
- return new ReusableMatcherAsync(Promise.resolve(unmatched)).case(...args);
34
- },
35
- });
36
- // ─── MatchExpression (sync inline) ───────────────────────────────────────────
37
26
  class MatchExpression {
38
- constructor(input, matched, value) {
27
+ constructor(input, clauses = []) {
39
28
  this.input = input;
40
- this.matched = matched;
41
- this.value = value;
42
- this.schemas = [];
29
+ this.clauses = clauses;
43
30
  }
44
31
  case(...args) {
45
- if (this.matched)
46
- return this;
47
32
  const length = args.length;
48
33
  const handler = args[length - 1];
49
- if (length === 2) {
50
- const schema = args[0];
51
- this.schemas.push(schema);
52
- const result = matchSchemaSync(schema, this.input);
53
- if (result === ASYNC_REQUIRED) {
54
- throw new Error('Schema validation returned a Promise. Use matchAsync instead.');
55
- }
56
- if (result !== NO_MATCH) {
57
- this.matched = true;
58
- this.value = handler(result, this.input);
59
- }
60
- return this;
61
- }
62
34
  const hasGuard = length === 3 && typeof args[1] === 'function' && !looksLikeStandardSchema(args[1]);
63
35
  const predicate = hasGuard ? args[1] : undefined;
64
36
  const schemaEnd = hasGuard ? 1 : length - 1;
65
- for (let index = 0; index < schemaEnd; index += 1) {
66
- const schema = args[index];
67
- this.schemas.push(schema);
68
- const result = matchSchemaSync(schema, this.input);
69
- if (result === NO_MATCH)
70
- continue;
71
- if (result === ASYNC_REQUIRED) {
72
- throw new Error('Schema validation returned a Promise. Use matchAsync instead.');
73
- }
74
- if (predicate) {
75
- const guardResult = predicate(result, this.input);
76
- if (isPromiseLike(guardResult)) {
77
- throw new Error('Guard returned a Promise. Use matchAsync instead.');
78
- }
79
- if (!guardResult)
80
- continue;
81
- }
82
- this.matched = true;
83
- this.value = handler(result, this.input);
84
- break;
85
- }
86
- return this;
37
+ const schemas = args.slice(0, schemaEnd);
38
+ return new MatchExpression(this.input, [...this.clauses, { schemas, predicate, handler }]);
87
39
  }
88
40
  when(predicate, handler) {
89
- if (this.matched)
90
- return this;
91
- const result = predicate(this.input);
92
- if (isPromiseLike(result)) {
93
- throw new Error('Predicate returned a Promise. Use matchAsync instead.');
94
- }
95
- if (result) {
96
- this.matched = true;
97
- this.value = handler(this.input, this.input);
98
- }
99
- return this;
41
+ return new MatchExpression(this.input, [...this.clauses, { when: predicate, handler }]);
100
42
  }
101
- default(modeOrHandler) {
102
- if (this.matched)
103
- return this.value;
104
- if (typeof modeOrHandler === 'function') {
105
- return modeOrHandler(this.input);
106
- }
107
- if (modeOrHandler === 'reject') {
108
- return new NonExhaustiveError(this.input, { schemas: this.schemas });
109
- }
110
- // 'assert' and 'never' both throw at runtime
111
- throw new NonExhaustiveError(this.input, { schemas: this.schemas });
112
- }
113
- output() {
114
- return this;
115
- }
116
- returnType() {
117
- return this;
118
- }
119
- narrow() {
120
- return this;
121
- }
122
- }
123
- // ─── MatchExpressionAsync (async inline) ─────────────────────────────────────
124
- class MatchExpressionAsync {
125
- constructor(input, state, schemas = []) {
126
- this.input = input;
127
- this.state = state;
128
- this.schemas = schemas;
129
- }
130
- case(...args) {
131
- const length = args.length;
132
- const handler = args[length - 1];
133
- if (length === 2) {
134
- const schema = args[0];
135
- const nextSchemas = [...this.schemas, schema];
136
- const nextState = this.state.then(async (state) => {
137
- if (state.matched)
138
- return state;
139
- const result = await matchSchemaAsync(schema, this.input);
140
- if (result === NO_MATCH)
141
- return unmatched;
142
- return {
143
- matched: true,
144
- value: await handler(result, this.input),
145
- };
146
- });
147
- return new MatchExpressionAsync(this.input, nextState, nextSchemas);
148
- }
149
- const hasGuard = length === 3 && typeof args[1] === 'function' && !looksLikeStandardSchema(args[1]);
150
- const predicate = hasGuard ? args[1] : undefined;
151
- const schemaEnd = hasGuard ? 1 : length - 1;
152
- const caseSchemas = args.slice(0, schemaEnd);
153
- const nextSchemas = [...this.schemas, ...caseSchemas];
154
- const nextState = this.state.then(async (state) => {
155
- if (state.matched)
156
- return state;
157
- for (let index = 0; index < schemaEnd; index += 1) {
158
- const result = await matchSchemaAsync(caseSchemas[index], this.input);
159
- if (result === NO_MATCH)
160
- continue;
161
- if (predicate) {
162
- const guardResult = await predicate(result, this.input);
163
- if (!guardResult)
164
- continue;
165
- }
166
- return {
167
- matched: true,
168
- value: await handler(result, this.input),
169
- };
170
- }
171
- return unmatched;
172
- });
173
- return new MatchExpressionAsync(this.input, nextState, nextSchemas);
174
- }
175
- when(predicate, handler) {
176
- const nextState = this.state.then(async (state) => {
177
- if (state.matched)
178
- return state;
179
- const result = await predicate(this.input);
180
- if (!result)
181
- return unmatched;
182
- return {
183
- matched: true,
184
- value: await handler(this.input, this.input),
185
- };
186
- });
187
- return new MatchExpressionAsync(this.input, nextState);
43
+ default(handler) {
44
+ const matcher = new ReusableMatcher(unmatched, this.clauses);
45
+ const run = matcher.default(handler);
46
+ return run(this.input);
188
47
  }
189
- default(modeOrHandler) {
190
- const schemas = this.schemas;
191
- return this.state.then(async (state) => {
192
- if (state.matched)
193
- return state.value;
194
- if (typeof modeOrHandler === 'function') {
195
- return await modeOrHandler(this.input);
196
- }
197
- if (modeOrHandler === 'reject') {
198
- return new NonExhaustiveError(this.input, { schemas });
199
- }
200
- // 'assert' and 'never' both throw at runtime
201
- throw new NonExhaustiveError(this.input, { schemas });
202
- });
48
+ defaultAsync(handler) {
49
+ const matcher = new ReusableMatcher(unmatched, this.clauses);
50
+ const run = matcher.defaultAsync(handler);
51
+ return run(this.input);
203
52
  }
204
53
  output() {
205
54
  return this;
@@ -276,6 +125,28 @@ function buildDispatchTable(clauses) {
276
125
  }
277
126
  return { key: commonKey, table, fallback: fallbackIndices, fallbackSet: new Set(fallbackIndices), expectedValues };
278
127
  }
128
+ function atCaseSchema(key, expected) {
129
+ return {
130
+ '~standard': {
131
+ version: 1,
132
+ vendor: 'schematch',
133
+ validate: (candidate) => {
134
+ if (!isPlainObject(candidate)) {
135
+ return {
136
+ issues: [{ message: `Expected object with ${String(key)} = ${String(expected)}` }],
137
+ };
138
+ }
139
+ const actual = candidate[key];
140
+ if (!Object.is(actual, expected)) {
141
+ return {
142
+ issues: [{ message: `Expected ${String(key)} = ${String(expected)}` }],
143
+ };
144
+ }
145
+ return { value: candidate };
146
+ },
147
+ },
148
+ };
149
+ }
279
150
  class ReusableMatcher {
280
151
  constructor(terminal, clauses = []) {
281
152
  this.terminal = terminal;
@@ -315,33 +186,52 @@ class ReusableMatcher {
315
186
  output() {
316
187
  return this;
317
188
  }
318
- default(modeOrHandler) {
189
+ at(key) {
190
+ return new ReusableMatcherAt(this, key);
191
+ }
192
+ default(handler) {
319
193
  const allSchemas = this.clauses.flatMap(c => 'schemas' in c ? c.schemas : []);
320
- if (typeof modeOrHandler === 'function') {
321
- return (input) => {
322
- const state = this.exec(input);
323
- if (state.matched)
324
- return state.value;
325
- return modeOrHandler(input);
326
- };
327
- }
328
- if (modeOrHandler === 'reject') {
329
- return (input) => {
330
- const state = this.exec(input);
331
- if (state.matched)
332
- return state.value;
333
- return this.buildNonExhaustiveError(input, allSchemas);
334
- };
335
- }
336
- // 'assert' and 'never' both throw at runtime
337
194
  return (input) => {
338
195
  const state = this.exec(input);
339
196
  if (state.matched)
340
197
  return state.value;
341
- throw this.buildNonExhaustiveError(input, allSchemas);
198
+ let error;
199
+ const buildError = () => this.buildMatchError(input, allSchemas);
200
+ const context = {
201
+ get input() {
202
+ return input;
203
+ },
204
+ get error() {
205
+ if (!error)
206
+ error = buildError();
207
+ return error;
208
+ },
209
+ };
210
+ return handler(context);
211
+ };
212
+ }
213
+ defaultAsync(handler) {
214
+ const allSchemas = this.clauses.flatMap(c => 'schemas' in c ? c.schemas : []);
215
+ return async (input) => {
216
+ const state = await this.execAsync(input);
217
+ if (state.matched)
218
+ return state.value;
219
+ let error;
220
+ const buildError = () => this.buildMatchError(input, allSchemas);
221
+ const context = {
222
+ get input() {
223
+ return input;
224
+ },
225
+ get error() {
226
+ if (!error)
227
+ error = buildError();
228
+ return error;
229
+ },
230
+ };
231
+ return await handler(context);
342
232
  };
343
233
  }
344
- buildNonExhaustiveError(input, allSchemas) {
234
+ buildMatchError(input, allSchemas) {
345
235
  const dispatch = this.getDispatch();
346
236
  const errorOptions = { schemas: allSchemas };
347
237
  if (dispatch) {
@@ -364,7 +254,7 @@ class ReusableMatcher {
364
254
  });
365
255
  }
366
256
  }
367
- return new NonExhaustiveError(input, errorOptions);
257
+ return new MatchError(input, errorOptions);
368
258
  }
369
259
  /** Build a standard-schema FailureResult for use in `~standard.validate`. */
370
260
  buildFailureResult(value) {
@@ -402,7 +292,7 @@ class ReusableMatcher {
402
292
  if ('when' in clause) {
403
293
  const predicateResult = clause.when(input);
404
294
  if (isPromiseLike(predicateResult)) {
405
- throw new Error('Predicate returned a Promise. Use matchAsync.case(...) instead.');
295
+ throw new Error('Predicate returned a Promise. Use .defaultAsync(...) instead.');
406
296
  }
407
297
  if (!predicateResult)
408
298
  return null;
@@ -413,12 +303,12 @@ class ReusableMatcher {
413
303
  if (result === NO_MATCH)
414
304
  continue;
415
305
  if (result === ASYNC_REQUIRED) {
416
- throw new Error('Schema validation returned a Promise. Use matchAsync.case(...) instead.');
306
+ throw new Error('Schema validation returned a Promise. Use .defaultAsync(...) instead.');
417
307
  }
418
308
  if (clause.predicate) {
419
309
  const guardResult = clause.predicate(result, input);
420
310
  if (isPromiseLike(guardResult)) {
421
- throw new Error('Guard returned a Promise. Use matchAsync.case(...) instead.');
311
+ throw new Error('Guard returned a Promise. Use .defaultAsync(...) instead.');
422
312
  }
423
313
  if (!guardResult)
424
314
  continue;
@@ -427,6 +317,22 @@ class ReusableMatcher {
427
317
  }
428
318
  return null;
429
319
  }
320
+ async execClauseAsync(clause, input) {
321
+ if ('when' in clause) {
322
+ if (!(await clause.when(input)))
323
+ return null;
324
+ return { matched: true, value: await clause.handler(input, input) };
325
+ }
326
+ for (let j = 0; j < clause.schemas.length; j += 1) {
327
+ const result = await matchSchemaAsync(clause.schemas[j], input);
328
+ if (result === NO_MATCH)
329
+ continue;
330
+ if (clause.predicate && !(await clause.predicate(result, input)))
331
+ continue;
332
+ return { matched: true, value: await clause.handler(result, input) };
333
+ }
334
+ return null;
335
+ }
430
336
  exec(input) {
431
337
  const dispatch = this.getDispatch();
432
338
  if (dispatch && isPlainObject(input)) {
@@ -453,144 +359,7 @@ class ReusableMatcher {
453
359
  }
454
360
  return this.terminal;
455
361
  }
456
- }
457
- class ReusableMatcherAsync {
458
- constructor(terminal, clauses = []) {
459
- this.terminal = terminal;
460
- this.clauses = clauses;
461
- this.dispatch = undefined;
462
- this['~standard'] = {
463
- version: 1,
464
- vendor: 'schematch',
465
- validate: async (value) => {
466
- const state = await this.exec(value);
467
- if (state.matched) {
468
- return { value: state.value };
469
- }
470
- return this.buildFailureResult(value);
471
- },
472
- };
473
- }
474
- getDispatch() {
475
- if (this.dispatch === undefined) {
476
- this.dispatch = buildDispatchTable(this.clauses);
477
- }
478
- return this.dispatch;
479
- }
480
- case(...args) {
481
- const length = args.length;
482
- const handler = args[length - 1];
483
- const hasGuard = length === 3 && typeof args[1] === 'function' && !looksLikeStandardSchema(args[1]);
484
- const predicate = hasGuard ? args[1] : undefined;
485
- const schemaEnd = hasGuard ? 1 : length - 1;
486
- const schemas = args.slice(0, schemaEnd);
487
- return new ReusableMatcherAsync(this.terminal, [...this.clauses, { schemas, predicate, handler }]);
488
- }
489
- when(predicate, handler) {
490
- return new ReusableMatcherAsync(this.terminal, [...this.clauses, { when: predicate, handler }]);
491
- }
492
- output() {
493
- return this;
494
- }
495
- default(modeOrHandler) {
496
- const allSchemas = this.clauses.flatMap(c => 'schemas' in c ? c.schemas : []);
497
- if (typeof modeOrHandler === 'function') {
498
- return async (input) => {
499
- const state = await this.exec(input);
500
- if (state.matched)
501
- return state.value;
502
- return await modeOrHandler(input);
503
- };
504
- }
505
- if (modeOrHandler === 'reject') {
506
- return async (input) => {
507
- const state = await this.exec(input);
508
- if (state.matched)
509
- return state.value;
510
- return this.buildNonExhaustiveError(input, allSchemas);
511
- };
512
- }
513
- // 'assert' and 'never' both throw at runtime
514
- return async (input) => {
515
- const state = await this.exec(input);
516
- if (state.matched)
517
- return state.value;
518
- throw this.buildNonExhaustiveError(input, allSchemas);
519
- };
520
- }
521
- buildNonExhaustiveError(input, allSchemas) {
522
- const dispatch = this.getDispatch();
523
- const errorOptions = { schemas: allSchemas };
524
- if (dispatch) {
525
- const discValue = isPlainObject(input)
526
- ? input[dispatch.key]
527
- : undefined;
528
- const candidates = isPlainObject(input) ? dispatch.table.get(discValue) : null;
529
- const matched = candidates !== null && candidates !== undefined;
530
- errorOptions.discriminator = {
531
- key: dispatch.key,
532
- value: discValue,
533
- expected: dispatch.expectedValues,
534
- matched,
535
- };
536
- if (matched) {
537
- errorOptions.schemas = candidates.flatMap(i => {
538
- const clause = this.clauses[i];
539
- return 'schemas' in clause ? clause.schemas : [];
540
- });
541
- }
542
- }
543
- return new NonExhaustiveError(input, errorOptions);
544
- }
545
- /** Build a standard-schema FailureResult for use in `~standard.validate`. */
546
- buildFailureResult(value) {
547
- const allSchemas = this.clauses.flatMap(c => 'schemas' in c ? c.schemas : []);
548
- const issues = [];
549
- for (let i = 0; i < allSchemas.length; i += 1) {
550
- try {
551
- const result = validateSync(allSchemas[i], value);
552
- if ('issues' in result && result.issues) {
553
- for (const issue of result.issues) {
554
- issues.push({
555
- message: `Case ${i + 1}: ${issue.message}`,
556
- path: issue.path,
557
- });
558
- }
559
- }
560
- }
561
- catch {
562
- // async schema or validation threw — skip
563
- }
564
- }
565
- if (issues.length === 0) {
566
- let displayedValue;
567
- try {
568
- displayedValue = JSON.stringify(value);
569
- }
570
- catch {
571
- displayedValue = String(value);
572
- }
573
- issues.push({ message: `No schema matches value ${displayedValue}` });
574
- }
575
- return { issues };
576
- }
577
- async execClause(clause, input) {
578
- if ('when' in clause) {
579
- if (!(await clause.when(input)))
580
- return null;
581
- return { matched: true, value: await clause.handler(input, input) };
582
- }
583
- for (let j = 0; j < clause.schemas.length; j += 1) {
584
- const result = await matchSchemaAsync(clause.schemas[j], input);
585
- if (result === NO_MATCH)
586
- continue;
587
- if (clause.predicate && !(await clause.predicate(result, input)))
588
- continue;
589
- return { matched: true, value: await clause.handler(result, input) };
590
- }
591
- return null;
592
- }
593
- async exec(input) {
362
+ async execAsync(input) {
594
363
  const dispatch = this.getDispatch();
595
364
  if (dispatch && isPlainObject(input)) {
596
365
  const discriminatorValue = input[dispatch.key];
@@ -599,18 +368,46 @@ class ReusableMatcherAsync {
599
368
  for (let i = 0; i < this.clauses.length; i += 1) {
600
369
  if (!candidateSet?.has(i) && !dispatch.fallbackSet.has(i))
601
370
  continue;
602
- const result = await this.execClause(this.clauses[i], input);
371
+ const result = await this.execClauseAsync(this.clauses[i], input);
603
372
  if (result)
604
373
  return result;
605
374
  }
606
- return await this.terminal;
607
375
  }
608
- for (let i = 0; i < this.clauses.length; i += 1) {
609
- const result = await this.execClause(this.clauses[i], input);
610
- if (result)
611
- return result;
376
+ else {
377
+ for (let i = 0; i < this.clauses.length; i += 1) {
378
+ const result = await this.execClauseAsync(this.clauses[i], input);
379
+ if (result)
380
+ return result;
381
+ }
612
382
  }
613
- return await this.terminal;
383
+ if (this.terminal.matched) {
384
+ return { matched: true, value: await this.terminal.value };
385
+ }
386
+ return unmatched;
387
+ }
388
+ }
389
+ class ReusableMatcherAt {
390
+ constructor(matcher, key) {
391
+ this.matcher = matcher;
392
+ this.key = key;
393
+ this['~standard'] = matcher['~standard'];
394
+ }
395
+ case(value, handler) {
396
+ const schema = atCaseSchema(this.key, value);
397
+ const next = this.matcher.case(schema, (_parsed, narrowed) => handler(narrowed));
398
+ return new ReusableMatcherAt(next, this.key);
399
+ }
400
+ when(predicate, handler) {
401
+ return new ReusableMatcherAt(this.matcher.when(predicate, handler), this.key);
402
+ }
403
+ output() {
404
+ return new ReusableMatcherAt(this.matcher.output(), this.key);
405
+ }
406
+ default(handler) {
407
+ return this.matcher.default(handler);
408
+ }
409
+ defaultAsync(handler) {
410
+ return this.matcher.defaultAsync(handler);
614
411
  }
615
412
  }
616
413
  //# sourceMappingURL=match.js.map
package/dist/match.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"match.js","sourceRoot":"","sources":["../src/match.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"match.js","sourceRoot":"","sources":["../src/match.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,uBAAuB,EAAC,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAC,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAC,MAAM,+BAA+B,CAAA;AAE9I,OAAO,EAAC,aAAa,EAAE,YAAY,EAAC,MAAM,iCAAiC,CAAA;AAE3E,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAA;AA8DtC,MAAM,SAAS,GAAsB;IACnC,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,SAAS;CACjB,CAAA;AAED,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;AAqC7B,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAChC,SAAS,KAAK,CAA8B,KAAY;IACtD,OAAO,IAAI,eAAe,CAAC,KAAK,CAAmC,CAAA;AACrE,CAAC,EACD;IACE,KAAK,CAAC,EAAC,KAAK,EAAsB;QAChC,MAAM,KAAK,CAAA;IACb,CAAC;IACD,KAAK;QACH,OAAO,IAAI,eAAe,CAAiB,SAA8B,CAAC,CAAA;IAC5E,CAAC;IACD,MAAM;QACJ,OAAO,IAAI,eAAe,CAAiB,SAA8B,CAAC,CAAA;IAC5E,CAAC;IACD,MAAM,CAAC,GAAG,IAAW;QACnB,OAAQ,IAAI,eAAe,CAAiB,SAA8B,CAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;IACnG,CAAC;CACF,CACc,CAAA;AAejB,MAAM,eAAe;IACnB,YACmB,KAAY,EACZ,UAA8D,EAAE;QADhE,UAAK,GAAL,KAAK,CAAO;QACZ,YAAO,GAAP,OAAO,CAAyD;IAChF,CAAC;IAcJ,IAAI,CAAC,GAAG,IAAW;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAA8C,CAAA;QAC7E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACnG,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,CAA+C,CAAC,CAAC,CAAC,SAAS,CAAA;QAC/F,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAuB,CAAA;QAC9D,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,EAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAC,CAAC,CAAC,CAAA;IAC1F,CAAC;IAMD,IAAI,CACF,SAAoC,EACpC,OAAgD;QAEhD,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,EAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAC,CAAC,CAAC,CAAA;IACvF,CAAC;IAiBD,OAAO,CAAC,OAAsD;QAC5D,MAAM,OAAO,GAAG,IAAI,eAAe,CACjC,SAA+B,EAC/B,IAAI,CAAC,OAAmE,CACzE,CAAA;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAc,CAA8B,CAAA;QACxE,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC;IAkBD,YAAY,CACV,OAAyE;QAEzE,MAAM,OAAO,GAAG,IAAI,eAAe,CACjC,SAA+B,EAC/B,IAAI,CAAC,OAAmE,CACzE,CAAA;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,OAAc,CAAuC,CAAA;QACtF,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC;IAED,MAAM;QACJ,OAAO,IAAW,CAAA;IACpB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AA2BD;;;GAGG;AACH,SAAS,kBAAkB,CACzB,OAAiE;IAEjE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAEnC,MAAM,cAAc,GAAiE,EAAE,CAAA;IACvF,MAAM,eAAe,GAAa,EAAE,CAAA;IACpC,IAAI,SAAS,GAAkB,IAAI,CAAA;IACnC,IAAI,mBAAmB,GAAG,KAAK,CAAA;IAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QAEzB,wCAAwC;QACxC,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;YACrB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACzB,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACvB,SAAQ;QACV,CAAC;QAED,8DAA8D;QAC9D,IAAI,KAAK,GAA6B,IAAI,CAAA;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YACpD,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,GAAG,IAAI,CAAA;gBACZ,MAAK;YACP,CAAC;QACH,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,mBAAmB,GAAG,IAAI,CAAA;YAC1B,0DAA0D;YAC1D,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,SAAS,GAAG,KAAK,CAAC,GAAG,CAAA;YACvB,CAAC;iBAAM,IAAI,SAAS,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;gBACnC,6EAA6E;gBAC7E,OAAO,IAAI,CAAA;YACb,CAAC;YACD,cAAc,CAAC,IAAI,CAAC,EAAC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC,CAAA;QACpD,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACzB,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,mBAAmB,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAE3D,2BAA2B;IAC3B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAqB,CAAA;IAC1C,MAAM,cAAc,GAAc,EAAE,CAAA;IAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;QAC/B,IAAI,CAAC,KAAK;YAAE,SAAQ;QAEpB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5C,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;YAChD,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;IAED,OAAO,EAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,GAAG,CAAC,eAAe,CAAC,EAAE,cAAc,EAAC,CAAA;AAClH,CAAC;AAED,SAAS,YAAY,CACnB,GAAQ,EACR,QAAe;IAEf,OAAO;QACL,WAAW,EAAE;YACX,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,WAAW;YACnB,QAAQ,EAAE,CAAC,SAAkB,EAAE,EAAE;gBAC/B,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9B,OAAO;wBACL,MAAM,EAAE,CAAC,EAAC,OAAO,EAAE,wBAAwB,MAAM,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAC,CAA6B;qBAC7G,CAAA;gBACH,CAAC;gBACD,MAAM,MAAM,GAAI,SAA0C,CAAC,GAAG,CAAC,CAAA;gBAC/D,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;oBACjC,OAAO;wBACL,MAAM,EAAE,CAAC,EAAC,OAAO,EAAE,YAAY,MAAM,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAC,CAA6B;qBACjG,CAAA;gBACH,CAAC;gBACD,OAAO,EAAC,KAAK,EAAE,SAA2C,EAAC,CAAA;YAC7D,CAAC;SACF;KACF,CAAA;AACH,CAAC;AAED,MAAM,eAAe;IAWnB,YACmB,QAA4B,EAC5B,UAAoE,EAAE;QADtE,aAAQ,GAAR,QAAQ,CAAoB;QAC5B,YAAO,GAAP,OAAO,CAA+D;QAZjF,aAAQ,GAAqC,SAAS,CAAA,CAAC,+BAA+B;QAc5F,2EAA2E;QAC3E,IAAI,CAAC,WAAW,CAAC,GAAG;YAClB,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,WAAW;YACnB,QAAQ,EAAE,CAAC,KAAc,EAAkD,EAAE;gBAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAc,CAAC,CAAA;gBACvC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClB,OAAO,EAAC,KAAK,EAAE,KAAK,CAAC,KAA8B,EAAC,CAAA;gBACtD,CAAC;gBACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;YACvC,CAAC;SACF,CAAA;IACH,CAAC;IAEO,WAAW;QACjB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAcD,IAAI,CAAC,GAAG,IAAW;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAA8C,CAAA;QAC7E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACnG,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,CAA+C,CAAC,CAAC,CAAC,SAAS,CAAA;QAC/F,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAuB,CAAA;QAE9D,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,EAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAC,CAAC,CAAC,CAAA;IAC7F,CAAC;IAED,IAAI,CACF,SAAoC,EACpC,OAA+C;QAE/C,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,EAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAC,CAAC,CAAQ,CAAA;IACjG,CAAC;IAED,MAAM;QACJ,OAAO,IAAW,CAAA;IACpB,CAAC;IAED,EAAE,CAA0B,GAAQ;QAClC,OAAO,IAAI,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACzC,CAAC;IAeD,OAAO,CAAC,OAAsD;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAE7E,OAAO,CAAC,KAAY,EAAE,EAAE;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC9B,IAAI,KAAK,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC,KAAK,CAAA;YACrC,IAAI,KAA6B,CAAA;YACjC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;YAChE,MAAM,OAAO,GAA0B;gBACrC,IAAI,KAAK;oBACP,OAAO,KAAK,CAAA;gBACd,CAAC;gBACD,IAAI,KAAK;oBACP,IAAI,CAAC,KAAK;wBAAE,KAAK,GAAG,UAAU,EAAE,CAAA;oBAChC,OAAO,KAAK,CAAA;gBACd,CAAC;aACF,CAAA;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAA;QACzB,CAAC,CAAA;IACH,CAAC;IAcD,YAAY,CACV,OAAyE;QAEzE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAE7E,OAAO,KAAK,EAAE,KAAY,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YACzC,IAAI,KAAK,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC,KAAK,CAAA;YACrC,IAAI,KAA6B,CAAA;YACjC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;YAChE,MAAM,OAAO,GAA0B;gBACrC,IAAI,KAAK;oBACP,OAAO,KAAK,CAAA;gBACd,CAAC;gBACD,IAAI,KAAK;oBACP,IAAI,CAAC,KAAK;wBAAE,KAAK,GAAG,UAAU,EAAE,CAAA;oBAChC,OAAO,KAAK,CAAA;gBACd,CAAC;aACF,CAAA;YACD,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;QAC/B,CAAC,CAAA;IACH,CAAC;IAEO,eAAe,CAAC,KAAY,EAAE,UAA8B;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QACnC,MAAM,YAAY,GAAsB,EAAC,OAAO,EAAE,UAAU,EAAC,CAAA;QAC7D,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC;gBACpC,CAAC,CAAE,KAAiC,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAClD,CAAC,CAAC,SAAS,CAAA;YACb,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAC9E,MAAM,OAAO,GAAG,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,CAAA;YAC/D,YAAY,CAAC,aAAa,GAAG;gBAC3B,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,QAAQ,CAAC,cAAc;gBACjC,OAAO;aACR,CAAA;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,qFAAqF;gBACrF,YAAY,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;oBAC9B,OAAO,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;gBAClD,CAAC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QACD,OAAO,IAAI,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IAC5C,CAAC;IAED,6EAA6E;IACrE,kBAAkB,CAAC,KAAc;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAC7E,MAAM,MAAM,GAA6B,EAAE,CAAA;QAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;gBACjD,IAAI,QAAQ,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBACxC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;wBAClC,MAAM,CAAC,IAAI,CAAC;4BACV,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE;4BAC1C,IAAI,EAAE,KAAK,CAAC,IAAI;yBACjB,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,0CAA0C;YAC5C,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,cAAsB,CAAA;YAC1B,IAAI,CAAC;gBAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;YAAC,CAAC;YACvF,MAAM,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,2BAA2B,cAAc,EAAE,EAAC,CAAC,CAAA;QACrE,CAAC;QAED,OAAO,EAAC,MAAM,EAAC,CAAA;IACjB,CAAC;IAEO,UAAU,CAAC,MAAyD,EAAE,KAAY;QACxF,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;YACrB,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC1C,IAAI,aAAa,CAAC,eAAe,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;YAClF,CAAC;YACD,IAAI,CAAC,eAAe;gBAAE,OAAO,IAAI,CAAA;YACjC,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAW,EAAC,CAAA;QACvE,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;YACxD,IAAI,MAAM,KAAK,QAAQ;gBAAE,SAAQ;YACjC,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;gBACnD,IAAI,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/B,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;gBAC9E,CAAC;gBACD,IAAI,CAAC,WAAW;oBAAE,SAAQ;YAC5B,CAAC;YAED,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAW,EAAC,CAAA;QACxE,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,MAAyD,EACzD,KAAY;QAEZ,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAA;YAC5C,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAoB,EAAC,CAAA;QACtF,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;YAC/D,IAAI,MAAM,KAAK,QAAQ;gBAAE,SAAQ;YAEjC,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAAE,SAAQ;YAE1E,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAoB,EAAC,CAAA;QACvF,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,IAAI,CAAC,KAAY;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAEnC,IAAI,QAAQ,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,kBAAkB,GAAI,KAAiC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;YAC3E,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;YACzD,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAE5D,sEAAsE;YACtE,qEAAqE;YACrE,2DAA2D;YAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAE,SAAQ;gBACnE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;gBACtD,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAA;YAC3B,CAAC;YAED,OAAO,IAAI,CAAC,QAAQ,CAAA;QACtB,CAAC;QAED,qDAAqD;QACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;YACtD,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAA;QAC3B,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,KAAY;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAEnC,IAAI,QAAQ,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,kBAAkB,GAAI,KAAiC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;YAC3E,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;YACzD,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAE5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAE,SAAQ;gBACnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;gBACjE,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAA;YAC3B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;gBACjE,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAA;YAC3B,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAwB,EAAC,CAAA;QAC7E,CAAC;QACD,OAAO,SAAwC,CAAA;IACjD,CAAC;CACF;AAED,MAAM,iBAAiB;IAGrB,YACmB,OAAmD,EACnD,GAAQ;QADR,YAAO,GAAP,OAAO,CAA4C;QACnD,QAAG,GAAH,GAAG,CAAK;QAEzB,IAAI,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,WAAW,CAA8D,CAAA;IACvG,CAAC;IAED,IAAI,CACF,KAAY,EACZ,OAA0D;QAE1D,MAAM,MAAM,GAAG,YAAY,CAAoB,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAC3D,OAAO,CAAC,QAA0C,CAAC,CAC+C,CAAA;QAEpG,OAAO,IAAI,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9C,CAAC;IAED,IAAI,CACF,SAAoC,EACpC,OAA+C;QAE/C,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,GAAG,CAAQ,CAAA;IACtF,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAK,EAAE,IAAI,CAAC,GAAG,CAAQ,CAAA;IACzE,CAAC;IAQD,OAAO,CAAC,OAAsD;QAC5D,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAc,CAAQ,CAAA;IACpD,CAAC;IASD,YAAY,CACV,OAAyE;QAEzE,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAc,CAAQ,CAAA;IACzD,CAAC;CACF"}
@@ -10,7 +10,7 @@ export const isPromiseLike = (value) => {
10
10
  export const validateSync = (schema, value) => {
11
11
  const result = schema['~standard'].validate(value);
12
12
  if (isPromiseLike(result)) {
13
- throw new Error('Schema validation returned a Promise. Use matchAsync or isMatchingAsync instead.');
13
+ throw new Error('Schema validation returned a Promise. Use .defaultAsync(...) instead.');
14
14
  }
15
15
  return result;
16
16
  };