@builder-builder/builder 0.0.19 → 0.0.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.
Files changed (139) hide show
  1. package/dist/bb.d.ts +12 -14
  2. package/dist/bb.js +32 -6
  3. package/dist/entities/builder/bind.d.ts +1 -1
  4. package/dist/entities/builder/builder.d.ts +2 -4
  5. package/dist/entities/builder/builder.js +1 -1
  6. package/dist/entities/collection/collection.d.ts +689 -1
  7. package/dist/entities/collection/collection.js +5 -2
  8. package/dist/entities/collection/config.d.ts +290 -0
  9. package/dist/entities/collection/config.js +13 -2
  10. package/dist/entities/collection/expectation.d.ts +1 -1
  11. package/dist/entities/collection/index.d.ts +3 -3
  12. package/dist/entities/collection/index.js +2 -2
  13. package/dist/entities/collection/when.d.ts +1 -1
  14. package/dist/entities/component/component.d.ts +64 -10
  15. package/dist/entities/component/component.js +9 -6
  16. package/dist/entities/component/config.d.ts +145 -0
  17. package/dist/entities/component/config.js +42 -0
  18. package/dist/entities/component/field.js +1 -1
  19. package/dist/entities/component/index.d.ts +3 -3
  20. package/dist/entities/component/index.js +2 -2
  21. package/dist/entities/component/when.d.ts +6 -6
  22. package/dist/entities/component/when.js +3 -3
  23. package/dist/entities/expectation.d.ts +4 -0
  24. package/dist/entities/expectation.js +3 -1
  25. package/dist/entities/index.d.ts +18 -17
  26. package/dist/entities/index.js +11 -10
  27. package/dist/entities/kind.d.ts +10 -7
  28. package/dist/entities/kind.js +39 -5
  29. package/dist/entities/model/bind.d.ts +1 -1
  30. package/dist/entities/model/index.d.ts +1 -1
  31. package/dist/entities/model/methods.d.ts +12 -12
  32. package/dist/entities/model/methods.js +2 -2
  33. package/dist/entities/model/model.js +1 -1
  34. package/dist/entities/model/models.d.ts +1 -1
  35. package/dist/entities/option/config.d.ts +109 -0
  36. package/dist/entities/option/config.js +15 -0
  37. package/dist/entities/option/index.d.ts +7 -7
  38. package/dist/entities/option/index.js +4 -4
  39. package/dist/entities/option/option.d.ts +88 -10
  40. package/dist/entities/option/option.js +9 -6
  41. package/dist/entities/option/select.d.ts +24 -14
  42. package/dist/entities/option/select.js +17 -6
  43. package/dist/entities/option/toggle.d.ts +17 -10
  44. package/dist/entities/option/toggle.js +19 -8
  45. package/dist/entities/option/when.d.ts +6 -6
  46. package/dist/{paths.d.ts → entities/paths.d.ts} +2 -0
  47. package/dist/{paths.js → entities/paths.js} +3 -0
  48. package/dist/entities/pricing/index.d.ts +1 -1
  49. package/dist/entities/pricing/index.js +1 -1
  50. package/dist/entities/pricing/pricing.js +1 -1
  51. package/dist/entities/pricing/rates.d.ts +5 -0
  52. package/dist/entities/pricing/rates.js +3 -1
  53. package/dist/entities/references.d.ts +723 -0
  54. package/dist/entities/references.js +7 -0
  55. package/dist/entities/serialise.d.ts +49 -43
  56. package/dist/entities/serialise.js +19 -13
  57. package/dist/entities/ui/describe.d.ts +15 -0
  58. package/dist/entities/ui/describe.js +11 -2
  59. package/dist/entities/ui/index.d.ts +4 -4
  60. package/dist/entities/ui/index.js +4 -4
  61. package/dist/entities/ui/input.d.ts +12 -3
  62. package/dist/entities/ui/input.js +4 -2
  63. package/dist/entities/ui/page.d.ts +15 -0
  64. package/dist/entities/ui/page.js +11 -2
  65. package/dist/entities/ui/pages.d.ts +132 -0
  66. package/dist/entities/ui/pages.js +12 -2
  67. package/dist/entities/ui/ui.d.ts +2 -3
  68. package/dist/entities/ui/ui.js +2 -2
  69. package/dist/entities/ui/uis.d.ts +1 -1
  70. package/dist/entities/ui/uis.js +2 -2
  71. package/dist/entities/validated.d.ts +26 -18
  72. package/dist/entities/when.d.ts +4 -3
  73. package/dist/entities/when.js +22 -2
  74. package/dist/environment.d.ts +2 -2
  75. package/dist/{validate → errors}/errors.d.ts +57 -35
  76. package/dist/{validate → errors}/errors.js +40 -5
  77. package/dist/errors/exception.d.ts +5 -0
  78. package/dist/{exception.js → errors/exception.js} +0 -3
  79. package/dist/errors/index.d.ts +4 -0
  80. package/dist/errors/index.js +3 -0
  81. package/dist/index.d.ts +19 -18
  82. package/dist/index.js +5 -4
  83. package/dist/instance.d.ts +7 -7
  84. package/dist/instance.js +4 -4
  85. package/dist/mappers/index.d.ts +2 -4
  86. package/dist/mappers/index.js +1 -2
  87. package/dist/mappers/instance.d.ts +2 -2
  88. package/dist/mappers/instance.js +7 -7
  89. package/dist/mappers/order.d.ts +4 -4
  90. package/dist/mappers/order.js +5 -5
  91. package/dist/mappers/price.js +18 -18
  92. package/dist/mappers/render/pages.d.ts +2 -2
  93. package/dist/mappers/render/render.d.ts +2 -2
  94. package/dist/mappers/render/render.js +12 -12
  95. package/dist/mappers/resolve.d.ts +11 -12
  96. package/dist/mappers/resolve.js +29 -46
  97. package/dist/mappers/variants/option-graph.d.ts +2 -3
  98. package/dist/mappers/variants/option-graph.js +2 -3
  99. package/dist/mappers/variants/variants.d.ts +2 -2
  100. package/dist/mappers/variants/variants.js +1 -1
  101. package/dist/private.d.ts +1 -2
  102. package/dist/private.js +1 -2
  103. package/dist/references.js +1 -1
  104. package/dist/validate/brand.js +1 -2
  105. package/dist/validate/builder.d.ts +3 -4
  106. package/dist/validate/builder.js +2 -3
  107. package/dist/validate/expectations.d.ts +1 -1
  108. package/dist/validate/index.d.ts +5 -2
  109. package/dist/validate/index.js +1 -0
  110. package/dist/validate/instance.d.ts +2 -3
  111. package/dist/validate/instance.js +1 -2
  112. package/dist/validate/model.d.ts +3 -4
  113. package/dist/validate/model.js +39 -44
  114. package/dist/validate/paths.d.ts +2 -3
  115. package/dist/validate/paths.js +1 -1
  116. package/dist/validate/pricing.d.ts +3 -4
  117. package/dist/validate/pricing.js +2 -3
  118. package/dist/validate/resolve.d.ts +3 -3
  119. package/dist/validate/resolve.js +1 -1
  120. package/dist/validate/ui.d.ts +3 -4
  121. package/dist/validate/ui.js +14 -5
  122. package/dist/validate/variants.d.ts +4 -5
  123. package/dist/validate/variants.js +6 -7
  124. package/package.json +7 -2
  125. package/dist/entities/component/details.d.ts +0 -66
  126. package/dist/entities/component/details.js +0 -24
  127. package/dist/entities/entry.d.ts +0 -4
  128. package/dist/entities/entry.js +0 -1
  129. package/dist/entities/option/values.d.ts +0 -49
  130. package/dist/entities/option/values.js +0 -14
  131. package/dist/entities/refs.d.ts +0 -6
  132. package/dist/entities/refs.js +0 -1
  133. package/dist/exception.d.ts +0 -13
  134. package/dist/validate/result.d.ts +0 -2
  135. package/dist/validate/result.js +0 -1
  136. /package/dist/{serialisable.d.ts → entities/serialisable.d.ts} +0 -0
  137. /package/dist/{serialisable.js → entities/serialisable.js} +0 -0
  138. /package/dist/{check.d.ts → errors/check.d.ts} +0 -0
  139. /package/dist/{check.js → errors/check.js} +0 -0
