@builder-builder/builder 0.0.9 → 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 -0
- package/dist/entities/builder/builder.d.ts +17 -490
- package/dist/entities/builder/builder.js +19 -76
- 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 +71 -20
- package/dist/entities/collection/collection.js +10 -27
- package/dist/entities/collection/config.d.ts +40 -1049
- package/dist/entities/collection/config.js +11 -11
- package/dist/entities/collection/expectation.d.ts +8 -4
- package/dist/entities/collection/index.d.ts +3 -3
- package/dist/entities/collection/index.js +1 -1
- package/dist/entities/collection/when.d.ts +6 -5
- package/dist/entities/component/component.d.ts +272 -300
- package/dist/entities/component/component.js +9 -8
- package/dist/entities/component/details.d.ts +35 -60
- package/dist/entities/component/details.js +9 -9
- 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 +5 -3
- package/dist/entities/component/index.js +3 -2
- package/dist/entities/component/when.d.ts +5 -5
- 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 +21 -16
- package/dist/entities/index.js +10 -8
- package/dist/entities/kind.d.ts +9 -0
- package/dist/entities/kind.js +5 -0
- 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 +2 -2
- package/dist/entities/option/index.js +2 -2
- package/dist/entities/option/option.d.ts +216 -214
- package/dist/entities/option/option.js +9 -8
- 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 +4 -24
- package/dist/entities/option/values.js +10 -4
- package/dist/entities/option/when.d.ts +6 -5
- package/dist/entities/refs.d.ts +6 -0
- package/dist/entities/refs.js +1 -0
- package/dist/entities/serialise.d.ts +393 -3568
- package/dist/entities/serialise.js +160 -31
- package/dist/entities/ui/describe.d.ts +23 -57
- package/dist/entities/ui/describe.js +4 -5
- package/dist/entities/ui/index.d.ts +4 -9
- package/dist/entities/ui/index.js +2 -4
- package/dist/entities/ui/page.d.ts +23 -57
- package/dist/entities/ui/page.js +4 -5
- package/dist/entities/ui/pages.d.ts +18 -403
- package/dist/entities/ui/pages.js +7 -7
- package/dist/entities/ui/ui.d.ts +22 -1575
- package/dist/entities/ui/ui.js +15 -28
- package/dist/entities/ui/uis.d.ts +5 -9
- package/dist/entities/ui/uis.js +12 -19
- package/dist/entities/validated.d.ts +35 -0
- package/dist/entities/validated.js +1 -0
- package/dist/entities/when.d.ts +79 -70
- package/dist/entities/when.js +11 -7
- 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 -24
- package/dist/index.js +5 -10
- package/dist/instance.d.ts +56 -0
- package/dist/instance.js +10 -0
- package/dist/mappers/index.d.ts +7 -5
- package/dist/mappers/index.js +5 -3
- 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 +27 -36
- package/dist/references.js +19 -12
- 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 +12 -9
- package/dist/entities/builder/builders.d.ts +0 -20
- package/dist/entities/builder/builders.js +0 -18
- package/dist/entities/builder/expectation.d.ts +0 -12
- package/dist/entities/builder/methods.d.ts +0 -58
- package/dist/entities/builder/parameter.d.ts +0 -62
- package/dist/entities/builder/parameter.js +0 -18
- 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/label.d.ts +0 -18
- package/dist/entities/ui/label.js +0 -12
- package/dist/entities/ui/parameter.d.ts +0 -7
- package/dist/entities/ui/parameter.js +0 -29
- 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/model.d.ts +0 -14
- 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 -18
- package/dist/walker/walker.js +0 -103
- package/dist/walker/walkers.d.ts +0 -8
- package/dist/walker/walkers.js +0 -51
- /package/dist/entities/builder/{expectation.js → bind.js} +0 -0
- /package/dist/entities/{builder/state.js → entry.js} +0 -0
- /package/dist/entities/{errors.js → model/bind.js} +0 -0
- /package/dist/entities/{validate.js → model/expectation.js} +0 -0
- /package/dist/{model.js → entities/model/state.js} +0 -0
package/dist/entities/ui/ui.js
CHANGED
|
@@ -1,53 +1,40 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import {
|
|
2
|
+
import { check } from '../../check.js';
|
|
3
|
+
import { paramable } from '../../references.js';
|
|
3
4
|
import { serialisable } from '../../serialisable.js';
|
|
4
|
-
import { BuilderSerialisedSchema } from '../builder/index.js';
|
|
5
5
|
import { BuilderExpectationsSerialisedSchema } from '../expectation.js';
|
|
6
|
-
import { bindUI } from './parameter.js';
|
|
7
6
|
import { BuilderUIDescribe } from './describe.js';
|
|
8
|
-
import { BuilderUILabel } from './label.js';
|
|
9
7
|
import { BuilderUIPage } from './page.js';
|
|
10
8
|
import { BuilderUIItemsSerialisedSchema, BuilderUIPages } from './pages.js';
|
|
11
|
-
import { validatePagesCollections } from './validate.js';
|
|
12
9
|
export class BuilderUI {
|
|
13
|
-
|
|
14
|
-
references;
|
|
10
|
+
uis;
|
|
15
11
|
items;
|
|
16
12
|
expectations;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
this.builder = builder;
|
|
20
|
-
this.references = references;
|
|
13
|
+
constructor(uis, items, expectations) {
|
|
14
|
+
this.uis = uis;
|
|
21
15
|
this.items = items;
|
|
22
16
|
this.expectations = expectations;
|
|
23
|
-
validatePagesCollections(builder, items);
|
|
24
17
|
}
|
|
25
18
|
expect(...expectations) {
|
|
26
|
-
return new BuilderUI(this.
|
|
27
|
-
|
|
28
|
-
|
|
19
|
+
return new BuilderUI(this.uis, this.items, [
|
|
20
|
+
...this.expectations,
|
|
21
|
+
...expectations
|
|
22
|
+
]);
|
|
29
23
|
}
|
|
30
24
|
page(label, paths) {
|
|
31
|
-
return new BuilderUI(this.
|
|
25
|
+
return new BuilderUI(this.uis, [...this.items, new BuilderUIPage(label, paths)], this.expectations);
|
|
32
26
|
}
|
|
33
27
|
describe(label, paths) {
|
|
34
|
-
return new BuilderUI(this.
|
|
28
|
+
return new BuilderUI(this.uis, [...this.items, new BuilderUIDescribe(label, paths)], this.expectations);
|
|
35
29
|
}
|
|
36
30
|
pages(name, label, itemUI) {
|
|
37
|
-
const items =
|
|
38
|
-
return new BuilderUI(this.
|
|
39
|
-
}
|
|
40
|
-
bind(bindings) {
|
|
41
|
-
return bindUI(this, bindings);
|
|
42
|
-
}
|
|
43
|
-
#label(label) {
|
|
44
|
-
return isRef(label) ? label : new BuilderUILabel(label);
|
|
31
|
+
const items = check.is(BuilderUISchema, itemUI) ? itemUI.items : itemUI;
|
|
32
|
+
return new BuilderUI(this.uis, [...this.items, new BuilderUIPages(name, label, items)], this.expectations);
|
|
45
33
|
}
|
|
46
34
|
}
|
|
47
35
|
export const BuilderUISchema = v.instance(BuilderUI);
|
|
48
|
-
export const BuilderUISerialisedSchema = serialisable(
|
|
49
|
-
|
|
50
|
-
references: BuilderRefsSerialisedSchema,
|
|
36
|
+
export const BuilderUISerialisedSchema = serialisable(v.object({
|
|
37
|
+
uis: v.pipe(v.array(paramable(v.lazy(() => BuilderUISerialisedSchema))), v.readonly()),
|
|
51
38
|
items: BuilderUIItemsSerialisedSchema,
|
|
52
39
|
expectations: BuilderExpectationsSerialisedSchema
|
|
53
40
|
}));
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import { BuilderRef } from '../../references.js';
|
|
1
|
+
import type { BuilderModelGeneric } from '../model/model';
|
|
2
|
+
import type { BuilderUIs } from './ui';
|
|
4
3
|
import { BuilderUI } from './ui.js';
|
|
5
|
-
export declare function uis(): BuilderUI<
|
|
6
|
-
export declare function uis<const
|
|
7
|
-
export declare function
|
|
8
|
-
references: BuilderRef[];
|
|
9
|
-
expectations: import("..").BuilderExpectation<string, unknown, "option" | "component" | "collection" | "detail">[];
|
|
10
|
-
};
|
|
4
|
+
export declare function uis(): BuilderUI<BuilderModelGeneric>;
|
|
5
|
+
export declare function uis<const Model extends BuilderModelGeneric>(model: Model, ...parts: BuilderUIs): BuilderUI<Model>;
|
|
6
|
+
export declare function uis(...parts: BuilderUIs): BuilderUI<BuilderModelGeneric>;
|
package/dist/entities/ui/uis.js
CHANGED
|
@@ -1,20 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import { BuilderUI
|
|
4
|
-
export function uis(
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
export function mergeUIParts(parts) {
|
|
15
|
-
const instances = parts.filter((part) => v.is(BuilderUISchema, part));
|
|
16
|
-
return {
|
|
17
|
-
references: instances.flatMap((instance) => [...instance.references]),
|
|
18
|
-
expectations: instances.flatMap((instance) => [...instance.expectations])
|
|
19
|
-
};
|
|
1
|
+
import { check } from '../../check.js';
|
|
2
|
+
import { BuilderModelSchema } from '../model/model.js';
|
|
3
|
+
import { BuilderUI } from './ui.js';
|
|
4
|
+
export function uis(...args) {
|
|
5
|
+
const [first, ...rest] = args;
|
|
6
|
+
if (first === undefined) {
|
|
7
|
+
return new BuilderUI([], [], []);
|
|
8
|
+
}
|
|
9
|
+
if (check.is(BuilderModelSchema, first)) {
|
|
10
|
+
return new BuilderUI(rest, [], []);
|
|
11
|
+
}
|
|
12
|
+
return new BuilderUI(args, [], []);
|
|
20
13
|
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { BuilderValidatedBrand } from '../validate/brand';
|
|
2
|
+
import type { BuilderComponentVariants, BuilderInstance, BuilderInstances } from '../instance';
|
|
3
|
+
import type { Prettify } from '../prettify';
|
|
4
|
+
import type { BuilderParameter, BuilderParameterSerialised, BuilderRef, BuilderRefSerialised } from '../references';
|
|
5
|
+
import type { BuilderSerialised } from './builder/index';
|
|
6
|
+
import type { BuilderCollectionConfigSerialised, BuilderCollectionSerialised, BuilderCollectionsSerialised } from './collection/index';
|
|
7
|
+
import type { BuilderComponentSerialised, BuilderComponentsSerialised } from './component/index';
|
|
8
|
+
import type { BuilderModelSerialised } from './model/index';
|
|
9
|
+
import type { BuilderOptionSerialised, BuilderOptionsSerialised } from './option/index';
|
|
10
|
+
import type { BuilderUIDescribeSerialised, BuilderUIItemsSerialised, BuilderUIPageSerialised, BuilderUISerialised } from './ui/index';
|
|
11
|
+
export type Validated<Input> = Input extends BuilderComponentVariants | BuilderInstance | BuilderModelSerialised | BuilderSerialised | BuilderUISerialised ? Prettify<Validate<Input> & BuilderValidatedBrand> : Validate<Input>;
|
|
12
|
+
type Validate<Input> = Input extends BuilderParameter<string> | BuilderParameterSerialised | BuilderRef | BuilderRefSerialised ? never : Input extends ReadonlyArray<unknown> ? ValidatedTuple<Input> : Input extends object ? Prettify<{
|
|
13
|
+
readonly [Key in keyof Input]: Validated<Input[Key]>;
|
|
14
|
+
}> : Input;
|
|
15
|
+
type ValidatedTuple<Input extends ReadonlyArray<unknown>> = Input extends readonly [
|
|
16
|
+
infer Head,
|
|
17
|
+
...infer Rest extends ReadonlyArray<unknown>
|
|
18
|
+
] ? [Validated<Head>] extends [never] ? ValidatedTuple<Rest> : readonly [Validated<Head>, ...ValidatedTuple<Rest>] : Input extends readonly [] ? readonly [] : ReadonlyArray<Validated<Input[number]>>;
|
|
19
|
+
export type BuilderValidated = Validated<BuilderSerialised>;
|
|
20
|
+
export type BuilderModelValidated = Validated<BuilderModelSerialised>;
|
|
21
|
+
export type BuilderUIValidated = Validated<BuilderUISerialised>;
|
|
22
|
+
export type BuilderInstanceValidated = Validated<BuilderInstance>;
|
|
23
|
+
export type BuilderInstancesValidated = Validated<BuilderInstances>;
|
|
24
|
+
export type BuilderComponentVariantsValidated = Validated<BuilderComponentVariants>;
|
|
25
|
+
export type BuilderOptionValidated = Validated<BuilderOptionSerialised>;
|
|
26
|
+
export type BuilderOptionsValidated = Validated<BuilderOptionsSerialised>;
|
|
27
|
+
export type BuilderComponentValidated = Validated<BuilderComponentSerialised>;
|
|
28
|
+
export type BuilderComponentsValidated = Validated<BuilderComponentsSerialised>;
|
|
29
|
+
export type BuilderCollectionValidated = Validated<BuilderCollectionSerialised>;
|
|
30
|
+
export type BuilderCollectionsValidated = Validated<BuilderCollectionsSerialised>;
|
|
31
|
+
export type BuilderCollectionConfigValidated = Validated<BuilderCollectionConfigSerialised>;
|
|
32
|
+
export type BuilderUIItemsValidated = Validated<BuilderUIItemsSerialised>;
|
|
33
|
+
export type BuilderUIPageValidated = Validated<BuilderUIPageSerialised>;
|
|
34
|
+
export type BuilderUIDescribeValidated = Validated<BuilderUIDescribeSerialised>;
|
|
35
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/entities/when.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { BuilderPath, BuilderPaths } from '../paths';
|
|
2
2
|
import type { BuilderPrimitive, BuilderPrimitives } from '../primitive';
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
3
|
+
import type { BuilderParameter, BuilderParameterSerialised, Paramable } from '../references';
|
|
4
|
+
import type { BuilderModelGeneric, BuilderModelState, BuilderModelStateOf } from './model/index';
|
|
5
5
|
import * as v from 'valibot';
|
|
6
6
|
export type BuilderEnableConfig<Payload = unknown> = {
|
|
7
7
|
readonly type: 'enable';
|
|
@@ -20,20 +20,20 @@ export type BuilderUnlessConfig<Payload = unknown, UnlessPath = BuilderPath> = {
|
|
|
20
20
|
readonly payload: Payload;
|
|
21
21
|
};
|
|
22
22
|
export type BuilderWhen<Payload = unknown, MatchPath = BuilderPath, MatchSelectMap = Record<string, Payload | null>, UnlessPath = BuilderPath> = BuilderEnableConfig<Payload> | BuilderMatchConfig<Payload, MatchPath, MatchSelectMap> | BuilderUnlessConfig<Payload, UnlessPath>;
|
|
23
|
-
export type
|
|
23
|
+
export type BuilderWhenSerialised<Payload> = {
|
|
24
24
|
readonly type: 'enable';
|
|
25
|
-
readonly payload: Payload |
|
|
25
|
+
readonly payload: Payload | BuilderParameterSerialised;
|
|
26
26
|
} | {
|
|
27
27
|
readonly type: 'match';
|
|
28
|
-
readonly matchPath:
|
|
29
|
-
readonly selectMap: Record<string, (Payload |
|
|
28
|
+
readonly matchPath: BuilderParameterSerialised | BuilderPath;
|
|
29
|
+
readonly selectMap: Record<string, (Payload | BuilderParameterSerialised) | null> | BuilderParameterSerialised;
|
|
30
30
|
} | {
|
|
31
31
|
readonly type: 'unless';
|
|
32
|
-
readonly unlessPath:
|
|
32
|
+
readonly unlessPath: BuilderParameterSerialised | BuilderPath;
|
|
33
33
|
readonly disabledValues: BuilderPrimitives;
|
|
34
|
-
readonly payload: Payload |
|
|
34
|
+
readonly payload: Payload | BuilderParameterSerialised;
|
|
35
35
|
};
|
|
36
|
-
export type WhenConfigPayload<Config extends
|
|
36
|
+
export type WhenConfigPayload<Config extends BuilderWhenGeneric, Payload> = Config extends {
|
|
37
37
|
readonly payload: infer Inner extends Payload;
|
|
38
38
|
} ? Inner : Config extends BuilderMatchConfig ? NonNullable<Config['selectMap'][keyof Config['selectMap']]> & Payload : never;
|
|
39
39
|
export declare const BuilderWhenEnableSchema: v.ObjectSchema<{
|
|
@@ -41,136 +41,145 @@ export declare const BuilderWhenEnableSchema: v.ObjectSchema<{
|
|
|
41
41
|
}, undefined>;
|
|
42
42
|
export declare const BuilderWhenMatchSchema: v.ObjectSchema<{
|
|
43
43
|
readonly type: v.LiteralSchema<"match", undefined>;
|
|
44
|
-
readonly matchPath: v.
|
|
45
|
-
readonly type: v.LiteralSchema<"
|
|
44
|
+
readonly matchPath: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
45
|
+
readonly type: v.LiteralSchema<"parameter", undefined>;
|
|
46
46
|
readonly id: v.StringSchema<undefined>;
|
|
47
47
|
readonly name: v.StringSchema<undefined>;
|
|
48
48
|
}, undefined>, v.ReadonlyAction<{
|
|
49
|
-
type: "
|
|
49
|
+
type: "parameter";
|
|
50
50
|
id: string;
|
|
51
51
|
name: string;
|
|
52
|
-
}>]>, v.
|
|
52
|
+
}>]>, v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
53
|
+
readonly type: v.LiteralSchema<"ref", undefined>;
|
|
54
|
+
readonly id: v.StringSchema<undefined>;
|
|
55
|
+
}, undefined>, v.ReadonlyAction<{
|
|
53
56
|
type: "ref";
|
|
54
57
|
id: string;
|
|
55
|
-
|
|
56
|
-
}>, {
|
|
57
|
-
readonly refable: v.SchemaWithPipe<readonly [v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, v.ReadonlyAction<(string | number)[]>]>;
|
|
58
|
-
}>]>;
|
|
58
|
+
}>]>, v.SchemaWithPipe<readonly [v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, v.ReadonlyAction<(string | number)[]>]>], undefined>;
|
|
59
59
|
}, undefined>;
|
|
60
60
|
export declare const BuilderWhenUnlessSchema: v.ObjectSchema<{
|
|
61
61
|
readonly type: v.LiteralSchema<"unless", undefined>;
|
|
62
|
-
readonly unlessPath: v.
|
|
63
|
-
readonly type: v.LiteralSchema<"
|
|
62
|
+
readonly unlessPath: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
63
|
+
readonly type: v.LiteralSchema<"parameter", undefined>;
|
|
64
64
|
readonly id: v.StringSchema<undefined>;
|
|
65
65
|
readonly name: v.StringSchema<undefined>;
|
|
66
66
|
}, undefined>, v.ReadonlyAction<{
|
|
67
|
-
type: "
|
|
67
|
+
type: "parameter";
|
|
68
68
|
id: string;
|
|
69
69
|
name: string;
|
|
70
|
-
}>]>, v.
|
|
70
|
+
}>]>, v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
71
|
+
readonly type: v.LiteralSchema<"ref", undefined>;
|
|
72
|
+
readonly id: v.StringSchema<undefined>;
|
|
73
|
+
}, undefined>, v.ReadonlyAction<{
|
|
71
74
|
type: "ref";
|
|
72
75
|
id: string;
|
|
73
|
-
|
|
74
|
-
}>, {
|
|
75
|
-
readonly refable: v.SchemaWithPipe<readonly [v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, v.ReadonlyAction<(string | number)[]>]>;
|
|
76
|
-
}>]>;
|
|
76
|
+
}>]>, v.SchemaWithPipe<readonly [v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, v.ReadonlyAction<(string | number)[]>]>], undefined>;
|
|
77
77
|
}, undefined>;
|
|
78
78
|
export declare const BuilderWhenConfigSchema: v.SchemaWithPipe<readonly [v.VariantSchema<"type", [v.ObjectSchema<{
|
|
79
79
|
readonly type: v.LiteralSchema<"enable", undefined>;
|
|
80
80
|
}, undefined>, v.ObjectSchema<{
|
|
81
81
|
readonly type: v.LiteralSchema<"match", undefined>;
|
|
82
|
-
readonly matchPath: v.
|
|
83
|
-
readonly type: v.LiteralSchema<"
|
|
82
|
+
readonly matchPath: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
83
|
+
readonly type: v.LiteralSchema<"parameter", undefined>;
|
|
84
84
|
readonly id: v.StringSchema<undefined>;
|
|
85
85
|
readonly name: v.StringSchema<undefined>;
|
|
86
86
|
}, undefined>, v.ReadonlyAction<{
|
|
87
|
-
type: "
|
|
87
|
+
type: "parameter";
|
|
88
88
|
id: string;
|
|
89
89
|
name: string;
|
|
90
|
-
}>]>, v.
|
|
90
|
+
}>]>, v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
91
|
+
readonly type: v.LiteralSchema<"ref", undefined>;
|
|
92
|
+
readonly id: v.StringSchema<undefined>;
|
|
93
|
+
}, undefined>, v.ReadonlyAction<{
|
|
91
94
|
type: "ref";
|
|
92
95
|
id: string;
|
|
93
|
-
|
|
94
|
-
}>, {
|
|
95
|
-
readonly refable: v.SchemaWithPipe<readonly [v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, v.ReadonlyAction<(string | number)[]>]>;
|
|
96
|
-
}>]>;
|
|
96
|
+
}>]>, v.SchemaWithPipe<readonly [v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, v.ReadonlyAction<(string | number)[]>]>], undefined>;
|
|
97
97
|
}, undefined>, v.ObjectSchema<{
|
|
98
98
|
readonly type: v.LiteralSchema<"unless", undefined>;
|
|
99
|
-
readonly unlessPath: v.
|
|
100
|
-
readonly type: v.LiteralSchema<"
|
|
99
|
+
readonly unlessPath: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
100
|
+
readonly type: v.LiteralSchema<"parameter", undefined>;
|
|
101
101
|
readonly id: v.StringSchema<undefined>;
|
|
102
102
|
readonly name: v.StringSchema<undefined>;
|
|
103
103
|
}, undefined>, v.ReadonlyAction<{
|
|
104
|
-
type: "
|
|
104
|
+
type: "parameter";
|
|
105
105
|
id: string;
|
|
106
106
|
name: string;
|
|
107
|
-
}>]>, v.
|
|
107
|
+
}>]>, v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
108
|
+
readonly type: v.LiteralSchema<"ref", undefined>;
|
|
109
|
+
readonly id: v.StringSchema<undefined>;
|
|
110
|
+
}, undefined>, v.ReadonlyAction<{
|
|
108
111
|
type: "ref";
|
|
109
112
|
id: string;
|
|
110
|
-
|
|
111
|
-
}>, {
|
|
112
|
-
readonly refable: v.SchemaWithPipe<readonly [v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, v.ReadonlyAction<(string | number)[]>]>;
|
|
113
|
-
}>]>;
|
|
113
|
+
}>]>, v.SchemaWithPipe<readonly [v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, v.ReadonlyAction<(string | number)[]>]>], undefined>;
|
|
114
114
|
}, undefined>], undefined>, v.ReadonlyAction<{
|
|
115
|
-
type: "enable";
|
|
116
|
-
} | {
|
|
117
115
|
type: "match";
|
|
118
|
-
matchPath: readonly (string | number)[] |
|
|
119
|
-
type: "
|
|
116
|
+
matchPath: readonly (string | number)[] | Readonly<{
|
|
117
|
+
type: "parameter";
|
|
120
118
|
id: string;
|
|
121
119
|
name: string;
|
|
120
|
+
}> | Readonly<{
|
|
121
|
+
type: "ref";
|
|
122
|
+
id: string;
|
|
122
123
|
}>;
|
|
123
124
|
} | {
|
|
124
125
|
type: "unless";
|
|
125
|
-
unlessPath: readonly (string | number)[] |
|
|
126
|
-
type: "
|
|
126
|
+
unlessPath: readonly (string | number)[] | Readonly<{
|
|
127
|
+
type: "parameter";
|
|
127
128
|
id: string;
|
|
128
129
|
name: string;
|
|
130
|
+
}> | Readonly<{
|
|
131
|
+
type: "ref";
|
|
132
|
+
id: string;
|
|
129
133
|
}>;
|
|
134
|
+
} | {
|
|
135
|
+
type: "enable";
|
|
130
136
|
}>]>;
|
|
131
137
|
export type BuilderWhenConfig = v.InferOutput<typeof BuilderWhenConfigSchema>;
|
|
132
|
-
export
|
|
138
|
+
export type BuilderWhenGeneric = BuilderWhen<unknown, unknown, unknown, unknown>;
|
|
139
|
+
export declare const BuilderWhenSerialisedSchema: v.GenericSchema<BuilderWhenSerialised<unknown>>;
|
|
140
|
+
export declare function createSelectMapSerialisedSchema<Payload extends v.GenericSchema>(payloadSchema: Payload): v.GenericSchema<BuilderMatchSelectMap<v.InferOutput<Payload> | BuilderParameterSerialised>>;
|
|
141
|
+
export declare function createWhenSerialisedSchema<Payload extends v.GenericSchema>(payloadSchema: Payload): v.GenericSchema<BuilderWhenSerialised<v.InferOutput<Payload>>>;
|
|
133
142
|
export declare function createWhenFactories<Payload>(): {
|
|
134
|
-
enable: <const Values extends
|
|
135
|
-
match: <const MatchPayload extends
|
|
136
|
-
unless: <const Values extends
|
|
143
|
+
enable: <const Values extends Paramable<Payload>>(values: Values) => BuilderEnableConfig<Values>;
|
|
144
|
+
match: <const MatchPayload extends Paramable<Payload>, const MatchPath extends Paramable<BuilderPath>, const SelectMap extends Paramable<BuilderMatchSelectMap<Paramable<Payload>>>>(matchPath: MatchPath, selectMap: SelectMap) => BuilderMatchConfig<MatchPayload, MatchPath, SelectMap>;
|
|
145
|
+
unless: <const Values extends Paramable<Payload>, const UnlessPath extends Paramable<BuilderPath>>(unlessPath: UnlessPath, disabledValues: BuilderPrimitives, values: Values) => BuilderUnlessConfig<Values, UnlessPath>;
|
|
137
146
|
};
|
|
138
|
-
export type BuilderValidPath<State extends
|
|
139
|
-
export type BuilderValidPaths<State extends
|
|
140
|
-
export type BuilderValidPathsOf<Input extends
|
|
141
|
-
export type BuilderWhenConstrained<State extends
|
|
147
|
+
export type BuilderValidPath<State extends BuilderModelState> = InstanceValidPath<State['instance']>;
|
|
148
|
+
export type BuilderValidPaths<State extends BuilderModelState> = ReadonlyArray<BuilderValidPath<State>>;
|
|
149
|
+
export type BuilderValidPathsOf<Input extends Paramable<BuilderModelGeneric>> = BuilderValidPaths<BuilderModelStateOf<Input>>;
|
|
150
|
+
export type BuilderWhenConstrained<State extends BuilderModelState, Config> = Config extends BuilderParameter ? Config : Config extends {
|
|
142
151
|
readonly type: 'match';
|
|
143
152
|
readonly matchPath: infer MatchPath extends BuilderPath;
|
|
144
153
|
readonly selectMap: infer SelectMap;
|
|
145
154
|
} ? Config & {
|
|
146
155
|
readonly matchPath: [MatchPath] extends [Readonly<BuilderValidPath<State>>] ? MatchPath : Readonly<BuilderValidPath<State>>;
|
|
147
|
-
readonly selectMap: SelectMap extends
|
|
156
|
+
readonly selectMap: SelectMap extends BuilderParameter ? SelectMap : Record<BuilderResolvePath<State['instance'], MatchPath> & string, SelectMap[keyof SelectMap]>;
|
|
148
157
|
} : Config extends {
|
|
149
158
|
readonly type: 'unless';
|
|
150
159
|
readonly unlessPath: infer UnlessPath extends BuilderPath;
|
|
151
160
|
} ? Config & {
|
|
152
161
|
readonly unlessPath: [UnlessPath] extends [Readonly<BuilderValidPath<State>>] ? UnlessPath : Readonly<BuilderValidPath<State>>;
|
|
153
162
|
} : Config;
|
|
154
|
-
export type WhenConfigNullable<Config extends
|
|
163
|
+
export type WhenConfigNullable<Config extends BuilderWhenGeneric> = Config extends {
|
|
155
164
|
readonly type: 'unless';
|
|
156
165
|
} ? null : Config extends {
|
|
157
166
|
readonly type: 'match';
|
|
158
167
|
readonly selectMap: infer SelectMap;
|
|
159
168
|
} ? null extends SelectMap[keyof SelectMap] ? null : never : never;
|
|
160
|
-
export type WhenNullability<State extends
|
|
161
|
-
type BuilderResolvePath<
|
|
162
|
-
infer Head extends keyof
|
|
163
|
-
] ?
|
|
164
|
-
infer Head extends keyof
|
|
169
|
+
export type WhenNullability<State extends BuilderModelState, GatePaths extends Paramable<BuilderPaths>, Config extends Paramable<BuilderWhenGeneric>> = [GatePaths] extends [BuilderParameter] ? null : WhenNullabilityFromPaths<State['instance'], Extract<GatePaths, BuilderValidPaths<State>>, Config>;
|
|
170
|
+
type BuilderResolvePath<Instance, Path extends BuilderPath> = Path extends readonly [
|
|
171
|
+
infer Head extends keyof Instance & string
|
|
172
|
+
] ? Instance[Head] : Path extends readonly [
|
|
173
|
+
infer Head extends keyof Instance & string,
|
|
165
174
|
...infer Tail extends BuilderPath
|
|
166
|
-
] ?
|
|
167
|
-
type WhenNullabilityFromPaths<
|
|
168
|
-
type WhenPathsNullable<
|
|
175
|
+
] ? Instance[Head] extends ReadonlyArray<infer Item> ? Tail extends readonly [number, ...infer Rest extends BuilderPath] ? BuilderResolvePath<Item, Rest> : never : BuilderResolvePath<Instance[Head], Tail> : never;
|
|
176
|
+
type WhenNullabilityFromPaths<Instance, GatePaths extends BuilderPaths, Config extends Paramable<BuilderWhenGeneric>> = Config extends BuilderParameter ? WhenPathsNullable<Instance, GatePaths> : Config extends BuilderWhenGeneric ? WhenPathsNullable<Instance, GatePaths> | WhenConfigNullable<Config> : never;
|
|
177
|
+
type WhenPathsNullable<Instance, GatePaths extends BuilderPaths> = GatePaths extends readonly [
|
|
169
178
|
infer Head extends BuilderPath,
|
|
170
179
|
...infer Tail extends BuilderPaths
|
|
171
|
-
] ? WhenPathNullable<
|
|
172
|
-
type WhenPathNullable<
|
|
173
|
-
type
|
|
174
|
-
[Key in keyof
|
|
175
|
-
}[keyof
|
|
180
|
+
] ? WhenPathNullable<Instance, Head> | WhenPathsNullable<Instance, Tail> : never;
|
|
181
|
+
type WhenPathNullable<Instance, Path extends BuilderPath> = null extends BuilderResolvePath<Instance, Path> ? null : never;
|
|
182
|
+
type InstanceValidPath<Instance, Depth extends ReadonlyArray<never> = []> = Depth['length'] extends 10 ? never : Instance extends BuilderPrimitive | null ? never : Instance extends ReadonlyArray<infer Item> ? [number] | [number, ...InstanceValidPath<Item, [...Depth, never]>] : {
|
|
183
|
+
[Key in keyof Instance & string]: [Key] | (Instance[Key] extends BuilderPrimitive | null ? never : [Key, ...InstanceValidPath<Instance[Key], [...Depth, never]>]);
|
|
184
|
+
}[keyof Instance & string];
|
|
176
185
|
export {};
|
package/dist/entities/when.js
CHANGED
|
@@ -1,34 +1,38 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
2
|
import { BuilderPathSchema } from '../paths.js';
|
|
3
3
|
import { BuilderPrimitivesSchema } from '../primitive.js';
|
|
4
|
-
import {
|
|
4
|
+
import { paramable } from '../references.js';
|
|
5
5
|
export const BuilderWhenEnableSchema = v.object({
|
|
6
6
|
type: v.literal('enable')
|
|
7
7
|
});
|
|
8
8
|
export const BuilderWhenMatchSchema = v.object({
|
|
9
9
|
type: v.literal('match'),
|
|
10
|
-
matchPath:
|
|
10
|
+
matchPath: paramable(BuilderPathSchema)
|
|
11
11
|
});
|
|
12
12
|
export const BuilderWhenUnlessSchema = v.object({
|
|
13
13
|
type: v.literal('unless'),
|
|
14
|
-
unlessPath:
|
|
14
|
+
unlessPath: paramable(BuilderPathSchema)
|
|
15
15
|
});
|
|
16
16
|
export const BuilderWhenConfigSchema = v.pipe(v.variant('type', [BuilderWhenEnableSchema, BuilderWhenMatchSchema, BuilderWhenUnlessSchema]), v.readonly());
|
|
17
|
+
export const BuilderWhenSerialisedSchema = createWhenSerialisedSchema(v.unknown());
|
|
18
|
+
export function createSelectMapSerialisedSchema(payloadSchema) {
|
|
19
|
+
return v.pipe(v.record(v.string(), v.nullable(paramable(payloadSchema))), v.readonly());
|
|
20
|
+
}
|
|
17
21
|
export function createWhenSerialisedSchema(payloadSchema) {
|
|
18
|
-
const
|
|
22
|
+
const paramablePayload = paramable(payloadSchema);
|
|
19
23
|
return v.pipe(v.variant('type', [
|
|
20
24
|
v.object({
|
|
21
25
|
...BuilderWhenEnableSchema.entries,
|
|
22
|
-
payload:
|
|
26
|
+
payload: paramablePayload
|
|
23
27
|
}),
|
|
24
28
|
v.object({
|
|
25
29
|
...BuilderWhenMatchSchema.entries,
|
|
26
|
-
selectMap:
|
|
30
|
+
selectMap: paramable(createSelectMapSerialisedSchema(payloadSchema))
|
|
27
31
|
}),
|
|
28
32
|
v.object({
|
|
29
33
|
...BuilderWhenUnlessSchema.entries,
|
|
30
34
|
disabledValues: BuilderPrimitivesSchema,
|
|
31
|
-
payload:
|
|
35
|
+
payload: paramablePayload
|
|
32
36
|
})
|
|
33
37
|
]), v.readonly());
|
|
34
38
|
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { BuilderErrors } from './exception';
|
|
2
|
+
import * as v from 'valibot';
|
|
3
|
+
export declare const BuilderEnvironmentSchema: v.PicklistSchema<["development", "staging", "production"], undefined>;
|
|
4
|
+
export type BuilderEnvironment = v.InferOutput<typeof BuilderEnvironmentSchema>;
|
|
5
|
+
export type BuilderEnvironmentResult<EntityType, Env extends BuilderEnvironment = 'production'> = Env extends 'production' ? EntityType : readonly [EntityType, BuilderErrors];
|
package/dist/exception.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import type { BuilderErrorDuplicateName, BuilderErrorInvalidCollectionBounds,
|
|
2
|
-
|
|
3
|
-
export
|
|
1
|
+
import type { BuilderErrorDuplicateName, BuilderErrorInvalidCollection, BuilderErrorInvalidCollectionBounds, BuilderErrorInvalidDetail, BuilderErrorInvalidInput, BuilderErrorInvalidOption, BuilderErrorInvalidPath, BuilderErrorInvalidSelectMapKey, BuilderErrorInvalidVariant, BuilderErrorMissingComponent, BuilderErrorMissingDetail, BuilderErrorMissingReference, BuilderErrorMissingVariant, BuilderErrorUnboundParameter, BuilderErrorUnexpectedComponent, BuilderErrorUnexpectedDetail, BuilderErrorUnmetExpectation, BuilderErrorUnvalidated } from './validate/index';
|
|
2
|
+
export type BuilderErrorLocation = ReadonlyArray<string | number>;
|
|
3
|
+
export declare function builderError<Kind extends string>(kind: Kind, location: BuilderErrorLocation): {
|
|
4
|
+
kind: Kind;
|
|
5
|
+
location: BuilderErrorLocation;
|
|
6
|
+
};
|
|
7
|
+
export type BuilderErrorBase = ReturnType<typeof builderError>;
|
|
8
|
+
export type BuilderError = BuilderErrorUnmetExpectation | BuilderErrorUnboundParameter | BuilderErrorMissingReference | BuilderErrorInvalidPath | BuilderErrorInvalidSelectMapKey | BuilderErrorDuplicateName | BuilderErrorInvalidCollectionBounds | BuilderErrorInvalidOption | BuilderErrorInvalidCollection | BuilderErrorMissingComponent | BuilderErrorUnexpectedComponent | BuilderErrorMissingVariant | BuilderErrorInvalidVariant | BuilderErrorMissingDetail | BuilderErrorUnexpectedDetail | BuilderErrorInvalidDetail | BuilderErrorInvalidInput | BuilderErrorUnvalidated;
|
|
4
9
|
export type BuilderErrors = ReadonlyArray<BuilderError>;
|
|
5
10
|
export declare class BuilderException extends globalThis.Error {
|
|
6
11
|
readonly errors: BuilderErrors;
|
package/dist/exception.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,38 +1,35 @@
|
|
|
1
|
-
export type {
|
|
2
|
-
export type {
|
|
3
|
-
export type {
|
|
4
|
-
export type {
|
|
1
|
+
export type { BB, BBOptions } from './bb';
|
|
2
|
+
export type { BuilderBindings, BuilderBindingsSerialised, BuilderCollection, BuilderCollectionConfig, BuilderCollectionConfigSerialised, BuilderCollections, BuilderCollectionSerialised, BuilderCollectionsSerialised, BuilderCollectionWhen, BuilderCollectionWhenSerialised, BuilderComponent, BuilderComponentDetails, BuilderComponentDetailsSerialised, BuilderComponentField, BuilderComponentFields, BuilderComponentFieldSerialised, BuilderComponentFieldsSerialised, BuilderComponentFieldValueType, BuilderComponents, BuilderComponentSerialised, BuilderComponentsSerialised, BuilderComponentWhen, BuilderComponentWhenSerialised, BuilderDescription, BuilderDescriptionItem, BuilderEntityKind, BuilderEntitySerialised, BuilderExpectation, BuilderExpectationKind, BuilderExpectations, BuilderExpectationSerialised, BuilderExpectationsSerialised, BuilderInstanceOf, BuilderModel, BuilderModels, BuilderModelSerialised, BuilderModelValidated, BuilderOption, BuilderOptions, BuilderOptionSerialised, BuilderOptionsSerialised, BuilderOptionValues, BuilderOptionValuesSerialised, BuilderOptionWhen, BuilderOptionWhenSerialised, BuilderRefEntities, BuilderRefEntity, BuilderSelectType, BuilderSelectTypeLabels, BuilderSelectTypeSerialised, BuilderSelectTypeValues, BuilderSerialised, BuilderToggleType, BuilderToggleTypeSerialised, BuilderToggleValueType, BuilderUI, BuilderUIDescribe, BuilderUIDescribeSerialised, BuilderUIItem, BuilderUIItems, BuilderUIItemsSerialised, BuilderUIPage, BuilderUIPages, BuilderUIPageSerialised, BuilderUIPagesSerialised, BuilderUIs, BuilderUIsSerialised, BuilderUISerialised, BuilderUIValidated, BuilderValidated, BuilderEnableConfig, BuilderMatchConfig, BuilderMatchSelectMap, BuilderUnlessConfig, BuilderWhen, BuilderWhenConfig, BuilderWhenSerialised } from './entities/index';
|
|
3
|
+
export type { BuilderEnvironment } from './environment';
|
|
4
|
+
export type { BuilderError, BuilderErrorBase, BuilderErrorLocation, BuilderErrors } from './exception';
|
|
5
|
+
export type { BuilderComponentVariantsValidationResult, BuilderErrorDuplicateName, BuilderErrorInvalidCollection, BuilderErrorInvalidCollectionBounds, BuilderErrorInvalidDetail, BuilderErrorInvalidInput, BuilderErrorInvalidOption, BuilderErrorInvalidPath, BuilderErrorInvalidPathReason, BuilderErrorInvalidSelectMapKey, BuilderErrorInvalidVariant, BuilderErrorMissingComponent, BuilderErrorMissingDetail, BuilderErrorMissingReference, BuilderErrorMissingVariant, BuilderErrorUnboundParameter, BuilderErrorUnexpectedComponent, BuilderErrorUnexpectedDetail, BuilderErrorUnmetExpectation, BuilderErrorUnvalidated, BuilderInstanceValidationResult, BuilderModelValidationResult, BuilderOrder, BuilderRenderOption, BuilderRenderOptions, BuilderRenderPage, BuilderRenderPages, BuilderRenderResult, BuilderRenderUpdate, BuilderUIValidationResult, BuilderValidationResult, BuilderVariantsValidationOptions } from './mappers/index';
|
|
6
|
+
export type { BuilderComponentVariants, BuilderInstance, BuilderInstanceInput, BuilderInstances, BuilderVariant, BuilderVariants } from './instance';
|
|
5
7
|
export type { BuilderPath, BuilderPaths } from './paths';
|
|
6
8
|
export type { BuilderPrimitive, BuilderPrimitives } from './primitive';
|
|
7
|
-
export type {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export
|
|
9
|
+
export type { BuilderParameter, BuilderParameterSerialised, BuilderRef, Paramable, ParamableSerialised } from './references';
|
|
10
|
+
export { bb } from './bb.js';
|
|
11
|
+
export { Builder, builder, detailBoolean, detailNumber, detailString, model, parameter, ref, select, serialise, toggleBoolean, toggleNumber, toggleString } from './entities/index.js';
|
|
12
|
+
export { BuilderException } from './exception.js';
|
|
13
|
+
export { ordinal } from './mappers/index.js';
|
|
14
|
+
import { collectionConfig, collectionExpectation, componentDetails, componentExpectation, optionExpectation, uis } from './entities/index.js';
|
|
11
15
|
export declare const collection: typeof collectionConfig & {
|
|
12
|
-
enable: <const Values extends import("./references").
|
|
13
|
-
match: <const MatchPayload extends import("./references").
|
|
14
|
-
unless: <const Values extends import("./references").
|
|
16
|
+
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("./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
|
+
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>;
|
|
15
19
|
};
|
|
16
20
|
export declare const component: typeof componentDetails & {
|
|
17
|
-
enable: <const Payload extends import("./references").
|
|
18
|
-
match: <const Payload extends import("./references").
|
|
19
|
-
unless: <const UnlessPath extends import("./references").
|
|
21
|
+
enable: <const Payload extends import("./references").Paramable<import(".").BuilderComponentDetails>>(payload?: Payload) => import(".").BuilderEnableConfig<Payload>;
|
|
22
|
+
match: <const Payload extends import("./references").Paramable<import(".").BuilderComponentDetails>, const MatchPath extends import("./references").Paramable<import("./paths").BuilderPath>, const SelectMap extends import("./references").Paramable<import(".").BuilderMatchSelectMap<import("./references").Paramable<import(".").BuilderComponentDetails>>>>(matchPath: MatchPath, selectMap: SelectMap) => import(".").BuilderMatchConfig<Payload, MatchPath, SelectMap>;
|
|
23
|
+
unless: <const UnlessPath extends import("./references").Paramable<import("./paths").BuilderPath>, const Payload extends import("./references").Paramable<import(".").BuilderComponentDetails>>(unlessPath: UnlessPath, disabledValues: import("./primitive").BuilderPrimitives, payload?: Payload) => import(".").BuilderUnlessConfig<Payload, UnlessPath>;
|
|
20
24
|
};
|
|
21
25
|
export declare const has: {
|
|
22
26
|
collection: typeof collectionExpectation;
|
|
23
27
|
component: typeof componentExpectation;
|
|
24
|
-
detail: typeof detailExpectation;
|
|
25
28
|
option: typeof optionExpectation;
|
|
26
29
|
};
|
|
27
|
-
export declare const instance: typeof createInstance;
|
|
28
|
-
export declare const models: typeof createModels;
|
|
29
30
|
export declare const option: {
|
|
30
|
-
enable: <const Values extends import("./references").
|
|
31
|
-
match: <const MatchPayload extends import("./references").
|
|
32
|
-
unless: <const Values extends import("./references").
|
|
31
|
+
enable: <const Values extends import("./references").Paramable<import(".").BuilderSelectType<readonly [string, ...string[]], import("valibot").GenericSchema<string | null>> | import(".").BuilderToggleType<import("valibot").GenericSchema<string | number | boolean | null>>>>(values: Values) => import(".").BuilderEnableConfig<Values>;
|
|
32
|
+
match: <const MatchPayload extends import("./references").Paramable<import(".").BuilderSelectType<readonly [string, ...string[]], import("valibot").GenericSchema<string | null>> | import(".").BuilderToggleType<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(".").BuilderSelectType<readonly [string, ...string[]], import("valibot").GenericSchema<string | null>> | import(".").BuilderToggleType<import("valibot").GenericSchema<string | number | boolean | null>>>>>>(matchPath: MatchPath, selectMap: SelectMap) => import(".").BuilderMatchConfig<MatchPayload, MatchPath, SelectMap>;
|
|
33
|
+
unless: <const Values extends import("./references").Paramable<import(".").BuilderSelectType<readonly [string, ...string[]], import("valibot").GenericSchema<string | null>> | import(".").BuilderToggleType<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>;
|
|
33
34
|
};
|
|
34
35
|
export declare const ui: typeof uis;
|
|
35
|
-
export { BuilderException } from './exception.js';
|
|
36
|
-
export { BuilderSerialisedSchema } from './entities/builder/index.js';
|
|
37
|
-
export { deserialise, parameter, select, serialise, toggleBoolean, toggleNumber, toggleString } from './entities/index.js';
|
|
38
|
-
export { order, ordinal, render } from './mappers/index.js';
|