@builder-builder/builder 0.0.19 → 0.0.20
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 +5 -6
- package/dist/bb.js +7 -4
- package/dist/entities/builder/builder.d.ts +2 -4
- package/dist/entities/collection/config.d.ts +101 -0
- package/dist/entities/collection/config.js +1 -0
- package/dist/entities/collection/index.d.ts +2 -2
- package/dist/entities/collection/index.js +1 -1
- package/dist/entities/component/component.d.ts +3 -3
- package/dist/entities/component/component.js +4 -4
- package/dist/entities/component/config.d.ts +135 -0
- package/dist/entities/component/{details.js → config.js} +7 -6
- package/dist/entities/component/index.d.ts +2 -2
- package/dist/entities/component/index.js +1 -1
- package/dist/entities/component/when.d.ts +5 -5
- package/dist/entities/component/when.js +3 -3
- package/dist/entities/index.d.ts +8 -9
- package/dist/entities/index.js +3 -3
- package/dist/entities/kind.d.ts +1 -1
- package/dist/entities/model/index.d.ts +1 -1
- package/dist/entities/model/methods.d.ts +8 -8
- package/dist/entities/model/methods.js +2 -2
- 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 +6 -6
- package/dist/entities/option/index.js +3 -3
- package/dist/entities/option/option.d.ts +3 -3
- package/dist/entities/option/option.js +4 -4
- package/dist/entities/option/select.d.ts +14 -14
- package/dist/entities/option/select.js +5 -5
- package/dist/entities/option/toggle.d.ts +10 -10
- package/dist/entities/option/toggle.js +7 -7
- package/dist/entities/option/when.d.ts +5 -5
- package/dist/entities/{refs.d.ts → references.d.ts} +2 -2
- package/dist/entities/serialise.d.ts +4 -4
- package/dist/entities/serialise.js +10 -10
- package/dist/entities/ui/input.d.ts +1 -2
- package/dist/entities/ui/ui.d.ts +1 -2
- package/dist/entities/ui/uis.d.ts +1 -1
- package/dist/entities/ui/uis.js +1 -1
- package/dist/entities/validated.d.ts +5 -5
- package/dist/environment.d.ts +1 -1
- package/dist/index.d.ts +11 -10
- package/dist/index.js +2 -2
- 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 +6 -6
- package/dist/mappers/order.d.ts +2 -2
- package/dist/mappers/order.js +4 -4
- package/dist/mappers/render/pages.d.ts +2 -2
- package/dist/mappers/render/render.d.ts +2 -2
- package/dist/mappers/render/render.js +11 -11
- package/dist/mappers/resolve.d.ts +11 -11
- package/dist/mappers/resolve.js +28 -28
- package/dist/mappers/variants/option-graph.d.ts +2 -2
- package/dist/private.d.ts +1 -1
- package/dist/private.js +1 -1
- package/dist/validate/builder.d.ts +2 -2
- package/dist/validate/index.d.ts +1 -0
- package/dist/validate/model.d.ts +2 -2
- package/dist/validate/model.js +1 -1
- package/dist/validate/pricing.d.ts +2 -2
- package/dist/validate/resolve.d.ts +2 -2
- package/dist/validate/ui.d.ts +2 -2
- package/dist/validate/ui.js +1 -1
- package/dist/validate/variants.js +2 -2
- package/package.json +1 -1
- package/dist/entities/component/details.d.ts +0 -66
- package/dist/entities/entry.d.ts +0 -4
- package/dist/entities/option/values.d.ts +0 -49
- package/dist/entities/option/values.js +0 -14
- package/dist/entities/refs.js +0 -1
- /package/dist/entities/{entry.js → references.js} +0 -0
package/dist/entities/ui/uis.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type { BuilderValidatedBrand } from '../validate/
|
|
1
|
+
import type { BuilderValidatedBrand } from '../validate/index';
|
|
2
2
|
import type { BuilderComponentVariants, BuilderInstance, BuilderInstances } from '../instance';
|
|
3
3
|
import type { Prettify } from '../prettify';
|
|
4
4
|
import type { BuilderParameter, BuilderParameterSerialised, BuilderRef, BuilderRefSerialised } from '../references';
|
|
5
5
|
import type { BuilderSerialised } from './builder/index';
|
|
6
6
|
import type { BuilderCollectionConfigSerialised, BuilderCollectionSerialised, BuilderCollectionsSerialised } from './collection/index';
|
|
7
|
-
import type {
|
|
7
|
+
import type { BuilderComponentConfigSerialised, BuilderComponentSerialised, BuilderComponentsSerialised } from './component/index';
|
|
8
8
|
import type { BuilderModelSerialised } from './model/index';
|
|
9
|
-
import type { BuilderOptionSerialised, BuilderOptionsSerialised,
|
|
9
|
+
import type { BuilderOptionSerialised, BuilderOptionsSerialised, BuilderOptionConfigSerialised } from './option/index';
|
|
10
10
|
import type { BuilderPricingSerialised } from './pricing/index';
|
|
11
11
|
import type { BuilderUIDescribeSerialised, BuilderUIItemsSerialised, BuilderUIPageSerialised, BuilderUISerialised } from './ui/index';
|
|
12
12
|
export type Validated<Input> = Input extends BuilderComponentVariants | BuilderInstance | BuilderModelSerialised | BuilderPricingSerialised | BuilderSerialised | BuilderUISerialised ? Validate<Input> & BuilderValidatedBrand : Validate<Input>;
|
|
@@ -25,10 +25,10 @@ export type BuilderInstancesValidated = Prettify<Validated<BuilderInstances>>;
|
|
|
25
25
|
export type BuilderComponentVariantsValidated = Prettify<Validated<BuilderComponentVariants>>;
|
|
26
26
|
export type BuilderOptionValidated = Prettify<Validated<BuilderOptionSerialised>>;
|
|
27
27
|
export type BuilderOptionsValidated = Prettify<Validated<BuilderOptionsSerialised>>;
|
|
28
|
-
export type
|
|
28
|
+
export type BuilderOptionConfigValidated = Prettify<Validated<BuilderOptionConfigSerialised>>;
|
|
29
29
|
export type BuilderComponentValidated = Prettify<Validated<BuilderComponentSerialised>>;
|
|
30
30
|
export type BuilderComponentsValidated = Prettify<Validated<BuilderComponentsSerialised>>;
|
|
31
|
-
export type
|
|
31
|
+
export type BuilderComponentConfigValidated = Prettify<Validated<BuilderComponentConfigSerialised>>;
|
|
32
32
|
export type BuilderCollectionValidated = Prettify<Validated<BuilderCollectionSerialised>>;
|
|
33
33
|
export type BuilderCollectionsValidated = Prettify<Validated<BuilderCollectionsSerialised>>;
|
|
34
34
|
export type BuilderCollectionConfigValidated = Prettify<Validated<BuilderCollectionConfigSerialised>>;
|
package/dist/environment.d.ts
CHANGED
|
@@ -2,4 +2,4 @@ import type { BuilderErrors } from './exception';
|
|
|
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] : EntityType;
|
|
5
|
+
export type BuilderEnvironmentResult<EntityType, Env extends BuilderEnvironment = 'production'> = Env extends 'development' ? readonly [EntityType, BuilderErrors] : readonly [EntityType, readonly never[]];
|
package/dist/index.d.ts
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
export type { BB, BBOptions } from './bb';
|
|
2
|
-
export type { Builder, BuilderBindings, BuilderBindingsSerialised, BuilderCollection, BuilderCollectionConfig, BuilderCollectionConfigSerialised, BuilderCollections, BuilderCollectionSerialised, BuilderCollectionsSerialised, BuilderCollectionWhen, BuilderCollectionWhenSerialised, BuilderComponent,
|
|
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, BuilderComponentVariantsValidated, BuilderComponentWhen, BuilderComponentWhenSerialised, BuilderDescription, BuilderDescriptionItem, BuilderEnableConfig, BuilderEntityKind, BuilderEntitySerialised, BuilderExpectation, BuilderExpectationKind, BuilderExpectations, BuilderExpectationSerialised, BuilderExpectationsSerialised, BuilderInstanceOf, BuilderInstanceValidated, BuilderMatchConfig, BuilderMatchSelectMap, BuilderModel, BuilderModels, BuilderModelSerialised, BuilderModelValidated, BuilderOption, BuilderOptions, BuilderOptionSerialised, BuilderOptionsSerialised, BuilderOptionConfig, BuilderOptionConfigSerialised, BuilderOptionWhen, BuilderOptionWhenSerialised, 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, BuilderWhen, BuilderWhenConfig, BuilderWhenSerialised } from './entities/index';
|
|
3
3
|
export type { BuilderEnvironment } from './environment';
|
|
4
4
|
export type { BuilderError, BuilderErrorBase, BuilderErrorLocation, BuilderErrors } from './exception';
|
|
5
5
|
export type { BuilderComponentVariants, BuilderInstance, BuilderInstanceInput, BuilderInstances, BuilderVariant, BuilderVariants } from './instance';
|
|
6
|
-
export type {
|
|
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';
|
|
7
8
|
export type { BuilderPath, BuilderPaths } from './paths';
|
|
8
9
|
export type { BuilderPrimitive, BuilderPrimitives } from './primitive';
|
|
9
10
|
export type { BuilderParameter, BuilderParameterSerialised, BuilderRef, Paramable, ParamableSerialised } from './references';
|
|
11
|
+
import { collectionConfig, collectionExpectation, componentConfig, componentExpectation, optionExpectation, uis } from './entities/index.js';
|
|
10
12
|
export { bb } from './bb.js';
|
|
11
13
|
export { builder, detailBoolean, detailNumber, detailString, input, model, parameter, pricing, ref, select, serialise, toggleBoolean, toggleNumber, toggleString } from './entities/index.js';
|
|
12
14
|
export { BuilderException } from './exception.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
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("./paths").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>;
|
|
18
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("./paths").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("./paths").BuilderPath>, const Payload 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("./paths").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("./paths").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("./paths").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("./paths").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,12 @@
|
|
|
1
|
+
import { collectionConfig, collectionExpectation, collectionWhen, componentConfig, componentExpectation, componentWhen, optionExpectation, optionWhen, uis } from './entities/index.js';
|
|
1
2
|
export { bb } from './bb.js';
|
|
2
3
|
export { builder, detailBoolean, detailNumber, detailString, input, model, parameter, pricing, ref, select, serialise, toggleBoolean, toggleNumber, toggleString } from './entities/index.js';
|
|
3
4
|
export { BuilderException } from './exception.js';
|
|
4
5
|
export { ordinal } from './mappers/index.js';
|
|
5
|
-
import { collectionConfig, collectionExpectation, collectionWhen, componentDetails, componentExpectation, componentWhen, optionExpectation, optionWhen, uis } from './entities/index.js';
|
|
6
6
|
export const collection = Object.assign(collectionConfig, {
|
|
7
7
|
...collectionWhen
|
|
8
8
|
});
|
|
9
|
-
export const component = Object.assign(
|
|
9
|
+
export const component = Object.assign(componentConfig, {
|
|
10
10
|
...componentWhen
|
|
11
11
|
});
|
|
12
12
|
export const has = {
|
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
|
@@ -2,18 +2,18 @@ import { check } from '../check.js';
|
|
|
2
2
|
import { modelsMerge, optionValueSchema } from '../entities/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 { BuilderComponentVariantsValidated, BuilderInstanceValidated, BuilderModelValidated,
|
|
1
|
+
import type { BuilderComponentVariantsValidated, BuilderInstanceValidated, BuilderModelValidated, BuilderReferences } from '../entities/index';
|
|
2
2
|
import type { BuilderVariant } from '../instance';
|
|
3
3
|
export interface BuilderOrder {
|
|
4
4
|
readonly [key: string]: BuilderVariant | BuilderOrder | ReadonlyArray<BuilderOrder> | null;
|
|
5
5
|
}
|
|
6
|
-
export declare function order(model: BuilderModelValidated, instance: BuilderInstanceValidated, variants: BuilderComponentVariantsValidated,
|
|
6
|
+
export declare function order(model: BuilderModelValidated, instance: BuilderInstanceValidated, variants: BuilderComponentVariantsValidated, references?: BuilderReferences): BuilderOrder;
|
package/dist/mappers/order.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { check } from '../check.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
|
}
|
|
@@ -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
2
|
import { check } from '../../check.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,17 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BuilderCollectionConfigsSerialised, BuilderCollectionConfigValidated, BuilderCollectionSerialised, BuilderCollectionValidated, BuilderComponentConfigsSerialised, BuilderComponentConfigValidated, BuilderComponentSerialised, BuilderComponentValidated, BuilderModelValidated, BuilderOptionConfigsSerialised, BuilderOptionConfigValidated, BuilderOptionSerialised, BuilderOptionValidated, BuilderReferences } from '../entities/index';
|
|
2
2
|
import type { BuilderInstance } from '../instance';
|
|
3
3
|
import type { BuilderPath } from '../paths';
|
|
4
|
-
export declare function resolveOption(option: BuilderOptionValidated, model: BuilderModelValidated, instance: unknown,
|
|
5
|
-
export declare function resolveOptions(option: BuilderOptionSerialised,
|
|
6
|
-
export declare function resolveComponent(component: BuilderComponentValidated, model: BuilderModelValidated, instance: unknown,
|
|
7
|
-
export declare function resolveComponents(component: BuilderComponentSerialised,
|
|
8
|
-
export declare function resolveCollection(collection: BuilderCollectionValidated, model: BuilderModelValidated, instance: unknown,
|
|
9
|
-
export declare function resolveCollections(collection: BuilderCollectionSerialised,
|
|
10
|
-
export declare function
|
|
4
|
+
export declare function resolveOption(option: BuilderOptionValidated, model: BuilderModelValidated, instance: unknown, references?: BuilderReferences): BuilderOptionConfigValidated | null;
|
|
5
|
+
export declare function resolveOptions(option: BuilderOptionSerialised, references?: BuilderReferences): BuilderOptionConfigsSerialised;
|
|
6
|
+
export declare function resolveComponent(component: BuilderComponentValidated, model: BuilderModelValidated, instance: unknown, references?: BuilderReferences): BuilderComponentConfigValidated | null;
|
|
7
|
+
export declare function resolveComponents(component: BuilderComponentSerialised, references?: BuilderReferences): BuilderComponentConfigsSerialised;
|
|
8
|
+
export declare function resolveCollection(collection: BuilderCollectionValidated, model: BuilderModelValidated, instance: unknown, references?: BuilderReferences): BuilderCollectionConfigValidated | null;
|
|
9
|
+
export declare function resolveCollections(collection: BuilderCollectionSerialised, references?: BuilderReferences): BuilderCollectionConfigsSerialised;
|
|
10
|
+
export declare function resolveReference(value: unknown, references: BuilderReferences): unknown;
|
|
11
11
|
export type ResolvedPath = {
|
|
12
12
|
readonly name: string;
|
|
13
|
-
readonly payload:
|
|
13
|
+
readonly payload: BuilderOptionConfigValidated;
|
|
14
14
|
readonly value: unknown;
|
|
15
15
|
};
|
|
16
|
-
export declare function resolvePath(model: BuilderModelValidated, instance: unknown, path: BuilderPath,
|
|
17
|
-
export declare function resolveItems(model: BuilderModelValidated, instance: unknown, pairs: ReadonlyArray<string | number>,
|
|
16
|
+
export declare function resolvePath(model: BuilderModelValidated, instance: unknown, path: BuilderPath, references?: BuilderReferences): ResolvedPath | null;
|
|
17
|
+
export declare function resolveItems(model: BuilderModelValidated, instance: unknown, pairs: ReadonlyArray<string | number>, references?: BuilderReferences): readonly [BuilderModelValidated, BuilderInstance] | null;
|
package/dist/mappers/resolve.js
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
2
|
import { check } from '../check.js';
|
|
3
|
-
import { BuilderCollectionConfigSerialisedSchema,
|
|
3
|
+
import { BuilderCollectionConfigSerialisedSchema, BuilderComponentConfigSerialisedSchema, BuilderOptionConfigSerialisedSchema, BuilderWhenSerialisedSchema, modelsMerge } from '../entities/index.js';
|
|
4
4
|
import { BuilderInstanceSchema, BuilderInstancesSchema } from '../instance.js';
|
|
5
5
|
import { BuilderPathsSchema } from '../paths.js';
|
|
6
6
|
import { BuilderPrimitiveSchema } from '../primitive.js';
|
|
7
7
|
import { BuilderRefSerialisedSchema } from '../references.js';
|
|
8
|
-
export function resolveOption(option, model, instance,
|
|
9
|
-
return resolveEntryInstance(option,
|
|
8
|
+
export function resolveOption(option, model, instance, references = []) {
|
|
9
|
+
return resolveEntryInstance(option, BuilderOptionConfigSerialisedSchema, model, instance, references);
|
|
10
10
|
}
|
|
11
|
-
export function resolveOptions(option,
|
|
12
|
-
return resolveEntryExhaustive(option,
|
|
11
|
+
export function resolveOptions(option, references = []) {
|
|
12
|
+
return resolveEntryExhaustive(option, BuilderOptionConfigSerialisedSchema, references);
|
|
13
13
|
}
|
|
14
|
-
export function resolveComponent(component, model, instance,
|
|
15
|
-
return resolveEntryInstance(component,
|
|
14
|
+
export function resolveComponent(component, model, instance, references = []) {
|
|
15
|
+
return resolveEntryInstance(component, BuilderComponentConfigSerialisedSchema, model, instance, references);
|
|
16
16
|
}
|
|
17
|
-
export function resolveComponents(component,
|
|
18
|
-
return resolveEntryExhaustive(component,
|
|
17
|
+
export function resolveComponents(component, references = []) {
|
|
18
|
+
return resolveEntryExhaustive(component, BuilderComponentConfigSerialisedSchema, references);
|
|
19
19
|
}
|
|
20
|
-
export function resolveCollection(collection, model, instance,
|
|
21
|
-
return resolveEntryInstance(collection, BuilderCollectionConfigSerialisedSchema, model, instance,
|
|
20
|
+
export function resolveCollection(collection, model, instance, references = []) {
|
|
21
|
+
return resolveEntryInstance(collection, BuilderCollectionConfigSerialisedSchema, model, instance, references);
|
|
22
22
|
}
|
|
23
|
-
export function resolveCollections(collection,
|
|
24
|
-
return resolveEntryExhaustive(collection, BuilderCollectionConfigSerialisedSchema,
|
|
23
|
+
export function resolveCollections(collection, references = []) {
|
|
24
|
+
return resolveEntryExhaustive(collection, BuilderCollectionConfigSerialisedSchema, references);
|
|
25
25
|
}
|
|
26
|
-
export function
|
|
26
|
+
export function resolveReference(value, references) {
|
|
27
27
|
if (!check.is(BuilderRefSerialisedSchema, value)) {
|
|
28
28
|
return value;
|
|
29
29
|
}
|
|
30
|
-
const found =
|
|
30
|
+
const found = references.find((entry) => entry.id === value.id);
|
|
31
31
|
check.truthy(found, `Reference '${value.id}' not found! ❌`);
|
|
32
32
|
return found.serialised;
|
|
33
33
|
}
|
|
34
|
-
export function resolvePath(model, instance, path,
|
|
34
|
+
export function resolvePath(model, instance, path, references = []) {
|
|
35
35
|
const optionName = path.at(-1);
|
|
36
36
|
check.assert(v.string(), optionName, 'Path must end at an option name! ❌');
|
|
37
|
-
const descended = resolveItems(model, instance, path.slice(0, -1),
|
|
37
|
+
const descended = resolveItems(model, instance, path.slice(0, -1), references);
|
|
38
38
|
if (descended == null) {
|
|
39
39
|
return null;
|
|
40
40
|
}
|
|
@@ -42,13 +42,13 @@ export function resolvePath(model, instance, path, refs = []) {
|
|
|
42
42
|
const merged = modelsMerge(scopeModel);
|
|
43
43
|
const option = merged.options.find((entry) => entry.name === optionName);
|
|
44
44
|
check.truthy(option, `Path target '${optionName}' is not an option! ❌`);
|
|
45
|
-
const payload = resolveOption(option, scopeModel, scopeInstance,
|
|
45
|
+
const payload = resolveOption(option, scopeModel, scopeInstance, references);
|
|
46
46
|
if (payload == null) {
|
|
47
47
|
return null;
|
|
48
48
|
}
|
|
49
49
|
return { name: optionName, payload, value: scopeInstance[optionName] };
|
|
50
50
|
}
|
|
51
|
-
export function resolveItems(model, instance, pairs,
|
|
51
|
+
export function resolveItems(model, instance, pairs, references = []) {
|
|
52
52
|
check.assert(BuilderInstanceSchema, instance);
|
|
53
53
|
if (pairs.length === 0) {
|
|
54
54
|
return [model, instance];
|
|
@@ -59,7 +59,7 @@ export function resolveItems(model, instance, pairs, refs = []) {
|
|
|
59
59
|
const merged = modelsMerge(model);
|
|
60
60
|
const collection = merged.collections.find((entry) => entry.name === name);
|
|
61
61
|
check.truthy(collection, `Path segment '${name}' is not a collection! ❌`);
|
|
62
|
-
const resolved = resolveCollection(collection, model, instance,
|
|
62
|
+
const resolved = resolveCollection(collection, model, instance, references);
|
|
63
63
|
if (resolved == null) {
|
|
64
64
|
return null;
|
|
65
65
|
}
|
|
@@ -69,17 +69,17 @@ export function resolveItems(model, instance, pairs, refs = []) {
|
|
|
69
69
|
if (item == null) {
|
|
70
70
|
return null;
|
|
71
71
|
}
|
|
72
|
-
return resolveItems(resolved.model, item, rest,
|
|
72
|
+
return resolveItems(resolved.model, item, rest, references);
|
|
73
73
|
}
|
|
74
|
-
function resolveEntryInstance(entry, schema, model, instance,
|
|
75
|
-
const payload =
|
|
74
|
+
function resolveEntryInstance(entry, schema, model, instance, references) {
|
|
75
|
+
const payload = resolveReference(entry.payload, references);
|
|
76
76
|
if (check.is(schema, payload)) {
|
|
77
77
|
return payload;
|
|
78
78
|
}
|
|
79
79
|
check.assert(BuilderWhenSerialisedSchema, payload);
|
|
80
80
|
check.assert(BuilderPathsSchema, entry.paths);
|
|
81
81
|
const config = payload;
|
|
82
|
-
if (!entry.paths.every((path) => Boolean(resolvePath(model, instance, path,
|
|
82
|
+
if (!entry.paths.every((path) => Boolean(resolvePath(model, instance, path, references)?.value))) {
|
|
83
83
|
return null;
|
|
84
84
|
}
|
|
85
85
|
switch (config.type) {
|
|
@@ -88,11 +88,11 @@ function resolveEntryInstance(entry, schema, model, instance, refs) {
|
|
|
88
88
|
}
|
|
89
89
|
case 'match': {
|
|
90
90
|
const selectMap = config.selectMap;
|
|
91
|
-
const matched = resolvePath(model, instance, config.matchPath,
|
|
91
|
+
const matched = resolvePath(model, instance, config.matchPath, references);
|
|
92
92
|
return selectMap[`${matched?.value}`] ?? null;
|
|
93
93
|
}
|
|
94
94
|
case 'unless': {
|
|
95
|
-
const value = resolvePath(model, instance, config.unlessPath,
|
|
95
|
+
const value = resolvePath(model, instance, config.unlessPath, references)?.value;
|
|
96
96
|
if (!value) {
|
|
97
97
|
return null;
|
|
98
98
|
}
|
|
@@ -104,8 +104,8 @@ function resolveEntryInstance(entry, schema, model, instance, refs) {
|
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
|
-
function resolveEntryExhaustive(entry, schema,
|
|
108
|
-
const payload =
|
|
107
|
+
function resolveEntryExhaustive(entry, schema, references) {
|
|
108
|
+
const payload = resolveReference(entry.payload, references);
|
|
109
109
|
if (check.is(schema, payload)) {
|
|
110
110
|
return [payload];
|
|
111
111
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BuilderModelValidated, BuilderOptionValidated
|
|
1
|
+
import type { BuilderModelValidated, BuilderOptionValidated } from '../../entities/index';
|
|
2
2
|
import type { BuilderInstances } from '../../instance';
|
|
3
3
|
import type { BuilderPaths } from '../../paths';
|
|
4
4
|
export type GraphKeys = ReadonlySet<string>;
|
|
@@ -9,7 +9,7 @@ export type GraphPath = {
|
|
|
9
9
|
};
|
|
10
10
|
export type GraphPaths = ReadonlyArray<GraphPath>;
|
|
11
11
|
export declare function crossProduct(left: BuilderInstances, right: BuilderInstances): BuilderInstances;
|
|
12
|
-
export declare function dependencyKeys(payload: unknown
|
|
12
|
+
export declare function dependencyKeys(payload: unknown, paths?: BuilderPaths): ReadonlyArray<string>;
|
|
13
13
|
export declare class BuilderOptionGraph {
|
|
14
14
|
#private;
|
|
15
15
|
readonly paths: GraphPaths;
|
package/dist/private.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { BuilderCollectionConfigSchema, BuilderCollectionConfigSerialisedSchema, BuilderCollectionSchema, BuilderCollectionSelectMapSerialisedSchema, BuilderCollectionSerialisedSchema, BuilderCollectionsSerialisedSchema, BuilderCollectionWhenSerialisedSchema,
|
|
1
|
+
export { BuilderCollectionConfigSchema, BuilderCollectionConfigSerialisedSchema, BuilderCollectionSchema, BuilderCollectionSelectMapSerialisedSchema, BuilderCollectionSerialisedSchema, BuilderCollectionsSerialisedSchema, BuilderCollectionWhenSerialisedSchema, BuilderComponentConfigSchema, BuilderComponentConfigSerialisedSchema, BuilderComponentFieldSchema, BuilderComponentFieldSerialisedSchema, BuilderComponentFieldsSchema, BuilderComponentFieldsSerialisedSchema, BuilderComponentFieldValueTypeSchema, BuilderComponentSchema, BuilderComponentSelectMapSerialisedSchema, BuilderComponentSerialisedSchema, BuilderComponentsSerialisedSchema, BuilderComponentWhenSerialisedSchema, BuilderDescriptionItemSchema, BuilderDescriptionSchema, BuilderEntityKindSchema, BuilderEntitySerialisedSchema, BuilderExpectationKindSchema, BuilderExpectationSchema, BuilderExpectationSerialisedSchema, BuilderExpectationsSchema, BuilderExpectationsSerialisedSchema, BuilderModelSchema, BuilderModelSerialisedSchema, BuilderOptionSchema, BuilderOptionSelectMapSerialisedSchema, BuilderOptionSerialisedSchema, BuilderOptionsSerialisedSchema, BuilderOptionConfigSchema, BuilderOptionConfigSerialisedSchema, BuilderOptionWhenSerialisedSchema, BuilderSchema, BuilderSelectConfigSchema, BuilderSelectConfigSerialisedSchema, BuilderSerialisedSchema, BuilderToggleConfigSchema, BuilderToggleConfigSerialisedSchema, BuilderUIDescribeSchema, BuilderUIDescribeSerialisedSchema, BuilderUIItemSerialisedSchema, BuilderUIItemsSerialisedSchema, BuilderUIPageSchema, BuilderUIPageSerialisedSchema, BuilderUIPagesSchema, BuilderUIPagesSerialisedSchema, BuilderUISchema, BuilderUISerialisedSchema, BuilderWhenConfigSchema, BuilderWhenEnableSchema, BuilderWhenMatchSchema, BuilderWhenUnlessSchema } from './entities/index.js';
|
|
2
2
|
export { BuilderEnvironmentSchema } from './environment.js';
|
|
3
3
|
export { BuilderComponentVariantsSchema, BuilderVariantsSchema } from './instance.js';
|
|
4
4
|
export { BuilderPathSchema, BuilderPathsSchema } from './paths.js';
|
package/dist/private.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { BuilderCollectionConfigSchema, BuilderCollectionConfigSerialisedSchema, BuilderCollectionSchema, BuilderCollectionSelectMapSerialisedSchema, BuilderCollectionSerialisedSchema, BuilderCollectionsSerialisedSchema, BuilderCollectionWhenSerialisedSchema,
|
|
1
|
+
export { BuilderCollectionConfigSchema, BuilderCollectionConfigSerialisedSchema, BuilderCollectionSchema, BuilderCollectionSelectMapSerialisedSchema, BuilderCollectionSerialisedSchema, BuilderCollectionsSerialisedSchema, BuilderCollectionWhenSerialisedSchema, BuilderComponentConfigSchema, BuilderComponentConfigSerialisedSchema, BuilderComponentFieldSchema, BuilderComponentFieldSerialisedSchema, BuilderComponentFieldsSchema, BuilderComponentFieldsSerialisedSchema, BuilderComponentFieldValueTypeSchema, BuilderComponentSchema, BuilderComponentSelectMapSerialisedSchema, BuilderComponentSerialisedSchema, BuilderComponentsSerialisedSchema, BuilderComponentWhenSerialisedSchema, BuilderDescriptionItemSchema, BuilderDescriptionSchema, BuilderEntityKindSchema, BuilderEntitySerialisedSchema, BuilderExpectationKindSchema, BuilderExpectationSchema, BuilderExpectationSerialisedSchema, BuilderExpectationsSchema, BuilderExpectationsSerialisedSchema, BuilderModelSchema, BuilderModelSerialisedSchema, BuilderOptionSchema, BuilderOptionSelectMapSerialisedSchema, BuilderOptionSerialisedSchema, BuilderOptionsSerialisedSchema, BuilderOptionConfigSchema, BuilderOptionConfigSerialisedSchema, BuilderOptionWhenSerialisedSchema, BuilderSchema, BuilderSelectConfigSchema, BuilderSelectConfigSerialisedSchema, BuilderSerialisedSchema, BuilderToggleConfigSchema, BuilderToggleConfigSerialisedSchema, BuilderUIDescribeSchema, BuilderUIDescribeSerialisedSchema, BuilderUIItemSerialisedSchema, BuilderUIItemsSerialisedSchema, BuilderUIPageSchema, BuilderUIPageSerialisedSchema, BuilderUIPagesSchema, BuilderUIPagesSerialisedSchema, BuilderUISchema, BuilderUISerialisedSchema, BuilderWhenConfigSchema, BuilderWhenEnableSchema, BuilderWhenMatchSchema, BuilderWhenUnlessSchema } from './entities/index.js';
|
|
2
2
|
export { BuilderEnvironmentSchema } from './environment.js';
|
|
3
3
|
export { BuilderComponentVariantsSchema, BuilderVariantsSchema } from './instance.js';
|
|
4
4
|
export { BuilderPathSchema, BuilderPathsSchema } from './paths.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BuilderReferences, BuilderValidated } from '../entities/index';
|
|
2
2
|
import type { ValidationResult } from './result';
|
|
3
3
|
import { BuilderValidateErrors } from './errors.js';
|
|
4
4
|
export type BuilderValidationResult = ValidationResult<BuilderValidated>;
|
|
5
|
-
export declare function validateBuilder(input: unknown, references?:
|
|
5
|
+
export declare function validateBuilder(input: unknown, references?: BuilderReferences, errors?: BuilderValidateErrors): BuilderValidationResult;
|
package/dist/validate/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export type { BuilderValidatedBrand } from './brand';
|
|
1
2
|
export type { BuilderValidationResult } from './builder';
|
|
2
3
|
export type { BuilderErrorDuplicateName, BuilderErrorInvalidCollection, BuilderErrorInvalidCollectionBounds, BuilderErrorInvalidDetail, BuilderErrorInvalidInput, BuilderErrorInvalidOption, BuilderErrorInvalidPath, BuilderErrorInvalidPathReason, BuilderErrorInvalidPricing, BuilderErrorInvalidSelectMapKey, BuilderErrorInvalidPricingReason, BuilderErrorInvalidVariant, BuilderErrorMissingComponent, BuilderErrorMissingDetail, BuilderErrorMissingRate, BuilderErrorMissingReference, BuilderErrorMissingVariant, BuilderErrorUnboundParameter, BuilderErrorUnexpectedComponent, BuilderErrorUnexpectedDetail, BuilderErrorUnmetExpectation, BuilderErrorUnvalidated, BuilderInvalidInputTarget } from './errors';
|
|
3
4
|
export type { BuilderInstanceValidationResult } from './instance';
|
package/dist/validate/model.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { BuilderModelSerialised, BuilderModelValidated,
|
|
1
|
+
import type { BuilderModelSerialised, BuilderModelValidated, BuilderReferences } from '../entities/index';
|
|
2
2
|
import type { ParamableSerialised } from '../references';
|
|
3
3
|
import type { BuilderResolve } from './resolve';
|
|
4
4
|
import type { ValidationResult } from './result';
|
|
5
5
|
import { BuilderValidateErrors } from './errors.js';
|
|
6
6
|
export type BuilderModelValidationResult = ValidationResult<BuilderModelValidated>;
|
|
7
|
-
export declare function validateModel(input: unknown, references?:
|
|
7
|
+
export declare function validateModel(input: unknown, references?: BuilderReferences, errors?: BuilderValidateErrors): BuilderModelValidationResult;
|
|
8
8
|
export declare function checkModelExpectations(mergedModel: BuilderModelSerialised, rootModel: BuilderModelSerialised, errors: BuilderValidateErrors): void;
|
|
9
9
|
export declare function validateModelStructure(input: ParamableSerialised<BuilderModelSerialised>, resolve: BuilderResolve, errors: BuilderValidateErrors): BuilderModelValidated;
|
package/dist/validate/model.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { check } from '../check.js';
|
|
2
2
|
import { BuilderModelSerialisedSchema, BuilderWhenSerialisedSchema, model, modelsMerge, serialise } from '../entities/index.js';
|
|
3
|
+
import { resolveCollections } from '../mappers/index.js';
|
|
3
4
|
import { validate } from './brand.js';
|
|
4
5
|
import { BuilderValidateErrors } from './errors.js';
|
|
5
|
-
import { resolveCollections } from '../mappers/index.js';
|
|
6
6
|
import { checkExpectations } from './expectations.js';
|
|
7
7
|
import { checkPath } from './paths.js';
|
|
8
8
|
import { resolver } from './resolve.js';
|