@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.
Files changed (120) hide show
  1. package/dist/client/client.d.ts +3 -1
  2. package/dist/client/client.js +29 -20
  3. package/dist/client/index.d.ts +1 -4
  4. package/dist/client/index.js +1 -2
  5. package/dist/client/public.d.ts +4 -0
  6. package/dist/client/public.js +2 -0
  7. package/dist/client/schema.d.ts +26 -18
  8. package/dist/client/schema.js +7 -1
  9. package/dist/entities/builder/builder.js +2 -1
  10. package/dist/entities/collection/collection.d.ts +2 -2
  11. package/dist/entities/collection/collection.js +2 -1
  12. package/dist/entities/collection/config.d.ts +21 -21
  13. package/dist/entities/collection/config.js +4 -3
  14. package/dist/entities/component/component.d.ts +32 -32
  15. package/dist/entities/component/component.js +2 -1
  16. package/dist/entities/component/config.d.ts +13 -13
  17. package/dist/entities/component/config.js +1 -1
  18. package/dist/entities/component/field.d.ts +4 -4
  19. package/dist/entities/component/field.js +4 -3
  20. package/dist/entities/expectation.d.ts +3 -3
  21. package/dist/entities/expectation.js +2 -1
  22. package/dist/entities/index.d.ts +1 -1
  23. package/dist/entities/kind.d.ts +4 -4
  24. package/dist/entities/kind.js +44 -4
  25. package/dist/entities/model/models.d.ts +3 -3
  26. package/dist/entities/option/config.d.ts +4 -4
  27. package/dist/entities/option/option.d.ts +24 -24
  28. package/dist/entities/option/option.js +2 -1
  29. package/dist/entities/option/select.d.ts +2 -2
  30. package/dist/entities/option/select.js +12 -9
  31. package/dist/entities/option/toggle.d.ts +2 -2
  32. package/dist/entities/option/toggle.js +5 -4
  33. package/dist/entities/paths.d.ts +4 -4
  34. package/dist/entities/paths.js +2 -1
  35. package/dist/entities/pricing/expression.js +5 -4
  36. package/dist/entities/pricing/rates.d.ts +1 -1
  37. package/dist/entities/pricing/rates.js +2 -1
  38. package/dist/entities/references.d.ts +2 -2
  39. package/dist/entities/references.js +2 -1
  40. package/dist/entities/serialise.d.ts +204 -116
  41. package/dist/entities/serialise.js +4 -3
  42. package/dist/entities/tags.d.ts +1 -1
  43. package/dist/entities/tags.js +2 -1
  44. package/dist/entities/ui/describe.d.ts +79 -35
  45. package/dist/entities/ui/describe.js +5 -4
  46. package/dist/entities/ui/input.d.ts +93 -49
  47. package/dist/entities/ui/input.js +5 -4
  48. package/dist/entities/ui/page.d.ts +77 -33
  49. package/dist/entities/ui/page.js +4 -3
  50. package/dist/entities/ui/pages.d.ts +5 -5
  51. package/dist/entities/ui/pages.js +5 -4
  52. package/dist/entities/validated.d.ts +1 -0
  53. package/dist/entities/when.d.ts +16 -16
  54. package/dist/entities/when.js +2 -2
  55. package/dist/errors/check.d.ts +2 -3
  56. package/dist/errors/check.js +5 -10
  57. package/dist/errors/errors.d.ts +241 -158
  58. package/dist/errors/errors.js +149 -173
  59. package/dist/errors/exception.d.ts +6 -4
  60. package/dist/errors/exception.js +11 -66
  61. package/dist/errors/index.d.ts +2 -4
  62. package/dist/errors/index.js +2 -2
  63. package/dist/errors/public.d.ts +2 -0
  64. package/dist/errors/public.js +1 -0
  65. package/dist/index.d.ts +4 -36
  66. package/dist/index.js +4 -19
  67. package/dist/instance.d.ts +7 -7
  68. package/dist/instance.js +4 -4
  69. package/dist/mappers/index.d.ts +1 -1
  70. package/dist/mappers/price.js +2 -3
  71. package/dist/mappers/render/collection.d.ts +9 -0
  72. package/dist/mappers/render/collection.js +27 -0
  73. package/dist/mappers/render/compose.d.ts +5 -0
  74. package/dist/mappers/render/compose.js +15 -0
  75. package/dist/mappers/render/description.d.ts +3 -0
  76. package/dist/mappers/render/description.js +17 -0
  77. package/dist/mappers/render/index.d.ts +3 -1
  78. package/dist/mappers/render/option.d.ts +20 -0
  79. package/dist/mappers/render/option.js +25 -0
  80. package/dist/mappers/render/page.d.ts +11 -0
  81. package/dist/mappers/render/page.js +11 -0
  82. package/dist/mappers/render/paths.d.ts +3 -0
  83. package/dist/mappers/render/paths.js +21 -0
  84. package/dist/mappers/render/render.d.ts +1 -1
  85. package/dist/mappers/render/render.js +33 -98
  86. package/dist/mappers/resolve.d.ts +2 -1
  87. package/dist/mappers/resolve.js +26 -25
  88. package/dist/mappers/variants/option-graph.js +11 -4
  89. package/dist/mappers/variants/variants.js +7 -6
  90. package/dist/primitive.d.ts +5 -0
  91. package/dist/primitive.js +6 -1
  92. package/dist/public.d.ts +37 -0
  93. package/dist/public.js +19 -0
  94. package/dist/references.d.ts +6 -6
  95. package/dist/references.js +3 -2
  96. package/dist/validate/brand.js +2 -4
  97. package/dist/validate/builder.d.ts +2 -2
  98. package/dist/validate/builder.js +3 -3
  99. package/dist/validate/expectations.d.ts +2 -2
  100. package/dist/validate/expectations.js +1 -1
  101. package/dist/validate/index.d.ts +0 -1
  102. package/dist/validate/instance.d.ts +2 -2
  103. package/dist/validate/instance.js +6 -6
  104. package/dist/validate/model.d.ts +4 -4
  105. package/dist/validate/model.js +129 -101
  106. package/dist/validate/paths.d.ts +2 -2
  107. package/dist/validate/paths.js +47 -25
  108. package/dist/validate/pricing.d.ts +4 -4
  109. package/dist/validate/pricing.js +30 -18
  110. package/dist/validate/resolve.d.ts +4 -3
  111. package/dist/validate/resolve.js +88 -63
  112. package/dist/validate/ui.d.ts +4 -4
  113. package/dist/validate/ui.js +17 -16
  114. package/dist/validate/variants.d.ts +2 -2
  115. package/dist/validate/variants.js +16 -16
  116. package/package.json +11 -7
  117. package/dist/mappers/render/pages.d.ts +0 -24
  118. package/dist/mappers/render/pages.js +0 -2
  119. package/dist/private.d.ts +0 -3
  120. package/dist/private.js +0 -3