@@ -0,0 +1,7 @@
1
+ import * as v from 'valibot';
2
+ import { BuilderEntitySerialisedSchema } from './serialise.js';
3
+ export const BuilderReferenceSchema = v.object({
4
+ id: v.string(),
5
+ serialised: BuilderEntitySerialisedSchema
6
+ });
7
+ export const BuilderReferencesSchema = v.array(BuilderReferenceSchema);
@@ -1,15 +1,16 @@
1
+ import type { BuilderEntityKind } from './kind';
1
2
  import * as v from 'valibot';
2
3
  export declare const entitiesMap: {
3
4
  readonly builder: {
4
- readonly runtime: v.InstanceSchema<typeof import("./index.js").Builder, undefined>;
5
- readonly serialised: v.GenericSchema<import("./index.js").BuilderSerialised>;
5
+ readonly runtime: v.InstanceSchema<typeof import(".").Builder, undefined>;
6
+ readonly serialised: v.GenericSchema<import(".").BuilderSerialised>;
6
7
  };
7
8
  readonly model: {
8
- readonly runtime: v.InstanceSchema<typeof import("./index.js").BuilderModel, undefined>;
9
- readonly serialised: v.GenericSchema<import("./index.js").BuilderModelSerialised>;
9
+ readonly runtime: v.InstanceSchema<typeof import(".").BuilderModel, undefined>;
10
+ readonly serialised: v.GenericSchema<import(".").BuilderModelSerialised>;
10
11
  };
11
12
  readonly select: {
12
- readonly runtime: v.InstanceSchema<typeof import("./index.js").BuilderSelectType, undefined>;
13
+ readonly runtime: v.InstanceSchema<typeof import(".").BuilderSelectConfig, undefined>;
13
14
  readonly serialised: v.SchemaWithPipe<readonly [v.ObjectSchema<{
14
15
  readonly type: v.LiteralSchema<"select", undefined>;
15
16
  readonly options: v.SchemaWithPipe<readonly [v.TupleWithRestSchema<[v.StringSchema<undefined>], v.StringSchema<undefined>, undefined>, v.ReadonlyAction<[string, ...string[]]>]>;
@@ -29,7 +30,7 @@ export declare const entitiesMap: {
29
30
  }>]>;
30
31
  };
31
32
  readonly toggle: {
32
- readonly runtime: v.InstanceSchema<typeof import("./index.js").BuilderToggleType, undefined>;
33
+ readonly runtime: v.InstanceSchema<typeof import(".").BuilderToggleConfig, undefined>;
33
34
  readonly serialised: v.SchemaWithPipe<readonly [v.ObjectSchema<{
34
35
  readonly type: v.LiteralSchema<"toggle", undefined>;
35
36
  readonly valueType: v.PicklistSchema<["string", "boolean", "number"], undefined>;
@@ -45,7 +46,7 @@ export declare const entitiesMap: {
45
46
  }>]>;
46
47
  };
47
48
  readonly optionSelectMap: {
48
- readonly runtime: v.GenericSchema<import("./when.js").BuilderMatchSelectMap<Readonly<{
49
+ readonly runtime: v.GenericSchema<import("./when").BuilderMatchSelectMap<Readonly<{
49
50
  type: "parameter";
50
51
  id: string;
51
52
  name: string;
@@ -65,7 +66,7 @@ export declare const entitiesMap: {
65
66
  isOptional: boolean;
66
67
  tags?: readonly string[] | undefined;
67
68
  }>>>>;
68
- readonly serialised: v.GenericSchema<import("./when.js").BuilderMatchSelectMap<Readonly<{
69
+ readonly serialised: v.GenericSchema<import("./when").BuilderMatchSelectMap<Readonly<{
69
70
  type: "parameter";
70
71
  id: string;
71
72
  name: string;
@@ -87,7 +88,7 @@ export declare const entitiesMap: {
87
88
  }>>>>;
88
89
  };
89
90
  readonly optionWhen: {
90
- readonly runtime: v.GenericSchema<import("./when.js").BuilderWhenSerialised<Readonly<Readonly<{
91
+ readonly runtime: v.GenericSchema<import("./when").BuilderWhenSerialised<Readonly<Readonly<{
91
92
  type: "select";
92
93
  readonly options: readonly [string, ...string[]];
93
94
  defaultValue: string | null;
@@ -103,7 +104,7 @@ export declare const entitiesMap: {
103
104
  isOptional: boolean;
104
105
  tags?: readonly string[] | undefined;
105
106
  }>>>>;
106
- readonly serialised: v.GenericSchema<import("./when.js").BuilderWhenSerialised<Readonly<Readonly<{
107
+ readonly serialised: v.GenericSchema<import("./when").BuilderWhenSerialised<Readonly<Readonly<{
107
108
  type: "select";
108
109
  readonly options: readonly [string, ...string[]];
109
110
  defaultValue: string | null;
@@ -120,8 +121,8 @@ export declare const entitiesMap: {
120
121
  tags?: readonly string[] | undefined;
121
122
  }>>>>;
122
123
  };
123
- readonly componentDetails: {
124
- readonly runtime: v.InstanceSchema<typeof import("./index.js").BuilderComponentDetails, undefined>;
124
+ readonly componentConfig: {
125
+ readonly runtime: v.InstanceSchema<typeof import(".").BuilderComponentConfig, undefined>;
125
126
  readonly serialised: v.SchemaWithPipe<readonly [v.ObjectSchema<{
126
127
  readonly fields: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
127
128
  readonly type: v.LiteralSchema<"parameter", undefined>;
@@ -176,7 +177,7 @@ export declare const entitiesMap: {
176
177
  }>]>;
177
178
  };
178
179
  readonly componentSelectMap: {
179
- readonly runtime: v.GenericSchema<import("./when.js").BuilderMatchSelectMap<Readonly<{
180
+ readonly runtime: v.GenericSchema<import("./when").BuilderMatchSelectMap<Readonly<{
180
181
  type: "parameter";
181
182
  id: string;
182
183
  name: string;
@@ -197,7 +198,7 @@ export declare const entitiesMap: {
197
198
  }>[];
198
199
  tags?: readonly string[] | undefined;
199
200
  }>>>;
200
- readonly serialised: v.GenericSchema<import("./when.js").BuilderMatchSelectMap<Readonly<{
201
+ readonly serialised: v.GenericSchema<import("./when").BuilderMatchSelectMap<Readonly<{
201
202
  type: "parameter";
202
203
  id: string;
203
204
  name: string;
@@ -220,7 +221,7 @@ export declare const entitiesMap: {
220
221
  }>>>;
221
222
  };
222
223
  readonly componentWhen: {
223
- readonly runtime: v.GenericSchema<import("./when.js").BuilderWhenSerialised<Readonly<{
224
+ readonly runtime: v.GenericSchema<import("./when").BuilderWhenSerialised<Readonly<{
224
225
  fields: Readonly<{
225
226
  type: "parameter";
226
227
  id: string;
@@ -237,7 +238,7 @@ export declare const entitiesMap: {
237
238
  }>[];
238
239
  tags?: readonly string[] | undefined;
239
240
  }>>>;
240
- readonly serialised: v.GenericSchema<import("./when.js").BuilderWhenSerialised<Readonly<{
241
+ readonly serialised: v.GenericSchema<import("./when").BuilderWhenSerialised<Readonly<{
241
242
  fields: Readonly<{
242
243
  type: "parameter";
243
244
  id: string;
@@ -256,7 +257,7 @@ export declare const entitiesMap: {
256
257
  }>>>;
257
258
  };
258
259
  readonly collectionConfig: {
259
- readonly runtime: v.InstanceSchema<typeof import("./index.js").BuilderCollectionConfig, undefined>;
260
+ readonly runtime: v.InstanceSchema<typeof import(".").BuilderCollectionConfig, undefined>;
260
261
  readonly serialised: v.SchemaWithPipe<readonly [v.ObjectSchema<{
261
262
  readonly model: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
262
263
  readonly type: v.LiteralSchema<"parameter", undefined>;
@@ -272,7 +273,7 @@ export declare const entitiesMap: {
272
273
  }, undefined>, v.ReadonlyAction<{
273
274
  type: "ref";
274
275
  id: string;
275
- }>]>, v.LazySchema<v.GenericSchema<import("./index.js").BuilderModelSerialised>>], undefined>;
276
+ }>]>, v.LazySchema<v.GenericSchema<import(".").BuilderModelSerialised>>], undefined>;
276
277
  readonly min: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
277
278
  readonly type: v.LiteralSchema<"parameter", undefined>;
278
279
  readonly id: v.StringSchema<undefined>;
@@ -312,7 +313,7 @@ export declare const entitiesMap: {
312
313
  }> | Readonly<{
313
314
  type: "ref";
314
315
  id: string;
315
- }> | import("./index.js").BuilderModelSerialised;
316
+ }> | import(".").BuilderModelSerialised;
316
317
  min: number | Readonly<{
317
318
  type: "parameter";
318
319
  id: string;
@@ -333,7 +334,7 @@ export declare const entitiesMap: {
333
334
  }>]>;
334
335
  };
335
336
  readonly collectionSelectMap: {
336
- readonly runtime: v.GenericSchema<import("./when.js").BuilderMatchSelectMap<Readonly<{
337
+ readonly runtime: v.GenericSchema<import("./when").BuilderMatchSelectMap<Readonly<{
337
338
  type: "parameter";
338
339
  id: string;
339
340
  name: string;
@@ -345,7 +346,7 @@ export declare const entitiesMap: {
345
346
  }> | Readonly<{
346
347
  type: "ref";
347
348
  id: string;
348
- }> | import("./index.js").BuilderModelSerialised;
349
+ }> | import(".").BuilderModelSerialised;
349
350
  min: number | Readonly<{
350
351
  type: "parameter";
351
352
  id: string;
@@ -364,7 +365,7 @@ export declare const entitiesMap: {
364
365
  }>;
365
366
  tags?: readonly string[] | undefined;
366
367
  }>>>;
367
- readonly serialised: v.GenericSchema<import("./when.js").BuilderMatchSelectMap<Readonly<{
368
+ readonly serialised: v.GenericSchema<import("./when").BuilderMatchSelectMap<Readonly<{
368
369
  type: "parameter";
369
370
  id: string;
370
371
  name: string;
@@ -376,7 +377,7 @@ export declare const entitiesMap: {
376
377
  }> | Readonly<{
377
378
  type: "ref";
378
379
  id: string;
379
- }> | import("./index.js").BuilderModelSerialised;
380
+ }> | import(".").BuilderModelSerialised;
380
381
  min: number | Readonly<{
381
382
  type: "parameter";
382
383
  id: string;
@@ -397,7 +398,7 @@ export declare const entitiesMap: {
397
398
  }>>>;
398
399
  };
399
400
  readonly collectionWhen: {
400
- readonly runtime: v.GenericSchema<import("./when.js").BuilderWhenSerialised<Readonly<{
401
+ readonly runtime: v.GenericSchema<import("./when").BuilderWhenSerialised<Readonly<{
401
402
  model: Readonly<{
402
403
  type: "parameter";
403
404
  id: string;
@@ -405,7 +406,7 @@ export declare const entitiesMap: {
405
406
  }> | Readonly<{
406
407
  type: "ref";
407
408
  id: string;
408
- }> | import("./index.js").BuilderModelSerialised;
409
+ }> | import(".").BuilderModelSerialised;
409
410
  min: number | Readonly<{
410
411
  type: "parameter";
411
412
  id: string;
@@ -424,7 +425,7 @@ export declare const entitiesMap: {
424
425
  }>;
425
426
  tags?: readonly string[] | undefined;
426
427
  }>>>;
427
- readonly serialised: v.GenericSchema<import("./when.js").BuilderWhenSerialised<Readonly<{
428
+ readonly serialised: v.GenericSchema<import("./when").BuilderWhenSerialised<Readonly<{
428
429
  model: Readonly<{
429
430
  type: "parameter";
430
431
  id: string;
@@ -432,7 +433,7 @@ export declare const entitiesMap: {
432
433
  }> | Readonly<{
433
434
  type: "ref";
434
435
  id: string;
435
- }> | import("./index.js").BuilderModelSerialised;
436
+ }> | import(".").BuilderModelSerialised;
436
437
  min: number | Readonly<{
437
438
  type: "parameter";
438
439
  id: string;
@@ -453,11 +454,11 @@ export declare const entitiesMap: {
453
454
  }>>>;
454
455
  };
455
456
  readonly ui: {
456
- readonly runtime: v.InstanceSchema<typeof import("./index.js").BuilderUI, undefined>;
457
- readonly serialised: v.GenericSchema<import("./index.js").BuilderUISerialised>;
457
+ readonly runtime: v.InstanceSchema<typeof import(".").BuilderUI, undefined>;
458
+ readonly serialised: v.GenericSchema<import(".").BuilderUISerialised>;
458
459
  };
459
460
  readonly uiDescribe: {
460
- readonly runtime: v.InstanceSchema<typeof import("./index.js").BuilderUIDescribe, undefined>;
461
+ readonly runtime: v.InstanceSchema<typeof import(".").BuilderUIDescribe, undefined>;
461
462
  readonly serialised: v.SchemaWithPipe<readonly [v.ObjectSchema<{
462
463
  readonly type: v.LiteralSchema<"describe", undefined>;
463
464
  readonly label: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
@@ -745,14 +746,14 @@ export declare const entitiesMap: {
745
746
  }, undefined>, v.ReadonlyAction<{
746
747
  type: "ref";
747
748
  id: string;
748
- }>]>, v.GenericSchema<import("./index.js").BuilderUIItemSerialised>], undefined>, undefined>, v.ReadonlyAction<(Readonly<{
749
+ }>]>, v.GenericSchema<import(".").BuilderUIItemSerialised>], undefined>, undefined>, v.ReadonlyAction<(Readonly<{
749
750
  type: "parameter";
750
751
  id: string;
751
752
  name: string;
752
753
  }> | Readonly<{
753
754
  type: "ref";
754
755
  id: string;
755
- }> | import("./index.js").BuilderUIItemSerialised)[]>]>;
756
+ }> | import(".").BuilderUIItemSerialised)[]>]>;
756
757
  readonly serialised: v.SchemaWithPipe<readonly [v.ArraySchema<v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
757
758
  readonly type: v.LiteralSchema<"parameter", undefined>;
758
759
  readonly id: v.StringSchema<undefined>;
@@ -767,17 +768,17 @@ export declare const entitiesMap: {
767
768
  }, undefined>, v.ReadonlyAction<{
768
769
  type: "ref";
769
770
  id: string;
770
- }>]>, v.GenericSchema<import("./index.js").BuilderUIItemSerialised>], undefined>, undefined>, v.ReadonlyAction<(Readonly<{
771
+ }>]>, v.GenericSchema<import(".").BuilderUIItemSerialised>], undefined>, undefined>, v.ReadonlyAction<(Readonly<{
771
772
  type: "parameter";
772
773
  id: string;
773
774
  name: string;
774
775
  }> | Readonly<{
775
776
  type: "ref";
776
777
  id: string;
777
- }> | import("./index.js").BuilderUIItemSerialised)[]>]>;
778
+ }> | import(".").BuilderUIItemSerialised)[]>]>;
778
779
  };
779
780
  readonly uiPage: {
780
- readonly runtime: v.InstanceSchema<typeof import("./index.js").BuilderUIPage, undefined>;
781
+ readonly runtime: v.InstanceSchema<typeof import(".").BuilderUIPage, undefined>;
781
782
  readonly serialised: v.SchemaWithPipe<readonly [v.ObjectSchema<{
782
783
  readonly type: v.LiteralSchema<"page", undefined>;
783
784
  readonly label: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
@@ -1051,11 +1052,11 @@ export declare const entitiesMap: {
1051
1052
  }>]>;
1052
1053
  };
1053
1054
  readonly uiPages: {
1054
- readonly runtime: v.InstanceSchema<typeof import("./index.js").BuilderUIPages, undefined>;
1055
- readonly serialised: v.GenericSchema<import("./index.js").BuilderUIPagesSerialised>;
1055
+ readonly runtime: v.InstanceSchema<typeof import(".").BuilderUIPages, undefined>;
1056
+ readonly serialised: v.GenericSchema<import(".").BuilderUIPagesSerialised>;
1056
1057
  };
1057
1058
  readonly uiInput: {
1058
- readonly runtime: v.InstanceSchema<typeof import("./index.js").BuilderUIInput, undefined>;
1059
+ readonly runtime: v.InstanceSchema<typeof import(".").BuilderUIInput, undefined>;
1059
1060
  readonly serialised: v.SchemaWithPipe<readonly [v.ObjectSchema<{
1060
1061
  readonly type: v.LiteralSchema<"input", undefined>;
1061
1062
  readonly path: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
@@ -1175,12 +1176,12 @@ export declare const entitiesMap: {
1175
1176
  }>]>;
1176
1177
  };
1177
1178
  readonly pricing: {
1178
- readonly runtime: v.InstanceSchema<typeof import("./index.js").BuilderPricing, undefined>;
1179
- readonly serialised: v.GenericSchema<import("./index.js").BuilderPricingSerialised>;
1179
+ readonly runtime: v.InstanceSchema<typeof import(".").BuilderPricing, undefined>;
1180
+ readonly serialised: v.GenericSchema<import(".").BuilderPricingSerialised>;
1180
1181
  };
1181
1182
  readonly pricingRates: {
1182
- readonly runtime: v.GenericSchema<import("./index.js").BuilderRates>;
1183
- readonly serialised: v.GenericSchema<import("./index.js").BuilderRates>;
1183
+ readonly runtime: v.GenericSchema<import(".").BuilderRates>;
1184
+ readonly serialised: v.GenericSchema<import(".").BuilderRates>;
1184
1185
  };
1185
1186
  readonly expectations: {
1186
1187
  readonly runtime: v.SchemaWithPipe<readonly [v.ArraySchema<v.InstanceSchema<typeof import("./expectation.js").BuilderExpectation, undefined>, undefined>, v.ReadonlyAction<import("./expectation.js").BuilderExpectation<string, unknown, "option" | "component" | "collection">[]>]>;
@@ -1216,8 +1217,13 @@ export declare const entitiesMap: {
1216
1217
  readonly serialised: v.BooleanSchema<undefined>;
1217
1218
  };
1218
1219
  };
1220
+ export declare const validateNumber: (input: unknown, references?: import("./references").BuilderReferences, errors?: import("../validate").BuilderValidateErrors) => import("./validated").ValidationResult<number>;
1221
+ export declare const validateString: (input: unknown, references?: import("./references").BuilderReferences, errors?: import("../validate").BuilderValidateErrors) => import("./validated").ValidationResult<string>;
1222
+ export declare const validateBoolean: (input: unknown, references?: import("./references").BuilderReferences, errors?: import("../validate").BuilderValidateErrors) => import("./validated").ValidationResult<boolean>;
1219
1223
  export type EntitiesMap = typeof entitiesMap;
1220
- export type EntitiesSerialisedSchemas = EntitiesMap[keyof EntitiesMap]['serialised'];
1224
+ export type EntitiesSerialisedSchemas = EntitiesMap[BuilderEntityKind]['serialised'];
1225
+ export declare const BuilderEntityKindSchema: v.PicklistSchema<readonly ["builder", "model", "select", "toggle", "optionSelectMap", "optionWhen", "componentConfig", "componentSelectMap", "componentWhen", "collectionConfig", "collectionSelectMap", "collectionWhen", "ui", "uiDescribe", "uiItems", "uiPage", "uiPages", "uiInput", "pricing", "pricingRates", "expectations", "paths", "path", "number", "string", "boolean"], undefined>;
1226
+ export declare const BuilderEntitySerialisedSchema: v.GenericSchema<{ [Kind in BuilderEntityKind]: v.InferOutput<EntitiesMap[Kind]["serialised"]>; }[BuilderEntityKind]>;
1221
1227
  type SerialiseMap = {
1222
1228
  readonly [EntityKind in keyof EntitiesMap]: (input: v.InferOutput<EntitiesMap[EntityKind]['runtime']>) => v.InferOutput<EntitiesMap[EntityKind]['serialised']>;
1223
1229
  };
@@ -1,20 +1,21 @@
1
1
  import * as v from 'valibot';
2
- import { check } from '../check.js';
3
- import { BuilderPathSchema, BuilderPathsSchema } from '../paths.js';
2
+ import { check } from '../errors/index.js';
4
3
  import { BuilderParameterSchema, BuilderRefSchema, isParamable } from '../references.js';
5
4
  import { BuilderSchema, BuilderSerialisedSchema } from './builder/index.js';
6
5
  import { BuilderCollectionConfigSchema, BuilderCollectionConfigSerialisedSchema, BuilderCollectionSchema, BuilderCollectionSelectMapSerialisedSchema, BuilderCollectionWhenSerialisedSchema } from './collection/index.js';
7
- import { BuilderComponentDetailsSchema, BuilderComponentDetailsSerialisedSchema, BuilderComponentFieldSchema, BuilderComponentSchema, BuilderComponentSelectMapSerialisedSchema, BuilderComponentWhenSerialisedSchema } from './component/index.js';
6
+ import { BuilderComponentConfigSchema, BuilderComponentConfigSerialisedSchema, BuilderComponentFieldSchema, BuilderComponentSchema, BuilderComponentSelectMapSerialisedSchema, BuilderComponentWhenSerialisedSchema } from './component/index.js';
8
7
  import { BuilderExpectationSchema, BuilderExpectationsSchema, BuilderExpectationsSerialisedSchema } from './expectation.js';
8
+ import { builderEntityKinds, createEntityValidator } from './kind.js';
9
9
  import { BuilderModelSchema, BuilderModelSerialisedSchema } from './model/index.js';
10
- import { BuilderOptionSchema, BuilderOptionSelectMapSerialisedSchema, BuilderOptionWhenSerialisedSchema, BuilderSelectTypeSchema, BuilderSelectTypeSerialisedSchema, BuilderToggleTypeSchema, BuilderToggleTypeSerialisedSchema } from './option/index.js';
10
+ import { BuilderOptionSchema, BuilderOptionSelectMapSerialisedSchema, BuilderOptionWhenSerialisedSchema, BuilderSelectConfigSchema, BuilderSelectConfigSerialisedSchema, BuilderToggleConfigSchema, BuilderToggleConfigSerialisedSchema } from './option/index.js';
11
+ import { BuilderPathSchema, BuilderPathsSchema } from './paths.js';
11
12
  import { BuilderPricingSchema, BuilderPricingSerialisedSchema, BuilderRatesSchema } from './pricing/index.js';
12
13
  import { BuilderUIDescribeSchema, BuilderUIDescribeSerialisedSchema, BuilderUIInputSchema, BuilderUIInputSerialisedSchema, BuilderUIItemsSerialisedSchema, BuilderUIPageSchema, BuilderUIPageSerialisedSchema, BuilderUIPagesSchema, BuilderUIPagesSerialisedSchema, BuilderUISchema, BuilderUISerialisedSchema } from './ui/index.js';
13
14
  export const entitiesMap = {
14
15
  builder: { runtime: BuilderSchema, serialised: BuilderSerialisedSchema },
15
16
  model: { runtime: BuilderModelSchema, serialised: BuilderModelSerialisedSchema },
16
- select: { runtime: BuilderSelectTypeSchema, serialised: BuilderSelectTypeSerialisedSchema },
17
- toggle: { runtime: BuilderToggleTypeSchema, serialised: BuilderToggleTypeSerialisedSchema },
17
+ select: { runtime: BuilderSelectConfigSchema, serialised: BuilderSelectConfigSerialisedSchema },
18
+ toggle: { runtime: BuilderToggleConfigSchema, serialised: BuilderToggleConfigSerialisedSchema },
18
19
  optionSelectMap: {
19
20
  runtime: BuilderOptionSelectMapSerialisedSchema,
20
21
  serialised: BuilderOptionSelectMapSerialisedSchema
@@ -23,9 +24,9 @@ export const entitiesMap = {
23
24
  runtime: BuilderOptionWhenSerialisedSchema,
24
25
  serialised: BuilderOptionWhenSerialisedSchema
25
26
  },
26
- componentDetails: {
27
- runtime: BuilderComponentDetailsSchema,
28
- serialised: BuilderComponentDetailsSerialisedSchema
27
+ componentConfig: {
28
+ runtime: BuilderComponentConfigSchema,
29
+ serialised: BuilderComponentConfigSerialisedSchema
29
30
  },
30
31
  componentSelectMap: {
31
32
  runtime: BuilderComponentSelectMapSerialisedSchema,
@@ -65,7 +66,12 @@ export const entitiesMap = {
65
66
  string: { runtime: v.string(), serialised: v.string() },
66
67
  boolean: { runtime: v.boolean(), serialised: v.boolean() }
67
68
  };
68
- export const serialise = Object.fromEntries(Object.keys(entitiesMap).map((kind) => [kind, serialiseValue]));
69
+ export const validateNumber = createEntityValidator('number', entitiesMap.number.serialised);
70
+ export const validateString = createEntityValidator('string', entitiesMap.string.serialised);
71
+ export const validateBoolean = createEntityValidator('boolean', entitiesMap.boolean.serialised);
72
+ export const BuilderEntityKindSchema = v.picklist(builderEntityKinds);
73
+ export const BuilderEntitySerialisedSchema = v.union(builderEntityKinds.map((kind) => entitiesMap[kind].serialised));
74
+ export const serialise = Object.fromEntries(builderEntityKinds.map((kind) => [kind, serialiseValue]));
69
75
  export function serialiseValue(value) {
70
76
  if (value == null || typeof value !== 'object') {
71
77
  return value;
@@ -141,7 +147,7 @@ const serialiserMap = [
141
147
  serialiser(BuilderOptionSchema, serialiseNamedEntry),
142
148
  serialiser(BuilderComponentSchema, serialiseNamedEntry),
143
149
  serialiser(BuilderCollectionSchema, serialiseNamedEntry),
144
- serialiser(BuilderComponentDetailsSchema, (value) => ({
150
+ serialiser(BuilderComponentConfigSchema, (value) => ({
145
151
  fields: serialiseValue(value.fields),
146
152
  tags: value.tags
147
153
  })),
@@ -158,7 +164,7 @@ const serialiserMap = [
158
164
  max: serialiseValue(value.max),
159
165
  tags: value.tags
160
166
  })),
161
- serialiser(BuilderSelectTypeSchema, (value) => ({
167
+ serialiser(BuilderSelectConfigSchema, (value) => ({
162
168
  type: 'select',
163
169
  options: value.options,
164
170
  defaultValue: value.defaultValue,
@@ -166,7 +172,7 @@ const serialiserMap = [
166
172
  optionLabels: value.optionLabels,
167
173
  tags: value.tags
168
174
  })),
169
- serialiser(BuilderToggleTypeSchema, (value) => ({
175
+ serialiser(BuilderToggleConfigSchema, (value) => ({
170
176
  type: 'toggle',
171
177
  valueType: value.valueType,
172
178
  defaultValue: value.defaultValue,
@@ -287,3 +287,18 @@ export declare const BuilderUIDescribeSerialisedSchema: v.SchemaWithPipe<readonl
287
287
  tags?: readonly string[] | undefined;
288
288
  }>]>;
289
289
  export type BuilderUIDescribeSerialised = v.InferOutput<typeof BuilderUIDescribeSerialisedSchema>;
290
+ export declare const validateUIDescribe: (input: unknown, references?: import("..").BuilderReferences, errors?: import("../../errors").BuilderValidateErrors) => import("..").ValidationResult<{
291
+ readonly type: "describe";
292
+ readonly label: string;
293
+ readonly inputs: readonly {
294
+ readonly type: "input";
295
+ readonly path: readonly (string | number)[];
296
+ readonly displayName?: string | undefined;
297
+ readonly kind?: string | undefined;
298
+ readonly metadata?: {
299
+ readonly [x: string]: unknown;
300
+ } | undefined;
301
+ readonly tags?: readonly string[] | undefined;
302
+ }[];
303
+ readonly tags?: readonly string[] | undefined;
304
+ }>;
@@ -1,6 +1,7 @@
1
1
  import * as v from 'valibot';
2
- import { paramable } from '../../references.js';
3
- import { serialisable } from '../../serialisable.js';
2
+ import { isParamable, paramable } from '../../references.js';
3
+ import { createEntityValidator } from '../kind.js';
4
+ import { serialisable } from '../serialisable.js';
4
5
  import { BuilderTagsSchema } from '../tags.js';
5
6
  import { BuilderUIInputsSerialisedSchema } from './input.js';
6
7
  export const BuilderDescriptionItemSchema = v.pipe(v.tuple([v.string(), v.string()]), v.readonly());
@@ -26,3 +27,11 @@ export const BuilderUIDescribeSerialisedSchema = serialisable(v.object({
26
27
  inputs: paramable(BuilderUIInputsSerialisedSchema),
27
28
  tags: v.optional(BuilderTagsSchema)
28
29
  }));
30
+ export const validateUIDescribe = createEntityValidator('uiDescribe', BuilderUIDescribeSerialisedSchema, (input, errors) => {
31
+ if (!isParamable(input.label) && input.label.length === 0) {
32
+ errors.emptyLabel();
33
+ }
34
+ if (!isParamable(input.inputs) && input.inputs.length === 0) {
35
+ errors.emptyInputs();
36
+ }
37
+ });
@@ -3,9 +3,9 @@ export type { BuilderUIInputMetadata, BuilderUIInputMetadataSerialised, BuilderU
3
3
  export type { BuilderUIPageSerialised } from './page';
4
4
  export type { BuilderUIItem, BuilderUIItems, BuilderUIItemSerialised, BuilderUIItemsSerialised, BuilderUIPagesSerialised } from './pages';
5
5
  export type { BuilderUIs, BuilderUIsSerialised, BuilderUISerialised } from './ui';
6
- export { BuilderDescriptionItemSchema, BuilderDescriptionSchema, BuilderUIDescribe, BuilderUIDescribeSchema, BuilderUIDescribeSerialisedSchema } from './describe.js';
7
- export { BuilderUIInput, BuilderUIInputMetadataSchema, BuilderUIInputSchema, BuilderUIInputSerialisedSchema, BuilderUIInputsSerialisedSchema, input } from './input.js';
8
- export { BuilderUIPage, BuilderUIPageSchema, BuilderUIPageSerialisedSchema } from './page.js';
9
- export { BuilderUIItemSerialisedSchema, BuilderUIItemsSerialisedSchema, BuilderUIPages, BuilderUIPagesSchema, BuilderUIPagesSerialisedSchema } from './pages.js';
6
+ export { BuilderDescriptionItemSchema, BuilderDescriptionSchema, BuilderUIDescribe, BuilderUIDescribeSchema, BuilderUIDescribeSerialisedSchema, validateUIDescribe } from './describe.js';
7
+ export { BuilderUIInput, BuilderUIInputMetadataSchema, BuilderUIInputSchema, BuilderUIInputSerialisedSchema, BuilderUIInputsSerialisedSchema, input, validateUIInput } from './input.js';
8
+ export { BuilderUIPage, BuilderUIPageSchema, BuilderUIPageSerialisedSchema, validateUIPage } from './page.js';
9
+ export { BuilderUIItemSerialisedSchema, BuilderUIItemsSerialisedSchema, BuilderUIPages, BuilderUIPagesSchema, BuilderUIPagesSerialisedSchema, validateUIItems, validateUIPages } from './pages.js';
10
10
  export { BuilderUI, BuilderUISchema, BuilderUISerialisedSchema } from './ui.js';
11
11
  export { uis } from './uis.js';
@@ -1,6 +1,6 @@
1
- export { BuilderDescriptionItemSchema, BuilderDescriptionSchema, BuilderUIDescribe, BuilderUIDescribeSchema, BuilderUIDescribeSerialisedSchema } from './describe.js';
2
- export { BuilderUIInput, BuilderUIInputMetadataSchema, BuilderUIInputSchema, BuilderUIInputSerialisedSchema, BuilderUIInputsSerialisedSchema, input } from './input.js';
3
- export { BuilderUIPage, BuilderUIPageSchema, BuilderUIPageSerialisedSchema } from './page.js';
4
- export { BuilderUIItemSerialisedSchema, BuilderUIItemsSerialisedSchema, BuilderUIPages, BuilderUIPagesSchema, BuilderUIPagesSerialisedSchema } from './pages.js';
1
+ export { BuilderDescriptionItemSchema, BuilderDescriptionSchema, BuilderUIDescribe, BuilderUIDescribeSchema, BuilderUIDescribeSerialisedSchema, validateUIDescribe } from './describe.js';
2
+ export { BuilderUIInput, BuilderUIInputMetadataSchema, BuilderUIInputSchema, BuilderUIInputSerialisedSchema, BuilderUIInputsSerialisedSchema, input, validateUIInput } from './input.js';
3
+ export { BuilderUIPage, BuilderUIPageSchema, BuilderUIPageSerialisedSchema, validateUIPage } from './page.js';
4
+ export { BuilderUIItemSerialisedSchema, BuilderUIItemsSerialisedSchema, BuilderUIPages, BuilderUIPagesSchema, BuilderUIPagesSerialisedSchema, validateUIItems, validateUIPages } from './pages.js';
5
5
  export { BuilderUI, BuilderUISchema, BuilderUISerialisedSchema } from './ui.js';
6
6
  export { uis } from './uis.js';
@@ -1,7 +1,6 @@
1
- import type { BuilderPath } from '../../paths';
2
1
  import type { Paramable, ParamableSerialised } from '../../references';
3
- import type { BuilderModelGeneric, BuilderModelStateOf } from '../model/model';
4
- import type { BuilderModelState } from '../model/state';
2
+ import type { BuilderModelGeneric, BuilderModelState, BuilderModelStateOf } from '../model/index';
3
+ import type { BuilderPath } from '../paths';
5
4
  import type { BuilderTags } from '../tags';
6
5
  import type { BuilderValidPath } from '../when';
7
6
  import * as v from 'valibot';
@@ -334,6 +333,16 @@ export declare const BuilderUIInputsSerialisedSchema: v.SchemaWithPipe<readonly
334
333
  tags?: readonly string[] | undefined;
335
334
  }>)[]>]>;
336
335
  export type BuilderUIInputsSerialised = v.InferOutput<typeof BuilderUIInputsSerialisedSchema>;
336
+ export declare const validateUIInput: (input: unknown, references?: import("..").BuilderReferences, errors?: import("../../errors").BuilderValidateErrors) => import("..").ValidationResult<{
337
+ readonly type: "input";
338
+ readonly path: readonly (string | number)[];
339
+ readonly displayName?: string | undefined;
340
+ readonly kind?: string | undefined;
341
+ readonly metadata?: {
342
+ readonly [x: string]: unknown;
343
+ } | undefined;
344
+ readonly tags?: readonly string[] | undefined;
345
+ }>;
337
346
  export type BuilderUIInputs = ReadonlyArray<Paramable<BuilderUIInput>>;
338
347
  export type BuilderUIValidInput<State extends BuilderModelState> = {
339
348
  readonly type: 'input';
@@ -1,7 +1,8 @@
1
1
  import * as v from 'valibot';
2
- import { BuilderPathSchema } from '../../paths.js';
3
2
  import { paramable } from '../../references.js';
4
- import { serialisable } from '../../serialisable.js';
3
+ import { createEntityValidator } from '../kind.js';
4
+ import { BuilderPathSchema } from '../paths.js';
5
+ import { serialisable } from '../serialisable.js';
5
6
  import { BuilderTagsSchema } from '../tags.js';
6
7
  export class BuilderUIInput {
7
8
  type = 'input';
@@ -49,3 +50,4 @@ export const BuilderUIInputSerialisedSchema = serialisable(v.object({
49
50
  tags: v.optional(BuilderTagsSchema)
50
51
  }));
51
52
  export const BuilderUIInputsSerialisedSchema = v.pipe(v.array(paramable(BuilderUIInputSerialisedSchema)), v.readonly());
53
+ export const validateUIInput = createEntityValidator('uiInput', BuilderUIInputSerialisedSchema);
@@ -283,3 +283,18 @@ export declare const BuilderUIPageSerialisedSchema: v.SchemaWithPipe<readonly [v
283
283
  tags?: readonly string[] | undefined;
284
284
  }>]>;
285
285
  export type BuilderUIPageSerialised = v.InferOutput<typeof BuilderUIPageSerialisedSchema>;
286
+ export declare const validateUIPage: (input: unknown, references?: import("..").BuilderReferences, errors?: import("../../errors").BuilderValidateErrors) => import("..").ValidationResult<{
287
+ readonly type: "page";
288
+ readonly label: string;
289
+ readonly inputs: readonly {
290
+ readonly type: "input";
291
+ readonly path: readonly (string | number)[];
292
+ readonly displayName?: string | undefined;
293
+ readonly kind?: string | undefined;
294
+ readonly metadata?: {
295
+ readonly [x: string]: unknown;
296
+ } | undefined;
297
+ readonly tags?: readonly string[] | undefined;
298
+ }[];
299
+ readonly tags?: readonly string[] | undefined;
300
+ }>;
@@ -1,6 +1,7 @@
1
1
  import * as v from 'valibot';
2
- import { paramable } from '../../references.js';
3
- import { serialisable } from '../../serialisable.js';
2
+ import { isParamable, paramable } from '../../references.js';
3
+ import { createEntityValidator } from '../kind.js';
4
+ import { serialisable } from '../serialisable.js';
4
5
  import { BuilderTagsSchema } from '../tags.js';
5
6
  import { BuilderUIInputsSerialisedSchema } from './input.js';
6
7
  export class BuilderUIPage {
@@ -24,3 +25,11 @@ export const BuilderUIPageSerialisedSchema = serialisable(v.object({
24
25
  inputs: paramable(BuilderUIInputsSerialisedSchema),
25
26
  tags: v.optional(BuilderTagsSchema)
26
27
  }));
28
+ export const validateUIPage = createEntityValidator('uiPage', BuilderUIPageSerialisedSchema, (input, errors) => {
29
+ if (!isParamable(input.label) && input.label.length === 0) {
30
+ errors.emptyLabel();
31
+ }
32
+ if (!isParamable(input.inputs) && input.inputs.length === 0) {
33
+ errors.emptyInputs();
34
+ }
35
+ });