@builder-builder/builder 0.0.10 → 0.0.11
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 +28 -0
- package/dist/bb.js +49 -0
- package/dist/check.d.ts +1 -1
- package/dist/check.js +4 -2
- package/dist/entities/builder/bind.d.ts +4 -85
- package/dist/entities/builder/bind.js +1 -9
- package/dist/entities/builder/builder.d.ts +17 -509
- package/dist/entities/builder/builder.js +19 -79
- package/dist/entities/builder/factory.d.ts +7 -0
- package/dist/entities/builder/factory.js +4 -0
- package/dist/entities/builder/index.d.ts +3 -6
- package/dist/entities/builder/index.js +1 -2
- package/dist/entities/collection/collection.d.ts +69 -19
- package/dist/entities/collection/collection.js +7 -25
- package/dist/entities/collection/config.d.ts +38 -1095
- package/dist/entities/collection/config.js +8 -8
- package/dist/entities/collection/expectation.d.ts +8 -4
- package/dist/entities/collection/index.d.ts +2 -2
- package/dist/entities/collection/when.d.ts +5 -4
- package/dist/entities/component/component.d.ts +264 -293
- package/dist/entities/component/component.js +5 -5
- package/dist/entities/component/details.d.ts +32 -57
- package/dist/entities/component/details.js +8 -8
- package/dist/entities/component/expectation.d.ts +7 -4
- package/dist/entities/component/expectation.js +0 -3
- package/dist/entities/component/field.d.ts +50 -0
- package/dist/entities/component/field.js +41 -0
- package/dist/entities/component/index.d.ts +4 -2
- package/dist/entities/component/index.js +2 -1
- package/dist/entities/component/when.d.ts +1 -1
- package/dist/entities/component/when.js +2 -2
- package/dist/entities/entry.d.ts +4 -0
- package/dist/entities/expectation.d.ts +10 -22
- package/dist/entities/expectation.js +2 -7
- package/dist/entities/index.d.ts +20 -17
- package/dist/entities/index.js +9 -8
- package/dist/entities/kind.d.ts +8 -5
- package/dist/entities/kind.js +3 -4
- package/dist/entities/model/bind.d.ts +83 -0
- package/dist/entities/model/expectation.d.ts +16 -0
- package/dist/entities/model/index.d.ts +7 -0
- package/dist/entities/model/index.js +2 -0
- package/dist/entities/model/methods.d.ts +57 -0
- package/dist/entities/{builder → model}/methods.js +8 -8
- package/dist/entities/model/model.d.ts +39 -0
- package/dist/entities/model/model.js +73 -0
- package/dist/entities/model/models.d.ts +39 -0
- package/dist/entities/model/models.js +14 -0
- package/dist/entities/{builder → model}/state.d.ts +10 -10
- package/dist/entities/option/index.d.ts +1 -1
- package/dist/entities/option/index.js +1 -1
- package/dist/entities/option/option.d.ts +210 -209
- package/dist/entities/option/option.js +5 -5
- package/dist/entities/option/select.d.ts +2 -12
- package/dist/entities/option/select.js +6 -3
- package/dist/entities/option/toggle.d.ts +2 -9
- package/dist/entities/option/toggle.js +3 -3
- package/dist/entities/option/values.d.ts +3 -21
- package/dist/entities/option/values.js +8 -2
- package/dist/entities/option/when.d.ts +5 -4
- package/dist/entities/refs.d.ts +6 -0
- package/dist/entities/refs.js +1 -0
- package/dist/entities/serialise.d.ts +388 -2919
- package/dist/entities/serialise.js +116 -17
- package/dist/entities/ui/describe.d.ts +22 -31
- package/dist/entities/ui/describe.js +1 -1
- package/dist/entities/ui/index.d.ts +2 -5
- package/dist/entities/ui/index.js +1 -2
- package/dist/entities/ui/page.d.ts +22 -31
- package/dist/entities/ui/page.js +1 -1
- package/dist/entities/ui/pages.d.ts +11 -8
- package/dist/entities/ui/pages.js +1 -1
- package/dist/entities/ui/ui.d.ts +22 -1194
- package/dist/entities/ui/ui.js +16 -28
- package/dist/entities/ui/uis.d.ts +5 -15
- package/dist/entities/ui/uis.js +12 -18
- package/dist/entities/validated.d.ts +35 -0
- package/dist/entities/validated.js +1 -0
- package/dist/entities/when.d.ts +64 -56
- package/dist/entities/when.js +1 -0
- package/dist/environment.d.ts +5 -0
- package/dist/environment.js +2 -0
- package/dist/exception.d.ts +8 -3
- package/dist/exception.js +3 -0
- package/dist/index.d.ts +21 -28
- package/dist/index.js +5 -13
- package/dist/instance.d.ts +56 -0
- package/dist/instance.js +10 -0
- package/dist/mappers/index.d.ts +7 -7
- package/dist/mappers/index.js +5 -4
- package/dist/mappers/instance.d.ts +3 -0
- package/dist/mappers/instance.js +35 -0
- package/dist/mappers/order.d.ts +6 -0
- package/dist/mappers/order.js +22 -0
- package/dist/mappers/render/pages.d.ts +4 -4
- package/dist/mappers/render/render.d.ts +2 -3
- package/dist/mappers/render/render.js +83 -78
- package/dist/mappers/resolve.d.ts +5 -9
- package/dist/mappers/resolve.js +25 -33
- package/dist/mappers/variants/index.d.ts +1 -0
- package/dist/mappers/variants/index.js +1 -0
- package/dist/mappers/variants/option-graph.d.ts +19 -0
- package/dist/mappers/{models → variants}/option-graph.js +33 -22
- package/dist/mappers/variants/variants.d.ts +3 -0
- package/dist/mappers/variants/variants.js +57 -0
- package/dist/private.d.ts +4 -0
- package/dist/private.js +4 -0
- package/dist/references.d.ts +13 -48
- package/dist/references.js +6 -14
- package/dist/serialisable.d.ts +1 -9
- package/dist/serialisable.js +2 -3
- package/dist/validate/brand.d.ts +14 -0
- package/dist/validate/brand.js +17 -0
- package/dist/validate/builder.d.ts +4 -0
- package/dist/validate/builder.js +27 -0
- package/dist/validate/expectations.d.ts +10 -0
- package/dist/validate/expectations.js +12 -0
- package/dist/validate/index.d.ts +18 -0
- package/dist/validate/index.js +9 -0
- package/dist/validate/instance.d.ts +19 -0
- package/dist/validate/instance.js +46 -0
- package/dist/validate/model.d.ts +36 -0
- package/dist/validate/model.js +196 -0
- package/dist/validate/resolve.d.ts +16 -0
- package/dist/validate/resolve.js +91 -0
- package/dist/validate/result.d.ts +8 -0
- package/dist/validate/result.js +4 -0
- package/dist/validate/ui.d.ts +8 -0
- package/dist/validate/ui.js +77 -0
- package/dist/validate/variants.d.ts +59 -0
- package/dist/validate/variants.js +102 -0
- package/package.json +5 -4
- package/dist/entities/bind.d.ts +0 -4
- package/dist/entities/bind.js +0 -44
- package/dist/entities/builder/builders.d.ts +0 -35
- package/dist/entities/builder/builders.js +0 -19
- package/dist/entities/builder/expectation.d.ts +0 -12
- package/dist/entities/builder/methods.d.ts +0 -58
- package/dist/entities/builder/validate.d.ts +0 -3
- package/dist/entities/builder/validate.js +0 -108
- package/dist/entities/errors.d.ts +0 -21
- package/dist/entities/ui/bind.d.ts +0 -10
- package/dist/entities/ui/bind.js +0 -9
- package/dist/entities/ui/validate.d.ts +0 -8
- package/dist/entities/ui/validate.js +0 -21
- package/dist/entities/validate.d.ts +0 -28
- package/dist/mappers/assert/builder.d.ts +0 -2
- package/dist/mappers/assert/builder.js +0 -46
- package/dist/mappers/assert/expectation.d.ts +0 -2
- package/dist/mappers/assert/expectation.js +0 -23
- package/dist/mappers/assert/index.d.ts +0 -6
- package/dist/mappers/assert/index.js +0 -4
- package/dist/mappers/assert/model.d.ts +0 -13
- package/dist/mappers/assert/model.js +0 -47
- package/dist/mappers/assert/models.d.ts +0 -33
- package/dist/mappers/assert/models.js +0 -74
- package/dist/mappers/assert/ui.d.ts +0 -2
- package/dist/mappers/assert/ui.js +0 -22
- package/dist/mappers/instance/index.d.ts +0 -1
- package/dist/mappers/instance/index.js +0 -1
- package/dist/mappers/instance/instance.d.ts +0 -4
- package/dist/mappers/instance/instance.js +0 -33
- package/dist/mappers/models/component-graph.d.ts +0 -9
- package/dist/mappers/models/component-graph.js +0 -51
- package/dist/mappers/models/graph.d.ts +0 -12
- package/dist/mappers/models/graph.js +0 -17
- package/dist/mappers/models/index.d.ts +0 -1
- package/dist/mappers/models/index.js +0 -1
- package/dist/mappers/models/models.d.ts +0 -3
- package/dist/mappers/models/models.js +0 -37
- package/dist/mappers/models/option-graph.d.ts +0 -9
- package/dist/mappers/order/index.d.ts +0 -2
- package/dist/mappers/order/index.js +0 -1
- package/dist/mappers/order/order.d.ts +0 -14
- package/dist/mappers/order/order.js +0 -31
- package/dist/mappers/refs.d.ts +0 -12
- package/dist/mappers/refs.js +0 -36
- package/dist/model.d.ts +0 -35
- package/dist/model.js +0 -9
- package/dist/walker/index.d.ts +0 -2
- package/dist/walker/index.js +0 -1
- package/dist/walker/walkable.d.ts +0 -4
- package/dist/walker/walkable.js +0 -4
- package/dist/walker/walker.d.ts +0 -26
- package/dist/walker/walker.js +0 -115
- package/dist/walker/walkers.d.ts +0 -9
- package/dist/walker/walkers.js +0 -55
- /package/dist/entities/{builder/expectation.js → entry.js} +0 -0
- /package/dist/entities/{builder/state.js → model/bind.js} +0 -0
- /package/dist/entities/{errors.js → model/expectation.js} +0 -0
- /package/dist/entities/{validate.js → model/state.js} +0 -0
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
export type {
|
|
2
|
-
export type {
|
|
3
|
-
export type { BindingModelType, BuilderBindings, BuilderBoundState } from './bind';
|
|
4
|
-
export type { BuilderState, BuilderStateAppend, BuilderStateEmpty } from './state';
|
|
1
|
+
export type { BuilderBindings, BuilderBindingsSerialised } from './bind';
|
|
2
|
+
export type { BuilderSerialised } from './builder';
|
|
5
3
|
export { Builder, BuilderSchema, BuilderSerialisedSchema } from './builder.js';
|
|
6
|
-
export {
|
|
7
|
-
export { bindBuilder } from './bind.js';
|
|
4
|
+
export { builder } from './factory.js';
|
|
@@ -1,38 +1,88 @@
|
|
|
1
1
|
import type { BuilderPaths } from '../../paths';
|
|
2
2
|
import type { Paramable, ParamableSerialised } from '../../references';
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import type { BuilderCollectionConfigSerialised } from './config';
|
|
3
|
+
import type { BuilderModelState } from '../model/index';
|
|
4
|
+
import type { BuilderWhenSerialised } from '../when';
|
|
5
|
+
import type { BuilderCollectionConfig, BuilderCollectionConfigSerialised } from './config';
|
|
6
|
+
import type { BuilderCollectionWhen } from './when';
|
|
6
7
|
import * as v from 'valibot';
|
|
7
|
-
|
|
8
|
-
export
|
|
9
|
-
readonly kind: 'invalid-collection-bounds';
|
|
10
|
-
readonly name: string;
|
|
11
|
-
readonly min: number;
|
|
12
|
-
readonly max: number;
|
|
13
|
-
};
|
|
14
|
-
export type BuilderCollectionPayload = BuilderCollectionConfig | BuilderWhen<Paramable<BuilderCollectionConfig>>;
|
|
15
|
-
export declare class BuilderCollection<const Name extends string = string, const Payload extends Paramable<BuilderCollectionPayload> = Paramable<BuilderCollectionPayload>, const GatePaths extends Paramable<BuilderPaths> = Paramable<BuilderPaths>> {
|
|
8
|
+
export type BuilderCollectionPayload = BuilderCollectionConfig | BuilderCollectionWhen;
|
|
9
|
+
export declare class BuilderCollection<const Name extends string = string, const Payload extends Paramable<BuilderCollectionPayload> = Paramable<BuilderCollectionPayload>, const Paths extends Paramable<BuilderPaths> = Paramable<BuilderPaths>> {
|
|
16
10
|
readonly type: 'collection';
|
|
17
11
|
readonly name: Name;
|
|
18
12
|
readonly payload: Payload;
|
|
19
|
-
readonly
|
|
20
|
-
constructor(name: Name, payload: Payload,
|
|
13
|
+
readonly paths?: Paths;
|
|
14
|
+
constructor(name: Name, payload: Payload, paths?: Paths);
|
|
21
15
|
}
|
|
22
16
|
export declare const BuilderCollectionSchema: v.InstanceSchema<typeof BuilderCollection, undefined>;
|
|
23
17
|
export type BuilderCollections = ReadonlyArray<BuilderCollection>;
|
|
24
|
-
export declare const BuilderCollectionWhenSerialisedSchema: v.GenericSchema
|
|
25
|
-
|
|
26
|
-
|
|
18
|
+
export declare const BuilderCollectionWhenSerialisedSchema: v.GenericSchema<BuilderWhenSerialised<Readonly<{
|
|
19
|
+
model: Readonly<{
|
|
20
|
+
type: "parameter";
|
|
21
|
+
id: string;
|
|
22
|
+
name: string;
|
|
23
|
+
}> | Readonly<{
|
|
24
|
+
type: "ref";
|
|
25
|
+
id: string;
|
|
26
|
+
}> | import("..").BuilderModelSerialised;
|
|
27
|
+
min: number | Readonly<{
|
|
28
|
+
type: "parameter";
|
|
29
|
+
id: string;
|
|
30
|
+
name: string;
|
|
31
|
+
}> | Readonly<{
|
|
32
|
+
type: "ref";
|
|
33
|
+
id: string;
|
|
34
|
+
}>;
|
|
35
|
+
max: number | Readonly<{
|
|
36
|
+
type: "parameter";
|
|
37
|
+
id: string;
|
|
38
|
+
name: string;
|
|
39
|
+
}> | Readonly<{
|
|
40
|
+
type: "ref";
|
|
41
|
+
id: string;
|
|
42
|
+
}>;
|
|
43
|
+
}>>>;
|
|
44
|
+
export type BuilderCollectionWhenSerialised = BuilderWhenSerialised<BuilderCollectionConfigSerialised>;
|
|
45
|
+
export declare const BuilderCollectionSelectMapSerialisedSchema: v.GenericSchema<import("..").BuilderMatchSelectMap<Readonly<{
|
|
46
|
+
type: "parameter";
|
|
47
|
+
id: string;
|
|
48
|
+
name: string;
|
|
49
|
+
}> | Readonly<{
|
|
50
|
+
model: Readonly<{
|
|
51
|
+
type: "parameter";
|
|
52
|
+
id: string;
|
|
53
|
+
name: string;
|
|
54
|
+
}> | Readonly<{
|
|
55
|
+
type: "ref";
|
|
56
|
+
id: string;
|
|
57
|
+
}> | import("..").BuilderModelSerialised;
|
|
58
|
+
min: number | Readonly<{
|
|
59
|
+
type: "parameter";
|
|
60
|
+
id: string;
|
|
61
|
+
name: string;
|
|
62
|
+
}> | Readonly<{
|
|
63
|
+
type: "ref";
|
|
64
|
+
id: string;
|
|
65
|
+
}>;
|
|
66
|
+
max: number | Readonly<{
|
|
67
|
+
type: "parameter";
|
|
68
|
+
id: string;
|
|
69
|
+
name: string;
|
|
70
|
+
}> | Readonly<{
|
|
71
|
+
type: "ref";
|
|
72
|
+
id: string;
|
|
73
|
+
}>;
|
|
74
|
+
}>>>;
|
|
27
75
|
export type BuilderCollectionSerialised = {
|
|
28
76
|
readonly name: string;
|
|
29
|
-
readonly
|
|
77
|
+
readonly paths?: ParamableSerialised<BuilderPaths>;
|
|
30
78
|
readonly payload: ParamableSerialised<BuilderCollectionConfigSerialised | BuilderCollectionWhenSerialised>;
|
|
31
79
|
};
|
|
32
80
|
export declare const BuilderCollectionSerialisedSchema: v.GenericSchema<BuilderCollectionSerialised>;
|
|
33
81
|
export declare const BuilderCollectionsSerialisedSchema: v.SchemaWithPipe<readonly [v.ArraySchema<v.GenericSchema<BuilderCollectionSerialised>, undefined>, v.ReadonlyAction<BuilderCollectionSerialised[]>]>;
|
|
34
82
|
export type BuilderCollectionsSerialised = ReadonlyArray<BuilderCollectionSerialised>;
|
|
35
|
-
export type CollectionNamesOf<State extends
|
|
83
|
+
export type CollectionNamesOf<State extends BuilderModelState | null> = [State] extends [
|
|
84
|
+
BuilderModelState
|
|
85
|
+
] ? State['collections'][number]['name'] : never;
|
|
36
86
|
export type CollectionShape<Collection extends BuilderCollection, Item> = Collection['payload'] extends BuilderCollectionConfig ? Collection['payload']['min'] extends number ? Collection['payload']['max'] extends number ? number extends Collection['payload']['min'] ? ReadonlyArray<Item> : number extends Collection['payload']['max'] ? ReadonlyArray<Item> : Collection['payload']['min'] extends Collection['payload']['max'] ? CollectionTuple<Item, Collection['payload']['min']> : ReadonlyArray<Item> : ReadonlyArray<Item> : ReadonlyArray<Item> : ReadonlyArray<Item>;
|
|
37
87
|
type CollectionTuple<Item, Length extends number, Result extends ReadonlyArray<Item> = []> = Result['length'] extends Length ? Result : CollectionTuple<Item, Length, [...Result, Item]>;
|
|
38
88
|
export {};
|
|
@@ -1,43 +1,25 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import { BuilderException } from '../../exception.js';
|
|
3
2
|
import { BuilderPathsSchema } from '../../paths.js';
|
|
4
|
-
import {
|
|
3
|
+
import { paramable } from '../../references.js';
|
|
5
4
|
import { serialisable } from '../../serialisable.js';
|
|
6
5
|
import { createSelectMapSerialisedSchema, createWhenSerialisedSchema } from '../when.js';
|
|
7
|
-
import {
|
|
6
|
+
import { BuilderCollectionConfigSerialisedSchema } from './config.js';
|
|
8
7
|
export class BuilderCollection {
|
|
9
8
|
name;
|
|
10
9
|
payload;
|
|
11
|
-
|
|
12
|
-
constructor(name, payload,
|
|
10
|
+
paths;
|
|
11
|
+
constructor(name, payload, paths) {
|
|
13
12
|
this.name = name;
|
|
14
13
|
this.payload = payload;
|
|
15
|
-
this.
|
|
16
|
-
validateCollectionBounds(name, payload);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function validateCollectionBounds(name, payload) {
|
|
20
|
-
if (!(payload instanceof BuilderCollectionConfig)) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
const { min, max } = payload;
|
|
24
|
-
if (isParameter(min) || isParameter(max)) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
const minValue = min;
|
|
28
|
-
const maxValue = max;
|
|
29
|
-
if (minValue < 0 || maxValue <= 0 || maxValue < minValue) {
|
|
30
|
-
throw new BuilderException([
|
|
31
|
-
{ kind: 'invalid-collection-bounds', name, min: minValue, max: maxValue }
|
|
32
|
-
]);
|
|
14
|
+
this.paths = paths;
|
|
33
15
|
}
|
|
34
16
|
}
|
|
35
17
|
export const BuilderCollectionSchema = v.instance(BuilderCollection);
|
|
36
18
|
export const BuilderCollectionWhenSerialisedSchema = createWhenSerialisedSchema(BuilderCollectionConfigSerialisedSchema);
|
|
37
19
|
export const BuilderCollectionSelectMapSerialisedSchema = createSelectMapSerialisedSchema(BuilderCollectionConfigSerialisedSchema);
|
|
38
|
-
export const BuilderCollectionSerialisedSchema = serialisable(
|
|
20
|
+
export const BuilderCollectionSerialisedSchema = serialisable(v.object({
|
|
39
21
|
name: v.string(),
|
|
40
22
|
payload: paramable(v.union([BuilderCollectionConfigSerialisedSchema, BuilderCollectionWhenSerialisedSchema])),
|
|
41
|
-
|
|
23
|
+
paths: v.optional(paramable(BuilderPathsSchema))
|
|
42
24
|
}));
|
|
43
25
|
export const BuilderCollectionsSerialisedSchema = v.pipe(v.array(BuilderCollectionSerialisedSchema), v.readonly());
|