@ic-reactor/candid 3.0.12-beta.0 → 3.0.14-beta.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.
@@ -1,10 +1,89 @@
1
1
  import { isQuery } from "../helpers";
2
+ import { checkTextFormat, checkNumberFormat } from "../constants";
2
3
  import { IDL } from "@icp-sdk/core/candid";
3
4
  import { Principal } from "@icp-sdk/core/principal";
4
5
  import * as z from "zod";
6
+ import { formatLabel } from "./helpers";
5
7
  export * from "./types";
8
+ export * from "./helpers";
9
+ export { checkTextFormat, checkNumberFormat } from "../constants";
10
+ // ════════════════════════════════════════════════════════════════════════════
11
+ // Render Hint Helpers
12
+ // ════════════════════════════════════════════════════════════════════════════
13
+ const COMPOUND_RENDER_HINT = {
14
+ isCompound: true,
15
+ isPrimitive: false,
16
+ };
17
+ const TEXT_RENDER_HINT = {
18
+ isCompound: false,
19
+ isPrimitive: true,
20
+ inputType: "text",
21
+ };
22
+ const NUMBER_RENDER_HINT = {
23
+ isCompound: false,
24
+ isPrimitive: true,
25
+ inputType: "number",
26
+ };
27
+ const CHECKBOX_RENDER_HINT = {
28
+ isCompound: false,
29
+ isPrimitive: true,
30
+ inputType: "checkbox",
31
+ };
32
+ const FILE_RENDER_HINT = {
33
+ isCompound: false,
34
+ isPrimitive: true,
35
+ inputType: "file",
36
+ };
37
+ // ════════════════════════════════════════════════════════════════════════════
38
+ // Blob Field Helpers
39
+ // ════════════════════════════════════════════════════════════════════════════
40
+ const DEFAULT_BLOB_LIMITS = {
41
+ maxHexBytes: 512,
42
+ maxFileBytes: 2 * 1024 * 1024, // 2MB
43
+ maxHexDisplayLength: 128,
44
+ };
45
+ function normalizeHex(input) {
46
+ // Remove 0x prefix and convert to lowercase
47
+ let hex = input.toLowerCase();
48
+ if (hex.startsWith("0x")) {
49
+ hex = hex.slice(2);
50
+ }
51
+ // Remove any whitespace
52
+ hex = hex.replace(/\s/g, "");
53
+ return hex;
54
+ }
55
+ function validateBlobInput(value, limits) {
56
+ if (value instanceof Uint8Array) {
57
+ if (value.length > limits.maxFileBytes) {
58
+ return {
59
+ valid: false,
60
+ error: `File size exceeds maximum of ${limits.maxFileBytes} bytes`,
61
+ };
62
+ }
63
+ return { valid: true };
64
+ }
65
+ // String input (hex)
66
+ const normalized = normalizeHex(value);
67
+ if (normalized.length === 0) {
68
+ return { valid: true }; // Empty is valid
69
+ }
70
+ if (!/^[0-9a-f]*$/.test(normalized)) {
71
+ return { valid: false, error: "Invalid hex characters" };
72
+ }
73
+ if (normalized.length % 2 !== 0) {
74
+ return { valid: false, error: "Hex string must have even length" };
75
+ }
76
+ const byteLength = normalized.length / 2;
77
+ if (byteLength > limits.maxHexBytes) {
78
+ return {
79
+ valid: false,
80
+ error: `Hex input exceeds maximum of ${limits.maxHexBytes} bytes`,
81
+ };
82
+ }
83
+ return { valid: true };
84
+ }
6
85
  /**
7
- * ArgumentFieldVisitor generates metadata for form input fields from Candid IDL types.
86
+ * FieldVisitor generates metadata for form input fields from Candid IDL types.
8
87
  *
9
88
  * ## Design Principles
10
89
  *
@@ -18,8 +97,11 @@ export * from "./types";
18
97
  *
19
98
  * Each field has:
20
99
  * - `type`: The field type (record, variant, text, number, etc.)
21
- * - `label`: Human-readable label from Candid
100
+ * - `label`: Raw label from Candid
101
+ * - `displayLabel`: Human-readable formatted label
22
102
  * - `name`: TanStack Form compatible path (e.g., "[0]", "[0].owner", "tags[1]")
103
+ * - `component`: Suggested component type for rendering
104
+ * - `renderHint`: Hints for UI rendering strategy
23
105
  * - `defaultValue`: Initial value for the form
24
106
  * - `schema`: Zod schema for validation
25
107
  * - Type-specific properties (options for variant, fields for record, etc.)
@@ -30,9 +112,9 @@ export * from "./types";
30
112
  * @example
31
113
  * ```typescript
32
114
  * import { useForm } from '@tanstack/react-form'
33
- * import { ArgumentFieldVisitor } from '@ic-reactor/candid'
115
+ * import { FieldVisitor } from '@ic-reactor/candid'
34
116
  *
35
- * const visitor = new ArgumentFieldVisitor()
117
+ * const visitor = new FieldVisitor()
36
118
  * const serviceMeta = service.accept(visitor, null)
37
119
  * const methodMeta = serviceMeta["icrc1_transfer"]
38
120
  *
@@ -52,7 +134,7 @@ export * from "./types";
52
134
  * ))
53
135
  * ```
54
136
  */
