@builder-builder/builder 0.0.20 → 0.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bb.d.ts +10 -11
- package/dist/bb.js +25 -2
- package/dist/entities/builder/bind.d.ts +1 -1
- package/dist/entities/builder/builder.js +1 -1
- package/dist/entities/collection/collection.d.ts +689 -1
- package/dist/entities/collection/collection.js +5 -2
- package/dist/entities/collection/config.d.ts +189 -0
- package/dist/entities/collection/config.js +12 -2
- package/dist/entities/collection/expectation.d.ts +1 -1
- package/dist/entities/collection/index.d.ts +2 -2
- package/dist/entities/collection/index.js +2 -2
- package/dist/entities/collection/when.d.ts +1 -1
- package/dist/entities/component/component.d.ts +61 -7
- package/dist/entities/component/component.js +5 -2
- package/dist/entities/component/config.d.ts +10 -0
- package/dist/entities/component/config.js +19 -2
- package/dist/entities/component/field.js +1 -1
- package/dist/entities/component/index.d.ts +2 -2
- package/dist/entities/component/index.js +2 -2
- package/dist/entities/component/when.d.ts +1 -1
- package/dist/entities/expectation.d.ts +4 -0
- package/dist/entities/expectation.js +3 -1
- package/dist/entities/index.d.ts +15 -13
- package/dist/entities/index.js +11 -10
- package/dist/entities/kind.d.ts +10 -7
- package/dist/entities/kind.js +39 -5
- package/dist/entities/model/bind.d.ts +1 -1
- package/dist/entities/model/methods.d.ts +4 -4
- package/dist/entities/model/model.js +1 -1
- package/dist/entities/option/index.d.ts +3 -3
- package/dist/entities/option/index.js +3 -3
- package/dist/entities/option/option.d.ts +85 -7
- package/dist/entities/option/option.js +5 -2
- package/dist/entities/option/select.d.ts +10 -0
- package/dist/entities/option/select.js +12 -1
- package/dist/entities/option/toggle.d.ts +7 -0
- package/dist/entities/option/toggle.js +12 -1
- package/dist/entities/option/when.d.ts +1 -1
- package/dist/{paths.d.ts → entities/paths.d.ts} +2 -0
- package/dist/{paths.js → entities/paths.js} +3 -0
- package/dist/entities/pricing/index.d.ts +1 -1
- package/dist/entities/pricing/index.js +1 -1
- package/dist/entities/pricing/pricing.js +1 -1
- package/dist/entities/pricing/rates.d.ts +5 -0
- package/dist/entities/pricing/rates.js +3 -1
- package/dist/entities/references.d.ts +723 -6
- package/dist/entities/references.js +7 -1
- package/dist/entities/serialise.d.ts +48 -42
- package/dist/entities/serialise.js +9 -3
- package/dist/entities/ui/describe.d.ts +15 -0
- package/dist/entities/ui/describe.js +11 -2
- package/dist/entities/ui/index.d.ts +4 -4
- package/dist/entities/ui/index.js +4 -4
- package/dist/entities/ui/input.d.ts +11 -1
- package/dist/entities/ui/input.js +4 -2
- package/dist/entities/ui/page.d.ts +15 -0
- package/dist/entities/ui/page.js +11 -2
- package/dist/entities/ui/pages.d.ts +132 -0
- package/dist/entities/ui/pages.js +12 -2
- package/dist/entities/ui/ui.d.ts +1 -1
- package/dist/entities/ui/ui.js +2 -2
- package/dist/entities/ui/uis.js +1 -1
- package/dist/entities/validated.d.ts +26 -18
- package/dist/entities/when.d.ts +4 -3
- package/dist/entities/when.js +22 -2
- package/dist/environment.d.ts +2 -2
- package/dist/{validate → errors}/errors.d.ts +57 -35
- package/dist/{validate → errors}/errors.js +40 -5
- package/dist/errors/exception.d.ts +5 -0
- package/dist/{exception.js → errors/exception.js} +0 -3
- package/dist/errors/index.d.ts +4 -0
- package/dist/errors/index.js +3 -0
- package/dist/index.d.ts +14 -14
- package/dist/index.js +3 -2
- package/dist/instance.d.ts +7 -7
- package/dist/instance.js +4 -4
- package/dist/mappers/instance.js +1 -1
- package/dist/mappers/order.d.ts +4 -4
- package/dist/mappers/order.js +1 -1
- package/dist/mappers/price.js +18 -18
- package/dist/mappers/render/render.js +1 -1
- package/dist/mappers/resolve.d.ts +1 -2
- package/dist/mappers/resolve.js +3 -20
- package/dist/mappers/variants/option-graph.d.ts +1 -2
- package/dist/mappers/variants/option-graph.js +2 -3
- package/dist/mappers/variants/variants.d.ts +2 -2
- package/dist/mappers/variants/variants.js +1 -1
- package/dist/private.d.ts +1 -2
- package/dist/private.js +1 -2
- package/dist/references.js +1 -1
- package/dist/validate/brand.js +1 -2
- package/dist/validate/builder.d.ts +2 -3
- package/dist/validate/builder.js +2 -3
- package/dist/validate/expectations.d.ts +1 -1
- package/dist/validate/index.d.ts +4 -2
- package/dist/validate/index.js +1 -0
- package/dist/validate/instance.d.ts +2 -3
- package/dist/validate/instance.js +1 -2
- package/dist/validate/model.d.ts +2 -3
- package/dist/validate/model.js +39 -44
- package/dist/validate/paths.d.ts +2 -3
- package/dist/validate/paths.js +1 -1
- package/dist/validate/pricing.d.ts +2 -3
- package/dist/validate/pricing.js +2 -3
- package/dist/validate/resolve.d.ts +1 -1
- package/dist/validate/resolve.js +1 -1
- package/dist/validate/ui.d.ts +2 -3
- package/dist/validate/ui.js +13 -4
- package/dist/validate/variants.d.ts +4 -5
- package/dist/validate/variants.js +4 -5
- package/package.json +7 -2
- package/dist/exception.d.ts +0 -13
- package/dist/validate/result.d.ts +0 -2
- package/dist/validate/result.js +0 -1
- /package/dist/{serialisable.d.ts → entities/serialisable.d.ts} +0 -0
- /package/dist/{serialisable.js → entities/serialisable.js} +0 -0
- /package/dist/{check.d.ts → errors/check.d.ts} +0 -0
- /package/dist/{check.js → errors/check.js} +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import { paramable } from '../../references.js';
|
|
3
|
-
import {
|
|
2
|
+
import { isParamable, paramable } from '../../references.js';
|
|
3
|
+
import { createEntityValidator } from '../kind.js';
|
|
4
|
+
import { serialisable } from '../serialisable.js';
|
|
4
5
|
import { BuilderTagsSchema } from '../tags.js';
|
|
5
6
|
import { BuilderUIDescribeSerialisedSchema } from './describe.js';
|
|
6
7
|
import { BuilderUIPageSerialisedSchema } from './page.js';
|
|
@@ -34,3 +35,12 @@ export const BuilderUIItemSerialisedSchema = v.union([
|
|
|
34
35
|
BuilderUIPagesSerialisedSchema
|
|
35
36
|
]);
|
|
36
37
|
export const BuilderUIItemsSerialisedSchema = v.pipe(v.array(paramable(BuilderUIItemSerialisedSchema)), v.readonly());
|
|
38
|
+
export const validateUIPages = createEntityValidator('uiPages', BuilderUIPagesSerialisedSchema, (input, errors) => {
|
|
39
|
+
if (input.name.length === 0) {
|
|
40
|
+
errors.emptyName();
|
|
41
|
+
}
|
|
42
|
+
if (!isParamable(input.label) && input.label.length === 0) {
|
|
43
|
+
errors.emptyLabel();
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
export const validateUIItems = createEntityValidator('uiItems', BuilderUIItemsSerialisedSchema);
|
package/dist/entities/ui/ui.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Paramable, ParamableSerialised } from '../../references';
|
|
2
|
-
import type { BuilderExpectation, BuilderExpectations, BuilderExpectationsSerialised } from '../expectation';
|
|
3
2
|
import type { CollectionNamesOf } from '../collection/index';
|
|
3
|
+
import type { BuilderExpectation, BuilderExpectations, BuilderExpectationsSerialised } from '../expectation';
|
|
4
4
|
import type { BuilderModel, BuilderModelGeneric, BuilderModelStateAsserted, BuilderModelStateOf } from '../model/index';
|
|
5
5
|
import type { BuilderTags } from '../tags';
|
|
6
6
|
import type { BuilderUIValidInputsOf } from './input';
|
package/dist/entities/ui/ui.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import { check } from '../../
|
|
2
|
+
import { check } from '../../errors/index.js';
|
|
3
3
|
import { paramable } from '../../references.js';
|
|
4
|
-
import { serialisable } from '../../serialisable.js';
|
|
5
4
|
import { BuilderExpectationsSerialisedSchema } from '../expectation.js';
|
|
5
|
+
import { serialisable } from '../serialisable.js';
|
|
6
6
|
import { BuilderTagsSchema } from '../tags.js';
|
|
7
7
|
import { BuilderUIDescribe } from './describe.js';
|
|
8
8
|
import { BuilderUIPage } from './page.js';
|
package/dist/entities/ui/uis.js
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { BuilderErrors } from '../errors/index';
|
|
2
|
+
import type { BuilderInstance, BuilderInstances, BuilderVariants } from '../instance';
|
|
3
3
|
import type { Prettify } from '../prettify';
|
|
4
4
|
import type { BuilderParameter, BuilderParameterSerialised, BuilderRef, BuilderRefSerialised } from '../references';
|
|
5
|
+
import type { BuilderValidatedBrand } from '../validate/index';
|
|
5
6
|
import type { BuilderSerialised } from './builder/index';
|
|
6
|
-
import type {
|
|
7
|
-
import type {
|
|
7
|
+
import type { BuilderCollectionSerialised, BuilderCollectionsSerialised } from './collection/index';
|
|
8
|
+
import type { BuilderComponentSerialised, BuilderComponentsSerialised } from './component/index';
|
|
9
|
+
import type { BuilderEntityKind } from './kind';
|
|
8
10
|
import type { BuilderModelSerialised } from './model/index';
|
|
9
|
-
import type { BuilderOptionSerialised, BuilderOptionsSerialised
|
|
11
|
+
import type { BuilderOptionSerialised, BuilderOptionsSerialised } from './option/index';
|
|
10
12
|
import type { BuilderPricingSerialised } from './pricing/index';
|
|
11
|
-
import type {
|
|
12
|
-
|
|
13
|
+
import type { entitiesMap } from './serialise';
|
|
14
|
+
import type { BuilderUISerialised } from './ui/index';
|
|
15
|
+
import type * as v from 'valibot';
|
|
16
|
+
export type Validated<Input> = Input extends BuilderVariants | BuilderInstance | BuilderModelSerialised | BuilderPricingSerialised | BuilderSerialised | BuilderUISerialised ? Validate<Input> & BuilderValidatedBrand : Validate<Input>;
|
|
13
17
|
type Validate<Input> = Input extends BuilderParameter<string> | BuilderParameterSerialised | BuilderRef | BuilderRefSerialised ? never : Input extends ReadonlyArray<unknown> ? ValidatedTuple<Input> : Input extends object ? {
|
|
14
18
|
readonly [Key in keyof Input]: Validated<Input[Key]>;
|
|
15
19
|
} : Input;
|
|
@@ -17,23 +21,27 @@ type ValidatedTuple<Input extends ReadonlyArray<unknown>> = Input extends readon
|
|
|
17
21
|
infer Head,
|
|
18
22
|
...infer Rest extends ReadonlyArray<unknown>
|
|
19
23
|
] ? [Validated<Head>] extends [never] ? ValidatedTuple<Rest> : readonly [Validated<Head>, ...ValidatedTuple<Rest>] : Input extends readonly [] ? readonly [] : ReadonlyArray<Validated<Input[number]>>;
|
|
20
|
-
export type
|
|
21
|
-
|
|
22
|
-
|
|
24
|
+
export type BuilderValidatedMap = {
|
|
25
|
+
readonly [Kind in BuilderEntityKind]: Prettify<Validated<v.InferOutput<(typeof entitiesMap)[Kind]['serialised']>>>;
|
|
26
|
+
};
|
|
27
|
+
export type ValidationResult<Entity> = readonly [Entity, BuilderErrors];
|
|
28
|
+
export type BuilderValidated = BuilderValidatedMap['builder'];
|
|
29
|
+
export type BuilderModelValidated = BuilderValidatedMap['model'];
|
|
30
|
+
export type BuilderPricingValidated = BuilderValidatedMap['pricing'];
|
|
31
|
+
export type BuilderUIValidated = BuilderValidatedMap['ui'];
|
|
32
|
+
export type BuilderUIDescribeValidated = BuilderValidatedMap['uiDescribe'];
|
|
33
|
+
export type BuilderUIItemsValidated = BuilderValidatedMap['uiItems'];
|
|
34
|
+
export type BuilderUIPageValidated = BuilderValidatedMap['uiPage'];
|
|
23
35
|
export type BuilderInstanceValidated = Prettify<Validated<BuilderInstance>>;
|
|
24
36
|
export type BuilderInstancesValidated = Prettify<Validated<BuilderInstances>>;
|
|
25
|
-
export type
|
|
37
|
+
export type BuilderVariantsValidated = Prettify<Validated<BuilderVariants>>;
|
|
26
38
|
export type BuilderOptionValidated = Prettify<Validated<BuilderOptionSerialised>>;
|
|
27
39
|
export type BuilderOptionsValidated = Prettify<Validated<BuilderOptionsSerialised>>;
|
|
28
|
-
export type BuilderOptionConfigValidated =
|
|
40
|
+
export type BuilderOptionConfigValidated = BuilderValidatedMap['select' | 'toggle'];
|
|
29
41
|
export type BuilderComponentValidated = Prettify<Validated<BuilderComponentSerialised>>;
|
|
30
42
|
export type BuilderComponentsValidated = Prettify<Validated<BuilderComponentsSerialised>>;
|
|
31
|
-
export type BuilderComponentConfigValidated =
|
|
43
|
+
export type BuilderComponentConfigValidated = BuilderValidatedMap['componentConfig'];
|
|
32
44
|
export type BuilderCollectionValidated = Prettify<Validated<BuilderCollectionSerialised>>;
|
|
33
45
|
export type BuilderCollectionsValidated = Prettify<Validated<BuilderCollectionsSerialised>>;
|
|
34
|
-
export type BuilderCollectionConfigValidated =
|
|
35
|
-
export type BuilderPricingValidated = Prettify<Validated<BuilderPricingSerialised>>;
|
|
36
|
-
export type BuilderUIItemsValidated = Prettify<Validated<BuilderUIItemsSerialised>>;
|
|
37
|
-
export type BuilderUIPageValidated = Prettify<Validated<BuilderUIPageSerialised>>;
|
|
38
|
-
export type BuilderUIDescribeValidated = Prettify<Validated<BuilderUIDescribeSerialised>>;
|
|
46
|
+
export type BuilderCollectionConfigValidated = BuilderValidatedMap['collectionConfig'];
|
|
39
47
|
export {};
|
package/dist/entities/when.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { BuilderPath, BuilderPaths } from '../paths';
|
|
2
1
|
import type { BuilderPrimitive, BuilderPrimitives } from '../primitive';
|
|
3
2
|
import type { BuilderParameter, BuilderParameterSerialised, Paramable } from '../references';
|
|
4
3
|
import type { BuilderModelGeneric, BuilderModelState, BuilderModelStateOf } from './model/index';
|
|
4
|
+
import type { BuilderPath, BuilderPaths } from './paths';
|
|
5
5
|
import * as v from 'valibot';
|
|
6
6
|
export type BuilderEnableConfig<Payload = unknown> = {
|
|
7
7
|
readonly type: 'enable';
|
|
@@ -112,6 +112,8 @@ export declare const BuilderWhenConfigSchema: v.SchemaWithPipe<readonly [v.Varia
|
|
|
112
112
|
id: string;
|
|
113
113
|
}>]>, v.SchemaWithPipe<readonly [v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, v.ReadonlyAction<(string | number)[]>]>], undefined>;
|
|
114
114
|
}, undefined>], undefined>, v.ReadonlyAction<{
|
|
115
|
+
type: "enable";
|
|
116
|
+
} | {
|
|
115
117
|
type: "match";
|
|
116
118
|
matchPath: readonly (string | number)[] | Readonly<{
|
|
117
119
|
type: "parameter";
|
|
@@ -131,12 +133,11 @@ export declare const BuilderWhenConfigSchema: v.SchemaWithPipe<readonly [v.Varia
|
|
|
131
133
|
type: "ref";
|
|
132
134
|
id: string;
|
|
133
135
|
}>;
|
|
134
|
-
} | {
|
|
135
|
-
type: "enable";
|
|
136
136
|
}>]>;
|
|
137
137
|
export type BuilderWhenConfig = v.InferOutput<typeof BuilderWhenConfigSchema>;
|
|
138
138
|
export type BuilderWhenGeneric = BuilderWhen<unknown, unknown, unknown, unknown>;
|
|
139
139
|
export declare const BuilderWhenSerialisedSchema: v.GenericSchema<BuilderWhenSerialised<unknown>>;
|
|
140
|
+
export declare function whenBranches<Leaf>(payload: unknown, schema: v.GenericSchema<Leaf>): ReadonlyArray<Leaf>;
|
|
140
141
|
export declare function createSelectMapSerialisedSchema<Payload extends v.GenericSchema>(payloadSchema: Payload): v.GenericSchema<BuilderMatchSelectMap<v.InferOutput<Payload> | BuilderParameterSerialised>>;
|
|
141
142
|
export declare function createWhenSerialisedSchema<Payload extends v.GenericSchema>(payloadSchema: Payload): v.GenericSchema<BuilderWhenSerialised<v.InferOutput<Payload>>>;
|
|
142
143
|
export declare function createWhenFactories<Payload>(): {
|
package/dist/entities/when.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import {
|
|
2
|
+
import { check } from '../errors/index.js';
|
|
3
3
|
import { BuilderPrimitivesSchema } from '../primitive.js';
|
|
4
|
-
import { paramable } from '../references.js';
|
|
4
|
+
import { isParamable, paramable } from '../references.js';
|
|
5
|
+
import { BuilderPathSchema } from './paths.js';
|
|
5
6
|
export const BuilderWhenEnableSchema = v.object({
|
|
6
7
|
type: v.literal('enable')
|
|
7
8
|
});
|
|
@@ -15,6 +16,25 @@ export const BuilderWhenUnlessSchema = v.object({
|
|
|
15
16
|
});
|
|
16
17
|
export const BuilderWhenConfigSchema = v.pipe(v.variant('type', [BuilderWhenEnableSchema, BuilderWhenMatchSchema, BuilderWhenUnlessSchema]), v.readonly());
|
|
17
18
|
export const BuilderWhenSerialisedSchema = createWhenSerialisedSchema(v.unknown());
|
|
19
|
+
export function whenBranches(payload, schema) {
|
|
20
|
+
if (check.is(schema, payload)) {
|
|
21
|
+
return [payload];
|
|
22
|
+
}
|
|
23
|
+
if (isParamable(payload)) {
|
|
24
|
+
return [];
|
|
25
|
+
}
|
|
26
|
+
check.assert(BuilderWhenSerialisedSchema, payload);
|
|
27
|
+
const when = payload;
|
|
28
|
+
switch (when.type) {
|
|
29
|
+
case 'enable':
|
|
30
|
+
case 'unless': {
|
|
31
|
+
return [when.payload];
|
|
32
|
+
}
|
|
33
|
+
case 'match': {
|
|
34
|
+
return Object.values(when.selectMap).filter((branch) => branch != null);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
18
38
|
export function createSelectMapSerialisedSchema(payloadSchema) {
|
|
19
39
|
return v.pipe(v.record(v.string(), v.nullable(paramable(payloadSchema))), v.readonly());
|
|
20
40
|
}
|
package/dist/environment.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { BuilderErrors } from './
|
|
1
|
+
import type { BuilderErrors } from './errors/index';
|
|
2
2
|
import * as v from 'valibot';
|
|
3
3
|
export declare const BuilderEnvironmentSchema: v.PicklistSchema<["development", "staging", "production"], undefined>;
|
|
4
4
|
export type BuilderEnvironment = v.InferOutput<typeof BuilderEnvironmentSchema>;
|
|
5
|
-
export type BuilderEnvironmentResult<EntityType, Env extends BuilderEnvironment = 'production'> = Env extends 'development' ? readonly [EntityType, BuilderErrors] : readonly [EntityType,
|
|
5
|
+
export type BuilderEnvironmentResult<EntityType, Env extends BuilderEnvironment = 'production'> = Env extends 'development' ? readonly [EntityType, BuilderErrors] : readonly [EntityType, ReadonlyArray<never>];
|
|
@@ -1,16 +1,25 @@
|
|
|
1
|
-
import type { BuilderExpectationKind } from '../entities/index';
|
|
2
|
-
import type { BuilderErrorLocation, BuilderErrors } from '../exception';
|
|
1
|
+
import type { BuilderEntityKind, BuilderExpectationKind } from '../entities/index';
|
|
3
2
|
import type { BuilderInstance } from '../instance';
|
|
4
|
-
export type
|
|
5
|
-
export
|
|
6
|
-
|
|
3
|
+
export type BuilderErrorLocation = ReadonlyArray<string | number>;
|
|
4
|
+
export declare function builderError<Kind extends string>(kind: Kind, location: BuilderErrorLocation): {
|
|
5
|
+
kind: Kind;
|
|
6
|
+
location: BuilderErrorLocation;
|
|
7
|
+
};
|
|
8
|
+
export type BuilderError = ReturnType<typeof builderError> & {
|
|
9
|
+
readonly [key: string]: unknown;
|
|
10
|
+
};
|
|
11
|
+
export type BuilderErrors = ReadonlyArray<BuilderError>;
|
|
7
12
|
export declare class BuilderValidateErrors {
|
|
8
13
|
#private;
|
|
9
14
|
get errors(): BuilderErrors;
|
|
10
15
|
scope<Result>(part: string | number, fn: () => Result): Result;
|
|
11
|
-
|
|
12
|
-
target:
|
|
13
|
-
kind: "invalid-
|
|
16
|
+
invalidEntity(target: BuilderEntityKind): {
|
|
17
|
+
target: "string" | "number" | "boolean" | "builder" | "model" | "select" | "toggle" | "optionSelectMap" | "optionWhen" | "componentConfig" | "componentSelectMap" | "componentWhen" | "collectionConfig" | "collectionSelectMap" | "collectionWhen" | "ui" | "uiDescribe" | "uiItems" | "uiPage" | "uiPages" | "uiInput" | "pricing" | "pricingRates" | "expectations" | "paths" | "path";
|
|
18
|
+
kind: "invalid-entity";
|
|
19
|
+
location: BuilderErrorLocation;
|
|
20
|
+
};
|
|
21
|
+
invalidVariants(): {
|
|
22
|
+
kind: "invalid-variants";
|
|
14
23
|
location: BuilderErrorLocation;
|
|
15
24
|
};
|
|
16
25
|
invalidOption(name: string, value: unknown): {
|
|
@@ -29,15 +38,14 @@ export declare class BuilderValidateErrors {
|
|
|
29
38
|
kind: "duplicate-name";
|
|
30
39
|
location: BuilderErrorLocation;
|
|
31
40
|
};
|
|
32
|
-
invalidCollectionBounds(
|
|
33
|
-
name: string;
|
|
41
|
+
invalidCollectionBounds(min: number, max: number): {
|
|
34
42
|
min: number;
|
|
35
43
|
max: number;
|
|
36
44
|
kind: "invalid-collection-bounds";
|
|
37
45
|
location: BuilderErrorLocation;
|
|
38
46
|
};
|
|
39
|
-
invalidPath(reason:
|
|
40
|
-
reason:
|
|
47
|
+
invalidPath(reason: string): {
|
|
48
|
+
reason: string;
|
|
41
49
|
kind: "invalid-path";
|
|
42
50
|
location: BuilderErrorLocation;
|
|
43
51
|
};
|
|
@@ -46,6 +54,38 @@ export declare class BuilderValidateErrors {
|
|
|
46
54
|
kind: "invalid-select-map-key";
|
|
47
55
|
location: BuilderErrorLocation;
|
|
48
56
|
};
|
|
57
|
+
invalidSelectDefault(value: string): {
|
|
58
|
+
value: string;
|
|
59
|
+
kind: "invalid-select-default";
|
|
60
|
+
location: BuilderErrorLocation;
|
|
61
|
+
};
|
|
62
|
+
invalidSelectLabel(key: string): {
|
|
63
|
+
key: string;
|
|
64
|
+
kind: "invalid-select-label";
|
|
65
|
+
location: BuilderErrorLocation;
|
|
66
|
+
};
|
|
67
|
+
invalidToggleDefault(value: unknown, valueType: string): {
|
|
68
|
+
value: unknown;
|
|
69
|
+
valueType: string;
|
|
70
|
+
kind: "invalid-toggle-default";
|
|
71
|
+
location: BuilderErrorLocation;
|
|
72
|
+
};
|
|
73
|
+
emptyLabel(): {
|
|
74
|
+
kind: "empty-label";
|
|
75
|
+
location: BuilderErrorLocation;
|
|
76
|
+
};
|
|
77
|
+
emptyInputs(): {
|
|
78
|
+
kind: "empty-inputs";
|
|
79
|
+
location: BuilderErrorLocation;
|
|
80
|
+
};
|
|
81
|
+
emptyItems(): {
|
|
82
|
+
kind: "empty-items";
|
|
83
|
+
location: BuilderErrorLocation;
|
|
84
|
+
};
|
|
85
|
+
emptyName(): {
|
|
86
|
+
kind: "empty-name";
|
|
87
|
+
location: BuilderErrorLocation;
|
|
88
|
+
};
|
|
49
89
|
unboundParameter(name: string): {
|
|
50
90
|
name: string;
|
|
51
91
|
kind: "unbound-parameter";
|
|
@@ -110,8 +150,8 @@ export declare class BuilderValidateErrors {
|
|
|
110
150
|
kind: "invalid-detail";
|
|
111
151
|
location: BuilderErrorLocation;
|
|
112
152
|
};
|
|
113
|
-
invalidPricing(reason:
|
|
114
|
-
reason:
|
|
153
|
+
invalidPricing(reason: string): {
|
|
154
|
+
reason: string;
|
|
115
155
|
kind: "invalid-pricing";
|
|
116
156
|
location: BuilderErrorLocation;
|
|
117
157
|
};
|
|
@@ -125,24 +165,6 @@ export declare class BuilderValidateErrors {
|
|
|
125
165
|
location: BuilderErrorLocation;
|
|
126
166
|
};
|
|
127
167
|
}
|
|
128
|
-
|
|
129
|
-
export type
|
|
130
|
-
export
|
|
131
|
-
export type BuilderErrorDuplicateName = ReturnType<BuilderValidateErrors['duplicateName']>;
|
|
132
|
-
export type BuilderErrorInvalidCollectionBounds = ReturnType<BuilderValidateErrors['invalidCollectionBounds']>;
|
|
133
|
-
export type BuilderErrorInvalidPath = ReturnType<BuilderValidateErrors['invalidPath']>;
|
|
134
|
-
export type BuilderErrorInvalidSelectMapKey = ReturnType<BuilderValidateErrors['invalidSelectMapKey']>;
|
|
135
|
-
export type BuilderErrorUnboundParameter = ReturnType<BuilderValidateErrors['unboundParameter']>;
|
|
136
|
-
export type BuilderErrorMissingReference = ReturnType<BuilderValidateErrors['missingReference']>;
|
|
137
|
-
export type BuilderErrorUnmetExpectation = ReturnType<BuilderValidateErrors['unmetExpectation']>;
|
|
138
|
-
export type BuilderErrorUnvalidated = ReturnType<BuilderValidateErrors['unvalidated']>;
|
|
139
|
-
export type BuilderErrorMissingComponent = ReturnType<BuilderValidateErrors['missingComponent']>;
|
|
140
|
-
export type BuilderErrorUnexpectedComponent = ReturnType<BuilderValidateErrors['unexpectedComponent']>;
|
|
141
|
-
export type BuilderErrorMissingVariant = ReturnType<BuilderValidateErrors['missingVariant']>;
|
|
142
|
-
export type BuilderErrorInvalidVariant = ReturnType<BuilderValidateErrors['invalidVariant']>;
|
|
143
|
-
export type BuilderErrorMissingDetail = ReturnType<BuilderValidateErrors['missingDetail']>;
|
|
144
|
-
export type BuilderErrorUnexpectedDetail = ReturnType<BuilderValidateErrors['unexpectedDetail']>;
|
|
145
|
-
export type BuilderErrorInvalidDetail = ReturnType<BuilderValidateErrors['invalidDetail']>;
|
|
146
|
-
export type BuilderErrorInvalidPricing = ReturnType<BuilderValidateErrors['invalidPricing']>;
|
|
147
|
-
export type BuilderErrorMissingRate = ReturnType<BuilderValidateErrors['missingRate']>;
|
|
148
|
-
export type BuilderErrorNoComponents = ReturnType<BuilderValidateErrors['noComponents']>;
|
|
168
|
+
type ErrorMethodKey = Exclude<keyof BuilderValidateErrors, 'scope' | 'errors'>;
|
|
169
|
+
export type BuilderErrorKind = ReturnType<BuilderValidateErrors[ErrorMethodKey]>['kind'];
|
|
170
|
+
export {};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
export function builderError(kind, location) {
|
|
2
|
+
return { kind, location };
|
|
3
|
+
}
|
|
2
4
|
export class BuilderValidateErrors {
|
|
3
5
|
#errors = [];
|
|
4
6
|
#location = [];
|
|
@@ -14,12 +16,15 @@ export class BuilderValidateErrors {
|
|
|
14
16
|
this.#location = this.#location.slice(0, -1);
|
|
15
17
|
}
|
|
16
18
|
}
|
|
17
|
-
|
|
19
|
+
invalidEntity(target) {
|
|
18
20
|
return this.#addError({
|
|
19
|
-
...builderError('invalid-
|
|
21
|
+
...builderError('invalid-entity', this.#location),
|
|
20
22
|
target
|
|
21
23
|
});
|
|
22
24
|
}
|
|
25
|
+
invalidVariants() {
|
|
26
|
+
return this.#addError(builderError('invalid-variants', this.#location));
|
|
27
|
+
}
|
|
23
28
|
invalidOption(name, value) {
|
|
24
29
|
return this.#addError({
|
|
25
30
|
...builderError('invalid-option', this.#location),
|
|
@@ -39,10 +44,9 @@ export class BuilderValidateErrors {
|
|
|
39
44
|
name
|
|
40
45
|
});
|
|
41
46
|
}
|
|
42
|
-
invalidCollectionBounds(
|
|
47
|
+
invalidCollectionBounds(min, max) {
|
|
43
48
|
return this.#addError({
|
|
44
49
|
...builderError('invalid-collection-bounds', this.#location),
|
|
45
|
-
name,
|
|
46
50
|
min,
|
|
47
51
|
max
|
|
48
52
|
});
|
|
@@ -59,6 +63,37 @@ export class BuilderValidateErrors {
|
|
|
59
63
|
key
|
|
60
64
|
});
|
|
61
65
|
}
|
|
66
|
+
invalidSelectDefault(value) {
|
|
67
|
+
return this.#addError({
|
|
68
|
+
...builderError('invalid-select-default', this.#location),
|
|
69
|
+
value
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
invalidSelectLabel(key) {
|
|
73
|
+
return this.#addError({
|
|
74
|
+
...builderError('invalid-select-label', this.#location),
|
|
75
|
+
key
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
invalidToggleDefault(value, valueType) {
|
|
79
|
+
return this.#addError({
|
|
80
|
+
...builderError('invalid-toggle-default', this.#location),
|
|
81
|
+
value,
|
|
82
|
+
valueType
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
emptyLabel() {
|
|
86
|
+
return this.#addError(builderError('empty-label', this.#location));
|
|
87
|
+
}
|
|
88
|
+
emptyInputs() {
|
|
89
|
+
return this.#addError(builderError('empty-inputs', this.#location));
|
|
90
|
+
}
|
|
91
|
+
emptyItems() {
|
|
92
|
+
return this.#addError(builderError('empty-items', this.#location));
|
|
93
|
+
}
|
|
94
|
+
emptyName() {
|
|
95
|
+
return this.#addError(builderError('empty-name', this.#location));
|
|
96
|
+
}
|
|
62
97
|
unboundParameter(name) {
|
|
63
98
|
return this.#addError({
|
|
64
99
|
...builderError('unbound-parameter', this.#location),
|
package/dist/index.d.ts
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
export type { BB, BBOptions } from './bb';
|
|
2
|
-
export type { Builder, BuilderBindings, BuilderBindingsSerialised, BuilderCollection, BuilderCollectionConfig, BuilderCollectionConfigSerialised, BuilderCollections, BuilderCollectionSerialised, BuilderCollectionsSerialised, BuilderCollectionWhen, BuilderCollectionWhenSerialised, BuilderComponent, BuilderComponentConfig, BuilderComponentConfigSerialised, BuilderComponentField, BuilderComponentFields, BuilderComponentFieldSerialised, BuilderComponentFieldsSerialised, BuilderComponentFieldValueType, BuilderComponents, BuilderComponentSerialised, BuilderComponentsSerialised,
|
|
1
|
+
export type { BB, BBOptions, BuilderEntityValidators } from './bb';
|
|
2
|
+
export type { Builder, BuilderBindings, BuilderBindingsSerialised, BuilderCollection, BuilderCollectionConfig, BuilderCollectionConfigSerialised, BuilderCollections, BuilderCollectionSerialised, BuilderCollectionsSerialised, BuilderCollectionWhen, BuilderCollectionWhenSerialised, BuilderComponent, BuilderComponentConfig, BuilderComponentConfigSerialised, BuilderComponentField, BuilderComponentFields, BuilderComponentFieldSerialised, BuilderComponentFieldsSerialised, BuilderComponentFieldValueType, BuilderComponents, BuilderComponentSerialised, BuilderComponentsSerialised, BuilderComponentWhen, BuilderComponentWhenSerialised, BuilderDescription, BuilderDescriptionItem, BuilderEnableConfig, BuilderEntityKind, BuilderEntitySerialised, BuilderExpectation, BuilderExpectationKind, BuilderExpectations, BuilderExpectationSerialised, BuilderExpectationsSerialised, BuilderInstanceOf, BuilderInstanceValidated, BuilderMatchConfig, BuilderMatchSelectMap, BuilderModel, BuilderModels, BuilderModelSerialised, BuilderModelValidated, BuilderOption, BuilderOptionConfig, BuilderOptionConfigSerialised, BuilderOptions, BuilderOptionSerialised, BuilderOptionsSerialised, BuilderOptionWhen, BuilderOptionWhenSerialised, BuilderPath, BuilderPaths, BuilderPricing, BuilderPricingExpression, BuilderPricingLookupKey, BuilderPricingReduce, BuilderPricingSerialised, BuilderReference, BuilderReferences, BuilderSelectConfig, BuilderSelectConfigLabels, BuilderSelectConfigSerialised, BuilderSelectConfigValues, BuilderSerialised, BuilderTags, BuilderToggleConfig, BuilderToggleConfigSerialised, BuilderToggleValueType, BuilderUI, BuilderUIDescribe, BuilderUIDescribeSerialised, BuilderUIInput, BuilderUIInputMetadata, BuilderUIInputMetadataSerialised, BuilderUIInputs, BuilderUIInputSerialised, BuilderUIInputsSerialised, BuilderUIItem, BuilderUIItems, BuilderUIItemsSerialised, BuilderUIPage, BuilderUIPages, BuilderUIPageSerialised, BuilderUIPagesSerialised, BuilderUIs, BuilderUISerialised, BuilderUIsSerialised, BuilderUIValidated, BuilderUnlessConfig, BuilderValidated, BuilderVariantsValidated, BuilderWhen, BuilderWhenConfig, BuilderWhenSerialised } from './entities/index';
|
|
3
3
|
export type { BuilderEnvironment } from './environment';
|
|
4
|
-
export type { BuilderError,
|
|
5
|
-
export type { BuilderComponentVariants, BuilderInstance, BuilderInstanceInput, BuilderInstances,
|
|
4
|
+
export type { BuilderError, BuilderErrorLocation, BuilderErrors } from './errors/index';
|
|
5
|
+
export type { BuilderComponentVariant, BuilderComponentVariants, BuilderInstance, BuilderInstanceInput, BuilderInstances, BuilderVariants } from './instance';
|
|
6
6
|
export type { BuilderOrder, BuilderRenderMetadata, BuilderRenderOption, BuilderRenderOptions, BuilderRenderPage, BuilderRenderPages, BuilderRenderResult, BuilderRenderUpdate } from './mappers/index';
|
|
7
|
-
export type { BuilderComponentVariantsValidationResult, BuilderErrorDuplicateName, BuilderErrorInvalidCollection, BuilderErrorInvalidCollectionBounds, BuilderErrorInvalidDetail, BuilderErrorInvalidInput, BuilderErrorInvalidOption, BuilderErrorInvalidPath, BuilderErrorInvalidPathReason, BuilderErrorInvalidPricing, BuilderErrorInvalidSelectMapKey, BuilderErrorInvalidPricingReason, BuilderErrorInvalidVariant, BuilderErrorMissingComponent, BuilderErrorMissingDetail, BuilderErrorMissingRate, BuilderErrorMissingReference, BuilderErrorMissingVariant, BuilderErrorUnboundParameter, BuilderErrorUnexpectedComponent, BuilderErrorUnexpectedDetail, BuilderErrorUnmetExpectation, BuilderErrorUnvalidated, BuilderInstanceValidationResult, BuilderModelValidationResult, BuilderPricingValidationResult, BuilderUIValidationResult, BuilderValidationResult, BuilderVariantsValidationOptions } from './validate/index';
|
|
8
|
-
export type { BuilderPath, BuilderPaths } from './paths';
|
|
9
7
|
export type { BuilderPrimitive, BuilderPrimitives } from './primitive';
|
|
10
8
|
export type { BuilderParameter, BuilderParameterSerialised, BuilderRef, Paramable, ParamableSerialised } from './references';
|
|
9
|
+
export type { BuilderErrorKind, BuilderInstanceValidationResult, BuilderModelValidationResult, BuilderPricingValidationResult, BuilderUIValidationResult, BuilderValidationResult, BuilderVariantsValidationOptions, BuilderVariantsValidationResult } from './validate/index';
|
|
11
10
|
import { collectionConfig, collectionExpectation, componentConfig, componentExpectation, optionExpectation, uis } from './entities/index.js';
|
|
12
11
|
export { bb } from './bb.js';
|
|
13
|
-
export { builder, detailBoolean, detailNumber, detailString, input, model,
|
|
14
|
-
export { BuilderException } from './
|
|
12
|
+
export { builder, detailBoolean, detailNumber, detailString, input, model, pricing, select, serialise, toggleBoolean, toggleNumber, toggleString } from './entities/index.js';
|
|
13
|
+
export { BuilderException } from './errors/index.js';
|
|
14
|
+
export { parameter, ref } from './references.js';
|
|
15
15
|
export { ordinal } from './mappers/index.js';
|
|
16
16
|
export declare const collection: typeof collectionConfig & {
|
|
17
17
|
enable: <const Values extends import("./references").Paramable<import(".").BuilderCollectionConfig<import("./references").Paramable<import("./entities/model").BuilderModelGeneric>, import("./references").Paramable<number>, import("./references").Paramable<number>>>>(values: Values) => import(".").BuilderEnableConfig<Values>;
|
|
18
|
-
match: <const MatchPayload extends import("./references").Paramable<import(".").BuilderCollectionConfig<import("./references").Paramable<import("./entities/model").BuilderModelGeneric>, import("./references").Paramable<number>, import("./references").Paramable<number>>>, const MatchPath extends import("./references").Paramable<import("
|
|
19
|
-
unless: <const Values extends import("./references").Paramable<import(".").BuilderCollectionConfig<import("./references").Paramable<import("./entities/model").BuilderModelGeneric>, import("./references").Paramable<number>, import("./references").Paramable<number>>>, const UnlessPath extends import("./references").Paramable<import("
|
|
18
|
+
match: <const MatchPayload extends import("./references").Paramable<import(".").BuilderCollectionConfig<import("./references").Paramable<import("./entities/model").BuilderModelGeneric>, import("./references").Paramable<number>, import("./references").Paramable<number>>>, const MatchPath extends import("./references").Paramable<import(".").BuilderPath>, const SelectMap extends import("./references").Paramable<import(".").BuilderMatchSelectMap<import("./references").Paramable<import(".").BuilderCollectionConfig<import("./references").Paramable<import("./entities/model").BuilderModelGeneric>, import("./references").Paramable<number>, import("./references").Paramable<number>>>>>>(matchPath: MatchPath, selectMap: SelectMap) => import(".").BuilderMatchConfig<MatchPayload, MatchPath, SelectMap>;
|
|
19
|
+
unless: <const Values extends import("./references").Paramable<import(".").BuilderCollectionConfig<import("./references").Paramable<import("./entities/model").BuilderModelGeneric>, import("./references").Paramable<number>, import("./references").Paramable<number>>>, const UnlessPath extends import("./references").Paramable<import(".").BuilderPath>>(unlessPath: UnlessPath, disabledValues: import("./primitive").BuilderPrimitives, values: Values) => import(".").BuilderUnlessConfig<Values, UnlessPath>;
|
|
20
20
|
};
|
|
21
21
|
export declare const component: typeof componentConfig & {
|
|
22
22
|
enable: <const Payload extends import("./references").Paramable<import(".").BuilderComponentConfig>>(payload?: Payload) => import(".").BuilderEnableConfig<Payload>;
|
|
23
|
-
match: <const Payload extends import("./references").Paramable<import(".").BuilderComponentConfig>, const MatchPath extends import("./references").Paramable<import("
|
|
24
|
-
unless: <const UnlessPath extends import("./references").Paramable<import("
|
|
23
|
+
match: <const Payload extends import("./references").Paramable<import(".").BuilderComponentConfig>, const MatchPath extends import("./references").Paramable<import(".").BuilderPath>, const SelectMap extends import("./references").Paramable<import(".").BuilderMatchSelectMap<import("./references").Paramable<import(".").BuilderComponentConfig>>>>(matchPath: MatchPath, selectMap: SelectMap) => import(".").BuilderMatchConfig<Payload, MatchPath, SelectMap>;
|
|
24
|
+
unless: <const UnlessPath extends import("./references").Paramable<import(".").BuilderPath>, const Payload extends import("./references").Paramable<import(".").BuilderComponentConfig>>(unlessPath: UnlessPath, disabledValues: import("./primitive").BuilderPrimitives, payload?: Payload) => import(".").BuilderUnlessConfig<Payload, UnlessPath>;
|
|
25
25
|
};
|
|
26
26
|
export declare const has: {
|
|
27
27
|
collection: typeof collectionExpectation;
|
|
@@ -30,7 +30,7 @@ export declare const has: {
|
|
|
30
30
|
};
|
|
31
31
|
export declare const option: {
|
|
32
32
|
enable: <const Values extends import("./references").Paramable<import(".").BuilderSelectConfig<readonly [string, ...string[]], import("valibot").GenericSchema<string | null>> | import(".").BuilderToggleConfig<import("valibot").GenericSchema<string | number | boolean | null>>>>(values: Values) => import(".").BuilderEnableConfig<Values>;
|
|
33
|
-
match: <const MatchPayload extends import("./references").Paramable<import(".").BuilderSelectConfig<readonly [string, ...string[]], import("valibot").GenericSchema<string | null>> | import(".").BuilderToggleConfig<import("valibot").GenericSchema<string | number | boolean | null>>>, const MatchPath extends import("./references").Paramable<import("
|
|
34
|
-
unless: <const Values extends import("./references").Paramable<import(".").BuilderSelectConfig<readonly [string, ...string[]], import("valibot").GenericSchema<string | null>> | import(".").BuilderToggleConfig<import("valibot").GenericSchema<string | number | boolean | null>>>, const UnlessPath extends import("./references").Paramable<import("
|
|
33
|
+
match: <const MatchPayload extends import("./references").Paramable<import(".").BuilderSelectConfig<readonly [string, ...string[]], import("valibot").GenericSchema<string | null>> | import(".").BuilderToggleConfig<import("valibot").GenericSchema<string | number | boolean | null>>>, const MatchPath extends import("./references").Paramable<import(".").BuilderPath>, const SelectMap extends import("./references").Paramable<import(".").BuilderMatchSelectMap<import("./references").Paramable<import(".").BuilderSelectConfig<readonly [string, ...string[]], import("valibot").GenericSchema<string | null>> | import(".").BuilderToggleConfig<import("valibot").GenericSchema<string | number | boolean | null>>>>>>(matchPath: MatchPath, selectMap: SelectMap) => import(".").BuilderMatchConfig<MatchPayload, MatchPath, SelectMap>;
|
|
34
|
+
unless: <const Values extends import("./references").Paramable<import(".").BuilderSelectConfig<readonly [string, ...string[]], import("valibot").GenericSchema<string | null>> | import(".").BuilderToggleConfig<import("valibot").GenericSchema<string | number | boolean | null>>>, const UnlessPath extends import("./references").Paramable<import(".").BuilderPath>>(unlessPath: UnlessPath, disabledValues: import("./primitive").BuilderPrimitives, values: Values) => import(".").BuilderUnlessConfig<Values, UnlessPath>;
|
|
35
35
|
};
|
|
36
36
|
export declare const ui: typeof uis;
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { collectionConfig, collectionExpectation, collectionWhen, componentConfig, componentExpectation, componentWhen, optionExpectation, optionWhen, uis } from './entities/index.js';
|
|
2
2
|
export { bb } from './bb.js';
|
|
3
|
-
export { builder, detailBoolean, detailNumber, detailString, input, model,
|
|
4
|
-
export { BuilderException } from './
|
|
3
|
+
export { builder, detailBoolean, detailNumber, detailString, input, model, pricing, select, serialise, toggleBoolean, toggleNumber, toggleString } from './entities/index.js';
|
|
4
|
+
export { BuilderException } from './errors/index.js';
|
|
5
|
+
export { parameter, ref } from './references.js';
|
|
5
6
|
export { ordinal } from './mappers/index.js';
|
|
6
7
|
export const collection = Object.assign(collectionConfig, {
|
|
7
8
|
...collectionWhen
|
package/dist/instance.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { BuilderPrimitive } from './primitive';
|
|
1
2
|
import * as v from 'valibot';
|
|
2
|
-
import { type BuilderPrimitive } from './primitive.js';
|
|
3
3
|
export type BuilderInstance = {
|
|
4
4
|
readonly [key: string]: BuilderPrimitive | BuilderInstances;
|
|
5
5
|
};
|
|
@@ -7,7 +7,7 @@ export declare const BuilderInstanceSchema: v.GenericSchema<BuilderInstance>;
|
|
|
7
7
|
export declare const BuilderInstancesSchema: v.SchemaWithPipe<readonly [v.ArraySchema<v.GenericSchema<BuilderInstance>, undefined>, v.ReadonlyAction<BuilderInstance[]>]>;
|
|
8
8
|
export type BuilderInstances = v.InferOutput<typeof BuilderInstancesSchema>;
|
|
9
9
|
export type BuilderInstanceInput = Readonly<Record<string, unknown>>;
|
|
10
|
-
export declare const
|
|
10
|
+
export declare const BuilderComponentVariantSchema: 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
13
|
readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.StringSchema<undefined>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
|
|
@@ -18,8 +18,8 @@ export declare const BuilderVariantSchema: v.SchemaWithPipe<readonly [v.ObjectSc
|
|
|
18
18
|
} | undefined;
|
|
19
19
|
tags?: readonly string[] | undefined;
|
|
20
20
|
}>]>;
|
|
21
|
-
export type
|
|
22
|
-
export declare const
|
|
21
|
+
export type BuilderComponentVariant = v.InferOutput<typeof BuilderComponentVariantSchema>;
|
|
22
|
+
export declare const BuilderComponentVariantsSchema: v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
23
23
|
readonly instance: v.GenericSchema<BuilderInstance>;
|
|
24
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
25
|
readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.StringSchema<undefined>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
|
|
@@ -36,8 +36,8 @@ export declare const BuilderVariantsSchema: v.SchemaWithPipe<readonly [v.ArraySc
|
|
|
36
36
|
} | undefined;
|
|
37
37
|
tags?: readonly string[] | undefined;
|
|
38
38
|
}>[]>]>;
|
|
39
|
-
export type
|
|
40
|
-
export declare const
|
|
39
|
+
export type BuilderComponentVariants = v.InferOutput<typeof BuilderComponentVariantsSchema>;
|
|
40
|
+
export declare const BuilderVariantsSchema: v.SchemaWithPipe<readonly [v.RecordSchema<v.StringSchema<undefined>, v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
41
41
|
readonly instance: v.GenericSchema<BuilderInstance>;
|
|
42
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
43
|
readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.StringSchema<undefined>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
|
|
@@ -62,4 +62,4 @@ export declare const BuilderComponentVariantsSchema: v.SchemaWithPipe<readonly [
|
|
|
62
62
|
tags?: readonly string[] | undefined;
|
|
63
63
|
}>[];
|
|
64
64
|
}>]>;
|
|
65
|
-
export type
|
|
65
|
+
export type BuilderVariants = v.InferOutput<typeof BuilderVariantsSchema>;
|
package/dist/instance.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
+
import { BuilderTagsSchema } from './entities/index.js';
|
|
2
3
|
import { BuilderPrimitiveSchema } from './primitive.js';
|
|
3
|
-
import { BuilderTagsSchema } from './entities/tags.js';
|
|
4
4
|
export const BuilderInstanceSchema = v.pipe(v.record(v.string(), v.union([BuilderPrimitiveSchema, v.lazy(() => BuilderInstancesSchema)])), v.readonly());
|
|
5
5
|
export const BuilderInstancesSchema = v.pipe(v.array(BuilderInstanceSchema), v.readonly());
|
|
6
|
-
export const
|
|
6
|
+
export const BuilderComponentVariantSchema = v.pipe(v.object({
|
|
7
7
|
instance: BuilderInstanceSchema,
|
|
8
8
|
details: v.optional(v.record(v.string(), BuilderPrimitiveSchema)),
|
|
9
9
|
tags: v.optional(BuilderTagsSchema)
|
|
10
10
|
}), v.readonly());
|
|
11
|
-
export const
|
|
12
|
-
export const
|
|
11
|
+
export const BuilderComponentVariantsSchema = v.pipe(v.array(BuilderComponentVariantSchema), v.readonly());
|
|
12
|
+
export const BuilderVariantsSchema = v.pipe(v.record(v.string(), BuilderComponentVariantsSchema), v.readonly());
|
package/dist/mappers/instance.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { check } from '../check.js';
|
|
2
1
|
import { modelsMerge, optionValueSchema } from '../entities/index.js';
|
|
2
|
+
import { check } from '../errors/index.js';
|
|
3
3
|
import { BuilderInstanceSchema, BuilderInstancesSchema } from '../instance.js';
|
|
4
4
|
import { resolveCollection, resolveOption } from './resolve.js';
|
|
5
5
|
export function createInstance(entity, partial = {}, references = []) {
|
package/dist/mappers/order.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { BuilderInstanceValidated, BuilderModelValidated, BuilderReferences, BuilderVariantsValidated } from '../entities/index';
|
|
2
|
+
import type { BuilderComponentVariant } from '../instance';
|
|
3
3
|
export interface BuilderOrder {
|
|
4
|
-
readonly [key: string]:
|
|
4
|
+
readonly [key: string]: BuilderComponentVariant | BuilderOrder | ReadonlyArray<BuilderOrder> | null;
|
|
5
5
|
}
|
|
6
|
-
export declare function order(model: BuilderModelValidated, instance: BuilderInstanceValidated, variants:
|
|
6
|
+
export declare function order(model: BuilderModelValidated, instance: BuilderInstanceValidated, variants: BuilderVariantsValidated, references?: BuilderReferences): BuilderOrder;
|
package/dist/mappers/order.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { check } from '../
|
|
1
|
+
import { check } from '../errors/index.js';
|
|
2
2
|
import { BuilderInstancesSchema } from '../instance.js';
|
|
3
3
|
import { resolveCollection, resolveComponent } from './resolve.js';
|
|
4
4
|
export function order(model, instance, variants, references = []) {
|