@builder-builder/builder 0.0.19 → 0.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bb.d.ts +12 -14
- package/dist/bb.js +32 -6
- package/dist/entities/builder/bind.d.ts +1 -1
- package/dist/entities/builder/builder.d.ts +2 -4
- package/dist/entities/builder/builder.js +1 -1
- package/dist/entities/collection/collection.d.ts +689 -1
- package/dist/entities/collection/collection.js +5 -2
- package/dist/entities/collection/config.d.ts +290 -0
- package/dist/entities/collection/config.js +13 -2
- package/dist/entities/collection/expectation.d.ts +1 -1
- package/dist/entities/collection/index.d.ts +3 -3
- package/dist/entities/collection/index.js +2 -2
- package/dist/entities/collection/when.d.ts +1 -1
- package/dist/entities/component/component.d.ts +64 -10
- package/dist/entities/component/component.js +9 -6
- package/dist/entities/component/config.d.ts +145 -0
- package/dist/entities/component/config.js +42 -0
- package/dist/entities/component/field.js +1 -1
- package/dist/entities/component/index.d.ts +3 -3
- package/dist/entities/component/index.js +2 -2
- package/dist/entities/component/when.d.ts +6 -6
- package/dist/entities/component/when.js +3 -3
- package/dist/entities/expectation.d.ts +4 -0
- package/dist/entities/expectation.js +3 -1
- package/dist/entities/index.d.ts +18 -17
- package/dist/entities/index.js +11 -10
- package/dist/entities/kind.d.ts +10 -7
- package/dist/entities/kind.js +39 -5
- package/dist/entities/model/bind.d.ts +1 -1
- package/dist/entities/model/index.d.ts +1 -1
- package/dist/entities/model/methods.d.ts +12 -12
- package/dist/entities/model/methods.js +2 -2
- package/dist/entities/model/model.js +1 -1
- package/dist/entities/model/models.d.ts +1 -1
- package/dist/entities/option/config.d.ts +109 -0
- package/dist/entities/option/config.js +15 -0
- package/dist/entities/option/index.d.ts +7 -7
- package/dist/entities/option/index.js +4 -4
- package/dist/entities/option/option.d.ts +88 -10
- package/dist/entities/option/option.js +9 -6
- package/dist/entities/option/select.d.ts +24 -14
- package/dist/entities/option/select.js +17 -6
- package/dist/entities/option/toggle.d.ts +17 -10
- package/dist/entities/option/toggle.js +19 -8
- package/dist/entities/option/when.d.ts +6 -6
- package/dist/{paths.d.ts → entities/paths.d.ts} +2 -0
- package/dist/{paths.js → entities/paths.js} +3 -0
- package/dist/entities/pricing/index.d.ts +1 -1
- package/dist/entities/pricing/index.js +1 -1
- package/dist/entities/pricing/pricing.js +1 -1
- package/dist/entities/pricing/rates.d.ts +5 -0
- package/dist/entities/pricing/rates.js +3 -1
- package/dist/entities/references.d.ts +723 -0
- package/dist/entities/references.js +7 -0
- package/dist/entities/serialise.d.ts +49 -43
- package/dist/entities/serialise.js +19 -13
- package/dist/entities/ui/describe.d.ts +15 -0
- package/dist/entities/ui/describe.js +11 -2
- package/dist/entities/ui/index.d.ts +4 -4
- package/dist/entities/ui/index.js +4 -4
- package/dist/entities/ui/input.d.ts +12 -3
- package/dist/entities/ui/input.js +4 -2
- package/dist/entities/ui/page.d.ts +15 -0
- package/dist/entities/ui/page.js +11 -2
- package/dist/entities/ui/pages.d.ts +132 -0
- package/dist/entities/ui/pages.js +12 -2
- package/dist/entities/ui/ui.d.ts +2 -3
- package/dist/entities/ui/ui.js +2 -2
- package/dist/entities/ui/uis.d.ts +1 -1
- package/dist/entities/ui/uis.js +2 -2
- package/dist/entities/validated.d.ts +26 -18
- package/dist/entities/when.d.ts +4 -3
- package/dist/entities/when.js +22 -2
- package/dist/environment.d.ts +2 -2
- package/dist/{validate → errors}/errors.d.ts +57 -35
- package/dist/{validate → errors}/errors.js +40 -5
- package/dist/errors/exception.d.ts +5 -0
- package/dist/{exception.js → errors/exception.js} +0 -3
- package/dist/errors/index.d.ts +4 -0
- package/dist/errors/index.js +3 -0
- package/dist/index.d.ts +19 -18
- package/dist/index.js +5 -4
- package/dist/instance.d.ts +7 -7
- package/dist/instance.js +4 -4
- package/dist/mappers/index.d.ts +2 -4
- package/dist/mappers/index.js +1 -2
- package/dist/mappers/instance.d.ts +2 -2
- package/dist/mappers/instance.js +7 -7
- package/dist/mappers/order.d.ts +4 -4
- package/dist/mappers/order.js +5 -5
- package/dist/mappers/price.js +18 -18
- package/dist/mappers/render/pages.d.ts +2 -2
- package/dist/mappers/render/render.d.ts +2 -2
- package/dist/mappers/render/render.js +12 -12
- package/dist/mappers/resolve.d.ts +11 -12
- package/dist/mappers/resolve.js +29 -46
- package/dist/mappers/variants/option-graph.d.ts +2 -3
- package/dist/mappers/variants/option-graph.js +2 -3
- package/dist/mappers/variants/variants.d.ts +2 -2
- package/dist/mappers/variants/variants.js +1 -1
- package/dist/private.d.ts +1 -2
- package/dist/private.js +1 -2
- package/dist/references.js +1 -1
- package/dist/validate/brand.js +1 -2
- package/dist/validate/builder.d.ts +3 -4
- package/dist/validate/builder.js +2 -3
- package/dist/validate/expectations.d.ts +1 -1
- package/dist/validate/index.d.ts +5 -2
- package/dist/validate/index.js +1 -0
- package/dist/validate/instance.d.ts +2 -3
- package/dist/validate/instance.js +1 -2
- package/dist/validate/model.d.ts +3 -4
- package/dist/validate/model.js +39 -44
- package/dist/validate/paths.d.ts +2 -3
- package/dist/validate/paths.js +1 -1
- package/dist/validate/pricing.d.ts +3 -4
- package/dist/validate/pricing.js +2 -3
- package/dist/validate/resolve.d.ts +3 -3
- package/dist/validate/resolve.js +1 -1
- package/dist/validate/ui.d.ts +3 -4
- package/dist/validate/ui.js +14 -5
- package/dist/validate/variants.d.ts +4 -5
- package/dist/validate/variants.js +6 -7
- package/package.json +7 -2
- package/dist/entities/component/details.d.ts +0 -66
- package/dist/entities/component/details.js +0 -24
- package/dist/entities/entry.d.ts +0 -4
- package/dist/entities/entry.js +0 -1
- package/dist/entities/option/values.d.ts +0 -49
- package/dist/entities/option/values.js +0 -14
- package/dist/entities/refs.d.ts +0 -6
- package/dist/entities/refs.js +0 -1
- package/dist/exception.d.ts +0 -13
- package/dist/validate/result.d.ts +0 -2
- package/dist/validate/result.js +0 -1
- /package/dist/{serialisable.d.ts → entities/serialisable.d.ts} +0 -0
- /package/dist/{serialisable.js → entities/serialisable.js} +0 -0
- /package/dist/{check.d.ts → errors/check.d.ts} +0 -0
- /package/dist/{check.js → errors/check.js} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
1
|
-
export type { BB, BBOptions } from './bb';
|
|
2
|
-
export type { Builder, BuilderBindings, BuilderBindingsSerialised, BuilderCollection, BuilderCollectionConfig, BuilderCollectionConfigSerialised, BuilderCollections, BuilderCollectionSerialised, BuilderCollectionsSerialised, BuilderCollectionWhen, BuilderCollectionWhenSerialised, BuilderComponent,
|
|
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,
|
|
6
|
-
export type {
|
|
7
|
-
export type { BuilderPath, BuilderPaths } from './paths';
|
|
4
|
+
export type { BuilderError, BuilderErrorLocation, BuilderErrors } from './errors/index';
|
|
5
|
+
export type { BuilderComponentVariant, BuilderComponentVariants, BuilderInstance, BuilderInstanceInput, BuilderInstances, BuilderVariants } from './instance';
|
|
6
|
+
export type { BuilderOrder, BuilderRenderMetadata, BuilderRenderOption, BuilderRenderOptions, BuilderRenderPage, BuilderRenderPages, BuilderRenderResult, BuilderRenderUpdate } from './mappers/index';
|
|
8
7
|
export type { BuilderPrimitive, BuilderPrimitives } from './primitive';
|
|
9
8
|
export type { BuilderParameter, BuilderParameterSerialised, BuilderRef, Paramable, ParamableSerialised } from './references';
|
|
9
|
+
export type { BuilderErrorKind, BuilderInstanceValidationResult, BuilderModelValidationResult, BuilderPricingValidationResult, BuilderUIValidationResult, BuilderValidationResult, BuilderVariantsValidationOptions, BuilderVariantsValidationResult } from './validate/index';
|
|
10
|
+
import { collectionConfig, collectionExpectation, componentConfig, componentExpectation, optionExpectation, uis } from './entities/index.js';
|
|
10
11
|
export { bb } from './bb.js';
|
|
11
|
-
export { builder, detailBoolean, detailNumber, detailString, input, model,
|
|
12
|
-
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';
|
|
13
15
|
export { ordinal } from './mappers/index.js';
|
|
14
|
-
import { collectionConfig, collectionExpectation, componentDetails, componentExpectation, optionExpectation, uis } from './entities/index.js';
|
|
15
16
|
export declare const collection: typeof collectionConfig & {
|
|
16
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>;
|
|
17
|
-
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("
|
|
18
|
-
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>;
|
|
19
20
|
};
|
|
20
|
-
export declare const component: typeof
|
|
21
|
-
enable: <const Payload extends import("./references").Paramable<import(".").
|
|
22
|
-
match: <const Payload extends import("./references").Paramable<import(".").
|
|
23
|
-
unless: <const UnlessPath extends import("./references").Paramable<import("
|
|
21
|
+
export declare const component: typeof componentConfig & {
|
|
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(".").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>;
|
|
24
25
|
};
|
|
25
26
|
export declare const has: {
|
|
26
27
|
collection: typeof collectionExpectation;
|
|
@@ -28,8 +29,8 @@ export declare const has: {
|
|
|
28
29
|
option: typeof optionExpectation;
|
|
29
30
|
};
|
|
30
31
|
export declare const option: {
|
|
31
|
-
enable: <const Values extends import("./references").Paramable<import(".").
|
|
32
|
-
match: <const MatchPayload extends import("./references").Paramable<import(".").
|
|
33
|
-
unless: <const Values extends import("./references").Paramable<import(".").
|
|
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(".").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>;
|
|
34
35
|
};
|
|
35
36
|
export declare const ui: typeof uis;
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
import { collectionConfig, collectionExpectation, collectionWhen, componentConfig, componentExpectation, componentWhen, optionExpectation, optionWhen, uis } from './entities/index.js';
|
|
1
2
|
export { bb } from './bb.js';
|
|
2
|
-
export { builder, detailBoolean, detailNumber, detailString, input, model,
|
|
3
|
-
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';
|
|
4
6
|
export { ordinal } from './mappers/index.js';
|
|
5
|
-
import { collectionConfig, collectionExpectation, collectionWhen, componentDetails, componentExpectation, componentWhen, optionExpectation, optionWhen, uis } from './entities/index.js';
|
|
6
7
|
export const collection = Object.assign(collectionConfig, {
|
|
7
8
|
...collectionWhen
|
|
8
9
|
});
|
|
9
|
-
export const component = Object.assign(
|
|
10
|
+
export const component = Object.assign(componentConfig, {
|
|
10
11
|
...componentWhen
|
|
11
12
|
});
|
|
12
13
|
export const has = {
|
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/index.d.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
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';
|
|
2
1
|
export type { BuilderOrder } from './order';
|
|
3
2
|
export type { BuilderRenderMetadata, BuilderRenderOption, BuilderRenderOptions, BuilderRenderPage, BuilderRenderPages, BuilderRenderResult, BuilderRenderUpdate } from './render/index';
|
|
4
|
-
export {
|
|
5
|
-
export type { BuilderOptionGraph } from './variants/index.js';
|
|
3
|
+
export type { BuilderOptionGraph } from './variants/index';
|
|
6
4
|
export { createInstance } from './instance.js';
|
|
7
|
-
export { createVariants, optionGraph, variantsFor } from './variants/index.js';
|
|
8
5
|
export { order } from './order.js';
|
|
9
6
|
export { price } from './price.js';
|
|
10
7
|
export { ordinal, render } from './render/index.js';
|
|
11
8
|
export { resolveCollection, resolveCollections, resolveComponent, resolveComponents, resolveOption, resolveOptions } from './resolve.js';
|
|
9
|
+
export { createVariants, optionGraph, variantsFor } from './variants/index.js';
|
package/dist/mappers/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
export { assertValidated, validateBuilder, validateInstance, validateModel, validatePricing, validateUI, validateVariants } from '../validate/index.js';
|
|
2
1
|
export { createInstance } from './instance.js';
|
|
3
|
-
export { createVariants, optionGraph, variantsFor } from './variants/index.js';
|
|
4
2
|
export { order } from './order.js';
|
|
5
3
|
export { price } from './price.js';
|
|
6
4
|
export { ordinal, render } from './render/index.js';
|
|
7
5
|
export { resolveCollection, resolveCollections, resolveComponent, resolveComponents, resolveOption, resolveOptions } from './resolve.js';
|
|
6
|
+
export { createVariants, optionGraph, variantsFor } from './variants/index.js';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { BuilderModelValidated,
|
|
1
|
+
import type { BuilderModelValidated, BuilderReferences, BuilderValidated } from '../entities/index';
|
|
2
2
|
import type { BuilderInstance, BuilderInstanceInput } from '../instance';
|
|
3
|
-
export declare function createInstance(entity: BuilderValidated | BuilderModelValidated, partial?: BuilderInstanceInput,
|
|
3
|
+
export declare function createInstance(entity: BuilderValidated | BuilderModelValidated, partial?: BuilderInstanceInput, references?: BuilderReferences): BuilderInstance;
|
package/dist/mappers/instance.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
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
|
-
export function createInstance(entity, partial = {},
|
|
5
|
+
export function createInstance(entity, partial = {}, references = []) {
|
|
6
6
|
const model = 'model' in entity ? entity.model : entity;
|
|
7
|
-
const instance = buildInstance(model, partial,
|
|
7
|
+
const instance = buildInstance(model, partial, references);
|
|
8
8
|
check.assert(BuilderInstanceSchema, instance);
|
|
9
9
|
return instance;
|
|
10
10
|
}
|
|
11
|
-
function buildInstance(model, partial,
|
|
11
|
+
function buildInstance(model, partial, references) {
|
|
12
12
|
const merged = modelsMerge(model);
|
|
13
13
|
let instance = { ...partial };
|
|
14
14
|
merged.options.forEach((option) => {
|
|
15
15
|
const { name } = option;
|
|
16
|
-
const payload = resolveOption(option, model, instance,
|
|
16
|
+
const payload = resolveOption(option, model, instance, references);
|
|
17
17
|
if (payload == null) {
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
@@ -24,7 +24,7 @@ function buildInstance(model, partial, refs) {
|
|
|
24
24
|
});
|
|
25
25
|
merged.collections.forEach((collection) => {
|
|
26
26
|
const { name } = collection;
|
|
27
|
-
const payload = resolveCollection(collection, model, instance,
|
|
27
|
+
const payload = resolveCollection(collection, model, instance, references);
|
|
28
28
|
if (payload == null) {
|
|
29
29
|
return;
|
|
30
30
|
}
|
|
@@ -33,7 +33,7 @@ function buildInstance(model, partial, refs) {
|
|
|
33
33
|
? existing
|
|
34
34
|
: [];
|
|
35
35
|
const count = Math.max(existingItems.length, payload.min);
|
|
36
|
-
const items = Array.from({ length: count }, (_, index) => buildInstance(payload.model, existingItems[index] ?? {},
|
|
36
|
+
const items = Array.from({ length: count }, (_, index) => buildInstance(payload.model, existingItems[index] ?? {}, references));
|
|
37
37
|
instance = { ...instance, [name]: items };
|
|
38
38
|
});
|
|
39
39
|
return instance;
|
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,10 +1,10 @@
|
|
|
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
|
-
export function order(model, instance, variants,
|
|
4
|
+
export function order(model, instance, variants, references = []) {
|
|
5
5
|
const result = {};
|
|
6
6
|
model.components.forEach((component) => {
|
|
7
|
-
if (resolveComponent(component, model, instance,
|
|
7
|
+
if (resolveComponent(component, model, instance, references) == null) {
|
|
8
8
|
return;
|
|
9
9
|
}
|
|
10
10
|
const componentVariants = variants[component.name] ?? [];
|
|
@@ -13,13 +13,13 @@ export function order(model, instance, variants, refs = []) {
|
|
|
13
13
|
});
|
|
14
14
|
model.collections.forEach((collection) => {
|
|
15
15
|
const { name } = collection;
|
|
16
|
-
const payload = resolveCollection(collection, model, instance,
|
|
16
|
+
const payload = resolveCollection(collection, model, instance, references);
|
|
17
17
|
if (payload == null) {
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
20
20
|
const itemInstances = instance[name];
|
|
21
21
|
check.assert(BuilderInstancesSchema, itemInstances);
|
|
22
|
-
result[name] = itemInstances.map((itemInstance) => order(payload.model, itemInstance, variants,
|
|
22
|
+
result[name] = itemInstances.map((itemInstance) => order(payload.model, itemInstance, variants, references));
|
|
23
23
|
});
|
|
24
24
|
return result;
|
|
25
25
|
}
|
package/dist/mappers/price.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import { check } from '../check.js';
|
|
3
2
|
import { BuilderPricingExpressionSchema } from '../entities/index.js';
|
|
4
|
-
import {
|
|
3
|
+
import { check } from '../errors/index.js';
|
|
4
|
+
import { BuilderComponentVariantSchema } from '../instance.js';
|
|
5
5
|
const NumberSchema = v.number();
|
|
6
6
|
export function price(pricingInput, order) {
|
|
7
7
|
const { rates, formula } = pricingInput;
|
|
@@ -10,31 +10,31 @@ export function price(pricingInput, order) {
|
|
|
10
10
|
}
|
|
11
11
|
const variants = collectVariants(order);
|
|
12
12
|
return evaluate(formula);
|
|
13
|
-
function evaluate(expression,
|
|
13
|
+
function evaluate(expression, variant = null) {
|
|
14
14
|
check.assert(BuilderPricingExpressionSchema, expression);
|
|
15
15
|
if (check.is(NumberSchema, expression)) {
|
|
16
16
|
return expression;
|
|
17
17
|
}
|
|
18
18
|
switch (expression.kind) {
|
|
19
19
|
case 'variantPrice':
|
|
20
|
-
return variantPrice(
|
|
20
|
+
return variantPrice(variant);
|
|
21
21
|
case 'lookup':
|
|
22
|
-
return evaluateLookup(expression,
|
|
22
|
+
return evaluateLookup(expression, variant);
|
|
23
23
|
case 'variants':
|
|
24
24
|
return evaluateVariants(expression);
|
|
25
25
|
case 'add':
|
|
26
|
-
return combine(expression.left, expression.right,
|
|
26
|
+
return combine(expression.left, expression.right, variant, (l, r) => l + r);
|
|
27
27
|
case 'sub':
|
|
28
|
-
return combine(expression.left, expression.right,
|
|
28
|
+
return combine(expression.left, expression.right, variant, (l, r) => l - r);
|
|
29
29
|
case 'mul':
|
|
30
|
-
return combine(expression.left, expression.right,
|
|
30
|
+
return combine(expression.left, expression.right, variant, (l, r) => l * r);
|
|
31
31
|
case 'div':
|
|
32
|
-
return combine(expression.left, expression.right,
|
|
32
|
+
return combine(expression.left, expression.right, variant, (l, r) => l / r);
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
function combine(left, right,
|
|
36
|
-
const leftValue = evaluate(left,
|
|
37
|
-
const rightValue = evaluate(right,
|
|
35
|
+
function combine(left, right, variant, operation) {
|
|
36
|
+
const leftValue = evaluate(left, variant);
|
|
37
|
+
const rightValue = evaluate(right, variant);
|
|
38
38
|
if (leftValue == null || rightValue == null) {
|
|
39
39
|
return null;
|
|
40
40
|
}
|
|
@@ -54,8 +54,8 @@ export function price(pricingInput, order) {
|
|
|
54
54
|
const candidate = variant?.details?.price;
|
|
55
55
|
return check.is(NumberSchema, candidate) ? candidate : null;
|
|
56
56
|
}
|
|
57
|
-
function evaluateLookup(expression,
|
|
58
|
-
const keys = resolveKey(expression.key,
|
|
57
|
+
function evaluateLookup(expression, variant) {
|
|
58
|
+
const keys = resolveKey(expression.key, variant);
|
|
59
59
|
const matches = keys
|
|
60
60
|
.map((key) => lookupRate(expression.rate, key))
|
|
61
61
|
.filter((value) => value != null);
|
|
@@ -73,12 +73,12 @@ export function price(pricingInput, order) {
|
|
|
73
73
|
}
|
|
74
74
|
return reduceValues(results, expression.reduce ?? 'sum');
|
|
75
75
|
}
|
|
76
|
-
function resolveKey(key,
|
|
76
|
+
function resolveKey(key, variant) {
|
|
77
77
|
switch (key.kind) {
|
|
78
78
|
case 'variantTags':
|
|
79
|
-
return
|
|
79
|
+
return variant?.tags ?? [];
|
|
80
80
|
case 'option': {
|
|
81
|
-
const value =
|
|
81
|
+
const value = variant?.instance?.[key.name];
|
|
82
82
|
return value == null ? [] : [String(value)];
|
|
83
83
|
}
|
|
84
84
|
}
|
|
@@ -100,7 +100,7 @@ function collectVariants(order) {
|
|
|
100
100
|
if (value == null) {
|
|
101
101
|
return [];
|
|
102
102
|
}
|
|
103
|
-
if (check.is(
|
|
103
|
+
if (check.is(BuilderComponentVariantSchema, value)) {
|
|
104
104
|
return [value];
|
|
105
105
|
}
|
|
106
106
|
if (Array.isArray(value)) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BuilderOptionConfigSerialised } from '../../entities/index';
|
|
2
2
|
import type { BuilderPrimitive } from '../../primitive';
|
|
3
3
|
import type { BuilderInstance } from '../../instance';
|
|
4
4
|
import * as v from 'valibot';
|
|
@@ -11,7 +11,7 @@ export type BuilderRenderOption = Readonly<{
|
|
|
11
11
|
name: string;
|
|
12
12
|
value: BuilderPrimitive;
|
|
13
13
|
update: BuilderRenderUpdate;
|
|
14
|
-
option:
|
|
14
|
+
option: BuilderOptionConfigSerialised;
|
|
15
15
|
displayName?: string;
|
|
16
16
|
kind?: string;
|
|
17
17
|
metadata?: BuilderRenderMetadata;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { BuilderDescription, BuilderInstanceValidated,
|
|
1
|
+
import type { BuilderDescription, BuilderInstanceValidated, BuilderReferences, BuilderValidated } from '../../entities/index';
|
|
2
2
|
import type { BuilderRenderPages } from './pages';
|
|
3
3
|
export type BuilderRenderResult = Readonly<{
|
|
4
4
|
layout: BuilderRenderPages;
|
|
5
5
|
description: BuilderDescription;
|
|
6
6
|
}>;
|
|
7
|
-
export declare function render(builder: BuilderValidated, instance: BuilderInstanceValidated,
|
|
7
|
+
export declare function render(builder: BuilderValidated, instance: BuilderInstanceValidated, references?: BuilderReferences): BuilderRenderResult;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { BuilderRenderMetadataSchema } from './pages.js';
|
|
2
1
|
import * as v from 'valibot';
|
|
3
|
-
import { check } from '../../
|
|
2
|
+
import { check } from '../../errors/index.js';
|
|
4
3
|
import { BuilderInstancesSchema } from '../../instance.js';
|
|
5
4
|
import { BuilderPrimitiveSchema } from '../../primitive.js';
|
|
6
5
|
import { createInstance } from '../instance.js';
|
|
7
|
-
import { resolveCollection, resolvePath,
|
|
6
|
+
import { resolveCollection, resolvePath, resolveReference } from '../resolve.js';
|
|
8
7
|
import { ordinal } from './ordinal.js';
|
|
9
|
-
|
|
8
|
+
import { BuilderRenderMetadataSchema } from './pages.js';
|
|
9
|
+
export function render(builder, instance, references = []) {
|
|
10
10
|
const layout = [];
|
|
11
11
|
const description = [];
|
|
12
12
|
walkTree(builder.ui);
|
|
@@ -40,7 +40,7 @@ export function render(builder, instance, refs = []) {
|
|
|
40
40
|
function emitPage(page, model, collectionPath, labelContext, currentInstance) {
|
|
41
41
|
const options = page.inputs.flatMap((input) => {
|
|
42
42
|
const { path } = input;
|
|
43
|
-
const found = resolvePath(model, currentInstance, path,
|
|
43
|
+
const found = resolvePath(model, currentInstance, path, references);
|
|
44
44
|
if (found == null) {
|
|
45
45
|
return [];
|
|
46
46
|
}
|
|
@@ -51,7 +51,7 @@ export function render(builder, instance, refs = []) {
|
|
|
51
51
|
name: found.name,
|
|
52
52
|
option: found.payload,
|
|
53
53
|
value: found.value,
|
|
54
|
-
update: (updateInstance, updateValue) => createInstance(builder, setPath(updateInstance, fullPath, updateValue),
|
|
54
|
+
update: (updateInstance, updateValue) => createInstance(builder, setPath(updateInstance, fullPath, updateValue), references),
|
|
55
55
|
displayName: input.displayName && composeString(input.displayName, 'displayName'),
|
|
56
56
|
kind: input.kind && composeString(input.kind, 'kind'),
|
|
57
57
|
metadata: input.metadata && composeMetadata(input.metadata)
|
|
@@ -67,7 +67,7 @@ export function render(builder, instance, refs = []) {
|
|
|
67
67
|
const composedLabel = composeLabel(describe.label, labelContext);
|
|
68
68
|
const values = describe.inputs.flatMap((input) => {
|
|
69
69
|
const { path } = input;
|
|
70
|
-
const found = resolvePath(model, currentInstance, path,
|
|
70
|
+
const found = resolvePath(model, currentInstance, path, references);
|
|
71
71
|
if (found?.value == null) {
|
|
72
72
|
return [];
|
|
73
73
|
}
|
|
@@ -80,7 +80,7 @@ export function render(builder, instance, refs = []) {
|
|
|
80
80
|
description.push([composedLabel, values.join(' ')]);
|
|
81
81
|
}
|
|
82
82
|
function composeLabel(label, labelContext = []) {
|
|
83
|
-
const resolved =
|
|
83
|
+
const resolved = resolveReference(label, references);
|
|
84
84
|
check.assert(v.string(), resolved, 'Label did not resolve to a string! ❌');
|
|
85
85
|
if (labelContext.length === 0) {
|
|
86
86
|
return resolved;
|
|
@@ -91,18 +91,18 @@ export function render(builder, instance, refs = []) {
|
|
|
91
91
|
return `${labelContext.join(', ')}, ${resolved}`;
|
|
92
92
|
}
|
|
93
93
|
function composeString(value, fieldLabel) {
|
|
94
|
-
const resolved =
|
|
94
|
+
const resolved = resolveReference(value, references);
|
|
95
95
|
check.assert(v.string(), resolved, `Input ${fieldLabel} did not resolve to a string! ❌`);
|
|
96
96
|
return resolved;
|
|
97
97
|
}
|
|
98
98
|
function composeMetadata(value) {
|
|
99
|
-
const resolved =
|
|
99
|
+
const resolved = resolveReference(value, references);
|
|
100
100
|
check.assert(BuilderRenderMetadataSchema, resolved, 'Input metadata did not resolve to an object! ❌');
|
|
101
|
-
return Object.fromEntries(Object.entries(resolved).map(([key, entry]) => [key,
|
|
101
|
+
return Object.fromEntries(Object.entries(resolved).map(([key, entry]) => [key, resolveReference(entry, references)]));
|
|
102
102
|
}
|
|
103
103
|
function findCollection(model, instance, collectionName) {
|
|
104
104
|
const entry = model.collections.find((candidate) => candidate.name === collectionName);
|
|
105
|
-
return entry == null ? null : resolveCollection(entry, model, instance,
|
|
105
|
+
return entry == null ? null : resolveCollection(entry, model, instance, references);
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
function setPath(container, path, value) {
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BuilderCollectionConfigsSerialised, BuilderCollectionConfigValidated, BuilderCollectionSerialised, BuilderCollectionValidated, BuilderComponentConfigsSerialised, BuilderComponentConfigValidated, BuilderComponentSerialised, BuilderComponentValidated, BuilderModelValidated, BuilderOptionConfigsSerialised, BuilderOptionConfigValidated, BuilderOptionSerialised, BuilderOptionValidated, BuilderPath, BuilderReferences } from '../entities/index';
|
|
2
2
|
import type { BuilderInstance } from '../instance';
|
|
3
|
-
|
|
4
|
-
export declare function
|
|
5
|
-
export declare function
|
|
6
|
-
export declare function
|
|
7
|
-
export declare function
|
|
8
|
-
export declare function
|
|
9
|
-
export declare function
|
|
10
|
-
export declare function resolveRef(value: unknown, refs: BuilderRefEntities): unknown;
|
|
3
|
+
export declare function resolveOption(option: BuilderOptionValidated, model: BuilderModelValidated, instance: unknown, references?: BuilderReferences): BuilderOptionConfigValidated | null;
|
|
4
|
+
export declare function resolveOptions(option: BuilderOptionSerialised, references?: BuilderReferences): BuilderOptionConfigsSerialised;
|
|
5
|
+
export declare function resolveComponent(component: BuilderComponentValidated, model: BuilderModelValidated, instance: unknown, references?: BuilderReferences): BuilderComponentConfigValidated | null;
|
|
6
|
+
export declare function resolveComponents(component: BuilderComponentSerialised, references?: BuilderReferences): BuilderComponentConfigsSerialised;
|
|
7
|
+
export declare function resolveCollection(collection: BuilderCollectionValidated, model: BuilderModelValidated, instance: unknown, references?: BuilderReferences): BuilderCollectionConfigValidated | null;
|
|
8
|
+
export declare function resolveCollections(collection: BuilderCollectionSerialised, references?: BuilderReferences): BuilderCollectionConfigsSerialised;
|
|
9
|
+
export declare function resolveReference(value: unknown, references: BuilderReferences): unknown;
|
|
11
10
|
export type ResolvedPath = {
|
|
12
11
|
readonly name: string;
|
|
13
|
-
readonly payload:
|
|
12
|
+
readonly payload: BuilderOptionConfigValidated;
|
|
14
13
|
readonly value: unknown;
|
|
15
14
|
};
|
|
16
|
-
export declare function resolvePath(model: BuilderModelValidated, instance: unknown, path: BuilderPath,
|
|
17
|
-
export declare function resolveItems(model: BuilderModelValidated, instance: unknown, pairs: ReadonlyArray<string | number>,
|
|
15
|
+
export declare function resolvePath(model: BuilderModelValidated, instance: unknown, path: BuilderPath, references?: BuilderReferences): ResolvedPath | null;
|
|
16
|
+
export declare function resolveItems(model: BuilderModelValidated, instance: unknown, pairs: ReadonlyArray<string | number>, references?: BuilderReferences): readonly [BuilderModelValidated, BuilderInstance] | null;
|