55
- export class ArgumentFieldVisitor extends IDL.Visitor {
137
+ export class FieldVisitor extends IDL.Visitor {
56
138
  constructor() {
57
139
  super(...arguments);
58
140
  Object.defineProperty(this, "recursiveSchemas", {
@@ -141,7 +223,10 @@ export class ArgumentFieldVisitor extends IDL.Visitor {
141
223
  return {
142
224
  type: "record",
143
225
  label,
226
+ displayLabel: formatLabel(label),
144
227
  name,
228
+ component: "record-container",
229
+ renderHint: COMPOUND_RENDER_HINT,
145
230
  fields,
146
231
  fieldMap,
147
232
  defaultValue,
@@ -160,13 +245,24 @@ export class ArgumentFieldVisitor extends IDL.Visitor {
160
245
  fields.push(field);
161
246
  options.push(key);
162
247
  optionMap.set(key, field);
163
- variantSchemas.push(z.object({ [key]: field.schema }));
248
+ if (field.type === "null") {
249
+ variantSchemas.push(z.object({ _type: z.literal(key) }));
250
+ }
251
+ else {
252
+ variantSchemas.push(z.object({
253
+ _type: z.literal(key),
254
+ [key]: field.schema,
255
+ }));
256
+ }
164
257
  }
165
258
  const defaultOption = options[0];
166
259
  const firstField = fields[0];
167
- const defaultValue = {
168
- [defaultOption]: firstField.defaultValue,
169
- };
260
+ const defaultValue = firstField.type === "null"
261
+ ? { _type: defaultOption }
262
+ : {
263
+ _type: defaultOption,
264
+ [defaultOption]: firstField.defaultValue,
265
+ };
170
266
  const schema = z.union(variantSchemas);
171
267
  // Helper to get default value for any option
172
268
  const getOptionDefault = (option) => {
@@ -174,12 +270,38 @@ export class ArgumentFieldVisitor extends IDL.Visitor {
174
270
  if (!optField) {
175
271
  throw new Error(`Unknown variant option: ${option}`);
176
272
  }
177
- return { [option]: optField.defaultValue };
273
+ return optField.type === "null"
274
+ ? { _type: option }
275
+ : { _type: option, [option]: optField.defaultValue };
276
+ };
277
+ // Helper to get field for a specific option
278
+ const getField = (option) => {
279
+ const optField = optionMap.get(option);
280
+ if (!optField) {
281
+ throw new Error(`Unknown variant option: ${option}`);
282
+ }
283
+ return optField;
284
+ };
285
+ // Helper to get currently selected option from a value
286
+ const getSelectedOption = (value) => {
287
+ if (value._type && typeof value._type === "string") {
288
+ return value._type;
289
+ }
290
+ const validKeys = Object.keys(value).filter((k) => options.includes(k));
291
+ return validKeys[0] ?? defaultOption;
292
+ };
293
+ // Helper to get selected field from a value
294
+ const getSelectedField = (value) => {
295
+ const selectedOption = getSelectedOption(value);
296
+ return getField(selectedOption);
178
297
  };
179
298
  return {
180
299
  type: "variant",
181
300
  label,
301
+ displayLabel: formatLabel(label),
182
302
  name,
303
+ component: "variant-select",
304
+ renderHint: COMPOUND_RENDER_HINT,
183
305
  fields,
184
306
  options,
185
307
  defaultOption,
@@ -187,6 +309,9 @@ export class ArgumentFieldVisitor extends IDL.Visitor {
187
309
  defaultValue,
188
310
  schema,
189
311
  getOptionDefault,
312
+ getField,
313
+ getSelectedOption,
314
+ getSelectedField,
190
315
  candidType: "variant",
191
316
  };
192
317
  }
@@ -206,7 +331,10 @@ export class ArgumentFieldVisitor extends IDL.Visitor {
206
331
  return {
207
332
  type: "tuple",
208
333
  label,
334
+ displayLabel: formatLabel(label),
209
335
  name,
336
+ component: "tuple-container",
337
+ renderHint: COMPOUND_RENDER_HINT,
210
338
  fields,
211
339
  defaultValue,
212
340
  schema,
@@ -226,14 +354,22 @@ export class ArgumentFieldVisitor extends IDL.Visitor {
226
354
  ]);
227
355
  // Helper to get the inner default when enabling the optional
228
356
  const getInnerDefault = () => innerField.defaultValue;
357
+ // Helper to check if a value represents an enabled optional
358
+ const isEnabled = (value) => {
359
+ return value !== null && typeof value !== "undefined";
360
+ };
229
361
  return {
230
362
  type: "optional",
231
363
  label,
364
+ displayLabel: formatLabel(label),
232
365
  name,
366
+ component: "optional-toggle",
367
+ renderHint: COMPOUND_RENDER_HINT,
233
368
  innerField,
234
369
  defaultValue: null,
235
370
  schema,
236
371
  getInnerDefault,
372
+ isEnabled,
237
373
  candidType: "opt",
238
374
  };
239
375
  }
@@ -249,28 +385,51 @@ export class ArgumentFieldVisitor extends IDL.Visitor {
249
385
  z.array(z.number()),
250
386
  z.instanceof(Uint8Array),
251
387
  ]);
388
+ const limits = { ...DEFAULT_BLOB_LIMITS };
252
389
  return {
253
390
  type: "blob",
254
391
  label,
392
+ displayLabel: formatLabel(label),
255
393
  name,
394
+ component: "blob-upload",
395
+ renderHint: FILE_RENDER_HINT,
256
396
  itemField,
257
397
  defaultValue: "",
258
398
  schema,
259
399
  acceptedFormats: ["hex", "base64", "file"],
400
+ limits,
401
+ normalizeHex,
402
+ validateInput: (value) => validateBlobInput(value, limits),
260
403
  candidType: "blob",
261
404
  };
262
405
  }
263
406
  const schema = z.array(itemField.schema);
264
407
  // Helper to get a new item with default values
265
408
  const getItemDefault = () => itemField.defaultValue;
409
+ // Helper to create an item field for a specific index
410
+ const createItemField = (index, overrides) => {
411
+ // Replace [0] in template with actual index
412
+ const itemName = name ? `${name}[${index}]` : `[${index}]`;
413
+ const itemLabel = overrides?.label ?? `Item ${index}`;
414
+ return {
415
+ ...itemField,
416
+ name: itemName,
417
+ label: itemLabel,
418
+ displayLabel: formatLabel(itemLabel),
419
+ };
420
+ };
266
421
  return {
267
422
  type: "vector",
268
423
  label,
424
+ displayLabel: formatLabel(label),
269
425
  name,
426
+ component: "vector-list",
427
+ renderHint: COMPOUND_RENDER_HINT,
270
428
  itemField,
271
429
  defaultValue: [],
272
430
  schema,
273
431
  getItemDefault,
432
+ createItemField,
274
433
  candidType: "vec",
275
434
  };
276
435
  }
@@ -292,7 +451,10 @@ export class ArgumentFieldVisitor extends IDL.Visitor {
292
451
  return {
293
452
  type: "recursive",
294
453
  label,
454
+ displayLabel: formatLabel(label),
295
455
  name,
456
+ component: "recursive-lazy",
457
+ renderHint: COMPOUND_RENDER_HINT,
296
458
  typeName,
297
459
  extract,
298
460
  defaultValue: undefined,
@@ -321,40 +483,157 @@ export class ArgumentFieldVisitor extends IDL.Visitor {
321
483
  }, {
322
484
  message: "Invalid Principal format",
323
485
  });
486
+ const inputProps = {
487
+ type: "text",
488
+ placeholder: "aaaaa-aa or full principal ID",
489
+ minLength: 7,
490
+ maxLength: 64,
491
+ spellCheck: false,
492
+ autoComplete: "off",
493
+ };
324
494
  return {
325
495
  type: "principal",
326
496
  label,
497
+ displayLabel: formatLabel(label),
327
498
  name: this.currentName(),
499
+ component: "principal-input",
500
+ renderHint: TEXT_RENDER_HINT,
328
501
  defaultValue: "",
329
502
  maxLength: 64,
330
503
  minLength: 7,
504
+ format: checkTextFormat(label),
331
505
  schema,
506
+ inputProps,
332
507
  candidType: "principal",
333
- ui: {
334
- placeholder: "aaaaa-aa or full principal ID",
335
- },
336
508
  };
337
509
  }
338
510
  visitText(_t, label) {
511
+ const format = checkTextFormat(label);
512
+ // Generate format-specific inputProps
513
+ const inputProps = this.getTextInputProps(format);
514
+ // Generate format-specific schema
515
+ const schema = this.getTextSchema(format);
339
516
  return {
340
517
  type: "text",
341
518
  label,
519
+ displayLabel: formatLabel(label),
342
520
  name: this.currentName(),
521
+ component: "text-input",
522
+ renderHint: TEXT_RENDER_HINT,
343
523
  defaultValue: "",
344
- schema: z.string().min(1, "Required"),
524
+ format,
525
+ schema,
526
+ inputProps,
345
527
  candidType: "text",
346
- ui: {
347
- placeholder: "Enter text...",
348
- },
349
528
  };
350
529
  }
530
+ /**
531
+ * Generate format-specific input props for text fields.
532
+ */
533
+ getTextInputProps(format) {
534
+ switch (format) {
535
+ case "email":
536
+ return {
537
+ type: "email",
538
+ placeholder: "email@example.com",
539
+ inputMode: "email",
540
+ autoComplete: "email",
541
+ spellCheck: false,
542
+ };
543
+ case "url":
544
+ return {
545
+ type: "url",
546
+ placeholder: "https://example.com",
547
+ inputMode: "url",
548
+ autoComplete: "url",
549
+ spellCheck: false,
550
+ };
551
+ case "phone":
552
+ return {
553
+ type: "tel",
554
+ placeholder: "+1 (555) 123-4567",
555
+ inputMode: "tel",
556
+ autoComplete: "tel",
557
+ spellCheck: false,
558
+ };
559
+ case "uuid":
560
+ return {
561
+ type: "text",
562
+ placeholder: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
563
+ pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}",
564
+ spellCheck: false,
565
+ autoComplete: "off",
566
+ };
567
+ case "btc":
568
+ return {
569
+ type: "text",
570
+ placeholder: "bc1... or 1... or 3...",
571
+ spellCheck: false,
572
+ autoComplete: "off",
573
+ };
574
+ case "eth":
575
+ return {
576
+ type: "text",
577
+ placeholder: "0x...",
578
+ pattern: "0x[0-9a-fA-F]{40}",
579
+ spellCheck: false,
580
+ autoComplete: "off",
581
+ };
582
+ case "account-id":
583
+ return {
584
+ type: "text",
585
+ placeholder: "64-character hex string",
586
+ pattern: "[0-9a-fA-F]{64}",
587
+ maxLength: 64,
588
+ spellCheck: false,
589
+ autoComplete: "off",
590
+ };
591
+ case "principal":
592
+ return {
593
+ type: "text",
594
+ placeholder: "aaaaa-aa or full principal ID",
595
+ minLength: 7,
596
+ maxLength: 64,
597
+ spellCheck: false,
598
+ autoComplete: "off",
599
+ };
600
+ default:
601
+ return {
602
+ type: "text",
603
+ placeholder: "Enter text...",
604
+ spellCheck: true,
605
+ };
606
+ }
607
+ }
608
+ /**
609
+ * Generate format-specific zod schema for text fields.
610
+ */
611
+ getTextSchema(format) {
612
+ switch (format) {
613
+ case "email":
614
+ return z.email("Invalid email address");
615
+ case "url":
616
+ return z.url("Invalid URL");
617
+ case "uuid":
618
+ return z.uuid("Invalid UUID");
619
+ default:
620
+ return z.string().min(1, "Required");
621
+ }
622
+ }
351
623
  visitBool(_t, label) {
624
+ const inputProps = {
625
+ type: "checkbox",
626
+ };
352
627
  return {
353
628
  type: "boolean",
354
629
  label,
630
+ displayLabel: formatLabel(label),
355
631
  name: this.currentName(),
632
+ component: "boolean-checkbox",
633
+ renderHint: CHECKBOX_RENDER_HINT,
356
634
  defaultValue: false,
357
635
  schema: z.boolean(),
636
+ inputProps,
358
637
  candidType: "bool",
359
638
  };
360
639
  }
@@ -362,7 +641,13 @@ export class ArgumentFieldVisitor extends IDL.Visitor {
362
641
  return {
363
642
  type: "null",
364
643
  label,
644
+ displayLabel: formatLabel(label),
365
645
  name: this.currentName(),
646
+ component: "null-hidden",
647
+ renderHint: {
648
+ isCompound: false,
649
+ isPrimitive: true,
650
+ },
366
651
  defaultValue: null,
367
652
  schema: z.null(),
368
653
  candidType: "null",
@@ -372,6 +657,7 @@ export class ArgumentFieldVisitor extends IDL.Visitor {
372
657
  // Number Types with Constraints
373
658
  // ════════════════════════════════════════════════════════════════════════
374
659
  visitNumberType(label, candidType, options) {
660
+ const format = checkNumberFormat(label);
375
661
  let schema = z.string().min(1, "Required");
376
662
  if (options.isFloat) {
377
663
  schema = schema.refine((val) => !isNaN(Number(val)), "Must be a number");
@@ -387,29 +673,55 @@ export class ArgumentFieldVisitor extends IDL.Visitor {
387
673
  const isBigInt = !options.isFloat && (!options.bits || options.bits > 32);
388
674
  const type = isBigInt ? "text" : "number";
389
675
  if (type === "text") {
676
+ // Propagate timestamp/cycle format if detected, otherwise default to plain
677
+ let textFormat = "plain";
678
+ if (format === "timestamp")
679
+ textFormat = "timestamp";
680
+ if (format === "cycle")
681
+ textFormat = "cycle";
682
+ const inputProps = {
683
+ type: "text",
684
+ placeholder: options.unsigned ? "e.g. 100000" : "e.g. -100000",
685
+ inputMode: "numeric",
686
+ pattern: options.unsigned ? "\\d+" : "-?\\d+",
687
+ spellCheck: false,
688
+ autoComplete: "off",
689
+ };
390
690
  return {
391
691
  type: "text",
392
692
  label,
693
+ displayLabel: formatLabel(label),
393
694
  name: this.currentName(),
695
+ component: "text-input",
696
+ renderHint: TEXT_RENDER_HINT,
394
697
  defaultValue: "",
698
+ format: textFormat,
395
699
  candidType,
396
700
  schema,
397
- ui: {
398
- placeholder: options.unsigned ? "e.g. 100000" : "e.g. -100000",
399
- },
701
+ inputProps,
400
702
  };
401
703
  }
704
+ const inputProps = {
705
+ type: "number",
706
+ placeholder: options.isFloat ? "0.0" : "0",
707
+ inputMode: options.isFloat ? "decimal" : "numeric",
708
+ min: options.min,
709
+ max: options.max,
710
+ step: options.isFloat ? "any" : "1",
711
+ };
402
712
  return {
403
713
  type: "number",
404
714
  label,
715
+ displayLabel: formatLabel(label),
405
716
  name: this.currentName(),
717
+ component: "number-input",
718
+ renderHint: NUMBER_RENDER_HINT,
406
719
  defaultValue: "",
407
720
  candidType,
408
- schema: schema,
721
+ format,
722
+ schema,
723
+ inputProps,
409
724
  ...options,
410
- ui: {
411
- placeholder: options.isFloat ? "0.0" : "0",
412
- },
413
725
  };
414
726
  }
415
727
  visitInt(_t, label) {
@@ -460,8 +772,15 @@ export class ArgumentFieldVisitor extends IDL.Visitor {
460
772
  return {
461
773
  type: "unknown",
462
774
  label,
775
+ displayLabel: formatLabel(label),
463
776
  name: this.currentName(),
777
+ component: "unknown-fallback",
778
+ renderHint: {
779
+ isCompound: false,
780
+ isPrimitive: false,
781
+ },
464
782
  defaultValue: undefined,
783
+ candidType: "unknown",
465
784
  schema: z.any(),
466
785
  };
467
786
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/visitor/arguments/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAoBpC,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,cAAc,SAAS,CAAA;AAEvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAM,OAAO,oBAAoC,SAAQ,GAAG,CAAC,OAG5D;IAHD;;QAIS;;;;mBAA8C,IAAI,GAAG,EAAE;WAAA;QAEtD;;;;mBAAsB,EAAE;WAAA;IA+gBlC,CAAC;IA7gBC;;;OAGG;IACK,QAAQ,CAAI,IAAY,EAAE,EAAW;QAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzB,IAAI,CAAC;YACH,OAAO,EAAE,EAAE,CAAA;QACb,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;QACtB,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,WAAW;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChC,CAAC;IAED,2EAA2E;IAC3E,2BAA2B;IAC3B,2EAA2E;IAEpE,YAAY,CAAC,CAAmB;QACrC,MAAM,MAAM,GAAG,EAA6B,CAAA;QAE5C,KAAK,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7C,MAAM,CAAC,YAA+B,CAAC,GAAG,IAAI,CAAC,MAAM,CACnD,IAAI,EACJ,YAAY,CACO,CAAA;QACvB,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,SAAS,CACd,CAAgB,EAChB,YAA6B;QAE7B,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAA;QACpD,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAA;QAElC,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE,GAAG,EAAE,CACtC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,KAAK,EAAE,CAAC,CACzB,CAAA;QACZ,CAAC,CAAC,CAAA;QAEF,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAE/D,oCAAoC;QACpC,kDAAkD;QAClD,qDAAqD;QACrD,MAAM,MAAM,GACV,QAAQ,KAAK,CAAC;YACZ,CAAC,CAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAET;YACJ,CAAC,CAAC,CAAC,CAAC,KAAK,CACL,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAGjC,CACF,CAAA;QAEP,OAAO;YACL,YAAY;YACZ,YAAY;YACZ,MAAM;YACN,aAAa,EAAE,aAAa;YAC5B,MAAM;YACN,QAAQ;YACR,QAAQ,EAAE,QAAQ,KAAK,CAAC;SACzB,CAAA;IACH,CAAC;IAED,2EAA2E;IAC3E,iBAAiB;IACjB,2EAA2E;IAEpE,WAAW,CAChB,EAAmB,EACnB,OAAkC,EAClC,KAAa;QAEb,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAC/B,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiB,CAAA;QACzC,MAAM,YAAY,GAA4B,EAAE,CAAA;QAChD,MAAM,WAAW,GAAiC,EAAE,CAAA;QAEpD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CACvD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CACd,CAAA;YAEV,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAClB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YACxB,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,YAAY,CAAA;YACtC,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;QACjC,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAEpC,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,KAAK;YACL,IAAI;YACJ,MAAM;YACN,QAAQ;YACR,YAAY;YACZ,MAAM;YACN,UAAU,EAAE,QAAQ;SACrB,CAAA;IACH,CAAC;IAEM,YAAY,CACjB,EAAoB,EACpB,OAAkC,EAClC,KAAa;QAEb,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAC/B,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAiB,CAAA;QAC1C,MAAM,cAAc,GAAmB,EAAE,CAAA;QAEzC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,CAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CACd,CAAA;YAEV,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAClB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACjB,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YACzB,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QACxD,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QAChC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QAC5B,MAAM,YAAY,GAAG;YACnB,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,YAAY;SACzC,CAAA;QAED,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,cAAmD,CAAC,CAAA;QAE3E,6CAA6C;QAC7C,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAA2B,EAAE;YACnE,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAA;YACtD,CAAC;YACD,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAA;QAC5C,CAAC,CAAA;QAED,OAAO;YACL,IAAI,EAAE,SAAS;YACf,KAAK;YACL,IAAI;YACJ,MAAM;YACN,OAAO;YACP,aAAa;YACb,SAAS;YACT,YAAY;YACZ,MAAM;YACN,gBAAgB;YAChB,UAAU,EAAE,SAAS;SACtB,CAAA;IACH,CAAC;IAEM,UAAU,CACf,EAAqB,EACrB,UAAsB,EACtB,KAAa;QAEb,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAC/B,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,YAAY,GAAc,EAAE,CAAA;QAClC,MAAM,OAAO,GAAmB,EAAE,CAAA;QAElC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACvD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE,GAAG,EAAE,CAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,KAAK,GAAG,CAAC,CACvB,CAAA;YAEV,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAClB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;YACrC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC5B,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAA4C,CAAC,CAAA;QAEpE,OAAO;YACL,IAAI,EAAE,OAAO;YACb,KAAK;YACL,IAAI;YACJ,MAAM;YACN,YAAY;YACZ,MAAM;YACN,UAAU,EAAE,OAAO;SACpB,CAAA;IACH,CAAC;IAEM,QAAQ,CACb,EAAmB,EACnB,EAAe,EACf,KAAa;QAEb,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAE/B,yDAAyD;QACzD,wDAAwD;QACxD,MAAM,UAAU,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAU,CAAA;QAElD,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC;YACrB,UAAU,CAAC,MAAM;YACjB,CAAC,CAAC,IAAI,EAAE;YACR,CAAC,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YACnC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SACpC,CAAC,CAAA;QAEF,6DAA6D;QAC7D,MAAM,eAAe,GAAG,GAAY,EAAE,CAAC,UAAU,CAAC,YAAY,CAAA;QAE9D,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,KAAK;YACL,IAAI;YACJ,UAAU;YACV,YAAY,EAAE,IAAI;YAClB,MAAM;YACN,eAAe;YACf,UAAU,EAAE,KAAK;SAClB,CAAA;IACH,CAAC;IAEM,QAAQ,CACb,EAAmB,EACnB,EAAe,EACf,KAAa;QAEb,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAE/B,gCAAgC;QAChC,MAAM,MAAM,GAAG,EAAE,YAAY,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,CAAA;QAEhE,uCAAuC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,CAC1C,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,CACxB,CAAA;QAEV,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC;gBACrB,CAAC,CAAC,MAAM,EAAE;gBACV,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;aACzB,CAAC,CAAA;YACF,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,KAAK;gBACL,IAAI;gBACJ,SAAS;gBACT,YAAY,EAAE,EAAE;gBAChB,MAAM;gBACN,eAAe,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;gBAC1C,UAAU,EAAE,MAAM;aACnB,CAAA;QACH,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAExC,+CAA+C;QAC/C,MAAM,cAAc,GAAG,GAAY,EAAE,CAAC,SAAS,CAAC,YAAY,CAAA;QAE5D,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,KAAK;YACL,IAAI;YACJ,SAAS;YACT,YAAY,EAAE,EAAE;YAChB,MAAM;YACN,cAAc;YACd,UAAU,EAAE,KAAK;SAClB,CAAA;IACH,CAAC;IAEM,QAAQ,CACb,EAAmB,EACnB,EAAwB,EACxB,KAAa;QAEb,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAC/B,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,IAAI,eAAe,CAAA;QAE3C,IAAI,MAAoB,CAAA;QAExB,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAA;QAC/C,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAW,CAAC,MAAM,CAAC,CAAA;YAC/D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAC7C,CAAC;QAED,4CAA4C;QAC5C,MAAM,OAAO,GAAG,GAAU,EAAE,CAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAU,CAAA;QAE5D,iDAAiD;QACjD,MAAM,eAAe,GAAG,GAAY,EAAE,CAAC,OAAO,EAAE,CAAC,YAAY,CAAA;QAE7D,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,KAAK;YACL,IAAI;YACJ,QAAQ;YACR,OAAO;YACP,YAAY,EAAE,SAAS;YACvB,MAAM;YACN,eAAe;YACf,UAAU,EAAE,KAAK;SAClB,CAAA;IACH,CAAC;IAED,2EAA2E;IAC3E,kBAAkB;IAClB,2EAA2E;IAEpE,cAAc,CAAC,EAAsB,EAAE,KAAa;QACzD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CACrB,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,GAAG,YAAY,SAAS;gBAAE,OAAO,IAAI,CAAA;YACzC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC;oBACH,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;oBACvB,OAAO,IAAI,CAAA;gBACb,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,KAAK,CAAA;gBACd,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC,EACD;YACE,OAAO,EAAE,0BAA0B;SACpC,CACF,CAAA;QAED,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,KAAK;YACL,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;YACxB,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,CAAC;YACZ,MAAM;YACN,UAAU,EAAE,WAAW;YACvB,EAAE,EAAE;gBACF,WAAW,EAAE,+BAA+B;aAC7C;SACF,CAAA;IACH,CAAC;IAEM,SAAS,CAAC,EAAiB,EAAE,KAAa;QAC/C,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,KAAK;YACL,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;YACxB,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC;YACrC,UAAU,EAAE,MAAM;YAClB,EAAE,EAAE;gBACF,WAAW,EAAE,eAAe;aAC7B;SACF,CAAA;IACH,CAAC;IAEM,SAAS,CAAC,EAAiB,EAAE,KAAa;QAC/C,OAAO;YACL,IAAI,EAAE,SAAS;YACf,KAAK;YACL,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;YACxB,YAAY,EAAE,KAAK;YACnB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;YACnB,UAAU,EAAE,MAAM;SACnB,CAAA;IACH,CAAC;IAEM,SAAS,CAAC,EAAiB,EAAE,KAAa;QAC/C,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,KAAK;YACL,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;YACxB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE;YAChB,UAAU,EAAE,MAAM;SACnB,CAAA;IACH,CAAC;IAED,2EAA2E;IAC3E,gCAAgC;IAChC,2EAA2E;IAEnE,eAAe,CACrB,KAAa,EACb,UAAkB,EAClB,OAMC;QAED,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;QAE1C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAA;QAC1E,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC5B,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAA;QAC7D,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAA;QACtD,CAAC;QAED,wFAAwF;QACxF,uDAAuD;QACvD,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;QACzE,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAA;QAEzC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,KAAK;gBACL,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;gBACxB,YAAY,EAAE,EAAE;gBAChB,UAAU;gBACV,MAAM;gBACN,EAAE,EAAE;oBACF,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc;iBAC/D;aACF,CAAA;QACH,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,KAAK;YACL,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;YACxB,YAAY,EAAE,EAAE;YAChB,UAAU;YACV,MAAM,EAAE,MAAM;YACd,GAAG,OAAO;YACV,EAAE,EAAE;gBACF,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG;aAC3C;SACF,CAAA;IACH,CAAC;IAEM,QAAQ,CAAC,EAAgB,EAAE,KAAa;QAC7C,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE;YACxC,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;SACf,CAAC,CAAA;IACJ,CAAC;IAEM,QAAQ,CAAC,EAAgB,EAAE,KAAa;QAC7C,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE;YACxC,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,KAAK;SACf,CAAC,CAAA;IACJ,CAAC;IAEM,UAAU,CAAC,CAAiB,EAAE,KAAa;QAChD,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE;YACpD,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,CAAC,CAAC,KAAK;SACd,CAAgB,CAAA;IACnB,CAAC;IAEM,aAAa,CAClB,CAAoB,EACpB,KAAa;QAEb,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAA;QACpB,wCAAwC;QACxC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;QAClE,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;QAEzD,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,EAAE;YAC/C,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;YACd,IAAI;YACJ,GAAG;YACH,GAAG;SACJ,CAAC,CAAA;IACJ,CAAC;IAEM,aAAa,CAClB,CAAoB,EACpB,KAAa;QAEb,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAA;QACpB,sCAAsC;QACtC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;QAE9D,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,EAAE;YAC/C,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,KAAK;YACd,IAAI;YACJ,GAAG,EAAE,GAAG;YACR,GAAG;SACJ,CAAC,CAAA;IACJ,CAAC;IAEM,SAAS,CAAI,EAAe,EAAE,KAAa;QAChD,OAAO;YACL,IAAI,EAAE,SAAS;YACf,KAAK;YACL,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;YACxB,YAAY,EAAE,SAAS;YACvB,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE;SAChB,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/visitor/arguments/index.ts"],"names":[],"mappings":"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"}