@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.
- package/dist/bb.d.ts +12 -14
- package/dist/bb.js +32 -6
- package/dist/entities/builder/bind.d.ts +1 -1
- package/dist/entities/builder/builder.d.ts +2 -4
- package/dist/entities/builder/builder.js +1 -1
- package/dist/entities/collection/collection.d.ts +689 -1
- package/dist/entities/collection/collection.js +5 -2
- package/dist/entities/collection/config.d.ts +290 -0
- package/dist/entities/collection/config.js +13 -2
- package/dist/entities/collection/expectation.d.ts +1 -1
- package/dist/entities/collection/index.d.ts +3 -3
- package/dist/entities/collection/index.js +2 -2
- package/dist/entities/collection/when.d.ts +1 -1
- package/dist/entities/component/component.d.ts +64 -10
- package/dist/entities/component/component.js +9 -6
- package/dist/entities/component/config.d.ts +145 -0
- package/dist/entities/component/config.js +42 -0
- package/dist/entities/component/field.js +1 -1
- package/dist/entities/component/index.d.ts +3 -3
- package/dist/entities/component/index.js +2 -2
- package/dist/entities/component/when.d.ts +6 -6
- package/dist/entities/component/when.js +3 -3
- package/dist/entities/expectation.d.ts +4 -0
- package/dist/entities/expectation.js +3 -1
- package/dist/entities/index.d.ts +18 -17
- package/dist/entities/index.js +11 -10
- package/dist/entities/kind.d.ts +10 -7
- package/dist/entities/kind.js +39 -5
- package/dist/entities/model/bind.d.ts +1 -1
- package/dist/entities/model/index.d.ts +1 -1
- package/dist/entities/model/methods.d.ts +12 -12
- package/dist/entities/model/methods.js +2 -2
- package/dist/entities/model/model.js +1 -1
- package/dist/entities/model/models.d.ts +1 -1
- package/dist/entities/option/config.d.ts +109 -0
- package/dist/entities/option/config.js +15 -0
- package/dist/entities/option/index.d.ts +7 -7
- package/dist/entities/option/index.js +4 -4
- package/dist/entities/option/option.d.ts +88 -10
- package/dist/entities/option/option.js +9 -6
- package/dist/entities/option/select.d.ts +24 -14
- package/dist/entities/option/select.js +17 -6
- package/dist/entities/option/toggle.d.ts +17 -10
- package/dist/entities/option/toggle.js +19 -8
- package/dist/entities/option/when.d.ts +6 -6
- package/dist/{paths.d.ts → entities/paths.d.ts} +2 -0
- package/dist/{paths.js → entities/paths.js} +3 -0
- package/dist/entities/pricing/index.d.ts +1 -1
- package/dist/entities/pricing/index.js +1 -1
- package/dist/entities/pricing/pricing.js +1 -1
- package/dist/entities/pricing/rates.d.ts +5 -0
- package/dist/entities/pricing/rates.js +3 -1
- package/dist/entities/references.d.ts +723 -0
- package/dist/entities/references.js +7 -0
- package/dist/entities/serialise.d.ts +49 -43
- package/dist/entities/serialise.js +19 -13
- package/dist/entities/ui/describe.d.ts +15 -0
- package/dist/entities/ui/describe.js +11 -2
- package/dist/entities/ui/index.d.ts +4 -4
- package/dist/entities/ui/index.js +4 -4
- package/dist/entities/ui/input.d.ts +12 -3
- package/dist/entities/ui/input.js +4 -2
- package/dist/entities/ui/page.d.ts +15 -0
- package/dist/entities/ui/page.js +11 -2
- package/dist/entities/ui/pages.d.ts +132 -0
- package/dist/entities/ui/pages.js +12 -2
- package/dist/entities/ui/ui.d.ts +2 -3
- package/dist/entities/ui/ui.js +2 -2
- package/dist/entities/ui/uis.d.ts +1 -1
- package/dist/entities/ui/uis.js +2 -2
- package/dist/entities/validated.d.ts +26 -18
- package/dist/entities/when.d.ts +4 -3
- package/dist/entities/when.js +22 -2
- package/dist/environment.d.ts +2 -2
- package/dist/{validate → errors}/errors.d.ts +57 -35
- package/dist/{validate → errors}/errors.js +40 -5
- package/dist/errors/exception.d.ts +5 -0
- package/dist/{exception.js → errors/exception.js} +0 -3
- package/dist/errors/index.d.ts +4 -0
- package/dist/errors/index.js +3 -0
- package/dist/index.d.ts +19 -18
- package/dist/index.js +5 -4
- package/dist/instance.d.ts +7 -7
- package/dist/instance.js +4 -4
- package/dist/mappers/index.d.ts +2 -4
- package/dist/mappers/index.js +1 -2
- package/dist/mappers/instance.d.ts +2 -2
- package/dist/mappers/instance.js +7 -7
- package/dist/mappers/order.d.ts +4 -4
- package/dist/mappers/order.js +5 -5
- package/dist/mappers/price.js +18 -18
- package/dist/mappers/render/pages.d.ts +2 -2
- package/dist/mappers/render/render.d.ts +2 -2
- package/dist/mappers/render/render.js +12 -12
- package/dist/mappers/resolve.d.ts +11 -12
- package/dist/mappers/resolve.js +29 -46
- package/dist/mappers/variants/option-graph.d.ts +2 -3
- package/dist/mappers/variants/option-graph.js +2 -3
- package/dist/mappers/variants/variants.d.ts +2 -2
- package/dist/mappers/variants/variants.js +1 -1
- package/dist/private.d.ts +1 -2
- package/dist/private.js +1 -2
- package/dist/references.js +1 -1
- package/dist/validate/brand.js +1 -2
- package/dist/validate/builder.d.ts +3 -4
- package/dist/validate/builder.js +2 -3
- package/dist/validate/expectations.d.ts +1 -1
- package/dist/validate/index.d.ts +5 -2
- package/dist/validate/index.js +1 -0
- package/dist/validate/instance.d.ts +2 -3
- package/dist/validate/instance.js +1 -2
- package/dist/validate/model.d.ts +3 -4
- package/dist/validate/model.js +39 -44
- package/dist/validate/paths.d.ts +2 -3
- package/dist/validate/paths.js +1 -1
- package/dist/validate/pricing.d.ts +3 -4
- package/dist/validate/pricing.js +2 -3
- package/dist/validate/resolve.d.ts +3 -3
- package/dist/validate/resolve.js +1 -1
- package/dist/validate/ui.d.ts +3 -4
- package/dist/validate/ui.js +14 -5
- package/dist/validate/variants.d.ts +4 -5
- package/dist/validate/variants.js +6 -7
- package/package.json +7 -2
- package/dist/entities/component/details.d.ts +0 -66
- package/dist/entities/component/details.js +0 -24
- package/dist/entities/entry.d.ts +0 -4
- package/dist/entities/entry.js +0 -1
- package/dist/entities/option/values.d.ts +0 -49
- package/dist/entities/option/values.js +0 -14
- package/dist/entities/refs.d.ts +0 -6
- package/dist/entities/refs.js +0 -1
- package/dist/exception.d.ts +0 -13
- package/dist/validate/result.d.ts +0 -2
- package/dist/validate/result.js +0 -1
- /package/dist/{serialisable.d.ts → entities/serialisable.d.ts} +0 -0
- /package/dist/{serialisable.js → entities/serialisable.js} +0 -0
- /package/dist/{check.d.ts → errors/check.d.ts} +0 -0
- /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("
|
|
5
|
-
readonly serialised: v.GenericSchema<import("
|
|
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("
|
|
9
|
-
readonly serialised: v.GenericSchema<import("
|
|
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("
|
|
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("
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
124
|
-
readonly runtime: v.InstanceSchema<typeof import("
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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("
|
|
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("
|
|
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("
|
|
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
|
|
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("
|
|
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
|
|
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("
|
|
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
|
|
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("
|
|
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
|
|
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("
|
|
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("
|
|
457
|
-
readonly serialised: v.GenericSchema<import("
|
|
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("
|
|
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("
|
|
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("
|
|
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("
|
|
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("
|
|
778
|
+
}> | import(".").BuilderUIItemSerialised)[]>]>;
|
|
778
779
|
};
|
|
779
780
|
readonly uiPage: {
|
|
780
|
-
readonly runtime: v.InstanceSchema<typeof import("
|
|
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("
|
|
1055
|
-
readonly serialised: v.GenericSchema<import("
|
|
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("
|
|
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("
|
|
1179
|
-
readonly serialised: v.GenericSchema<import("
|
|
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("
|
|
1183
|
-
readonly serialised: v.GenericSchema<import("
|
|
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[
|
|
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 '../
|
|
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 {
|
|
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,
|
|
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:
|
|
17
|
-
toggle: { runtime:
|
|
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
|
-
|
|
27
|
-
runtime:
|
|
28
|
-
serialised:
|
|
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
|
|
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(
|
|
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(
|
|
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(
|
|
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 {
|
|
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/
|
|
4
|
-
import type {
|
|
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 {
|
|
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
|
+
}>;
|
package/dist/entities/ui/page.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import { paramable } from '../../references.js';
|
|
3
|
-
import {
|
|
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
|
+
});
|