@@ -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;
@@ -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: async (id) => {
9
- const requestUrl = `${url}/api/builder/${id}`;
10
- const response = await fetch(requestUrl, {
11
- headers: {
12
- ...headers,
13
- 'X-Builder-Builder-Key': apiKey
14
- }
15
- });
16
- if (!response.ok) {
17
- throw new BuilderException({
18
- category: 'request',
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
+ }
@@ -1,4 +1 @@
1
- export type { BuilderBuilderClientOptions, BuilderBuilderGetResponse } from './schema.js';
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';
@@ -1,2 +1 @@
1
- export { BuilderBuilderClientOptionsSchema, BuilderBuilderGetResponseSchema } from './schema.js';
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';
@@ -0,0 +1,2 @@
1
+ export { BuilderBuilderClientOptionsSchema, BuilderBuilderGetResponseSchema, BuilderBuilderPriceRequestSchema, BuilderBuilderPriceResponseSchema } from './schema.js';
2
+ export { client } from './client.js';
@@ -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("../index.js").BuilderSerialised>;
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("../index.js").BuilderSerialised | import("../index.js").BuilderModelSerialised | Readonly<{
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("../index.js").BuilderMatchSelectMap<Readonly<{
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("../index.js").BuilderWhenSerialised<Readonly<Readonly<{
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("../index.js").BuilderMatchSelectMap<Readonly<{
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("../index.js").BuilderWhenSerialised<Readonly<{
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("../index.js").BuilderModelSerialised;
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("../index.js").BuilderMatchSelectMap<Readonly<{
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("../index.js").BuilderModelSerialised;
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("../index.js").BuilderWhenSerialised<Readonly<{
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("../index.js").BuilderModelSerialised;
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("../index.js").BuilderUISerialised | Readonly<{
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("../index.js").BuilderUIPagesSerialised | readonly (Readonly<{
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("../index.js").BuilderPricingSerialised | import("../entities/index.js").BuilderRates | readonly Readonly<{
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>;
@@ -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(v.string(), v.union([BuilderRefSerialisedSchema, v.unknown()])), v.readonly()),
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").BuilderValidateErrors) => import("..").ValidationResult<{
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").BuilderValidateErrors) => import("..").ValidationResult<{
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: v.string(),
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").BuilderValidateErrors) => import("..").ValidationResult<{
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(v.number()),
26
- max: paramable(v.number()),
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.invalidCollectionBounds(min, max);
40
+ errors.entityInvalidCollectionBounds();
40
41
  }
41
42
  });