@builder-builder/builder 0.0.24 → 0.0.26
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/client/client.d.ts +3 -1
- package/dist/client/client.js +29 -20
- package/dist/client/index.d.ts +1 -4
- package/dist/client/index.js +1 -2
- package/dist/client/public.d.ts +4 -0
- package/dist/client/public.js +2 -0
- package/dist/client/schema.d.ts +26 -18
- package/dist/client/schema.js +7 -1
- package/dist/entities/builder/builder.js +2 -1
- package/dist/entities/collection/collection.d.ts +2 -2
- package/dist/entities/collection/collection.js +2 -1
- package/dist/entities/collection/config.d.ts +21 -21
- package/dist/entities/collection/config.js +4 -3
- package/dist/entities/component/component.d.ts +32 -32
- package/dist/entities/component/component.js +2 -1
- package/dist/entities/component/config.d.ts +13 -13
- package/dist/entities/component/config.js +1 -1
- package/dist/entities/component/field.d.ts +4 -4
- package/dist/entities/component/field.js +4 -3
- package/dist/entities/expectation.d.ts +3 -3
- package/dist/entities/expectation.js +2 -1
- package/dist/entities/index.d.ts +1 -1
- package/dist/entities/kind.d.ts +4 -4
- package/dist/entities/kind.js +44 -4
- package/dist/entities/model/models.d.ts +3 -3
- package/dist/entities/option/config.d.ts +4 -4
- package/dist/entities/option/option.d.ts +24 -24
- package/dist/entities/option/option.js +2 -1
- package/dist/entities/option/select.d.ts +2 -2
- package/dist/entities/option/select.js +12 -9
- package/dist/entities/option/toggle.d.ts +2 -2
- package/dist/entities/option/toggle.js +5 -4
- package/dist/entities/paths.d.ts +4 -4
- package/dist/entities/paths.js +2 -1
- package/dist/entities/pricing/expression.js +5 -4
- package/dist/entities/pricing/rates.d.ts +1 -1
- package/dist/entities/pricing/rates.js +2 -1
- package/dist/entities/references.d.ts +2 -2
- package/dist/entities/references.js +2 -1
- package/dist/entities/serialise.d.ts +204 -116
- package/dist/entities/serialise.js +4 -3
- package/dist/entities/tags.d.ts +1 -1
- package/dist/entities/tags.js +2 -1
- package/dist/entities/ui/describe.d.ts +79 -35
- package/dist/entities/ui/describe.js +5 -4
- package/dist/entities/ui/input.d.ts +93 -49
- package/dist/entities/ui/input.js +5 -4
- package/dist/entities/ui/page.d.ts +77 -33
- package/dist/entities/ui/page.js +4 -3
- package/dist/entities/ui/pages.d.ts +5 -5
- package/dist/entities/ui/pages.js +5 -4
- package/dist/entities/validated.d.ts +1 -0
- package/dist/entities/when.d.ts +16 -16
- package/dist/entities/when.js +2 -2
- package/dist/errors/check.d.ts +2 -3
- package/dist/errors/check.js +5 -10
- package/dist/errors/errors.d.ts +241 -158
- package/dist/errors/errors.js +149 -173
- package/dist/errors/exception.d.ts +6 -4
- package/dist/errors/exception.js +11 -66
- package/dist/errors/index.d.ts +2 -4
- package/dist/errors/index.js +2 -2
- package/dist/errors/public.d.ts +2 -0
- package/dist/errors/public.js +1 -0
- package/dist/index.d.ts +4 -36
- package/dist/index.js +4 -19
- package/dist/instance.d.ts +7 -7
- package/dist/instance.js +4 -4
- package/dist/mappers/index.d.ts +1 -1
- package/dist/mappers/price.js +2 -3
- package/dist/mappers/render/collection.d.ts +9 -0
- package/dist/mappers/render/collection.js +27 -0
- package/dist/mappers/render/compose.d.ts +5 -0
- package/dist/mappers/render/compose.js +15 -0
- package/dist/mappers/render/description.d.ts +3 -0
- package/dist/mappers/render/description.js +17 -0
- package/dist/mappers/render/index.d.ts +3 -1
- package/dist/mappers/render/option.d.ts +20 -0
- package/dist/mappers/render/option.js +25 -0
- package/dist/mappers/render/page.d.ts +11 -0
- package/dist/mappers/render/page.js +11 -0
- package/dist/mappers/render/paths.d.ts +3 -0
- package/dist/mappers/render/paths.js +21 -0
- package/dist/mappers/render/render.d.ts +1 -1
- package/dist/mappers/render/render.js +33 -98
- package/dist/mappers/resolve.d.ts +2 -1
- package/dist/mappers/resolve.js +26 -25
- package/dist/mappers/variants/option-graph.js +11 -4
- package/dist/mappers/variants/variants.js +7 -6
- package/dist/primitive.d.ts +5 -0
- package/dist/primitive.js +6 -1
- package/dist/public.d.ts +37 -0
- package/dist/public.js +19 -0
- package/dist/references.d.ts +6 -6
- package/dist/references.js +3 -2
- package/dist/validate/brand.js +2 -4
- package/dist/validate/builder.d.ts +2 -2
- package/dist/validate/builder.js +3 -3
- package/dist/validate/expectations.d.ts +2 -2
- package/dist/validate/expectations.js +1 -1
- package/dist/validate/index.d.ts +0 -1
- package/dist/validate/instance.d.ts +2 -2
- package/dist/validate/instance.js +6 -6
- package/dist/validate/model.d.ts +4 -4
- package/dist/validate/model.js +129 -101
- package/dist/validate/paths.d.ts +2 -2
- package/dist/validate/paths.js +47 -25
- package/dist/validate/pricing.d.ts +4 -4
- package/dist/validate/pricing.js +30 -18
- package/dist/validate/resolve.d.ts +4 -3
- package/dist/validate/resolve.js +88 -63
- package/dist/validate/ui.d.ts +4 -4
- package/dist/validate/ui.js +17 -16
- package/dist/validate/variants.d.ts +2 -2
- package/dist/validate/variants.js +16 -16
- package/package.json +11 -7
- package/dist/mappers/render/pages.d.ts +0 -24
- package/dist/mappers/render/pages.js +0 -2
- package/dist/private.d.ts +0 -3
- package/dist/private.js +0 -3
package/dist/client/client.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import type { BuilderBuilderClientOptions, BuilderBuilderGetResponse } from './schema.js';
|
|
1
|
+
import type { BuilderBuilderClientOptions, BuilderBuilderGetResponse, BuilderBuilderPriceResponse } from './schema.js';
|
|
2
|
+
import type { BuilderInstance } from '../instance.js';
|
|
2
3
|
export type BuilderBuilderClient = {
|
|
3
4
|
builder: {
|
|
4
5
|
get(id: string): Promise<BuilderBuilderGetResponse>;
|
|
6
|
+
price(id: string, instance: BuilderInstance): Promise<BuilderBuilderPriceResponse>;
|
|
5
7
|
};
|
|
6
8
|
};
|
|
7
9
|
export declare function client(options: BuilderBuilderClientOptions): BuilderBuilderClient;
|
package/dist/client/client.js
CHANGED
|
@@ -1,29 +1,38 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
2
|
import { BuilderException } from '../errors/index.js';
|
|
3
|
-
import { BuilderBuilderClientOptionsSchema, BuilderBuilderGetResponseSchema } from './schema.js';
|
|
3
|
+
import { BuilderBuilderClientOptionsSchema, BuilderBuilderGetResponseSchema, BuilderBuilderPriceResponseSchema } from './schema.js';
|
|
4
4
|
export function client(options) {
|
|
5
5
|
const { url, apiKey, headers } = v.parse(BuilderBuilderClientOptionsSchema, options);
|
|
6
|
+
const baseHeaders = {
|
|
7
|
+
...headers,
|
|
8
|
+
'X-Builder-Builder-Key': apiKey
|
|
9
|
+
};
|
|
6
10
|
return {
|
|
7
11
|
builder: {
|
|
8
|
-
get:
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
url: requestUrl,
|
|
20
|
-
status: response.status,
|
|
21
|
-
statusText: response.statusText,
|
|
22
|
-
body: await response.text()
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
return v.parse(BuilderBuilderGetResponseSchema, await response.json());
|
|
26
|
-
}
|
|
12
|
+
get: (id) => request(BuilderBuilderGetResponseSchema, `${url}/api/builder/${id}`, {
|
|
13
|
+
headers: baseHeaders
|
|
14
|
+
}),
|
|
15
|
+
price: (id, instance) => request(BuilderBuilderPriceResponseSchema, `${url}/api/builder/${id}/price`, {
|
|
16
|
+
method: 'POST',
|
|
17
|
+
headers: {
|
|
18
|
+
...baseHeaders,
|
|
19
|
+
'Content-Type': 'application/json'
|
|
20
|
+
},
|
|
21
|
+
body: JSON.stringify({ instance })
|
|
22
|
+
})
|
|
27
23
|
}
|
|
28
24
|
};
|
|
29
25
|
}
|
|
26
|
+
async function request(schema, requestUrl, init) {
|
|
27
|
+
const response = await fetch(requestUrl, init);
|
|
28
|
+
if (!response.ok) {
|
|
29
|
+
throw new BuilderException({
|
|
30
|
+
category: 'request',
|
|
31
|
+
url: requestUrl,
|
|
32
|
+
status: response.status,
|
|
33
|
+
statusText: response.statusText,
|
|
34
|
+
body: await response.text()
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
return v.parse(schema, await response.json());
|
|
38
|
+
}
|
package/dist/client/index.d.ts
CHANGED
|
@@ -1,4 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
export type { BuilderBuilderClient } from './client.js';
|
|
3
|
-
export { BuilderBuilderClientOptionsSchema, BuilderBuilderGetResponseSchema } from './schema.js';
|
|
4
|
-
export { client } from './client.js';
|
|
1
|
+
export * from './public.js';
|
package/dist/client/index.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
export { client } from './client.js';
|
|
1
|
+
export * from './public.js';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type { BuilderBuilderClientOptions, BuilderBuilderGetResponse, BuilderBuilderPriceRequest, BuilderBuilderPriceResponse } from './schema.js';
|
|
2
|
+
export type { BuilderBuilderClient } from './client.js';
|
|
3
|
+
export { BuilderBuilderClientOptionsSchema, BuilderBuilderGetResponseSchema, BuilderBuilderPriceRequestSchema, BuilderBuilderPriceResponseSchema } from './schema.js';
|
|
4
|
+
export { client } from './client.js';
|
package/dist/client/schema.d.ts
CHANGED
|
@@ -7,10 +7,10 @@ export declare const BuilderBuilderClientOptionsSchema: v.ObjectSchema<{
|
|
|
7
7
|
export type BuilderBuilderClientOptions = v.InferOutput<typeof BuilderBuilderClientOptionsSchema>;
|
|
8
8
|
export declare const BuilderBuilderGetResponseSchema: v.ObjectSchema<{
|
|
9
9
|
readonly name: v.StringSchema<undefined>;
|
|
10
|
-
readonly serialised: v.GenericSchema<import("../
|
|
10
|
+
readonly serialised: v.GenericSchema<import("../public.js").BuilderSerialised>;
|
|
11
11
|
readonly references: v.ArraySchema<v.ObjectSchema<{
|
|
12
|
-
readonly id: v.StringSchema<undefined>;
|
|
13
|
-
readonly serialised: v.GenericSchema<string | number | boolean | readonly (string | number)[] | readonly (readonly (string | number)[])[] | import("../
|
|
12
|
+
readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
13
|
+
readonly serialised: v.GenericSchema<string | number | boolean | readonly (string | number)[] | readonly (readonly (string | number)[])[] | import("../public.js").BuilderSerialised | import("../public.js").BuilderModelSerialised | Readonly<{
|
|
14
14
|
type: "select";
|
|
15
15
|
readonly options: readonly [string, ...string[]];
|
|
16
16
|
defaultValue: string | null;
|
|
@@ -25,7 +25,7 @@ export declare const BuilderBuilderGetResponseSchema: v.ObjectSchema<{
|
|
|
25
25
|
defaultValue: string | number | boolean | null;
|
|
26
26
|
isOptional: boolean;
|
|
27
27
|
tags?: readonly string[] | undefined;
|
|
28
|
-
}> | import("../
|
|
28
|
+
}> | import("../public.js").BuilderMatchSelectMap<Readonly<{
|
|
29
29
|
type: "parameter";
|
|
30
30
|
id: string;
|
|
31
31
|
name: string;
|
|
@@ -44,7 +44,7 @@ export declare const BuilderBuilderGetResponseSchema: v.ObjectSchema<{
|
|
|
44
44
|
defaultValue: string | number | boolean | null;
|
|
45
45
|
isOptional: boolean;
|
|
46
46
|
tags?: readonly string[] | undefined;
|
|
47
|
-
}>>> | import("../
|
|
47
|
+
}>>> | import("../public.js").BuilderWhenSerialised<Readonly<Readonly<{
|
|
48
48
|
type: "select";
|
|
49
49
|
readonly options: readonly [string, ...string[]];
|
|
50
50
|
defaultValue: string | null;
|
|
@@ -75,7 +75,7 @@ export declare const BuilderBuilderGetResponseSchema: v.ObjectSchema<{
|
|
|
75
75
|
tags?: readonly string[] | undefined;
|
|
76
76
|
}>[];
|
|
77
77
|
tags?: readonly string[] | undefined;
|
|
78
|
-
}> | import("../
|
|
78
|
+
}> | import("../public.js").BuilderMatchSelectMap<Readonly<{
|
|
79
79
|
type: "parameter";
|
|
80
80
|
id: string;
|
|
81
81
|
name: string;
|
|
@@ -95,7 +95,7 @@ export declare const BuilderBuilderGetResponseSchema: v.ObjectSchema<{
|
|
|
95
95
|
tags?: readonly string[] | undefined;
|
|
96
96
|
}>[];
|
|
97
97
|
tags?: readonly string[] | undefined;
|
|
98
|
-
}>> | import("../
|
|
98
|
+
}>> | import("../public.js").BuilderWhenSerialised<Readonly<{
|
|
99
99
|
fields: Readonly<{
|
|
100
100
|
type: "parameter";
|
|
101
101
|
id: string;
|
|
@@ -119,7 +119,7 @@ export declare const BuilderBuilderGetResponseSchema: v.ObjectSchema<{
|
|
|
119
119
|
}> | Readonly<{
|
|
120
120
|
type: "ref";
|
|
121
121
|
id: string;
|
|
122
|
-
}> | import("../
|
|
122
|
+
}> | import("../public.js").BuilderModelSerialised;
|
|
123
123
|
min: number | Readonly<{
|
|
124
124
|
type: "parameter";
|
|
125
125
|
id: string;
|
|
@@ -137,7 +137,7 @@ export declare const BuilderBuilderGetResponseSchema: v.ObjectSchema<{
|
|
|
137
137
|
id: string;
|
|
138
138
|
}>;
|
|
139
139
|
tags?: readonly string[] | undefined;
|
|
140
|
-
}> | import("../
|
|
140
|
+
}> | import("../public.js").BuilderMatchSelectMap<Readonly<{
|
|
141
141
|
type: "parameter";
|
|
142
142
|
id: string;
|
|
143
143
|
name: string;
|
|
@@ -149,7 +149,7 @@ export declare const BuilderBuilderGetResponseSchema: v.ObjectSchema<{
|
|
|
149
149
|
}> | Readonly<{
|
|
150
150
|
type: "ref";
|
|
151
151
|
id: string;
|
|
152
|
-
}> | import("../
|
|
152
|
+
}> | import("../public.js").BuilderModelSerialised;
|
|
153
153
|
min: number | Readonly<{
|
|
154
154
|
type: "parameter";
|
|
155
155
|
id: string;
|
|
@@ -167,7 +167,7 @@ export declare const BuilderBuilderGetResponseSchema: v.ObjectSchema<{
|
|
|
167
167
|
id: string;
|
|
168
168
|
}>;
|
|
169
169
|
tags?: readonly string[] | undefined;
|
|
170
|
-
}>> | import("../
|
|
170
|
+
}>> | import("../public.js").BuilderWhenSerialised<Readonly<{
|
|
171
171
|
model: Readonly<{
|
|
172
172
|
type: "parameter";
|
|
173
173
|
id: string;
|
|
@@ -175,7 +175,7 @@ export declare const BuilderBuilderGetResponseSchema: v.ObjectSchema<{
|
|
|
175
175
|
}> | Readonly<{
|
|
176
176
|
type: "ref";
|
|
177
177
|
id: string;
|
|
178
|
-
}> | import("../
|
|
178
|
+
}> | import("../public.js").BuilderModelSerialised;
|
|
179
179
|
min: number | Readonly<{
|
|
180
180
|
type: "parameter";
|
|
181
181
|
id: string;
|
|
@@ -193,7 +193,7 @@ export declare const BuilderBuilderGetResponseSchema: v.ObjectSchema<{
|
|
|
193
193
|
id: string;
|
|
194
194
|
}>;
|
|
195
195
|
tags?: readonly string[] | undefined;
|
|
196
|
-
}>> | import("../
|
|
196
|
+
}>> | import("../public.js").BuilderUISerialised | Readonly<{
|
|
197
197
|
type: "input";
|
|
198
198
|
path: readonly (string | number)[] | Readonly<{
|
|
199
199
|
type: "parameter";
|
|
@@ -356,22 +356,22 @@ export declare const BuilderBuilderGetResponseSchema: v.ObjectSchema<{
|
|
|
356
356
|
tags?: readonly string[] | undefined;
|
|
357
357
|
}>)[];
|
|
358
358
|
tags?: readonly string[] | undefined;
|
|
359
|
-
}> | import("../
|
|
359
|
+
}> | import("../public.js").BuilderUIPagesSerialised | readonly (Readonly<{
|
|
360
360
|
type: "parameter";
|
|
361
361
|
id: string;
|
|
362
362
|
name: string;
|
|
363
363
|
}> | Readonly<{
|
|
364
364
|
type: "ref";
|
|
365
365
|
id: string;
|
|
366
|
-
}> | import("../entities/index.js").BuilderUIItemSerialised)[] | import("../
|
|
366
|
+
}> | import("../entities/index.js").BuilderUIItemSerialised)[] | import("../public.js").BuilderPricingSerialised | import("../entities/index.js").BuilderRates | readonly Readonly<{
|
|
367
367
|
name: string;
|
|
368
368
|
kind: "option" | "component" | "collection";
|
|
369
369
|
}>[]>;
|
|
370
370
|
}, undefined>, undefined>;
|
|
371
|
-
readonly variants: v.SchemaWithPipe<readonly [v.RecordSchema<v.StringSchema<undefined>, v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
371
|
+
readonly variants: v.SchemaWithPipe<readonly [v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
372
372
|
readonly instance: v.GenericSchema<import("../instance.js").BuilderInstance>;
|
|
373
|
-
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>;
|
|
374
|
-
readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.StringSchema<undefined>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
|
|
373
|
+
readonly details: v.OptionalSchema<v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, v.NullableSchema<v.UnionSchema<[v.StringSchema<undefined>, v.BooleanSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, undefined>, undefined>;
|
|
374
|
+
readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
|
|
375
375
|
}, undefined>, v.ReadonlyAction<{
|
|
376
376
|
instance: import("../instance.js").BuilderInstance;
|
|
377
377
|
details?: {
|
|
@@ -395,3 +395,11 @@ export declare const BuilderBuilderGetResponseSchema: v.ObjectSchema<{
|
|
|
395
395
|
}>]>;
|
|
396
396
|
}, undefined>;
|
|
397
397
|
export type BuilderBuilderGetResponse = v.InferOutput<typeof BuilderBuilderGetResponseSchema>;
|
|
398
|
+
export declare const BuilderBuilderPriceRequestSchema: v.ObjectSchema<{
|
|
399
|
+
readonly instance: v.GenericSchema<import("../instance.js").BuilderInstance>;
|
|
400
|
+
}, undefined>;
|
|
401
|
+
export type BuilderBuilderPriceRequest = v.InferOutput<typeof BuilderBuilderPriceRequestSchema>;
|
|
402
|
+
export declare const BuilderBuilderPriceResponseSchema: v.ObjectSchema<{
|
|
403
|
+
readonly price: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
404
|
+
}, undefined>;
|
|
405
|
+
export type BuilderBuilderPriceResponse = v.InferOutput<typeof BuilderBuilderPriceResponseSchema>;
|
package/dist/client/schema.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
2
|
import { BuilderReferencesSchema, BuilderSerialisedSchema } from '../entities/index.js';
|
|
3
|
-
import { BuilderVariantsSchema } from '../instance.js';
|
|
3
|
+
import { BuilderInstanceSchema, BuilderVariantsSchema } from '../instance.js';
|
|
4
4
|
export const BuilderBuilderClientOptionsSchema = v.object({
|
|
5
5
|
url: v.string(),
|
|
6
6
|
apiKey: v.string(),
|
|
@@ -12,3 +12,9 @@ export const BuilderBuilderGetResponseSchema = v.object({
|
|
|
12
12
|
references: BuilderReferencesSchema,
|
|
13
13
|
variants: BuilderVariantsSchema
|
|
14
14
|
});
|
|
15
|
+
export const BuilderBuilderPriceRequestSchema = v.object({
|
|
16
|
+
instance: BuilderInstanceSchema
|
|
17
|
+
});
|
|
18
|
+
export const BuilderBuilderPriceResponseSchema = v.object({
|
|
19
|
+
price: v.nullable(v.number())
|
|
20
|
+
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
+
import { NameSchema } from '../../primitive.js';
|
|
2
3
|
import { BuilderRefSerialisedSchema } from '../../references.js';
|
|
3
4
|
import { BuilderModel, BuilderModelSerialisedSchema } from '../model/index.js';
|
|
4
5
|
import { BuilderPricing, BuilderPricingSerialisedSchema } from '../pricing/index.js';
|
|
@@ -40,7 +41,7 @@ export function builder(model, ui, pricing) {
|
|
|
40
41
|
export const BuilderSerialisedSchema = serialisable(v.object({
|
|
41
42
|
model: BuilderModelSerialisedSchema,
|
|
42
43
|
ui: BuilderUISerialisedSchema,
|
|
43
|
-
bindings: v.pipe(v.record(
|
|
44
|
+
bindings: v.pipe(v.record(NameSchema, v.union([BuilderRefSerialisedSchema, v.unknown()])), v.readonly()),
|
|
44
45
|
tags: v.optional(BuilderTagsSchema),
|
|
45
46
|
pricing: BuilderPricingSerialisedSchema
|
|
46
47
|
}));
|
|
@@ -86,7 +86,7 @@ export type BuilderCollectionSerialised = {
|
|
|
86
86
|
export declare const BuilderCollectionSerialisedSchema: v.GenericSchema<BuilderCollectionSerialised>;
|
|
87
87
|
export declare const BuilderCollectionsSerialisedSchema: v.SchemaWithPipe<readonly [v.ArraySchema<v.GenericSchema<BuilderCollectionSerialised>, undefined>, v.ReadonlyAction<BuilderCollectionSerialised[]>]>;
|
|
88
88
|
export type BuilderCollectionsSerialised = ReadonlyArray<BuilderCollectionSerialised>;
|
|
89
|
-
export declare const validateCollectionWhen: (input: unknown, references?: import("..").BuilderReferences, errors?: import("../../errors").
|
|
89
|
+
export declare const validateCollectionWhen: (input: unknown, references?: import("..").BuilderReferences, errors?: import("../../errors").BuilderErrorsScope) => import("..").ValidationResult<{
|
|
90
90
|
readonly type: "enable";
|
|
91
91
|
readonly payload: {
|
|
92
92
|
readonly model: {
|
|
@@ -603,7 +603,7 @@ export declare const validateCollectionWhen: (input: unknown, references?: impor
|
|
|
603
603
|
readonly tags?: readonly string[] | undefined;
|
|
604
604
|
};
|
|
605
605
|
}>;
|
|
606
|
-
export declare const validateCollectionSelectMap: (input: unknown, references?: import("..").BuilderReferences, errors?: import("../../errors").
|
|
606
|
+
export declare const validateCollectionSelectMap: (input: unknown, references?: import("..").BuilderReferences, errors?: import("../../errors").BuilderErrorsScope) => import("..").ValidationResult<{
|
|
607
607
|
readonly [x: string]: {
|
|
608
608
|
readonly model: {
|
|
609
609
|
readonly models: readonly (/*elided*/ any & import("../../validate").BuilderValidatedBrand)[];
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
+
import { NameSchema } from '../../primitive.js';
|
|
2
3
|
import { paramable } from '../../references.js';
|
|
3
4
|
import { createEntityValidator } from '../kind.js';
|
|
4
5
|
import { BuilderPathsSchema } from '../paths.js';
|
|
@@ -25,7 +26,7 @@ export const BuilderCollectionSchema = v.instance(BuilderCollection);
|
|
|
25
26
|
export const BuilderCollectionWhenSerialisedSchema = createWhenSerialisedSchema(BuilderCollectionConfigSerialisedSchema);
|
|
26
27
|
export const BuilderCollectionSelectMapSerialisedSchema = createSelectMapSerialisedSchema(BuilderCollectionConfigSerialisedSchema);
|
|
27
28
|
export const BuilderCollectionSerialisedSchema = serialisable(v.object({
|
|
28
|
-
name:
|
|
29
|
+
name: NameSchema,
|
|
29
30
|
payload: paramable(v.union([BuilderCollectionConfigSerialisedSchema, BuilderCollectionWhenSerialisedSchema])),
|
|
30
31
|
paths: v.optional(paramable(BuilderPathsSchema)),
|
|
31
32
|
tags: v.optional(BuilderTagsSchema)
|
|
@@ -15,50 +15,50 @@ export declare const BuilderCollectionConfigSchema: v.InstanceSchema<typeof Buil
|
|
|
15
15
|
export declare const BuilderCollectionConfigSerialisedSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
16
16
|
readonly model: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
17
17
|
readonly type: v.LiteralSchema<"parameter", undefined>;
|
|
18
|
-
readonly id: v.StringSchema<undefined>;
|
|
19
|
-
readonly name: v.StringSchema<undefined>;
|
|
18
|
+
readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
19
|
+
readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
20
20
|
}, undefined>, v.ReadonlyAction<{
|
|
21
21
|
type: "parameter";
|
|
22
22
|
id: string;
|
|
23
23
|
name: string;
|
|
24
24
|
}>]>, v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
25
25
|
readonly type: v.LiteralSchema<"ref", undefined>;
|
|
26
|
-
readonly id: v.StringSchema<undefined>;
|
|
26
|
+
readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
27
27
|
}, undefined>, v.ReadonlyAction<{
|
|
28
28
|
type: "ref";
|
|
29
29
|
id: string;
|
|
30
30
|
}>]>, v.LazySchema<v.GenericSchema<import("..").BuilderModelSerialised>>], undefined>;
|
|
31
31
|
readonly min: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
32
32
|
readonly type: v.LiteralSchema<"parameter", undefined>;
|
|
33
|
-
readonly id: v.StringSchema<undefined>;
|
|
34
|
-
readonly name: v.StringSchema<undefined>;
|
|
33
|
+
readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
34
|
+
readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
35
35
|
}, undefined>, v.ReadonlyAction<{
|
|
36
36
|
type: "parameter";
|
|
37
37
|
id: string;
|
|
38
38
|
name: string;
|
|
39
39
|
}>]>, v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
40
40
|
readonly type: v.LiteralSchema<"ref", undefined>;
|
|
41
|
-
readonly id: v.StringSchema<undefined>;
|
|
41
|
+
readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
42
42
|
}, undefined>, v.ReadonlyAction<{
|
|
43
43
|
type: "ref";
|
|
44
44
|
id: string;
|
|
45
45
|
}>]>, v.NumberSchema<undefined>], undefined>;
|
|
46
46
|
readonly max: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
47
47
|
readonly type: v.LiteralSchema<"parameter", undefined>;
|
|
48
|
-
readonly id: v.StringSchema<undefined>;
|
|
49
|
-
readonly name: v.StringSchema<undefined>;
|
|
48
|
+
readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
49
|
+
readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
50
50
|
}, undefined>, v.ReadonlyAction<{
|
|
51
51
|
type: "parameter";
|
|
52
52
|
id: string;
|
|
53
53
|
name: string;
|
|
54
54
|
}>]>, v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
55
55
|
readonly type: v.LiteralSchema<"ref", undefined>;
|
|
56
|
-
readonly id: v.StringSchema<undefined>;
|
|
56
|
+
readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
57
57
|
}, undefined>, v.ReadonlyAction<{
|
|
58
58
|
type: "ref";
|
|
59
59
|
id: string;
|
|
60
60
|
}>]>, v.NumberSchema<undefined>], undefined>;
|
|
61
|
-
readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.StringSchema<undefined>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
|
|
61
|
+
readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
|
|
62
62
|
}, undefined>, v.ReadonlyAction<{
|
|
63
63
|
model: Readonly<{
|
|
64
64
|
type: "parameter";
|
|
@@ -90,50 +90,50 @@ export type BuilderCollectionConfigSerialised = v.InferOutput<typeof BuilderColl
|
|
|
90
90
|
export declare const BuilderCollectionConfigsSerialisedSchema: v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
91
91
|
readonly model: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
92
92
|
readonly type: v.LiteralSchema<"parameter", undefined>;
|
|
93
|
-
readonly id: v.StringSchema<undefined>;
|
|
94
|
-
readonly name: v.StringSchema<undefined>;
|
|
93
|
+
readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
94
|
+
readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
95
95
|
}, undefined>, v.ReadonlyAction<{
|
|
96
96
|
type: "parameter";
|
|
97
97
|
id: string;
|
|
98
98
|
name: string;
|
|
99
99
|
}>]>, v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
100
100
|
readonly type: v.LiteralSchema<"ref", undefined>;
|
|
101
|
-
readonly id: v.StringSchema<undefined>;
|
|
101
|
+
readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
102
102
|
}, undefined>, v.ReadonlyAction<{
|
|
103
103
|
type: "ref";
|
|
104
104
|
id: string;
|
|
105
105
|
}>]>, v.LazySchema<v.GenericSchema<import("..").BuilderModelSerialised>>], undefined>;
|
|
106
106
|
readonly min: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
107
107
|
readonly type: v.LiteralSchema<"parameter", undefined>;
|
|
108
|
-
readonly id: v.StringSchema<undefined>;
|
|
109
|
-
readonly name: v.StringSchema<undefined>;
|
|
108
|
+
readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
109
|
+
readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
110
110
|
}, undefined>, v.ReadonlyAction<{
|
|
111
111
|
type: "parameter";
|
|
112
112
|
id: string;
|
|
113
113
|
name: string;
|
|
114
114
|
}>]>, v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
115
115
|
readonly type: v.LiteralSchema<"ref", undefined>;
|
|
116
|
-
readonly id: v.StringSchema<undefined>;
|
|
116
|
+
readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
117
117
|
}, undefined>, v.ReadonlyAction<{
|
|
118
118
|
type: "ref";
|
|
119
119
|
id: string;
|
|
120
120
|
}>]>, v.NumberSchema<undefined>], undefined>;
|
|
121
121
|
readonly max: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
122
122
|
readonly type: v.LiteralSchema<"parameter", undefined>;
|
|
123
|
-
readonly id: v.StringSchema<undefined>;
|
|
124
|
-
readonly name: v.StringSchema<undefined>;
|
|
123
|
+
readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
124
|
+
readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
125
125
|
}, undefined>, v.ReadonlyAction<{
|
|
126
126
|
type: "parameter";
|
|
127
127
|
id: string;
|
|
128
128
|
name: string;
|
|
129
129
|
}>]>, v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
130
130
|
readonly type: v.LiteralSchema<"ref", undefined>;
|
|
131
|
-
readonly id: v.StringSchema<undefined>;
|
|
131
|
+
readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
132
132
|
}, undefined>, v.ReadonlyAction<{
|
|
133
133
|
type: "ref";
|
|
134
134
|
id: string;
|
|
135
135
|
}>]>, v.NumberSchema<undefined>], undefined>;
|
|
136
|
-
readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.StringSchema<undefined>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
|
|
136
|
+
readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
|
|
137
137
|
}, undefined>, v.ReadonlyAction<{
|
|
138
138
|
model: Readonly<{
|
|
139
139
|
type: "parameter";
|
|
@@ -189,7 +189,7 @@ export declare const BuilderCollectionConfigsSerialisedSchema: v.SchemaWithPipe<
|
|
|
189
189
|
}>[]>]>;
|
|
190
190
|
export type BuilderCollectionConfigsSerialised = v.InferOutput<typeof BuilderCollectionConfigsSerialisedSchema>;
|
|
191
191
|
export declare function collectionConfig<Model extends Paramable<BuilderModelGeneric> = Paramable<BuilderModelGeneric>, Min extends Paramable<number> = Paramable<number>, Max extends Paramable<number> = Paramable<number>>(model: Model, min: Min, max: Max): BuilderCollectionConfig<Model, Min, Max>;
|
|
192
|
-
export declare const validateCollectionConfig: (input: unknown, references?: import("..").BuilderReferences, errors?: import("../../errors").
|
|
192
|
+
export declare const validateCollectionConfig: (input: unknown, references?: import("..").BuilderReferences, errors?: import("../../errors").BuilderErrorsScope) => import("..").ValidationResult<{
|
|
193
193
|
readonly model: {
|
|
194
194
|
readonly models: readonly (/*elided*/ any & import("../../validate").BuilderValidatedBrand)[];
|
|
195
195
|
readonly options: readonly {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
+
import { NumberSchema } from '../../primitive.js';
|
|
2
3
|
import { isParamable, paramable } from '../../references.js';
|
|
3
4
|
import { createEntityValidator } from '../kind.js';
|
|
4
5
|
import { BuilderModelSerialisedSchema } from '../model/index.js';
|
|
@@ -22,8 +23,8 @@ export class BuilderCollectionConfig {
|
|
|
22
23
|
export const BuilderCollectionConfigSchema = v.instance(BuilderCollectionConfig);
|
|
23
24
|
export const BuilderCollectionConfigSerialisedSchema = serialisable(v.object({
|
|
24
25
|
model: paramable(v.lazy(() => BuilderModelSerialisedSchema)),
|
|
25
|
-
min: paramable(
|
|
26
|
-
max: paramable(
|
|
26
|
+
min: paramable(NumberSchema),
|
|
27
|
+
max: paramable(NumberSchema),
|
|
27
28
|
tags: v.optional(BuilderTagsSchema)
|
|
28
29
|
}));
|
|
29
30
|
export const BuilderCollectionConfigsSerialisedSchema = v.pipe(v.array(BuilderCollectionConfigSerialisedSchema), v.readonly());
|
|
@@ -36,6 +37,6 @@ export const validateCollectionConfig = createEntityValidator('collectionConfig'
|
|
|
36
37
|
return;
|
|
37
38
|
}
|
|
38
39
|
if (min < 0 || max <= 0 || max < min) {
|
|
39
|
-
errors.
|
|
40
|
+
errors.entityInvalidCollectionBounds();
|
|
40
41
|
}
|
|
41
42
|
});
|