@builder-builder/builder 0.0.14 → 0.0.15
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 +3 -1
- package/dist/bb.js +6 -1
- package/dist/check.d.ts +2 -2
- package/dist/entities/builder/builder.d.ts +11 -1
- package/dist/entities/builder/builder.js +22 -6
- package/dist/entities/collection/collection.d.ts +7 -1
- package/dist/entities/collection/collection.js +9 -2
- package/dist/entities/collection/config.d.ts +6 -1
- package/dist/entities/collection/config.js +9 -2
- package/dist/entities/component/component.d.ts +41 -1
- package/dist/entities/component/component.js +9 -2
- package/dist/entities/component/details.d.ts +11 -2
- package/dist/entities/component/details.js +9 -2
- package/dist/entities/component/field.d.ts +10 -1
- package/dist/entities/component/field.js +13 -3
- package/dist/entities/index.d.ts +5 -1
- package/dist/entities/index.js +2 -0
- package/dist/entities/kind.d.ts +1 -1
- package/dist/entities/model/model.d.ts +5 -1
- package/dist/entities/model/model.js +10 -3
- package/dist/entities/model/models.js +9 -5
- package/dist/entities/option/option.d.ts +41 -1
- package/dist/entities/option/option.js +9 -2
- package/dist/entities/option/select.d.ts +7 -1
- package/dist/entities/option/select.js +17 -6
- package/dist/entities/option/toggle.d.ts +7 -1
- package/dist/entities/option/toggle.js +16 -4
- package/dist/entities/option/values.d.ts +6 -0
- package/dist/entities/pricing.d.ts +64 -0
- package/dist/entities/pricing.js +48 -0
- package/dist/entities/serialise.d.ts +78 -0
- package/dist/entities/serialise.js +30 -11
- package/dist/entities/tags.d.ts +3 -0
- package/dist/entities/tags.js +2 -0
- package/dist/entities/ui/describe.d.ts +10 -1
- package/dist/entities/ui/describe.js +9 -2
- package/dist/entities/ui/input.d.ts +10 -1
- package/dist/entities/ui/input.js +17 -5
- package/dist/entities/ui/page.d.ts +10 -1
- package/dist/entities/ui/page.js +9 -2
- package/dist/entities/ui/pages.d.ts +5 -1
- package/dist/entities/ui/pages.js +9 -2
- package/dist/entities/ui/ui.d.ts +6 -1
- package/dist/entities/ui/ui.js +27 -12
- package/dist/entities/validated.d.ts +3 -1
- package/dist/exception.d.ts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/instance.d.ts +9 -0
- package/dist/instance.js +3 -1
- package/dist/mappers/index.d.ts +3 -2
- package/dist/mappers/index.js +2 -1
- package/dist/mappers/pricing.d.ts +3 -0
- package/dist/mappers/pricing.js +101 -0
- package/dist/validate/builder.js +5 -1
- package/dist/validate/errors.d.ts +9 -1
- package/dist/validate/errors.js +7 -0
- package/dist/validate/index.d.ts +3 -1
- package/dist/validate/index.js +1 -0
- package/dist/validate/pricing.d.ts +6 -0
- package/dist/validate/pricing.js +71 -0
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Paramable } from '../../references';
|
|
2
|
+
import type { BuilderTags } from '../tags';
|
|
2
3
|
import type { BuilderUIInputs } from './input';
|
|
3
4
|
import * as v from 'valibot';
|
|
4
5
|
export declare const BuilderDescriptionItemSchema: v.SchemaWithPipe<readonly [v.TupleSchema<[v.StringSchema<undefined>, v.StringSchema<undefined>], undefined>, v.ReadonlyAction<[string, string]>]>;
|
|
@@ -9,7 +10,9 @@ export declare class BuilderUIDescribe<const Label extends Paramable<string> = P
|
|
|
9
10
|
readonly type: "describe";
|
|
10
11
|
readonly label: Label;
|
|
11
12
|
readonly inputs: Inputs;
|
|
12
|
-
|
|
13
|
+
readonly tags?: BuilderTags;
|
|
14
|
+
constructor(label: Label, inputs: Inputs, tags?: BuilderTags);
|
|
15
|
+
tag(...tags: Array<string>): BuilderUIDescribe<Label, Inputs>;
|
|
13
16
|
}
|
|
14
17
|
export declare const BuilderUIDescribeSchema: v.InstanceSchema<typeof BuilderUIDescribe, undefined>;
|
|
15
18
|
export declare const BuilderUIDescribeSerialisedSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
@@ -135,6 +138,7 @@ export declare const BuilderUIDescribeSerialisedSchema: v.SchemaWithPipe<readonl
|
|
|
135
138
|
}>]>, v.UnknownSchema], undefined>, undefined>, v.ReadonlyAction<{
|
|
136
139
|
[x: string]: unknown;
|
|
137
140
|
}>]>], undefined>, undefined>;
|
|
141
|
+
readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.StringSchema<undefined>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
|
|
138
142
|
}, undefined>, v.ReadonlyAction<{
|
|
139
143
|
type: "input";
|
|
140
144
|
path: readonly (string | number)[] | Readonly<{
|
|
@@ -171,6 +175,7 @@ export declare const BuilderUIDescribeSerialisedSchema: v.SchemaWithPipe<readonl
|
|
|
171
175
|
}> | Readonly<{
|
|
172
176
|
[x: string]: unknown;
|
|
173
177
|
}> | undefined;
|
|
178
|
+
tags?: readonly string[] | undefined;
|
|
174
179
|
}>]>], undefined>, undefined>, v.ReadonlyAction<(Readonly<{
|
|
175
180
|
type: "parameter";
|
|
176
181
|
id: string;
|
|
@@ -214,7 +219,9 @@ export declare const BuilderUIDescribeSerialisedSchema: v.SchemaWithPipe<readonl
|
|
|
214
219
|
}> | Readonly<{
|
|
215
220
|
[x: string]: unknown;
|
|
216
221
|
}> | undefined;
|
|
222
|
+
tags?: readonly string[] | undefined;
|
|
217
223
|
}>)[]>]>], undefined>;
|
|
224
|
+
readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.StringSchema<undefined>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
|
|
218
225
|
}, undefined>, v.ReadonlyAction<{
|
|
219
226
|
type: "describe";
|
|
220
227
|
label: string | Readonly<{
|
|
@@ -275,6 +282,8 @@ export declare const BuilderUIDescribeSerialisedSchema: v.SchemaWithPipe<readonl
|
|
|
275
282
|
}> | Readonly<{
|
|
276
283
|
[x: string]: unknown;
|
|
277
284
|
}> | undefined;
|
|
285
|
+
tags?: readonly string[] | undefined;
|
|
278
286
|
}>)[];
|
|
287
|
+
tags?: readonly string[] | undefined;
|
|
279
288
|
}>]>;
|
|
280
289
|
export type BuilderUIDescribeSerialised = v.InferOutput<typeof BuilderUIDescribeSerialisedSchema>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
2
|
import { paramable } from '../../references.js';
|
|
3
3
|
import { serialisable } from '../../serialisable.js';
|
|
4
|
+
import { BuilderTagsSchema } from '../tags.js';
|
|
4
5
|
import { BuilderUIInputsSerialisedSchema } from './input.js';
|
|
5
6
|
export const BuilderDescriptionItemSchema = v.pipe(v.tuple([v.string(), v.string()]), v.readonly());
|
|
6
7
|
export const BuilderDescriptionSchema = v.pipe(v.array(BuilderDescriptionItemSchema), v.readonly());
|
|
@@ -8,14 +9,20 @@ export class BuilderUIDescribe {
|
|
|
8
9
|
type = 'describe';
|
|
9
10
|
label;
|
|
10
11
|
inputs;
|
|
11
|
-
|
|
12
|
+
tags;
|
|
13
|
+
constructor(label, inputs, tags) {
|
|
12
14
|
this.label = label;
|
|
13
15
|
this.inputs = inputs;
|
|
16
|
+
this.tags = tags;
|
|
17
|
+
}
|
|
18
|
+
tag(...tags) {
|
|
19
|
+
return new BuilderUIDescribe(this.label, this.inputs, tags);
|
|
14
20
|
}
|
|
15
21
|
}
|
|
16
22
|
export const BuilderUIDescribeSchema = v.instance(BuilderUIDescribe);
|
|
17
23
|
export const BuilderUIDescribeSerialisedSchema = serialisable(v.object({
|
|
18
24
|
type: v.literal('describe'),
|
|
19
25
|
label: paramable(v.string()),
|
|
20
|
-
inputs: paramable(BuilderUIInputsSerialisedSchema)
|
|
26
|
+
inputs: paramable(BuilderUIInputsSerialisedSchema),
|
|
27
|
+
tags: v.optional(BuilderTagsSchema)
|
|
21
28
|
}));
|
|
@@ -2,20 +2,24 @@ import type { BuilderPath } from '../../paths';
|
|
|
2
2
|
import type { Paramable, ParamableSerialised } from '../../references';
|
|
3
3
|
import type { BuilderModelGeneric, BuilderModelStateOf } from '../model/model';
|
|
4
4
|
import type { BuilderModelState } from '../model/state';
|
|
5
|
+
import type { BuilderTags } from '../tags';
|
|
5
6
|
import type { BuilderValidPath } from '../when';
|
|
6
7
|
import * as v from 'valibot';
|
|
7
8
|
export type BuilderUIInputMetadata = Paramable<Record<string, Paramable<unknown>>>;
|
|
8
9
|
export type BuilderUIInputMetadataSerialised = ParamableSerialised<Record<string, ParamableSerialised<unknown>>>;
|
|
9
10
|
export declare class BuilderUIInput<const Path extends Paramable<BuilderPath> = Paramable<BuilderPath>, const DisplayName extends Paramable<string> = Paramable<string>, const Kind extends Paramable<string> = Paramable<string>, const Metadata extends BuilderUIInputMetadata = BuilderUIInputMetadata> {
|
|
11
|
+
#private;
|
|
10
12
|
readonly type: "input";
|
|
11
13
|
readonly path: Path;
|
|
12
14
|
readonly displayName?: DisplayName;
|
|
13
15
|
readonly kind?: Kind;
|
|
14
16
|
readonly metadata?: Metadata;
|
|
15
|
-
|
|
17
|
+
readonly tags?: BuilderTags;
|
|
18
|
+
constructor(path: Path, displayName?: DisplayName, kind?: Kind, metadata?: Metadata, tags?: BuilderTags);
|
|
16
19
|
display<const NewDisplayName extends Paramable<string>>(displayName: NewDisplayName): BuilderUIInput<Path, NewDisplayName, Kind, Metadata>;
|
|
17
20
|
as<const NewKind extends Paramable<string>>(kind: NewKind): BuilderUIInput<Path, DisplayName, NewKind, Metadata>;
|
|
18
21
|
meta<const NewMetadata extends BuilderUIInputMetadata>(metadata: NewMetadata): BuilderUIInput<Path, DisplayName, Kind, NewMetadata>;
|
|
22
|
+
tag(...tags: Array<string>): BuilderUIInput<Path, DisplayName, Kind, Metadata>;
|
|
19
23
|
}
|
|
20
24
|
export declare function input<const Path extends Paramable<BuilderPath>>(path: Path): BuilderUIInput<Path>;
|
|
21
25
|
export declare const BuilderUIInputSchema: v.InstanceSchema<typeof BuilderUIInput, undefined>;
|
|
@@ -114,6 +118,7 @@ export declare const BuilderUIInputSerialisedSchema: v.SchemaWithPipe<readonly [
|
|
|
114
118
|
}>]>, v.UnknownSchema], undefined>, undefined>, v.ReadonlyAction<{
|
|
115
119
|
[x: string]: unknown;
|
|
116
120
|
}>]>], undefined>, undefined>;
|
|
121
|
+
readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.StringSchema<undefined>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
|
|
117
122
|
}, undefined>, v.ReadonlyAction<{
|
|
118
123
|
type: "input";
|
|
119
124
|
path: readonly (string | number)[] | Readonly<{
|
|
@@ -150,6 +155,7 @@ export declare const BuilderUIInputSerialisedSchema: v.SchemaWithPipe<readonly [
|
|
|
150
155
|
}> | Readonly<{
|
|
151
156
|
[x: string]: unknown;
|
|
152
157
|
}> | undefined;
|
|
158
|
+
tags?: readonly string[] | undefined;
|
|
153
159
|
}>]>;
|
|
154
160
|
export type BuilderUIInputSerialised = v.InferOutput<typeof BuilderUIInputSerialisedSchema>;
|
|
155
161
|
export declare const BuilderUIInputsSerialisedSchema: v.SchemaWithPipe<readonly [v.ArraySchema<v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
@@ -244,6 +250,7 @@ export declare const BuilderUIInputsSerialisedSchema: v.SchemaWithPipe<readonly
|
|
|
244
250
|
}>]>, v.UnknownSchema], undefined>, undefined>, v.ReadonlyAction<{
|
|
245
251
|
[x: string]: unknown;
|
|
246
252
|
}>]>], undefined>, undefined>;
|
|
253
|
+
readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.StringSchema<undefined>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
|
|
247
254
|
}, undefined>, v.ReadonlyAction<{
|
|
248
255
|
type: "input";
|
|
249
256
|
path: readonly (string | number)[] | Readonly<{
|
|
@@ -280,6 +287,7 @@ export declare const BuilderUIInputsSerialisedSchema: v.SchemaWithPipe<readonly
|
|
|
280
287
|
}> | Readonly<{
|
|
281
288
|
[x: string]: unknown;
|
|
282
289
|
}> | undefined;
|
|
290
|
+
tags?: readonly string[] | undefined;
|
|
283
291
|
}>]>], undefined>, undefined>, v.ReadonlyAction<(Readonly<{
|
|
284
292
|
type: "parameter";
|
|
285
293
|
id: string;
|
|
@@ -323,6 +331,7 @@ export declare const BuilderUIInputsSerialisedSchema: v.SchemaWithPipe<readonly
|
|
|
323
331
|
}> | Readonly<{
|
|
324
332
|
[x: string]: unknown;
|
|
325
333
|
}> | undefined;
|
|
334
|
+
tags?: readonly string[] | undefined;
|
|
326
335
|
}>)[]>]>;
|
|
327
336
|
export type BuilderUIInputsSerialised = v.InferOutput<typeof BuilderUIInputsSerialisedSchema>;
|
|
328
337
|
export type BuilderUIInputs = ReadonlyArray<Paramable<BuilderUIInput>>;
|
|
@@ -2,26 +2,37 @@ import * as v from 'valibot';
|
|
|
2
2
|
import { BuilderPathSchema } from '../../paths.js';
|
|
3
3
|
import { paramable } from '../../references.js';
|
|
4
4
|
import { serialisable } from '../../serialisable.js';
|
|
5
|
+
import { BuilderTagsSchema } from '../tags.js';
|
|
5
6
|
export class BuilderUIInput {
|
|
6
7
|
type = 'input';
|
|
7
8
|
path;
|
|
8
9
|
displayName;
|
|
9
10
|
kind;
|
|
10
11
|
metadata;
|
|
11
|
-
|
|
12
|
+
tags;
|
|
13
|
+
constructor(path, displayName, kind, metadata, tags) {
|
|
12
14
|
this.path = path;
|
|
13
15
|
this.displayName = displayName;
|
|
14
16
|
this.kind = kind;
|
|
15
17
|
this.metadata = metadata;
|
|
18
|
+
this.tags = tags;
|
|
19
|
+
}
|
|
20
|
+
#next(patch) {
|
|
21
|
+
return new BuilderUIInput(this.path, patch.displayName ?? this.displayName, patch.kind ?? this.kind, patch.metadata ?? this.metadata, patch.tags ?? this.tags);
|
|
16
22
|
}
|
|
17
23
|
display(displayName) {
|
|
18
|
-
return
|
|
24
|
+
return this.#next({
|
|
25
|
+
displayName: displayName
|
|
26
|
+
});
|
|
19
27
|
}
|
|
20
28
|
as(kind) {
|
|
21
|
-
return
|
|
29
|
+
return this.#next({ kind: kind });
|
|
22
30
|
}
|
|
23
31
|
meta(metadata) {
|
|
24
|
-
return
|
|
32
|
+
return this.#next({ metadata: metadata });
|
|
33
|
+
}
|
|
34
|
+
tag(...tags) {
|
|
35
|
+
return this.#next({ tags });
|
|
25
36
|
}
|
|
26
37
|
}
|
|
27
38
|
export function input(path) {
|
|
@@ -34,6 +45,7 @@ export const BuilderUIInputSerialisedSchema = serialisable(v.object({
|
|
|
34
45
|
path: paramable(BuilderPathSchema),
|
|
35
46
|
displayName: v.optional(paramable(v.string())),
|
|
36
47
|
kind: v.optional(paramable(v.string())),
|
|
37
|
-
metadata: v.optional(paramable(BuilderUIInputMetadataSchema))
|
|
48
|
+
metadata: v.optional(paramable(BuilderUIInputMetadataSchema)),
|
|
49
|
+
tags: v.optional(BuilderTagsSchema)
|
|
38
50
|
}));
|
|
39
51
|
export const BuilderUIInputsSerialisedSchema = v.pipe(v.array(paramable(BuilderUIInputSerialisedSchema)), v.readonly());
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import type { Paramable } from '../../references';
|
|
2
|
+
import type { BuilderTags } from '../tags';
|
|
2
3
|
import type { BuilderUIInputs } from './input';
|
|
3
4
|
import * as v from 'valibot';
|
|
4
5
|
export declare class BuilderUIPage<const Label extends Paramable<string> = Paramable<string>, const Inputs extends Paramable<BuilderUIInputs> = Paramable<BuilderUIInputs>> {
|
|
5
6
|
readonly type: "page";
|
|
6
7
|
readonly label: Label;
|
|
7
8
|
readonly inputs: Inputs;
|
|
8
|
-
|
|
9
|
+
readonly tags?: BuilderTags;
|
|
10
|
+
constructor(label: Label, inputs: Inputs, tags?: BuilderTags);
|
|
11
|
+
tag(...tags: Array<string>): BuilderUIPage<Label, Inputs>;
|
|
9
12
|
}
|
|
10
13
|
export declare const BuilderUIPageSchema: v.InstanceSchema<typeof BuilderUIPage, undefined>;
|
|
11
14
|
export declare const BuilderUIPageSerialisedSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
@@ -131,6 +134,7 @@ export declare const BuilderUIPageSerialisedSchema: v.SchemaWithPipe<readonly [v
|
|
|
131
134
|
}>]>, v.UnknownSchema], undefined>, undefined>, v.ReadonlyAction<{
|
|
132
135
|
[x: string]: unknown;
|
|
133
136
|
}>]>], undefined>, undefined>;
|
|
137
|
+
readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.StringSchema<undefined>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
|
|
134
138
|
}, undefined>, v.ReadonlyAction<{
|
|
135
139
|
type: "input";
|
|
136
140
|
path: readonly (string | number)[] | Readonly<{
|
|
@@ -167,6 +171,7 @@ export declare const BuilderUIPageSerialisedSchema: v.SchemaWithPipe<readonly [v
|
|
|
167
171
|
}> | Readonly<{
|
|
168
172
|
[x: string]: unknown;
|
|
169
173
|
}> | undefined;
|
|
174
|
+
tags?: readonly string[] | undefined;
|
|
170
175
|
}>]>], undefined>, undefined>, v.ReadonlyAction<(Readonly<{
|
|
171
176
|
type: "parameter";
|
|
172
177
|
id: string;
|
|
@@ -210,7 +215,9 @@ export declare const BuilderUIPageSerialisedSchema: v.SchemaWithPipe<readonly [v
|
|
|
210
215
|
}> | Readonly<{
|
|
211
216
|
[x: string]: unknown;
|
|
212
217
|
}> | undefined;
|
|
218
|
+
tags?: readonly string[] | undefined;
|
|
213
219
|
}>)[]>]>], undefined>;
|
|
220
|
+
readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.StringSchema<undefined>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
|
|
214
221
|
}, undefined>, v.ReadonlyAction<{
|
|
215
222
|
type: "page";
|
|
216
223
|
label: string | Readonly<{
|
|
@@ -271,6 +278,8 @@ export declare const BuilderUIPageSerialisedSchema: v.SchemaWithPipe<readonly [v
|
|
|
271
278
|
}> | Readonly<{
|
|
272
279
|
[x: string]: unknown;
|
|
273
280
|
}> | undefined;
|
|
281
|
+
tags?: readonly string[] | undefined;
|
|
274
282
|
}>)[];
|
|
283
|
+
tags?: readonly string[] | undefined;
|
|
275
284
|
}>]>;
|
|
276
285
|
export type BuilderUIPageSerialised = v.InferOutput<typeof BuilderUIPageSerialisedSchema>;
|
package/dist/entities/ui/page.js
CHANGED
|
@@ -1,19 +1,26 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
2
|
import { paramable } from '../../references.js';
|
|
3
3
|
import { serialisable } from '../../serialisable.js';
|
|
4
|
+
import { BuilderTagsSchema } from '../tags.js';
|
|
4
5
|
import { BuilderUIInputsSerialisedSchema } from './input.js';
|
|
5
6
|
export class BuilderUIPage {
|
|
6
7
|
type = 'page';
|
|
7
8
|
label;
|
|
8
9
|
inputs;
|
|
9
|
-
|
|
10
|
+
tags;
|
|
11
|
+
constructor(label, inputs, tags) {
|
|
10
12
|
this.label = label;
|
|
11
13
|
this.inputs = inputs;
|
|
14
|
+
this.tags = tags;
|
|
15
|
+
}
|
|
16
|
+
tag(...tags) {
|
|
17
|
+
return new BuilderUIPage(this.label, this.inputs, tags);
|
|
12
18
|
}
|
|
13
19
|
}
|
|
14
20
|
export const BuilderUIPageSchema = v.instance(BuilderUIPage);
|
|
15
21
|
export const BuilderUIPageSerialisedSchema = serialisable(v.object({
|
|
16
22
|
type: v.literal('page'),
|
|
17
23
|
label: paramable(v.string()),
|
|
18
|
-
inputs: paramable(BuilderUIInputsSerialisedSchema)
|
|
24
|
+
inputs: paramable(BuilderUIInputsSerialisedSchema),
|
|
25
|
+
tags: v.optional(BuilderTagsSchema)
|
|
19
26
|
}));
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Paramable, ParamableSerialised } from '../../references';
|
|
2
|
+
import type { BuilderTags } from '../tags';
|
|
2
3
|
import type { BuilderUIDescribe, BuilderUIDescribeSerialised } from './describe';
|
|
3
4
|
import type { BuilderUIPage, BuilderUIPageSerialised } from './page';
|
|
4
5
|
import * as v from 'valibot';
|
|
@@ -9,7 +10,9 @@ export declare class BuilderUIPages<const Name extends string = string, const La
|
|
|
9
10
|
readonly name: Name;
|
|
10
11
|
readonly label: Label;
|
|
11
12
|
readonly items: Items;
|
|
12
|
-
|
|
13
|
+
readonly tags?: BuilderTags;
|
|
14
|
+
constructor(name: Name, label: Label, items: Items, tags?: BuilderTags);
|
|
15
|
+
tag(...tags: Array<string>): BuilderUIPages<Name, Label, Items>;
|
|
13
16
|
}
|
|
14
17
|
export declare const BuilderUIPagesSchema: v.InstanceSchema<typeof BuilderUIPages, undefined>;
|
|
15
18
|
export type BuilderUIPagesSerialised = {
|
|
@@ -17,6 +20,7 @@ export type BuilderUIPagesSerialised = {
|
|
|
17
20
|
readonly name: string;
|
|
18
21
|
readonly label: ParamableSerialised<string>;
|
|
19
22
|
readonly items: ParamableSerialised<BuilderUIItemsSerialised>;
|
|
23
|
+
readonly tags?: BuilderTags;
|
|
20
24
|
};
|
|
21
25
|
export type BuilderUIItemSerialised = BuilderUIPageSerialised | BuilderUIDescribeSerialised | BuilderUIPagesSerialised;
|
|
22
26
|
export type BuilderUIItemsSerialised = ReadonlyArray<ParamableSerialised<BuilderUIItemSerialised>>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
2
|
import { paramable } from '../../references.js';
|
|
3
3
|
import { serialisable } from '../../serialisable.js';
|
|
4
|
+
import { BuilderTagsSchema } from '../tags.js';
|
|
4
5
|
import { BuilderUIDescribeSerialisedSchema } from './describe.js';
|
|
5
6
|
import { BuilderUIPageSerialisedSchema } from './page.js';
|
|
6
7
|
export class BuilderUIPages {
|
|
@@ -8,10 +9,15 @@ export class BuilderUIPages {
|
|
|
8
9
|
name;
|
|
9
10
|
label;
|
|
10
11
|
items;
|
|
11
|
-
|
|
12
|
+
tags;
|
|
13
|
+
constructor(name, label, items, tags) {
|
|
12
14
|
this.name = name;
|
|
13
15
|
this.label = label;
|
|
14
16
|
this.items = items;
|
|
17
|
+
this.tags = tags;
|
|
18
|
+
}
|
|
19
|
+
tag(...tags) {
|
|
20
|
+
return new BuilderUIPages(this.name, this.label, this.items, tags);
|
|
15
21
|
}
|
|
16
22
|
}
|
|
17
23
|
export const BuilderUIPagesSchema = v.instance(BuilderUIPages);
|
|
@@ -19,7 +25,8 @@ export const BuilderUIPagesSerialisedSchema = serialisable(v.object({
|
|
|
19
25
|
type: v.literal('pages'),
|
|
20
26
|
name: v.string(),
|
|
21
27
|
label: paramable(v.string()),
|
|
22
|
-
items: paramable(v.lazy(() => BuilderUIItemsSerialisedSchema))
|
|
28
|
+
items: paramable(v.lazy(() => BuilderUIItemsSerialisedSchema)),
|
|
29
|
+
tags: v.optional(BuilderTagsSchema)
|
|
23
30
|
}));
|
|
24
31
|
export const BuilderUIItemSerialisedSchema = v.union([
|
|
25
32
|
BuilderUIPageSerialisedSchema,
|
package/dist/entities/ui/ui.d.ts
CHANGED
|
@@ -3,27 +3,32 @@ import type { BuilderExpectation, BuilderExpectations, BuilderExpectationsSerial
|
|
|
3
3
|
import type { CollectionNamesOf } from '../collection/index';
|
|
4
4
|
import type { BuilderModel, BuilderModelGeneric, BuilderModelStateOf } from '../model/model';
|
|
5
5
|
import type { BuilderModelStateAsserted } from '../model/expectation';
|
|
6
|
+
import type { BuilderTags } from '../tags';
|
|
6
7
|
import type { BuilderUIValidInputsOf } from './input';
|
|
7
8
|
import type { BuilderUIItems, BuilderUIItemsSerialised } from './pages';
|
|
8
9
|
import * as v from 'valibot';
|
|
9
10
|
export type BuilderUIs = ReadonlyArray<Paramable<BuilderUI>>;
|
|
10
11
|
export type BuilderUIsSerialised = ReadonlyArray<ParamableSerialised<BuilderUISerialised>>;
|
|
11
12
|
export declare class BuilderUI<Model extends BuilderModelGeneric = BuilderModelGeneric> {
|
|
13
|
+
#private;
|
|
12
14
|
readonly type: 'ui';
|
|
13
15
|
readonly model: Model;
|
|
14
16
|
readonly uis: BuilderUIs;
|
|
15
17
|
readonly items: BuilderUIItems;
|
|
16
18
|
readonly expectations: BuilderExpectations;
|
|
17
|
-
|
|
19
|
+
readonly tags?: BuilderTags;
|
|
20
|
+
constructor(uis: BuilderUIs, items: BuilderUIItems, expectations: BuilderExpectations, tags?: BuilderTags);
|
|
18
21
|
expect<const Exps extends readonly [BuilderExpectation, ...ReadonlyArray<BuilderExpectation>]>(...expectations: Exps): BuilderUI<BuilderModel<BuilderModelStateAsserted<BuilderModelStateOf<Model>, Exps>>>;
|
|
19
22
|
page(label: Paramable<string>, inputs: Paramable<BuilderUIValidInputsOf<Model>>): BuilderUI<Model>;
|
|
20
23
|
describe(label: Paramable<string>, inputs: Paramable<BuilderUIValidInputsOf<Model>>): BuilderUI<Model>;
|
|
21
24
|
pages<const Name extends CollectionNamesOf<BuilderModelStateOf<Model>>>(name: Name, label: Paramable<string>, itemUI: Paramable<BuilderUI<BuilderModelGeneric>>): BuilderUI<Model>;
|
|
25
|
+
tag(...tags: Array<string>): BuilderUI<Model>;
|
|
22
26
|
}
|
|
23
27
|
export declare const BuilderUISchema: v.InstanceSchema<typeof BuilderUI, undefined>;
|
|
24
28
|
export interface BuilderUISerialised {
|
|
25
29
|
readonly uis: BuilderUIsSerialised;
|
|
26
30
|
readonly items: BuilderUIItemsSerialised;
|
|
27
31
|
readonly expectations: BuilderExpectationsSerialised;
|
|
32
|
+
readonly tags?: BuilderTags;
|
|
28
33
|
}
|
|
29
34
|
export declare const BuilderUISerialisedSchema: v.GenericSchema<BuilderUISerialised>;
|
package/dist/entities/ui/ui.js
CHANGED
|
@@ -3,6 +3,7 @@ import { check } from '../../check.js';
|
|
|
3
3
|
import { paramable } from '../../references.js';
|
|
4
4
|
import { serialisable } from '../../serialisable.js';
|
|
5
5
|
import { BuilderExpectationsSerialisedSchema } from '../expectation.js';
|
|
6
|
+
import { BuilderTagsSchema } from '../tags.js';
|
|
6
7
|
import { BuilderUIDescribe } from './describe.js';
|
|
7
8
|
import { BuilderUIPage } from './page.js';
|
|
8
9
|
import { BuilderUIItemsSerialisedSchema, BuilderUIPages } from './pages.js';
|
|
@@ -10,34 +11,48 @@ export class BuilderUI {
|
|
|
10
11
|
uis;
|
|
11
12
|
items;
|
|
12
13
|
expectations;
|
|
13
|
-
|
|
14
|
+
tags;
|
|
15
|
+
constructor(uis, items, expectations, tags) {
|
|
14
16
|
this.uis = uis;
|
|
15
17
|
this.items = items;
|
|
16
18
|
this.expectations = expectations;
|
|
19
|
+
this.tags = tags;
|
|
20
|
+
}
|
|
21
|
+
#next(patch) {
|
|
22
|
+
return new BuilderUI(this.uis, patch.items ?? this.items, patch.expectations ?? this.expectations, patch.tags ?? this.tags);
|
|
17
23
|
}
|
|
18
24
|
expect(...expectations) {
|
|
19
|
-
return
|
|
20
|
-
...this.expectations,
|
|
21
|
-
|
|
22
|
-
]);
|
|
25
|
+
return this.#next({
|
|
26
|
+
expectations: [...this.expectations, ...expectations]
|
|
27
|
+
});
|
|
23
28
|
}
|
|
24
29
|
page(label, inputs) {
|
|
25
|
-
return
|
|
30
|
+
return this.#next({
|
|
31
|
+
items: [...this.items, new BuilderUIPage(label, inputs)]
|
|
32
|
+
});
|
|
26
33
|
}
|
|
27
34
|
describe(label, inputs) {
|
|
28
|
-
return
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
35
|
+
return this.#next({
|
|
36
|
+
items: [
|
|
37
|
+
...this.items,
|
|
38
|
+
new BuilderUIDescribe(label, inputs)
|
|
39
|
+
]
|
|
40
|
+
});
|
|
32
41
|
}
|
|
33
42
|
pages(name, label, itemUI) {
|
|
34
43
|
const items = check.is(BuilderUISchema, itemUI) ? itemUI.items : itemUI;
|
|
35
|
-
return
|
|
44
|
+
return this.#next({
|
|
45
|
+
items: [...this.items, new BuilderUIPages(name, label, items)]
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
tag(...tags) {
|
|
49
|
+
return this.#next({ tags });
|
|
36
50
|
}
|
|
37
51
|
}
|
|
38
52
|
export const BuilderUISchema = v.instance(BuilderUI);
|
|
39
53
|
export const BuilderUISerialisedSchema = serialisable(v.object({
|
|
40
54
|
uis: v.pipe(v.array(paramable(v.lazy(() => BuilderUISerialisedSchema))), v.readonly()),
|
|
41
55
|
items: BuilderUIItemsSerialisedSchema,
|
|
42
|
-
expectations: BuilderExpectationsSerialisedSchema
|
|
56
|
+
expectations: BuilderExpectationsSerialisedSchema,
|
|
57
|
+
tags: v.optional(BuilderTagsSchema)
|
|
43
58
|
}));
|
|
@@ -7,8 +7,9 @@ import type { BuilderCollectionConfigSerialised, BuilderCollectionSerialised, Bu
|
|
|
7
7
|
import type { BuilderComponentDetailsSerialised, BuilderComponentSerialised, BuilderComponentsSerialised } from './component/index';
|
|
8
8
|
import type { BuilderModelSerialised } from './model/index';
|
|
9
9
|
import type { BuilderOptionSerialised, BuilderOptionsSerialised, BuilderOptionValuesSerialised } from './option/index';
|
|
10
|
+
import type { BuilderPricing } from './pricing';
|
|
10
11
|
import type { BuilderUIDescribeSerialised, BuilderUIItemsSerialised, BuilderUIPageSerialised, BuilderUISerialised } from './ui/index';
|
|
11
|
-
export type Validated<Input> = Input extends BuilderComponentVariants | BuilderInstance | BuilderModelSerialised | BuilderSerialised | BuilderUISerialised ? Validate<Input> & BuilderValidatedBrand : Validate<Input>;
|
|
12
|
+
export type Validated<Input> = Input extends BuilderComponentVariants | BuilderInstance | BuilderModelSerialised | BuilderPricing | BuilderSerialised | BuilderUISerialised ? Validate<Input> & BuilderValidatedBrand : Validate<Input>;
|
|
12
13
|
type Validate<Input> = Input extends BuilderParameter<string> | BuilderParameterSerialised | BuilderRef | BuilderRefSerialised ? never : Input extends ReadonlyArray<unknown> ? ValidatedTuple<Input> : Input extends object ? {
|
|
13
14
|
readonly [Key in keyof Input]: Validated<Input[Key]>;
|
|
14
15
|
} : Input;
|
|
@@ -31,6 +32,7 @@ export type BuilderComponentDetailsValidated = Prettify<Validated<BuilderCompone
|
|
|
31
32
|
export type BuilderCollectionValidated = Prettify<Validated<BuilderCollectionSerialised>>;
|
|
32
33
|
export type BuilderCollectionsValidated = Prettify<Validated<BuilderCollectionsSerialised>>;
|
|
33
34
|
export type BuilderCollectionConfigValidated = Prettify<Validated<BuilderCollectionConfigSerialised>>;
|
|
35
|
+
export type BuilderPricingValidated = Prettify<Validated<BuilderPricing>>;
|
|
34
36
|
export type BuilderUIItemsValidated = Prettify<Validated<BuilderUIItemsSerialised>>;
|
|
35
37
|
export type BuilderUIPageValidated = Prettify<Validated<BuilderUIPageSerialised>>;
|
|
36
38
|
export type BuilderUIDescribeValidated = Prettify<Validated<BuilderUIDescribeSerialised>>;
|
package/dist/exception.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { BuilderErrorDuplicateName, BuilderErrorInvalidCollection, BuilderErrorInvalidCollectionBounds, BuilderErrorInvalidDetail, BuilderErrorInvalidInput, BuilderErrorInvalidOption, BuilderErrorInvalidPath, BuilderErrorInvalidSelectMapKey, BuilderErrorInvalidVariant, BuilderErrorMissingComponent, BuilderErrorMissingDetail, BuilderErrorMissingReference, BuilderErrorMissingVariant, BuilderErrorUnboundParameter, BuilderErrorUnexpectedComponent, BuilderErrorUnexpectedDetail, BuilderErrorUnmetExpectation, BuilderErrorUnvalidated } from './validate/index';
|
|
1
|
+
import type { BuilderErrorDuplicateName, BuilderErrorInvalidCollection, BuilderErrorInvalidCollectionBounds, BuilderErrorInvalidDetail, BuilderErrorInvalidInput, BuilderErrorInvalidOption, BuilderErrorInvalidPath, BuilderErrorInvalidPricing, BuilderErrorInvalidSelectMapKey, BuilderErrorInvalidVariant, BuilderErrorMissingComponent, BuilderErrorMissingDetail, BuilderErrorMissingReference, BuilderErrorMissingVariant, BuilderErrorUnboundParameter, BuilderErrorUnexpectedComponent, BuilderErrorUnexpectedDetail, BuilderErrorUnmetExpectation, BuilderErrorUnvalidated } from './validate/index';
|
|
2
2
|
export type BuilderErrorLocation = ReadonlyArray<string | number>;
|
|
3
3
|
export declare function builderError<Kind extends string>(kind: Kind, location: BuilderErrorLocation): {
|
|
4
4
|
kind: Kind;
|
|
5
5
|
location: BuilderErrorLocation;
|
|
6
6
|
};
|
|
7
7
|
export type BuilderErrorBase = ReturnType<typeof builderError>;
|
|
8
|
-
export type BuilderError = BuilderErrorUnmetExpectation | BuilderErrorUnboundParameter | BuilderErrorMissingReference | BuilderErrorInvalidPath | BuilderErrorInvalidSelectMapKey | BuilderErrorDuplicateName | BuilderErrorInvalidCollectionBounds | BuilderErrorInvalidOption | BuilderErrorInvalidCollection | BuilderErrorMissingComponent | BuilderErrorUnexpectedComponent | BuilderErrorMissingVariant | BuilderErrorInvalidVariant | BuilderErrorMissingDetail | BuilderErrorUnexpectedDetail | BuilderErrorInvalidDetail | BuilderErrorInvalidInput | BuilderErrorUnvalidated;
|
|
8
|
+
export type BuilderError = BuilderErrorUnmetExpectation | BuilderErrorUnboundParameter | BuilderErrorMissingReference | BuilderErrorInvalidPath | BuilderErrorInvalidPricing | BuilderErrorInvalidSelectMapKey | BuilderErrorDuplicateName | BuilderErrorInvalidCollectionBounds | BuilderErrorInvalidOption | BuilderErrorInvalidCollection | BuilderErrorMissingComponent | BuilderErrorUnexpectedComponent | BuilderErrorMissingVariant | BuilderErrorInvalidVariant | BuilderErrorMissingDetail | BuilderErrorUnexpectedDetail | BuilderErrorInvalidDetail | BuilderErrorInvalidInput | BuilderErrorUnvalidated;
|
|
9
9
|
export type BuilderErrors = ReadonlyArray<BuilderError>;
|
|
10
10
|
export declare class BuilderException extends globalThis.Error {
|
|
11
11
|
readonly errors: BuilderErrors;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export type { BB, BBOptions } from './bb';
|
|
2
|
-
export type { BuilderBindings, BuilderBindingsSerialised, BuilderCollection, BuilderCollectionConfig, BuilderCollectionConfigSerialised, BuilderCollections, BuilderCollectionSerialised, BuilderCollectionsSerialised, BuilderCollectionWhen, BuilderCollectionWhenSerialised, BuilderComponent, BuilderComponentDetails, BuilderComponentDetailsSerialised, BuilderComponentField, BuilderComponentFields, BuilderComponentFieldSerialised, BuilderComponentFieldsSerialised, BuilderComponentFieldValueType, BuilderComponents, BuilderComponentSerialised, BuilderComponentsSerialised, BuilderComponentWhen, BuilderComponentWhenSerialised, BuilderDescription, BuilderDescriptionItem, BuilderEntityKind, BuilderEntitySerialised, BuilderExpectation, BuilderExpectationKind, BuilderExpectations, BuilderExpectationSerialised, BuilderExpectationsSerialised, BuilderInstanceOf, BuilderModel, BuilderModels, BuilderModelSerialised, BuilderModelValidated, BuilderOption, BuilderOptions, BuilderOptionSerialised, BuilderOptionsSerialised, BuilderOptionValues, BuilderOptionValuesSerialised, BuilderOptionWhen, BuilderOptionWhenSerialised, BuilderRefEntities, BuilderRefEntity, BuilderSelectType, BuilderSelectTypeLabels, BuilderSelectTypeSerialised, BuilderSelectTypeValues, BuilderSerialised, BuilderToggleType, BuilderToggleTypeSerialised, BuilderToggleValueType, BuilderUI, BuilderUIDescribe, BuilderUIDescribeSerialised, BuilderUIInput, BuilderUIInputMetadata, BuilderUIInputMetadataSerialised, BuilderUIInputs, BuilderUIInputsSerialised, BuilderUIInputSerialised, BuilderUIItem, BuilderUIItems, BuilderUIItemsSerialised, BuilderUIPage, BuilderUIPages, BuilderUIPageSerialised, BuilderUIPagesSerialised, BuilderUIs, BuilderUIsSerialised, BuilderUISerialised, BuilderUIValidated, BuilderValidated, BuilderComponentVariantsValidated, BuilderInstanceValidated, BuilderEnableConfig, BuilderMatchConfig, BuilderMatchSelectMap, BuilderUnlessConfig, BuilderWhen, BuilderWhenConfig, BuilderWhenSerialised } from './entities/index';
|
|
2
|
+
export type { BuilderBindings, BuilderBindingsSerialised, BuilderCollection, BuilderCollectionConfig, BuilderCollectionConfigSerialised, BuilderCollections, BuilderCollectionSerialised, BuilderCollectionsSerialised, BuilderCollectionWhen, BuilderCollectionWhenSerialised, BuilderComponent, BuilderComponentDetails, BuilderComponentDetailsSerialised, BuilderComponentField, BuilderComponentFields, BuilderComponentFieldSerialised, BuilderComponentFieldsSerialised, BuilderComponentFieldValueType, BuilderComponents, BuilderComponentSerialised, BuilderComponentsSerialised, BuilderComponentWhen, BuilderComponentWhenSerialised, BuilderDescription, BuilderDescriptionItem, BuilderEntityKind, BuilderEntitySerialised, BuilderExpectation, BuilderExpectationKind, BuilderExpectations, BuilderExpectationSerialised, BuilderExpectationsSerialised, BuilderInstanceOf, BuilderModel, BuilderModels, BuilderModelSerialised, BuilderModelValidated, BuilderOption, BuilderOptions, BuilderOptionSerialised, BuilderOptionsSerialised, BuilderOptionValues, BuilderOptionValuesSerialised, BuilderOptionWhen, BuilderOptionWhenSerialised, BuilderRefEntities, BuilderRefEntity, BuilderSelectType, BuilderSelectTypeLabels, BuilderSelectTypeSerialised, BuilderSelectTypeValues, BuilderPricing, BuilderPricingExpression, BuilderPricingReduce, BuilderPricingTagExpression, BuilderSerialised, BuilderTags, BuilderToggleType, BuilderToggleTypeSerialised, BuilderToggleValueType, BuilderUI, BuilderUIDescribe, BuilderUIDescribeSerialised, BuilderUIInput, BuilderUIInputMetadata, BuilderUIInputMetadataSerialised, BuilderUIInputs, BuilderUIInputsSerialised, BuilderUIInputSerialised, BuilderUIItem, BuilderUIItems, BuilderUIItemsSerialised, BuilderUIPage, BuilderUIPages, BuilderUIPageSerialised, BuilderUIPagesSerialised, BuilderUIs, BuilderUIsSerialised, BuilderUISerialised, BuilderUIValidated, BuilderValidated, BuilderComponentVariantsValidated, BuilderInstanceValidated, BuilderEnableConfig, BuilderMatchConfig, BuilderMatchSelectMap, BuilderUnlessConfig, BuilderWhen, BuilderWhenConfig, BuilderWhenSerialised } from './entities/index';
|
|
3
3
|
export type { BuilderEnvironment } from './environment';
|
|
4
4
|
export type { BuilderError, BuilderErrorBase, BuilderErrorLocation, BuilderErrors } from './exception';
|
|
5
|
-
export type { BuilderComponentVariantsValidationResult, BuilderErrorDuplicateName, BuilderErrorInvalidCollection, BuilderErrorInvalidCollectionBounds, BuilderErrorInvalidDetail, BuilderErrorInvalidInput, BuilderErrorInvalidOption, BuilderErrorInvalidPath, BuilderErrorInvalidPathReason, BuilderErrorInvalidSelectMapKey, BuilderErrorInvalidVariant, BuilderErrorMissingComponent, BuilderErrorMissingDetail, BuilderErrorMissingReference, BuilderErrorMissingVariant, BuilderErrorUnboundParameter, BuilderErrorUnexpectedComponent, BuilderErrorUnexpectedDetail, BuilderErrorUnmetExpectation, BuilderErrorUnvalidated, BuilderInstanceValidationResult, BuilderModelValidationResult, BuilderOrder, BuilderRenderMetadata, BuilderRenderOption, BuilderRenderOptions, BuilderRenderPage, BuilderRenderPages, BuilderRenderResult, BuilderRenderUpdate, BuilderUIValidationResult, BuilderValidationResult, BuilderVariantsValidationOptions } from './mappers/index';
|
|
5
|
+
export type { BuilderComponentVariantsValidationResult, BuilderErrorDuplicateName, BuilderErrorInvalidCollection, BuilderErrorInvalidCollectionBounds, BuilderErrorInvalidDetail, BuilderErrorInvalidInput, BuilderErrorInvalidOption, BuilderErrorInvalidPath, BuilderErrorInvalidPathReason, BuilderErrorInvalidPricing, BuilderErrorInvalidPricingReason, BuilderErrorInvalidSelectMapKey, BuilderErrorInvalidVariant, BuilderErrorMissingComponent, BuilderErrorMissingDetail, BuilderErrorMissingReference, BuilderErrorMissingVariant, BuilderErrorUnboundParameter, BuilderErrorUnexpectedComponent, BuilderErrorUnexpectedDetail, BuilderErrorUnmetExpectation, BuilderErrorUnvalidated, BuilderInstanceValidationResult, BuilderModelValidationResult, BuilderOrder, BuilderRenderMetadata, BuilderRenderOption, BuilderRenderOptions, BuilderRenderPage, BuilderRenderPages, BuilderRenderResult, BuilderRenderUpdate, BuilderUIValidationResult, BuilderValidationResult, BuilderVariantsValidationOptions } from './mappers/index';
|
|
6
6
|
export type { BuilderComponentVariants, BuilderInstance, BuilderInstanceInput, BuilderInstances, BuilderVariant, BuilderVariants } from './instance';
|
|
7
7
|
export type { BuilderPath, BuilderPaths } from './paths';
|
|
8
8
|
export type { BuilderPrimitive, BuilderPrimitives } from './primitive';
|
package/dist/instance.d.ts
CHANGED
|
@@ -10,47 +10,56 @@ export type BuilderInstanceInput = Readonly<Record<string, unknown>>;
|
|
|
10
10
|
export declare const BuilderVariantSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
11
11
|
readonly instance: v.GenericSchema<BuilderInstance>;
|
|
12
12
|
readonly details: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.NullableSchema<v.UnionSchema<[v.StringSchema<undefined>, v.BooleanSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, undefined>, undefined>;
|
|
13
|
+
readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.StringSchema<undefined>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
|
|
13
14
|
}, undefined>, v.ReadonlyAction<{
|
|
14
15
|
instance: BuilderInstance;
|
|
15
16
|
details?: {
|
|
16
17
|
[x: string]: string | number | boolean | null;
|
|
17
18
|
} | undefined;
|
|
19
|
+
tags?: readonly string[] | undefined;
|
|
18
20
|
}>]>;
|
|
19
21
|
export type BuilderVariant = v.InferOutput<typeof BuilderVariantSchema>;
|
|
20
22
|
export declare const BuilderVariantsSchema: v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
21
23
|
readonly instance: v.GenericSchema<BuilderInstance>;
|
|
22
24
|
readonly details: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.NullableSchema<v.UnionSchema<[v.StringSchema<undefined>, v.BooleanSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, undefined>, undefined>;
|
|
25
|
+
readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.StringSchema<undefined>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
|
|
23
26
|
}, undefined>, v.ReadonlyAction<{
|
|
24
27
|
instance: BuilderInstance;
|
|
25
28
|
details?: {
|
|
26
29
|
[x: string]: string | number | boolean | null;
|
|
27
30
|
} | undefined;
|
|
31
|
+
tags?: readonly string[] | undefined;
|
|
28
32
|
}>]>, undefined>, v.ReadonlyAction<Readonly<{
|
|
29
33
|
instance: BuilderInstance;
|
|
30
34
|
details?: {
|
|
31
35
|
[x: string]: string | number | boolean | null;
|
|
32
36
|
} | undefined;
|
|
37
|
+
tags?: readonly string[] | undefined;
|
|
33
38
|
}>[]>]>;
|
|
34
39
|
export type BuilderVariants = v.InferOutput<typeof BuilderVariantsSchema>;
|
|
35
40
|
export declare const BuilderComponentVariantsSchema: v.SchemaWithPipe<readonly [v.RecordSchema<v.StringSchema<undefined>, v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
36
41
|
readonly instance: v.GenericSchema<BuilderInstance>;
|
|
37
42
|
readonly details: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.NullableSchema<v.UnionSchema<[v.StringSchema<undefined>, v.BooleanSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, undefined>, undefined>;
|
|
43
|
+
readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.StringSchema<undefined>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
|
|
38
44
|
}, undefined>, v.ReadonlyAction<{
|
|
39
45
|
instance: BuilderInstance;
|
|
40
46
|
details?: {
|
|
41
47
|
[x: string]: string | number | boolean | null;
|
|
42
48
|
} | undefined;
|
|
49
|
+
tags?: readonly string[] | undefined;
|
|
43
50
|
}>]>, undefined>, v.ReadonlyAction<Readonly<{
|
|
44
51
|
instance: BuilderInstance;
|
|
45
52
|
details?: {
|
|
46
53
|
[x: string]: string | number | boolean | null;
|
|
47
54
|
} | undefined;
|
|
55
|
+
tags?: readonly string[] | undefined;
|
|
48
56
|
}>[]>]>, undefined>, v.ReadonlyAction<{
|
|
49
57
|
readonly [x: string]: readonly Readonly<{
|
|
50
58
|
instance: BuilderInstance;
|
|
51
59
|
details?: {
|
|
52
60
|
[x: string]: string | number | boolean | null;
|
|
53
61
|
} | undefined;
|
|
62
|
+
tags?: readonly string[] | undefined;
|
|
54
63
|
}>[];
|
|
55
64
|
}>]>;
|
|
56
65
|
export type BuilderComponentVariants = v.InferOutput<typeof BuilderComponentVariantsSchema>;
|
package/dist/instance.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
2
|
import { BuilderPrimitiveSchema } from './primitive.js';
|
|
3
|
+
import { BuilderTagsSchema } from './entities/tags.js';
|
|
3
4
|
export const BuilderInstanceSchema = v.pipe(v.record(v.string(), v.union([BuilderPrimitiveSchema, v.lazy(() => BuilderInstancesSchema)])), v.readonly());
|
|
4
5
|
export const BuilderInstancesSchema = v.pipe(v.array(BuilderInstanceSchema), v.readonly());
|
|
5
6
|
export const BuilderVariantSchema = v.pipe(v.object({
|
|
6
7
|
instance: BuilderInstanceSchema,
|
|
7
|
-
details: v.optional(v.record(v.string(), BuilderPrimitiveSchema))
|
|
8
|
+
details: v.optional(v.record(v.string(), BuilderPrimitiveSchema)),
|
|
9
|
+
tags: v.optional(BuilderTagsSchema)
|
|
8
10
|
}), v.readonly());
|
|
9
11
|
export const BuilderVariantsSchema = v.pipe(v.array(BuilderVariantSchema), v.readonly());
|
|
10
12
|
export const BuilderComponentVariantsSchema = v.pipe(v.record(v.string(), BuilderVariantsSchema), v.readonly());
|
package/dist/mappers/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
export type { BuilderComponentVariantsValidationResult, BuilderErrorDuplicateName, BuilderErrorInvalidCollection, BuilderErrorInvalidCollectionBounds, BuilderErrorInvalidDetail, BuilderErrorInvalidInput, BuilderErrorInvalidOption, BuilderErrorInvalidPath, BuilderErrorInvalidPathReason, BuilderErrorInvalidSelectMapKey, BuilderErrorInvalidVariant, BuilderErrorMissingComponent, BuilderErrorMissingDetail, BuilderErrorMissingReference, BuilderErrorMissingVariant, BuilderErrorUnboundParameter, BuilderErrorUnexpectedComponent, BuilderErrorUnexpectedDetail, BuilderErrorUnmetExpectation, BuilderErrorUnvalidated, BuilderInstanceValidationResult, BuilderModelValidationResult, BuilderUIValidationResult, BuilderValidationResult, BuilderVariantsValidationOptions } from '../validate/index';
|
|
1
|
+
export type { BuilderComponentVariantsValidationResult, BuilderErrorDuplicateName, BuilderErrorInvalidCollection, BuilderErrorInvalidCollectionBounds, BuilderErrorInvalidDetail, BuilderErrorInvalidInput, BuilderErrorInvalidOption, BuilderErrorInvalidPath, BuilderErrorInvalidPathReason, BuilderErrorInvalidPricing, BuilderErrorInvalidPricingReason, BuilderErrorInvalidSelectMapKey, BuilderErrorInvalidVariant, BuilderErrorMissingComponent, BuilderErrorMissingDetail, BuilderErrorMissingReference, BuilderErrorMissingVariant, BuilderErrorUnboundParameter, BuilderErrorUnexpectedComponent, BuilderErrorUnexpectedDetail, BuilderErrorUnmetExpectation, BuilderErrorUnvalidated, BuilderInstanceValidationResult, BuilderModelValidationResult, BuilderPricingValidationResult, BuilderUIValidationResult, BuilderValidationResult, BuilderVariantsValidationOptions } from '../validate/index';
|
|
2
2
|
export type { BuilderOrder } from './order';
|
|
3
3
|
export type { BuilderRenderMetadata, BuilderRenderOption, BuilderRenderOptions, BuilderRenderPage, BuilderRenderPages, BuilderRenderResult, BuilderRenderUpdate } from './render/index';
|
|
4
|
-
export { assertValidated, validateBuilder, validateInstance, validateModel, validateUI, validateVariants } from '../validate/index.js';
|
|
4
|
+
export { assertValidated, validateBuilder, validateInstance, validateModel, validatePricing, validateUI, validateVariants } from '../validate/index.js';
|
|
5
5
|
export type { BuilderOptionGraph } from './variants/index.js';
|
|
6
6
|
export { createInstance } from './instance.js';
|
|
7
7
|
export { createVariants, optionGraph, variantsFor } from './variants/index.js';
|
|
8
8
|
export { order } from './order.js';
|
|
9
|
+
export { pricing } from './pricing.js';
|
|
9
10
|
export { ordinal, render } from './render/index.js';
|
|
10
11
|
export { resolveCollection, resolveComponent, resolveOption } from './resolve.js';
|
package/dist/mappers/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export { assertValidated, validateBuilder, validateInstance, validateModel, validateUI, validateVariants } from '../validate/index.js';
|
|
1
|
+
export { assertValidated, validateBuilder, validateInstance, validateModel, validatePricing, validateUI, validateVariants } from '../validate/index.js';
|
|
2
2
|
export { createInstance } from './instance.js';
|
|
3
3
|
export { createVariants, optionGraph, variantsFor } from './variants/index.js';
|
|
4
4
|
export { order } from './order.js';
|
|
5
|
+
export { pricing } from './pricing.js';
|
|
5
6
|
export { ordinal, render } from './render/index.js';
|
|
6
7
|
export { resolveCollection, resolveComponent, resolveOption } from './resolve.js';
|