@formspec/core 0.1.0-alpha.19 → 0.1.0-alpha.21
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/core.d.ts +318 -34
- package/dist/extensions/index.d.ts +26 -0
- package/dist/extensions/index.d.ts.map +1 -1
- package/dist/guards.d.ts +55 -11
- package/dist/guards.d.ts.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types/constraint-definitions.d.ts +11 -1
- package/dist/types/constraint-definitions.d.ts.map +1 -1
- package/dist/types/data-source.d.ts +8 -0
- package/dist/types/data-source.d.ts.map +1 -1
- package/dist/types/elements.d.ts +30 -0
- package/dist/types/elements.d.ts.map +1 -1
- package/dist/types/field-state.d.ts +4 -0
- package/dist/types/field-state.d.ts.map +1 -1
- package/dist/types/form-state.d.ts +2 -0
- package/dist/types/form-state.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/ir.d.ts +175 -22
- package/dist/types/ir.d.ts.map +1 -1
- package/dist/types/predicate.d.ts +4 -0
- package/dist/types/predicate.d.ts.map +1 -1
- package/dist/types/validity.d.ts +2 -0
- package/dist/types/validity.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/core.d.ts
CHANGED
|
@@ -14,15 +14,23 @@
|
|
|
14
14
|
* Discriminated union of all annotation types.
|
|
15
15
|
* Annotations are value-influencing: they describe or present a field
|
|
16
16
|
* but do not affect which values are valid.
|
|
17
|
+
*
|
|
18
|
+
* @public
|
|
17
19
|
*/
|
|
18
|
-
export declare type AnnotationNode = DisplayNameAnnotationNode | DescriptionAnnotationNode | FormatAnnotationNode | PlaceholderAnnotationNode | DefaultValueAnnotationNode | DeprecatedAnnotationNode | FormatHintAnnotationNode | CustomAnnotationNode;
|
|
20
|
+
export declare type AnnotationNode = DisplayNameAnnotationNode | DescriptionAnnotationNode | RemarksAnnotationNode | FormatAnnotationNode | PlaceholderAnnotationNode | DefaultValueAnnotationNode | DeprecatedAnnotationNode | FormatHintAnnotationNode | CustomAnnotationNode;
|
|
19
21
|
|
|
20
22
|
/**
|
|
21
23
|
* Union of all field types.
|
|
24
|
+
*
|
|
25
|
+
* @public
|
|
22
26
|
*/
|
|
23
27
|
export declare type AnyField = TextField<string> | NumberField<string> | BooleanField<string> | StaticEnumField<string, readonly EnumOptionValue[]> | DynamicEnumField<string, string> | DynamicSchemaField<string> | ArrayField<string, readonly FormElement[]> | ObjectField<string, readonly FormElement[]>;
|
|
24
28
|
|
|
25
|
-
/**
|
|
29
|
+
/**
|
|
30
|
+
* Array uniqueness constraint.
|
|
31
|
+
*
|
|
32
|
+
* @public
|
|
33
|
+
*/
|
|
26
34
|
export declare interface ArrayCardinalityConstraintNode {
|
|
27
35
|
readonly kind: "constraint";
|
|
28
36
|
readonly constraintKind: "uniqueItems";
|
|
@@ -38,6 +46,8 @@ export declare interface ArrayCardinalityConstraintNode {
|
|
|
38
46
|
*
|
|
39
47
|
* @typeParam N - The field name (string literal type)
|
|
40
48
|
* @typeParam Items - The form elements that define each array item
|
|
49
|
+
*
|
|
50
|
+
* @public
|
|
41
51
|
*/
|
|
42
52
|
export declare interface ArrayField<N extends string, Items extends readonly FormElement[]> {
|
|
43
53
|
/** Type discriminator for form elements */
|
|
@@ -58,7 +68,11 @@ export declare interface ArrayField<N extends string, Items extends readonly For
|
|
|
58
68
|
readonly maxItems?: number;
|
|
59
69
|
}
|
|
60
70
|
|
|
61
|
-
/**
|
|
71
|
+
/**
|
|
72
|
+
* Array type with a single items type.
|
|
73
|
+
*
|
|
74
|
+
* @public
|
|
75
|
+
*/
|
|
62
76
|
export declare interface ArrayTypeNode {
|
|
63
77
|
readonly kind: "array";
|
|
64
78
|
readonly items: TypeNode;
|
|
@@ -68,6 +82,8 @@ export declare interface ArrayTypeNode {
|
|
|
68
82
|
* A boolean checkbox field.
|
|
69
83
|
*
|
|
70
84
|
* @typeParam N - The field name (string literal type)
|
|
85
|
+
*
|
|
86
|
+
* @public
|
|
71
87
|
*/
|
|
72
88
|
export declare interface BooleanField<N extends string> {
|
|
73
89
|
/** Type discriminator for form elements */
|
|
@@ -88,6 +104,8 @@ export declare interface BooleanField<N extends string> {
|
|
|
88
104
|
* (e.g., `@minimum 0`) and chain DSL options (e.g., `{ minimum: 0 }`).
|
|
89
105
|
*
|
|
90
106
|
* Keys use camelCase matching JSON Schema property names.
|
|
107
|
+
*
|
|
108
|
+
* @public
|
|
91
109
|
*/
|
|
92
110
|
export declare const BUILTIN_CONSTRAINT_DEFINITIONS: {
|
|
93
111
|
readonly minimum: "number";
|
|
@@ -108,6 +126,8 @@ export declare const BUILTIN_CONSTRAINT_DEFINITIONS: {
|
|
|
108
126
|
/**
|
|
109
127
|
* Registration for mapping a built-in TSDoc tag onto a custom constraint when
|
|
110
128
|
* it is used on a particular custom type.
|
|
129
|
+
*
|
|
130
|
+
* @public
|
|
111
131
|
*/
|
|
112
132
|
export declare interface BuiltinConstraintBroadeningRegistration {
|
|
113
133
|
/** The built-in tag being broadened, without the `@` prefix. */
|
|
@@ -118,7 +138,11 @@ export declare interface BuiltinConstraintBroadeningRegistration {
|
|
|
118
138
|
readonly parseValue: (raw: string) => JsonValue;
|
|
119
139
|
}
|
|
120
140
|
|
|
121
|
-
/**
|
|
141
|
+
/**
|
|
142
|
+
* Type of a built-in constraint name.
|
|
143
|
+
*
|
|
144
|
+
* @public
|
|
145
|
+
*/
|
|
122
146
|
export declare type BuiltinConstraintName = keyof typeof BUILTIN_CONSTRAINT_DEFINITIONS;
|
|
123
147
|
|
|
124
148
|
/**
|
|
@@ -127,6 +151,8 @@ export declare type BuiltinConstraintName = keyof typeof BUILTIN_CONSTRAINT_DEFI
|
|
|
127
151
|
* @typeParam FieldName - The field to check
|
|
128
152
|
* @typeParam Value - The value that triggers the condition
|
|
129
153
|
* @typeParam Elements - Tuple of contained form elements
|
|
154
|
+
*
|
|
155
|
+
* @public
|
|
130
156
|
*/
|
|
131
157
|
export declare interface Conditional<FieldName extends string, Value, Elements extends readonly FormElement[]> {
|
|
132
158
|
/** Type discriminator - identifies this as a conditional element */
|
|
@@ -139,7 +165,11 @@ export declare interface Conditional<FieldName extends string, Value, Elements e
|
|
|
139
165
|
readonly elements: Elements;
|
|
140
166
|
}
|
|
141
167
|
|
|
142
|
-
/**
|
|
168
|
+
/**
|
|
169
|
+
* Conditional visibility based on another field's value.
|
|
170
|
+
*
|
|
171
|
+
* @public
|
|
172
|
+
*/
|
|
143
173
|
export declare interface ConditionalLayoutNode {
|
|
144
174
|
readonly kind: "conditional";
|
|
145
175
|
/** The field whose value triggers visibility. */
|
|
@@ -151,7 +181,11 @@ export declare interface ConditionalLayoutNode {
|
|
|
151
181
|
readonly provenance: Provenance;
|
|
152
182
|
}
|
|
153
183
|
|
|
154
|
-
/**
|
|
184
|
+
/**
|
|
185
|
+
* Literal-value equality constraint.
|
|
186
|
+
*
|
|
187
|
+
* @public
|
|
188
|
+
*/
|
|
155
189
|
export declare interface ConstConstraintNode {
|
|
156
190
|
readonly kind: "constraint";
|
|
157
191
|
readonly constraintKind: "const";
|
|
@@ -163,12 +197,16 @@ export declare interface ConstConstraintNode {
|
|
|
163
197
|
/**
|
|
164
198
|
* Discriminated union of all constraint types.
|
|
165
199
|
* Constraints are set-influencing: they narrow the set of valid values.
|
|
200
|
+
*
|
|
201
|
+
* @public
|
|
166
202
|
*/
|
|
167
203
|
export declare type ConstraintNode = NumericConstraintNode | LengthConstraintNode | PatternConstraintNode | ArrayCardinalityConstraintNode | EnumMemberConstraintNode | ConstConstraintNode | CustomConstraintNode;
|
|
168
204
|
|
|
169
205
|
/**
|
|
170
206
|
* Semantic metadata for ordered custom constraints that should participate in
|
|
171
207
|
* the generic contradiction/broadening logic.
|
|
208
|
+
*
|
|
209
|
+
* @public
|
|
172
210
|
*/
|
|
173
211
|
export declare interface ConstraintSemanticRole {
|
|
174
212
|
/**
|
|
@@ -184,6 +222,8 @@ export declare interface ConstraintSemanticRole {
|
|
|
184
222
|
|
|
185
223
|
/**
|
|
186
224
|
* Declarative authoring-side registration for a custom TSDoc constraint tag.
|
|
225
|
+
*
|
|
226
|
+
* @public
|
|
187
227
|
*/
|
|
188
228
|
export declare interface ConstraintTagRegistration {
|
|
189
229
|
/** Tag name without the `@` prefix, e.g. `"maxSigFig"`. */
|
|
@@ -206,10 +246,16 @@ export declare interface ConstraintTagRegistration {
|
|
|
206
246
|
* @typeParam T - The value type of the field
|
|
207
247
|
* @param value - The initial value for the field
|
|
208
248
|
* @returns Initial field state
|
|
249
|
+
*
|
|
250
|
+
* @public
|
|
209
251
|
*/
|
|
210
252
|
export declare function createInitialFieldState<T>(value: T): FieldState<T>;
|
|
211
253
|
|
|
212
|
-
/**
|
|
254
|
+
/**
|
|
255
|
+
* Extension-registered custom annotation.
|
|
256
|
+
*
|
|
257
|
+
* @public
|
|
258
|
+
*/
|
|
213
259
|
export declare interface CustomAnnotationNode {
|
|
214
260
|
readonly kind: "annotation";
|
|
215
261
|
readonly annotationKind: "custom";
|
|
@@ -224,6 +270,8 @@ export declare interface CustomAnnotationNode {
|
|
|
224
270
|
*
|
|
225
271
|
* Custom annotations are referenced via {@link CustomAnnotationNode} in the IR.
|
|
226
272
|
* They describe or present a field but do not affect which values are valid.
|
|
273
|
+
*
|
|
274
|
+
* @public
|
|
227
275
|
*/
|
|
228
276
|
export declare interface CustomAnnotationRegistration {
|
|
229
277
|
/** The annotation name, unique within the extension. */
|
|
@@ -235,7 +283,11 @@ export declare interface CustomAnnotationRegistration {
|
|
|
235
283
|
readonly toJsonSchema?: (value: JsonValue, vendorPrefix: string) => Record<string, unknown>;
|
|
236
284
|
}
|
|
237
285
|
|
|
238
|
-
/**
|
|
286
|
+
/**
|
|
287
|
+
* Extension-registered custom constraint.
|
|
288
|
+
*
|
|
289
|
+
* @public
|
|
290
|
+
*/
|
|
239
291
|
export declare interface CustomConstraintNode {
|
|
240
292
|
readonly kind: "constraint";
|
|
241
293
|
readonly constraintKind: "custom";
|
|
@@ -253,6 +305,8 @@ export declare interface CustomConstraintNode {
|
|
|
253
305
|
* Registration for a custom constraint that maps to JSON Schema keywords.
|
|
254
306
|
*
|
|
255
307
|
* Custom constraints are referenced via {@link CustomConstraintNode} in the IR.
|
|
308
|
+
*
|
|
309
|
+
* @public
|
|
256
310
|
*/
|
|
257
311
|
export declare interface CustomConstraintRegistration {
|
|
258
312
|
/** The constraint name, unique within the extension. */
|
|
@@ -294,7 +348,11 @@ export declare interface CustomConstraintRegistration {
|
|
|
294
348
|
readonly toJsonSchema: (payload: JsonValue, vendorPrefix: string) => Record<string, unknown>;
|
|
295
349
|
}
|
|
296
350
|
|
|
297
|
-
/**
|
|
351
|
+
/**
|
|
352
|
+
* Custom type registered by an extension.
|
|
353
|
+
*
|
|
354
|
+
* @public
|
|
355
|
+
*/
|
|
298
356
|
export declare interface CustomTypeNode {
|
|
299
357
|
readonly kind: "custom";
|
|
300
358
|
/**
|
|
@@ -315,6 +373,8 @@ export declare interface CustomTypeNode {
|
|
|
315
373
|
*
|
|
316
374
|
* Custom types are referenced via {@link CustomTypeNode} in the IR and
|
|
317
375
|
* resolved to JSON Schema via `toJsonSchema` during generation.
|
|
376
|
+
*
|
|
377
|
+
* @public
|
|
318
378
|
*/
|
|
319
379
|
export declare interface CustomTypeRegistration {
|
|
320
380
|
/** The type name, unique within the extension. */
|
|
@@ -343,6 +403,8 @@ export declare interface CustomTypeRegistration {
|
|
|
343
403
|
* A single option returned by a data source resolver.
|
|
344
404
|
*
|
|
345
405
|
* @typeParam T - The data type for additional option metadata
|
|
406
|
+
*
|
|
407
|
+
* @public
|
|
346
408
|
*/
|
|
347
409
|
export declare interface DataSourceOption<T = unknown> {
|
|
348
410
|
/** The value stored when this option is selected */
|
|
@@ -367,6 +429,8 @@ export declare interface DataSourceOption<T = unknown> {
|
|
|
367
429
|
* }
|
|
368
430
|
* }
|
|
369
431
|
* ```
|
|
432
|
+
*
|
|
433
|
+
* @public
|
|
370
434
|
*/
|
|
371
435
|
export declare interface DataSourceRegistry {
|
|
372
436
|
}
|
|
@@ -376,11 +440,18 @@ export declare interface DataSourceRegistry {
|
|
|
376
440
|
*
|
|
377
441
|
* If the source has an `id` property, that becomes the value type.
|
|
378
442
|
* Otherwise, defaults to `string`.
|
|
443
|
+
*
|
|
444
|
+
* @public
|
|
379
445
|
*/
|
|
380
446
|
export declare type DataSourceValueType<Source extends string> = Source extends keyof DataSourceRegistry ? DataSourceRegistry[Source] extends {
|
|
381
447
|
id: infer ID;
|
|
382
448
|
} ? ID : string : string;
|
|
383
449
|
|
|
450
|
+
/**
|
|
451
|
+
* Default-value annotation.
|
|
452
|
+
*
|
|
453
|
+
* @public
|
|
454
|
+
*/
|
|
384
455
|
export declare interface DefaultValueAnnotationNode {
|
|
385
456
|
readonly kind: "annotation";
|
|
386
457
|
readonly annotationKind: "defaultValue";
|
|
@@ -395,6 +466,8 @@ export declare interface DefaultValueAnnotationNode {
|
|
|
395
466
|
*
|
|
396
467
|
* @param reg - The custom annotation registration.
|
|
397
468
|
* @returns The same registration, validated at the type level.
|
|
469
|
+
*
|
|
470
|
+
* @public
|
|
398
471
|
*/
|
|
399
472
|
export declare function defineAnnotation(reg: CustomAnnotationRegistration): CustomAnnotationRegistration;
|
|
400
473
|
|
|
@@ -404,6 +477,8 @@ export declare function defineAnnotation(reg: CustomAnnotationRegistration): Cus
|
|
|
404
477
|
*
|
|
405
478
|
* @param reg - The custom constraint registration.
|
|
406
479
|
* @returns The same registration, validated at the type level.
|
|
480
|
+
*
|
|
481
|
+
* @public
|
|
407
482
|
*/
|
|
408
483
|
export declare function defineConstraint(reg: CustomConstraintRegistration): CustomConstraintRegistration;
|
|
409
484
|
|
|
@@ -412,6 +487,8 @@ export declare function defineConstraint(reg: CustomConstraintRegistration): Cus
|
|
|
412
487
|
*
|
|
413
488
|
* @param reg - The custom tag registration.
|
|
414
489
|
* @returns The same registration, validated at the type level.
|
|
490
|
+
*
|
|
491
|
+
* @public
|
|
415
492
|
*/
|
|
416
493
|
export declare function defineConstraintTag(reg: ConstraintTagRegistration): ConstraintTagRegistration;
|
|
417
494
|
|
|
@@ -421,6 +498,8 @@ export declare function defineConstraintTag(reg: ConstraintTagRegistration): Con
|
|
|
421
498
|
*
|
|
422
499
|
* @param reg - The custom type registration.
|
|
423
500
|
* @returns The same registration, validated at the type level.
|
|
501
|
+
*
|
|
502
|
+
* @public
|
|
424
503
|
*/
|
|
425
504
|
export declare function defineCustomType(reg: CustomTypeRegistration): CustomTypeRegistration;
|
|
426
505
|
|
|
@@ -430,9 +509,16 @@ export declare function defineCustomType(reg: CustomTypeRegistration): CustomTyp
|
|
|
430
509
|
*
|
|
431
510
|
* @param def - The extension definition.
|
|
432
511
|
* @returns The same definition, validated at the type level.
|
|
512
|
+
*
|
|
513
|
+
* @public
|
|
433
514
|
*/
|
|
434
515
|
export declare function defineExtension(def: ExtensionDefinition): ExtensionDefinition;
|
|
435
516
|
|
|
517
|
+
/**
|
|
518
|
+
* Deprecated annotation.
|
|
519
|
+
*
|
|
520
|
+
* @public
|
|
521
|
+
*/
|
|
436
522
|
export declare interface DeprecatedAnnotationNode {
|
|
437
523
|
readonly kind: "annotation";
|
|
438
524
|
readonly annotationKind: "deprecated";
|
|
@@ -441,6 +527,11 @@ export declare interface DeprecatedAnnotationNode {
|
|
|
441
527
|
readonly provenance: Provenance;
|
|
442
528
|
}
|
|
443
529
|
|
|
530
|
+
/**
|
|
531
|
+
* Description annotation.
|
|
532
|
+
*
|
|
533
|
+
* @public
|
|
534
|
+
*/
|
|
444
535
|
export declare interface DescriptionAnnotationNode {
|
|
445
536
|
readonly kind: "annotation";
|
|
446
537
|
readonly annotationKind: "description";
|
|
@@ -448,6 +539,11 @@ export declare interface DescriptionAnnotationNode {
|
|
|
448
539
|
readonly provenance: Provenance;
|
|
449
540
|
}
|
|
450
541
|
|
|
542
|
+
/**
|
|
543
|
+
* Display-name annotation.
|
|
544
|
+
*
|
|
545
|
+
* @public
|
|
546
|
+
*/
|
|
451
547
|
export declare interface DisplayNameAnnotationNode {
|
|
452
548
|
readonly kind: "annotation";
|
|
453
549
|
readonly annotationKind: "displayName";
|
|
@@ -460,6 +556,8 @@ export declare interface DisplayNameAnnotationNode {
|
|
|
460
556
|
*
|
|
461
557
|
* @typeParam N - The field name (string literal type)
|
|
462
558
|
* @typeParam Source - The data source key (from DataSourceRegistry)
|
|
559
|
+
*
|
|
560
|
+
* @public
|
|
463
561
|
*/
|
|
464
562
|
export declare interface DynamicEnumField<N extends string, Source extends string> {
|
|
465
563
|
/** Type discriminator for form elements */
|
|
@@ -482,6 +580,8 @@ export declare interface DynamicEnumField<N extends string, Source extends strin
|
|
|
482
580
|
* A field that loads its schema dynamically (e.g., from an extension).
|
|
483
581
|
*
|
|
484
582
|
* @typeParam N - The field name (string literal type)
|
|
583
|
+
*
|
|
584
|
+
* @public
|
|
485
585
|
*/
|
|
486
586
|
export declare interface DynamicSchemaField<N extends string> {
|
|
487
587
|
/** Type discriminator for form elements */
|
|
@@ -500,7 +600,11 @@ export declare interface DynamicSchemaField<N extends string> {
|
|
|
500
600
|
readonly params?: readonly string[];
|
|
501
601
|
}
|
|
502
602
|
|
|
503
|
-
/**
|
|
603
|
+
/**
|
|
604
|
+
* Dynamic type whose schema is resolved at runtime from a named data source.
|
|
605
|
+
*
|
|
606
|
+
* @public
|
|
607
|
+
*/
|
|
504
608
|
export declare interface DynamicTypeNode {
|
|
505
609
|
readonly kind: "dynamic";
|
|
506
610
|
readonly dynamicKind: "enum" | "schema";
|
|
@@ -513,7 +617,11 @@ export declare interface DynamicTypeNode {
|
|
|
513
617
|
readonly parameterFields: readonly string[];
|
|
514
618
|
}
|
|
515
619
|
|
|
516
|
-
/**
|
|
620
|
+
/**
|
|
621
|
+
* A member of a static enum type.
|
|
622
|
+
*
|
|
623
|
+
* @public
|
|
624
|
+
*/
|
|
517
625
|
export declare interface EnumMember {
|
|
518
626
|
/** The serialized value stored in data. */
|
|
519
627
|
readonly value: string | number;
|
|
@@ -521,7 +629,11 @@ export declare interface EnumMember {
|
|
|
521
629
|
readonly displayName?: string;
|
|
522
630
|
}
|
|
523
631
|
|
|
524
|
-
/**
|
|
632
|
+
/**
|
|
633
|
+
* Enum member subset constraint that only narrows the allowed member set.
|
|
634
|
+
*
|
|
635
|
+
* @public
|
|
636
|
+
*/
|
|
525
637
|
export declare interface EnumMemberConstraintNode {
|
|
526
638
|
readonly kind: "constraint";
|
|
527
639
|
readonly constraintKind: "allowedMembers";
|
|
@@ -534,6 +646,8 @@ export declare interface EnumMemberConstraintNode {
|
|
|
534
646
|
* An enum option with a separate ID and display label.
|
|
535
647
|
*
|
|
536
648
|
* Use this when the stored value (id) should differ from the display text (label).
|
|
649
|
+
*
|
|
650
|
+
* @public
|
|
537
651
|
*/
|
|
538
652
|
export declare interface EnumOption {
|
|
539
653
|
readonly id: string;
|
|
@@ -542,10 +656,16 @@ export declare interface EnumOption {
|
|
|
542
656
|
|
|
543
657
|
/**
|
|
544
658
|
* Valid enum option types: either plain strings or objects with id/label.
|
|
659
|
+
*
|
|
660
|
+
* @public
|
|
545
661
|
*/
|
|
546
662
|
export declare type EnumOptionValue = string | EnumOption;
|
|
547
663
|
|
|
548
|
-
/**
|
|
664
|
+
/**
|
|
665
|
+
* Static enum type with members known at build time.
|
|
666
|
+
*
|
|
667
|
+
* @public
|
|
668
|
+
*/
|
|
549
669
|
export declare interface EnumTypeNode {
|
|
550
670
|
readonly kind: "enum";
|
|
551
671
|
readonly members: readonly EnumMember[];
|
|
@@ -561,6 +681,8 @@ export declare interface EnumTypeNode {
|
|
|
561
681
|
*
|
|
562
682
|
* @typeParam K - The field name to check
|
|
563
683
|
* @typeParam V - The value to compare against
|
|
684
|
+
*
|
|
685
|
+
* @public
|
|
564
686
|
*/
|
|
565
687
|
export declare interface EqualsPredicate<K extends string, V> {
|
|
566
688
|
/** Predicate type discriminator */
|
|
@@ -590,6 +712,8 @@ export declare interface EqualsPredicate<K extends string, V> {
|
|
|
590
712
|
* ],
|
|
591
713
|
* });
|
|
592
714
|
* ```
|
|
715
|
+
*
|
|
716
|
+
* @public
|
|
593
717
|
*/
|
|
594
718
|
export declare interface ExtensionDefinition {
|
|
595
719
|
/** Globally unique extension identifier, e.g., "x-stripe/monetary". */
|
|
@@ -610,6 +734,8 @@ export declare interface ExtensionDefinition {
|
|
|
610
734
|
* Response from a data source resolver function.
|
|
611
735
|
*
|
|
612
736
|
* @typeParam T - The data type for option metadata
|
|
737
|
+
*
|
|
738
|
+
* @public
|
|
613
739
|
*/
|
|
614
740
|
export declare interface FetchOptionsResponse<T = unknown> {
|
|
615
741
|
/** The available options */
|
|
@@ -620,7 +746,11 @@ export declare interface FetchOptionsResponse<T = unknown> {
|
|
|
620
746
|
readonly message?: string;
|
|
621
747
|
}
|
|
622
748
|
|
|
623
|
-
/**
|
|
749
|
+
/**
|
|
750
|
+
* A single form field after canonicalization.
|
|
751
|
+
*
|
|
752
|
+
* @public
|
|
753
|
+
*/
|
|
624
754
|
export declare interface FieldNode {
|
|
625
755
|
readonly kind: "field";
|
|
626
756
|
/** The field's key in the data schema. */
|
|
@@ -649,6 +779,8 @@ export declare interface FieldNode {
|
|
|
649
779
|
* Represents the runtime state of a single form field.
|
|
650
780
|
*
|
|
651
781
|
* @typeParam T - The value type of the field
|
|
782
|
+
*
|
|
783
|
+
* @public
|
|
652
784
|
*/
|
|
653
785
|
export declare interface FieldState<T> {
|
|
654
786
|
/** Current value of the field */
|
|
@@ -663,7 +795,11 @@ export declare interface FieldState<T> {
|
|
|
663
795
|
readonly errors: readonly string[];
|
|
664
796
|
}
|
|
665
797
|
|
|
666
|
-
/**
|
|
798
|
+
/**
|
|
799
|
+
* Schema format annotation, for example `email`, `date`, or `uri`.
|
|
800
|
+
*
|
|
801
|
+
* @public
|
|
802
|
+
*/
|
|
667
803
|
export declare interface FormatAnnotationNode {
|
|
668
804
|
readonly kind: "annotation";
|
|
669
805
|
readonly annotationKind: "format";
|
|
@@ -674,6 +810,8 @@ export declare interface FormatAnnotationNode {
|
|
|
674
810
|
/**
|
|
675
811
|
* UI rendering hint — does not affect schema validation.
|
|
676
812
|
* Unlike FormatAnnotationNode, this never emits a JSON Schema `format`.
|
|
813
|
+
*
|
|
814
|
+
* @public
|
|
677
815
|
*/
|
|
678
816
|
export declare interface FormatHintAnnotationNode {
|
|
679
817
|
readonly kind: "annotation";
|
|
@@ -685,6 +823,8 @@ export declare interface FormatHintAnnotationNode {
|
|
|
685
823
|
|
|
686
824
|
/**
|
|
687
825
|
* Union of all form element types (fields and structural elements).
|
|
826
|
+
*
|
|
827
|
+
* @public
|
|
688
828
|
*/
|
|
689
829
|
export declare type FormElement = AnyField | Group<readonly FormElement[]> | Conditional<string, unknown, readonly FormElement[]>;
|
|
690
830
|
|
|
@@ -695,6 +835,8 @@ export declare type FormElement = AnyField | Group<readonly FormElement[]> | Con
|
|
|
695
835
|
* and Generate (UI Schema) phases.
|
|
696
836
|
*
|
|
697
837
|
* Serializable to JSON — no live compiler objects.
|
|
838
|
+
*
|
|
839
|
+
* @public
|
|
698
840
|
*/
|
|
699
841
|
export declare interface FormIR {
|
|
700
842
|
readonly kind: "form-ir";
|
|
@@ -718,13 +860,19 @@ export declare interface FormIR {
|
|
|
718
860
|
readonly provenance: Provenance;
|
|
719
861
|
}
|
|
720
862
|
|
|
721
|
-
/**
|
|
863
|
+
/**
|
|
864
|
+
* Union of all IR element types.
|
|
865
|
+
*
|
|
866
|
+
* @public
|
|
867
|
+
*/
|
|
722
868
|
export declare type FormIRElement = FieldNode | LayoutNode;
|
|
723
869
|
|
|
724
870
|
/**
|
|
725
871
|
* A complete form specification.
|
|
726
872
|
*
|
|
727
873
|
* @typeParam Elements - Tuple of top-level form elements
|
|
874
|
+
*
|
|
875
|
+
* @public
|
|
728
876
|
*/
|
|
729
877
|
export declare interface FormSpec<Elements extends readonly FormElement[]> {
|
|
730
878
|
/** Top-level form elements */
|
|
@@ -735,6 +883,8 @@ export declare interface FormSpec<Elements extends readonly FormElement[]> {
|
|
|
735
883
|
* Represents the runtime state of an entire form.
|
|
736
884
|
*
|
|
737
885
|
* @typeParam Schema - The form schema type (maps field names to value types)
|
|
886
|
+
*
|
|
887
|
+
* @public
|
|
738
888
|
*/
|
|
739
889
|
export declare interface FormState<Schema extends Record<string, unknown>> {
|
|
740
890
|
/** State for each field, keyed by field name */
|
|
@@ -755,6 +905,8 @@ export declare interface FormState<Schema extends Record<string, unknown>> {
|
|
|
755
905
|
* Groups provide visual organization and can be rendered as fieldsets or sections.
|
|
756
906
|
*
|
|
757
907
|
* @typeParam Elements - Tuple of contained form elements
|
|
908
|
+
*
|
|
909
|
+
* @public
|
|
758
910
|
*/
|
|
759
911
|
export declare interface Group<Elements extends readonly FormElement[]> {
|
|
760
912
|
/** Type discriminator - identifies this as a group element */
|
|
@@ -765,7 +917,11 @@ export declare interface Group<Elements extends readonly FormElement[]> {
|
|
|
765
917
|
readonly elements: Elements;
|
|
766
918
|
}
|
|
767
919
|
|
|
768
|
-
/**
|
|
920
|
+
/**
|
|
921
|
+
* A visual grouping of form elements.
|
|
922
|
+
*
|
|
923
|
+
* @public
|
|
924
|
+
*/
|
|
769
925
|
export declare interface GroupLayoutNode {
|
|
770
926
|
readonly kind: "group";
|
|
771
927
|
readonly label: string;
|
|
@@ -777,13 +933,23 @@ export declare interface GroupLayoutNode {
|
|
|
777
933
|
/**
|
|
778
934
|
* The current IR format version. Centralized here so all canonicalizers
|
|
779
935
|
* and consumers reference a single source of truth.
|
|
936
|
+
*
|
|
937
|
+
* @public
|
|
780
938
|
*/
|
|
781
939
|
export declare const IR_VERSION: "0.1.0";
|
|
782
940
|
|
|
783
|
-
/**
|
|
941
|
+
/**
|
|
942
|
+
* Narrows a `FormElement` to an array field.
|
|
943
|
+
*
|
|
944
|
+
* @public
|
|
945
|
+
*/
|
|
784
946
|
export declare function isArrayField(element: FormElement): element is ArrayField<string, readonly FormElement[]>;
|
|
785
947
|
|
|
786
|
-
/**
|
|
948
|
+
/**
|
|
949
|
+
* Narrows a `FormElement` to a boolean checkbox field.
|
|
950
|
+
*
|
|
951
|
+
* @public
|
|
952
|
+
*/
|
|
787
953
|
export declare function isBooleanField(element: FormElement): element is BooleanField<string>;
|
|
788
954
|
|
|
789
955
|
/**
|
|
@@ -794,44 +960,88 @@ export declare function isBooleanField(element: FormElement): element is Boolean
|
|
|
794
960
|
*
|
|
795
961
|
* Callers should normalize with {@link normalizeConstraintTagName} first
|
|
796
962
|
* if the input may be PascalCase.
|
|
963
|
+
*
|
|
964
|
+
* @public
|
|
797
965
|
*/
|
|
798
966
|
export declare function isBuiltinConstraintName(tagName: string): tagName is BuiltinConstraintName;
|
|
799
967
|
|
|
800
|
-
/**
|
|
968
|
+
/**
|
|
969
|
+
* Narrows a `FormElement` to a conditional wrapper.
|
|
970
|
+
*
|
|
971
|
+
* @public
|
|
972
|
+
*/
|
|
801
973
|
export declare function isConditional(element: FormElement): element is Conditional<string, unknown, readonly FormElement[]>;
|
|
802
974
|
|
|
803
|
-
/**
|
|
975
|
+
/**
|
|
976
|
+
* Narrows a `FormElement` to a dynamic enum field.
|
|
977
|
+
*
|
|
978
|
+
* @public
|
|
979
|
+
*/
|
|
804
980
|
export declare function isDynamicEnumField(element: FormElement): element is DynamicEnumField<string, string>;
|
|
805
981
|
|
|
806
|
-
/**
|
|
982
|
+
/**
|
|
983
|
+
* Narrows a `FormElement` to a dynamic schema field.
|
|
984
|
+
*
|
|
985
|
+
* @public
|
|
986
|
+
*/
|
|
807
987
|
export declare function isDynamicSchemaField(element: FormElement): element is DynamicSchemaField<string>;
|
|
808
988
|
|
|
809
|
-
/**
|
|
989
|
+
/**
|
|
990
|
+
* Narrows a `FormElement` to any field type.
|
|
991
|
+
*
|
|
992
|
+
* @public
|
|
993
|
+
*/
|
|
810
994
|
export declare function isField(element: FormElement): element is AnyField;
|
|
811
995
|
|
|
812
|
-
/**
|
|
996
|
+
/**
|
|
997
|
+
* Narrows a `FormElement` to a visual group.
|
|
998
|
+
*
|
|
999
|
+
* @public
|
|
1000
|
+
*/
|
|
813
1001
|
export declare function isGroup(element: FormElement): element is Group<readonly FormElement[]>;
|
|
814
1002
|
|
|
815
|
-
/**
|
|
1003
|
+
/**
|
|
1004
|
+
* Narrows a `FormElement` to a numeric input field.
|
|
1005
|
+
*
|
|
1006
|
+
* @public
|
|
1007
|
+
*/
|
|
816
1008
|
export declare function isNumberField(element: FormElement): element is NumberField<string>;
|
|
817
1009
|
|
|
818
|
-
/**
|
|
1010
|
+
/**
|
|
1011
|
+
* Narrows a `FormElement` to an object field.
|
|
1012
|
+
*
|
|
1013
|
+
* @public
|
|
1014
|
+
*/
|
|
819
1015
|
export declare function isObjectField(element: FormElement): element is ObjectField<string, readonly FormElement[]>;
|
|
820
1016
|
|
|
821
|
-
/**
|
|
1017
|
+
/**
|
|
1018
|
+
* Narrows a `FormElement` to a static enum field.
|
|
1019
|
+
*
|
|
1020
|
+
* @public
|
|
1021
|
+
*/
|
|
822
1022
|
export declare function isStaticEnumField(element: FormElement): element is StaticEnumField<string, readonly EnumOptionValue[]>;
|
|
823
1023
|
|
|
824
|
-
/**
|
|
1024
|
+
/**
|
|
1025
|
+
* Narrows a `FormElement` to a text input field.
|
|
1026
|
+
*
|
|
1027
|
+
* @public
|
|
1028
|
+
*/
|
|
825
1029
|
export declare function isTextField(element: FormElement): element is TextField<string>;
|
|
826
1030
|
|
|
827
1031
|
/**
|
|
828
1032
|
* A JSON-serializable value. All IR nodes must be representable as JSON.
|
|
1033
|
+
*
|
|
1034
|
+
* @public
|
|
829
1035
|
*/
|
|
830
1036
|
export declare type JsonValue = null | boolean | number | string | readonly JsonValue[] | {
|
|
831
1037
|
readonly [key: string]: JsonValue;
|
|
832
1038
|
};
|
|
833
1039
|
|
|
834
|
-
/**
|
|
1040
|
+
/**
|
|
1041
|
+
* Union of layout node types.
|
|
1042
|
+
*
|
|
1043
|
+
* @public
|
|
1044
|
+
*/
|
|
835
1045
|
export declare type LayoutNode = GroupLayoutNode | ConditionalLayoutNode;
|
|
836
1046
|
|
|
837
1047
|
/**
|
|
@@ -843,6 +1053,8 @@ export declare type LayoutNode = GroupLayoutNode | ConditionalLayoutNode;
|
|
|
843
1053
|
*
|
|
844
1054
|
* Type applicability: `minLength`/`maxLength` require `PrimitiveTypeNode("string")`;
|
|
845
1055
|
* `minItems`/`maxItems` require `ArrayTypeNode`.
|
|
1056
|
+
*
|
|
1057
|
+
* @public
|
|
846
1058
|
*/
|
|
847
1059
|
export declare interface LengthConstraintNode {
|
|
848
1060
|
readonly kind: "constraint";
|
|
@@ -862,6 +1074,8 @@ export declare interface LengthConstraintNode {
|
|
|
862
1074
|
* normalizeConstraintTagName("Minimum") // "minimum"
|
|
863
1075
|
* normalizeConstraintTagName("MinLength") // "minLength"
|
|
864
1076
|
* normalizeConstraintTagName("minimum") // "minimum" (idempotent)
|
|
1077
|
+
*
|
|
1078
|
+
* @public
|
|
865
1079
|
*/
|
|
866
1080
|
export declare function normalizeConstraintTagName(tagName: string): string;
|
|
867
1081
|
|
|
@@ -869,6 +1083,8 @@ export declare function normalizeConstraintTagName(tagName: string): string;
|
|
|
869
1083
|
* A numeric input field.
|
|
870
1084
|
*
|
|
871
1085
|
* @typeParam N - The field name (string literal type)
|
|
1086
|
+
*
|
|
1087
|
+
* @public
|
|
872
1088
|
*/
|
|
873
1089
|
export declare interface NumberField<N extends string> {
|
|
874
1090
|
/** Type discriminator for form elements */
|
|
@@ -898,6 +1114,8 @@ export declare interface NumberField<N extends string> {
|
|
|
898
1114
|
*
|
|
899
1115
|
* Type applicability: may only attach to fields with `PrimitiveTypeNode("number")`
|
|
900
1116
|
* or a `ReferenceTypeNode` that resolves to one.
|
|
1117
|
+
*
|
|
1118
|
+
* @public
|
|
901
1119
|
*/
|
|
902
1120
|
export declare interface NumericConstraintNode {
|
|
903
1121
|
readonly kind: "constraint";
|
|
@@ -915,6 +1133,8 @@ export declare interface NumericConstraintNode {
|
|
|
915
1133
|
*
|
|
916
1134
|
* @typeParam N - The field name (string literal type)
|
|
917
1135
|
* @typeParam Properties - The form elements that define the object's properties
|
|
1136
|
+
*
|
|
1137
|
+
* @public
|
|
918
1138
|
*/
|
|
919
1139
|
export declare interface ObjectField<N extends string, Properties extends readonly FormElement[]> {
|
|
920
1140
|
/** Type discriminator for form elements */
|
|
@@ -931,7 +1151,11 @@ export declare interface ObjectField<N extends string, Properties extends readon
|
|
|
931
1151
|
readonly required?: boolean;
|
|
932
1152
|
}
|
|
933
1153
|
|
|
934
|
-
/**
|
|
1154
|
+
/**
|
|
1155
|
+
* A named property within an object type.
|
|
1156
|
+
*
|
|
1157
|
+
* @public
|
|
1158
|
+
*/
|
|
935
1159
|
export declare interface ObjectProperty {
|
|
936
1160
|
readonly name: string;
|
|
937
1161
|
readonly type: TypeNode;
|
|
@@ -948,7 +1172,11 @@ export declare interface ObjectProperty {
|
|
|
948
1172
|
readonly provenance: Provenance;
|
|
949
1173
|
}
|
|
950
1174
|
|
|
951
|
-
/**
|
|
1175
|
+
/**
|
|
1176
|
+
* Object type with named properties.
|
|
1177
|
+
*
|
|
1178
|
+
* @public
|
|
1179
|
+
*/
|
|
952
1180
|
export declare interface ObjectTypeNode {
|
|
953
1181
|
readonly kind: "object";
|
|
954
1182
|
/**
|
|
@@ -967,6 +1195,8 @@ export declare interface ObjectTypeNode {
|
|
|
967
1195
|
/**
|
|
968
1196
|
* A path targeting a sub-field within a complex type.
|
|
969
1197
|
* Used by constraints and annotations to target nested properties.
|
|
1198
|
+
*
|
|
1199
|
+
* @public
|
|
970
1200
|
*/
|
|
971
1201
|
export declare interface PathTarget {
|
|
972
1202
|
/**
|
|
@@ -984,6 +1214,8 @@ export declare interface PathTarget {
|
|
|
984
1214
|
* all patterns must match simultaneously.
|
|
985
1215
|
*
|
|
986
1216
|
* Type applicability: requires `PrimitiveTypeNode("string")`.
|
|
1217
|
+
*
|
|
1218
|
+
* @public
|
|
987
1219
|
*/
|
|
988
1220
|
export declare interface PatternConstraintNode {
|
|
989
1221
|
readonly kind: "constraint";
|
|
@@ -994,6 +1226,11 @@ export declare interface PatternConstraintNode {
|
|
|
994
1226
|
readonly provenance: Provenance;
|
|
995
1227
|
}
|
|
996
1228
|
|
|
1229
|
+
/**
|
|
1230
|
+
* Placeholder annotation.
|
|
1231
|
+
*
|
|
1232
|
+
* @public
|
|
1233
|
+
*/
|
|
997
1234
|
export declare interface PlaceholderAnnotationNode {
|
|
998
1235
|
readonly kind: "annotation";
|
|
999
1236
|
readonly annotationKind: "placeholder";
|
|
@@ -1008,6 +1245,8 @@ export declare interface PlaceholderAnnotationNode {
|
|
|
1008
1245
|
* - `OneOfPredicate` - field value is one of several options
|
|
1009
1246
|
* - `NotPredicate` - negation of another predicate
|
|
1010
1247
|
* - `AndPredicate` / `OrPredicate` - logical combinations
|
|
1248
|
+
*
|
|
1249
|
+
* @public
|
|
1011
1250
|
*/
|
|
1012
1251
|
export declare type Predicate<K extends string = string, V = unknown> = EqualsPredicate<K, V>;
|
|
1013
1252
|
|
|
@@ -1016,6 +1255,8 @@ export declare type Predicate<K extends string = string, V = unknown> = EqualsPr
|
|
|
1016
1255
|
*
|
|
1017
1256
|
* Note: integer is NOT a primitive kind — integer semantics are expressed
|
|
1018
1257
|
* via a `multipleOf: 1` constraint on a number type.
|
|
1258
|
+
*
|
|
1259
|
+
* @public
|
|
1019
1260
|
*/
|
|
1020
1261
|
export declare interface PrimitiveTypeNode {
|
|
1021
1262
|
readonly kind: "primitive";
|
|
@@ -1025,6 +1266,8 @@ export declare interface PrimitiveTypeNode {
|
|
|
1025
1266
|
/**
|
|
1026
1267
|
* Describes the origin of an IR node.
|
|
1027
1268
|
* Enables diagnostics that point to the source of a contradiction or error.
|
|
1269
|
+
*
|
|
1270
|
+
* @public
|
|
1028
1271
|
*/
|
|
1029
1272
|
export declare interface Provenance {
|
|
1030
1273
|
/** The authoring surface that produced this node. */
|
|
@@ -1050,6 +1293,8 @@ export declare interface Provenance {
|
|
|
1050
1293
|
*
|
|
1051
1294
|
* Emitted as `{ "type": "object", "additionalProperties": <value schema> }` in
|
|
1052
1295
|
* JSON Schema per spec 003 §2.5.
|
|
1296
|
+
*
|
|
1297
|
+
* @public
|
|
1053
1298
|
*/
|
|
1054
1299
|
export declare interface RecordTypeNode {
|
|
1055
1300
|
readonly kind: "record";
|
|
@@ -1057,7 +1302,11 @@ export declare interface RecordTypeNode {
|
|
|
1057
1302
|
readonly valueType: TypeNode;
|
|
1058
1303
|
}
|
|
1059
1304
|
|
|
1060
|
-
/**
|
|
1305
|
+
/**
|
|
1306
|
+
* Named type reference preserved for `$defs` and `$ref` emission.
|
|
1307
|
+
*
|
|
1308
|
+
* @public
|
|
1309
|
+
*/
|
|
1061
1310
|
export declare interface ReferenceTypeNode {
|
|
1062
1311
|
readonly kind: "reference";
|
|
1063
1312
|
/**
|
|
@@ -1073,6 +1322,23 @@ export declare interface ReferenceTypeNode {
|
|
|
1073
1322
|
readonly typeArguments: readonly TypeNode[];
|
|
1074
1323
|
}
|
|
1075
1324
|
|
|
1325
|
+
/**
|
|
1326
|
+
* Remarks annotation — programmatic-persona documentation carried via
|
|
1327
|
+
* the `x-<vendor>-remarks` JSON Schema extension keyword.
|
|
1328
|
+
*
|
|
1329
|
+
* Populated from `@remarks` TSDoc tag content. SDK codegen can include
|
|
1330
|
+
* this in doc comments; API Documenter renders the source `@remarks`
|
|
1331
|
+
* natively in a dedicated Remarks section.
|
|
1332
|
+
*
|
|
1333
|
+
* @public
|
|
1334
|
+
*/
|
|
1335
|
+
export declare interface RemarksAnnotationNode {
|
|
1336
|
+
readonly kind: "annotation";
|
|
1337
|
+
readonly annotationKind: "remarks";
|
|
1338
|
+
readonly value: string;
|
|
1339
|
+
readonly provenance: Provenance;
|
|
1340
|
+
}
|
|
1341
|
+
|
|
1076
1342
|
/**
|
|
1077
1343
|
* A field with static enum options (known at compile time).
|
|
1078
1344
|
*
|
|
@@ -1080,6 +1346,8 @@ export declare interface ReferenceTypeNode {
|
|
|
1080
1346
|
*
|
|
1081
1347
|
* @typeParam N - The field name (string literal type)
|
|
1082
1348
|
* @typeParam O - Tuple of option values (strings or EnumOption objects)
|
|
1349
|
+
*
|
|
1350
|
+
* @public
|
|
1083
1351
|
*/
|
|
1084
1352
|
export declare interface StaticEnumField<N extends string, O extends readonly EnumOptionValue[]> {
|
|
1085
1353
|
/** Type discriminator for form elements */
|
|
@@ -1106,6 +1374,8 @@ export declare interface StaticEnumField<N extends string, O extends readonly En
|
|
|
1106
1374
|
* A text input field.
|
|
1107
1375
|
*
|
|
1108
1376
|
* @typeParam N - The field name (string literal type)
|
|
1377
|
+
*
|
|
1378
|
+
* @public
|
|
1109
1379
|
*/
|
|
1110
1380
|
export declare interface TextField<N extends string> {
|
|
1111
1381
|
/** Type discriminator for form elements */
|
|
@@ -1128,7 +1398,11 @@ export declare interface TextField<N extends string> {
|
|
|
1128
1398
|
readonly pattern?: string;
|
|
1129
1399
|
}
|
|
1130
1400
|
|
|
1131
|
-
/**
|
|
1401
|
+
/**
|
|
1402
|
+
* A named type definition stored in the type registry.
|
|
1403
|
+
*
|
|
1404
|
+
* @public
|
|
1405
|
+
*/
|
|
1132
1406
|
export declare interface TypeDefinition {
|
|
1133
1407
|
/** The fully-qualified reference name (key in the registry). */
|
|
1134
1408
|
readonly name: string;
|
|
@@ -1144,10 +1418,16 @@ export declare interface TypeDefinition {
|
|
|
1144
1418
|
|
|
1145
1419
|
/**
|
|
1146
1420
|
* Discriminated union of all type representations in the IR.
|
|
1421
|
+
*
|
|
1422
|
+
* @public
|
|
1147
1423
|
*/
|
|
1148
1424
|
export declare type TypeNode = PrimitiveTypeNode | EnumTypeNode | ArrayTypeNode | ObjectTypeNode | RecordTypeNode | UnionTypeNode | ReferenceTypeNode | DynamicTypeNode | CustomTypeNode;
|
|
1149
1425
|
|
|
1150
|
-
/**
|
|
1426
|
+
/**
|
|
1427
|
+
* Union type for non-enum unions. Nullable types are represented as `T | null`.
|
|
1428
|
+
*
|
|
1429
|
+
* @public
|
|
1430
|
+
*/
|
|
1151
1431
|
export declare interface UnionTypeNode {
|
|
1152
1432
|
readonly kind: "union";
|
|
1153
1433
|
readonly members: readonly TypeNode[];
|
|
@@ -1159,11 +1439,15 @@ export declare interface UnionTypeNode {
|
|
|
1159
1439
|
* - `"valid"` - All validations pass
|
|
1160
1440
|
* - `"invalid"` - One or more validations failed
|
|
1161
1441
|
* - `"unknown"` - Validation state not yet determined (e.g., async validation pending)
|
|
1442
|
+
*
|
|
1443
|
+
* @public
|
|
1162
1444
|
*/
|
|
1163
1445
|
export declare type Validity = "valid" | "invalid" | "unknown";
|
|
1164
1446
|
|
|
1165
1447
|
/**
|
|
1166
1448
|
* Registration for a vocabulary keyword to include in a JSON Schema `$vocabulary` declaration.
|
|
1449
|
+
*
|
|
1450
|
+
* @public
|
|
1167
1451
|
*/
|
|
1168
1452
|
export declare interface VocabularyKeywordRegistration {
|
|
1169
1453
|
/** The keyword name (without vendor prefix). */
|