@builder-builder/builder 0.0.9 → 0.0.10

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.
Files changed (83) hide show
  1. package/dist/entities/bind.d.ts +4 -0
  2. package/dist/entities/bind.js +44 -0
  3. package/dist/entities/builder/bind.d.ts +85 -0
  4. package/dist/entities/builder/bind.js +9 -0
  5. package/dist/entities/builder/builder.d.ts +111 -92
  6. package/dist/entities/builder/builder.js +11 -8
  7. package/dist/entities/builder/builders.d.ts +23 -8
  8. package/dist/entities/builder/builders.js +6 -5
  9. package/dist/entities/builder/index.d.ts +3 -3
  10. package/dist/entities/builder/index.js +1 -1
  11. package/dist/entities/builder/methods.d.ts +17 -17
  12. package/dist/entities/builder/state.d.ts +4 -4
  13. package/dist/entities/builder/validate.js +7 -7
  14. package/dist/entities/collection/collection.d.ts +6 -5
  15. package/dist/entities/collection/collection.js +6 -5
  16. package/dist/entities/collection/config.d.ts +280 -232
  17. package/dist/entities/collection/config.js +4 -4
  18. package/dist/entities/collection/index.d.ts +1 -1
  19. package/dist/entities/collection/index.js +1 -1
  20. package/dist/entities/collection/when.d.ts +5 -5
  21. package/dist/entities/component/component.d.ts +91 -90
  22. package/dist/entities/component/component.js +5 -4
  23. package/dist/entities/component/details.d.ts +16 -16
  24. package/dist/entities/component/details.js +2 -2
  25. package/dist/entities/component/index.d.ts +1 -1
  26. package/dist/entities/component/index.js +1 -1
  27. package/dist/entities/component/when.d.ts +5 -5
  28. package/dist/entities/index.d.ts +10 -8
  29. package/dist/entities/index.js +7 -6
  30. package/dist/entities/kind.d.ts +6 -0
  31. package/dist/entities/kind.js +6 -0
  32. package/dist/entities/option/index.d.ts +1 -1
  33. package/dist/entities/option/index.js +1 -1
  34. package/dist/entities/option/option.d.ts +39 -38
  35. package/dist/entities/option/option.js +5 -4
  36. package/dist/entities/option/values.d.ts +5 -7
  37. package/dist/entities/option/values.js +4 -4
  38. package/dist/entities/option/when.d.ts +5 -5
  39. package/dist/entities/serialise.d.ts +1582 -2226
  40. package/dist/entities/serialise.js +52 -22
  41. package/dist/entities/ui/bind.d.ts +10 -0
  42. package/dist/entities/ui/bind.js +9 -0
  43. package/dist/entities/ui/describe.d.ts +26 -51
  44. package/dist/entities/ui/describe.js +3 -4
  45. package/dist/entities/ui/index.d.ts +5 -7
  46. package/dist/entities/ui/index.js +2 -3
  47. package/dist/entities/ui/page.d.ts +26 -51
  48. package/dist/entities/ui/page.js +3 -4
  49. package/dist/entities/ui/pages.d.ts +17 -405
  50. package/dist/entities/ui/pages.js +6 -6
  51. package/dist/entities/ui/ui.d.ts +307 -688
  52. package/dist/entities/ui/ui.js +16 -17
  53. package/dist/entities/ui/uis.d.ts +11 -5
  54. package/dist/entities/ui/uis.js +9 -10
  55. package/dist/entities/ui/validate.d.ts +2 -2
  56. package/dist/entities/ui/validate.js +3 -3
  57. package/dist/entities/validate.d.ts +3 -3
  58. package/dist/entities/when.d.ts +45 -44
  59. package/dist/entities/when.js +10 -7
  60. package/dist/index.d.ts +19 -15
  61. package/dist/index.js +6 -3
  62. package/dist/mappers/assert/builder.js +13 -13
  63. package/dist/mappers/assert/ui.js +4 -4
  64. package/dist/mappers/index.d.ts +2 -0
  65. package/dist/mappers/index.js +1 -0
  66. package/dist/mappers/refs.d.ts +12 -0
  67. package/dist/mappers/refs.js +36 -0
  68. package/dist/mappers/render/render.js +3 -3
  69. package/dist/model.d.ts +29 -8
  70. package/dist/model.js +9 -1
  71. package/dist/references.d.ts +55 -29
  72. package/dist/references.js +25 -10
  73. package/dist/walker/walker.d.ts +13 -5
  74. package/dist/walker/walker.js +39 -27
  75. package/dist/walker/walkers.d.ts +4 -3
  76. package/dist/walker/walkers.js +18 -14
  77. package/package.json +9 -7
  78. package/dist/entities/builder/parameter.d.ts +0 -62
  79. package/dist/entities/builder/parameter.js +0 -18
  80. package/dist/entities/ui/label.d.ts +0 -18
  81. package/dist/entities/ui/label.js +0 -12
  82. package/dist/entities/ui/parameter.d.ts +0 -7
  83. package/dist/entities/ui/parameter.js +0 -29
@@ -1,11 +1,11 @@
1
1
  import type { BuilderPath } from '../../paths';
2
2
  import type { BuilderPrimitives } from '../../primitive';
3
- import type { Refable } from '../../references';
3
+ import type { Paramable } from '../../references';
4
4
  import type { BuilderEnableConfig, BuilderMatchConfig, BuilderMatchSelectMap, BuilderUnlessConfig, BuilderWhen } from '../when';
5
5
  import type { BuilderComponentDetails } from './details';
6
- export type BuilderComponentWhen = BuilderWhen<Refable<BuilderComponentDetails>>;
6
+ export type BuilderComponentWhen = BuilderWhen<Paramable<BuilderComponentDetails>>;
7
7
  export declare const componentWhen: {
8
- enable: <const Payload extends Refable<BuilderComponentDetails>>(payload?: Payload) => BuilderEnableConfig<Payload>;
9
- match: <const Payload extends Refable<BuilderComponentDetails>, const MatchPath extends Refable<BuilderPath>, const SelectMap extends Refable<BuilderMatchSelectMap<Refable<BuilderComponentDetails>>>>(matchPath: MatchPath, selectMap: SelectMap) => BuilderMatchConfig<Payload, MatchPath, SelectMap>;
10
- unless: <const UnlessPath extends Refable<BuilderPath>, const Payload extends Refable<BuilderComponentDetails>>(unlessPath: UnlessPath, disabledValues: BuilderPrimitives, payload?: Payload) => BuilderUnlessConfig<Payload, UnlessPath>;
8
+ enable: <const Payload extends Paramable<BuilderComponentDetails>>(payload?: Payload) => BuilderEnableConfig<Payload>;
9
+ match: <const Payload extends Paramable<BuilderComponentDetails>, const MatchPath extends Paramable<BuilderPath>, const SelectMap extends Paramable<BuilderMatchSelectMap<Paramable<BuilderComponentDetails>>>>(matchPath: MatchPath, selectMap: SelectMap) => BuilderMatchConfig<Payload, MatchPath, SelectMap>;
10
+ unless: <const UnlessPath extends Paramable<BuilderPath>, const Payload extends Paramable<BuilderComponentDetails>>(unlessPath: UnlessPath, disabledValues: BuilderPrimitives, payload?: Payload) => BuilderUnlessConfig<Payload, UnlessPath>;
11
11
  };
@@ -1,18 +1,20 @@
1
- export type { BuilderGeneric, BuilderInstanceOf, BuilderReference, BuilderReferences, BuilderSerialised, BuilderState, BuilderStateAppend, BuilderStateEmpty, BuilderStateOf } from './builder/index';
1
+ export type { BuilderGeneric, BuilderInstanceOf, BuilderPart, BuilderParts, BuilderSerialised, BuilderState, BuilderStateAppend, BuilderStateEmpty, BuilderStateOf } from './builder/index';
2
2
  export type { BuilderCollectionConfigSerialised, BuilderCollectionPayload, BuilderCollections, BuilderCollectionSerialised, BuilderCollectionsSerialised, BuilderCollectionWhen, BuilderCollectionWhenSerialised, BuilderErrorInvalidCollectionBounds, CollectionNamesOf, CollectionShape } from './collection/index';
3
3
  export type { BuilderComponentDetailsSerialised, BuilderComponentPayload, BuilderComponents, BuilderComponentSerialised, BuilderComponentsSerialised, BuilderComponentWhen, BuilderComponentWhenSerialised } from './component/index';
4
4
  export type { BuilderErrorDuplicateName, BuilderErrorInvalidGatePath, BuilderErrorUnboundParameter, BuilderErrorUnmetExpectation } from './errors';
5
5
  export type { BuilderOptionPayload, BuilderOptions, BuilderOptionSerialised, BuilderOptionsSerialised, BuilderOptionValues, BuilderOptionValuesSerialised, BuilderOptionWhen, BuilderOptionWhenSerialised, BuilderSelectTypeLabels, BuilderSelectTypeSerialised, BuilderSelectTypeValues, BuilderToggleTypeSerialised, BuilderToggleValueType } from './option/index';
6
- export type { BuilderDescription, BuilderDescriptionItem, BuilderErrorPagesUnknownCollection, BuilderUIDescribeSerialised, BuilderUIGeneric, BuilderUIItem, BuilderUIItems, BuilderUIItemsSerialised, BuilderUILabelSerialised, BuilderUIPageSerialised, BuilderUIPagesSerialised, BuilderUIReference, BuilderUIReferences, BuilderUISerialised } from './ui/index';
6
+ export type { BuilderDescription, BuilderDescriptionItem, BuilderErrorPagesUnknownCollection, BuilderUIDescribeSerialised, BuilderUIGeneric, BuilderUIItem, BuilderUIItems, BuilderUIItemSerialised, BuilderUIItemsSerialised, BuilderUIPageSerialised, BuilderUIPagesSerialised, BuilderUIPart, BuilderUIParts, BuilderUISerialised } from './ui/index';
7
7
  export type { BuilderExpectationKind, BuilderExpectations, BuilderExpectationSerialised, BuilderExpectationsSerialised } from './expectation';
8
8
  export type { BuilderWhen, BuilderWhenConfig, WhenSerialised } from './when';
9
9
  export type { BuilderCollectionConfigValidated, BuilderCollectionsValidated, BuilderCollectionValidated, BuilderComponentDetailsValidated, BuilderComponentsValidated, BuilderComponentValidated, BuilderOptionsValidated, BuilderOptionValidated, BuilderUIItemsValidated, BuilderUIItemValidated, BuilderUIValidated, BuilderValidated, Strip, StripTuple } from './validate';
10
10
  export { Builder, builders, BuilderSchema, BuilderSerialisedSchema, mergeBuilderParts } from './builder/index.js';
11
- export { BuilderCollection, BuilderCollectionConfig, BuilderCollectionConfigSchema, BuilderCollectionConfigSerialisedSchema, BuilderCollectionSchema, BuilderCollectionSerialisedSchema, BuilderCollectionsSerialisedSchema, BuilderCollectionWhenSerialisedSchema, collectionConfig, collectionExpectation, collectionWhen } from './collection/index.js';
12
- export { BuilderComponent, BuilderComponentDetails, BuilderComponentDetailsSchema, BuilderComponentDetailsSerialisedSchema, BuilderComponentSchema, BuilderComponentSerialisedSchema, BuilderComponentsSerialisedSchema, BuilderComponentWhenSerialisedSchema, componentDetails, componentExpectation, componentWhen, detailExpectation } from './component/index.js';
13
- export { deserialise, serialise } from './serialise.js';
11
+ export { BuilderCollection, BuilderCollectionConfig, BuilderCollectionConfigSchema, BuilderCollectionConfigSerialisedSchema, BuilderCollectionSchema, BuilderCollectionSelectMapSerialisedSchema, BuilderCollectionSerialisedSchema, BuilderCollectionsSerialisedSchema, BuilderCollectionWhenSerialisedSchema, collectionConfig, collectionExpectation, collectionWhen } from './collection/index.js';
12
+ export { BuilderComponent, BuilderComponentDetails, BuilderComponentDetailsSchema, BuilderComponentDetailsSerialisedSchema, BuilderComponentSchema, BuilderComponentSelectMapSerialisedSchema, BuilderComponentSerialisedSchema, BuilderComponentsSerialisedSchema, BuilderComponentWhenSerialisedSchema, componentDetails, componentExpectation, componentWhen, detailExpectation } from './component/index.js';
13
+ export type { BuilderEntity, BuilderEntityKind } from './kind.js';
14
+ export { BuilderEntityKindSchema, BuilderEntitySchema } from './kind.js';
15
+ export { deserialise, entitiesByKind, serialise } from './serialise.js';
14
16
  export { BuilderWhenConfigSchema, BuilderWhenEnableSchema, BuilderWhenMatchSchema, BuilderWhenUnlessSchema, createWhenFactories, createWhenSerialisedSchema } from './when.js';
15
17
  export { BuilderExpectation, BuilderExpectationKindSchema, BuilderExpectationSchema, BuilderExpectationSerialisedSchema, BuilderExpectationsSchema, BuilderExpectationsSerialisedSchema } from './expectation.js';
16
- export { parameter } from '../references.js';
17
- export { BuilderOption, BuilderOptionSchema, BuilderOptionSerialisedSchema, BuilderOptionsSerialisedSchema, BuilderOptionValuesSchema, BuilderOptionValuesSerialisedSchema, BuilderOptionWhenSerialisedSchema, BuilderSelectType, BuilderSelectTypeSchema, BuilderSelectTypeSerialisedSchema, BuilderToggleType, BuilderToggleTypeSchema, BuilderToggleTypeSerialisedSchema, optionExpectation, optionWhen, select, toggleBoolean, toggleNumber, toggleString } from './option/index.js';
18
- export { BuilderDescriptionItemSchema, BuilderDescriptionSchema, BuilderUI, BuilderUIDescribe, BuilderUIDescribeSchema, BuilderUIDescribeSerialisedSchema, BuilderUIItemsSerialisedSchema, BuilderUILabel, BuilderUILabelSchema, BuilderUILabelSerialisedSchema, BuilderUIPage, BuilderUIPageSchema, BuilderUIPageSerialisedSchema, BuilderUIPages, BuilderUIPagesSchema, BuilderUIPagesSerialisedSchema, BuilderUISchema, BuilderUISerialisedSchema, mergeUIParts, uis } from './ui/index.js';
18
+ export { parameter, ref } from '../references.js';
19
+ export { BuilderOption, BuilderOptionSchema, BuilderOptionSelectMapSerialisedSchema, BuilderOptionSerialisedSchema, BuilderOptionsSerialisedSchema, BuilderOptionValuesSchema, BuilderOptionValuesSerialisedSchema, BuilderOptionWhenSerialisedSchema, BuilderSelectType, BuilderSelectTypeSchema, BuilderSelectTypeSerialisedSchema, BuilderToggleType, BuilderToggleTypeSchema, BuilderToggleTypeSerialisedSchema, optionExpectation, optionWhen, select, toggleBoolean, toggleNumber, toggleString } from './option/index.js';
20
+ export { BuilderDescriptionItemSchema, BuilderDescriptionSchema, BuilderUI, BuilderUIDescribe, BuilderUIDescribeSchema, BuilderUIDescribeSerialisedSchema, BuilderUIItemSerialisedSchema, BuilderUIItemsSerialisedSchema, BuilderUIPage, BuilderUIPageSchema, BuilderUIPageSerialisedSchema, BuilderUIPages, BuilderUIPagesSchema, BuilderUIPagesSerialisedSchema, BuilderUISchema, BuilderUISerialisedSchema, mergeUIParts, uis } from './ui/index.js';
@@ -1,9 +1,10 @@
1
1
  export { Builder, builders, BuilderSchema, BuilderSerialisedSchema, mergeBuilderParts } from './builder/index.js';
2
- export { BuilderCollection, BuilderCollectionConfig, BuilderCollectionConfigSchema, BuilderCollectionConfigSerialisedSchema, BuilderCollectionSchema, BuilderCollectionSerialisedSchema, BuilderCollectionsSerialisedSchema, BuilderCollectionWhenSerialisedSchema, collectionConfig, collectionExpectation, collectionWhen } from './collection/index.js';
3
- export { BuilderComponent, BuilderComponentDetails, BuilderComponentDetailsSchema, BuilderComponentDetailsSerialisedSchema, BuilderComponentSchema, BuilderComponentSerialisedSchema, BuilderComponentsSerialisedSchema, BuilderComponentWhenSerialisedSchema, componentDetails, componentExpectation, componentWhen, detailExpectation } from './component/index.js';
4
- export { deserialise, serialise } from './serialise.js';
2
+ export { BuilderCollection, BuilderCollectionConfig, BuilderCollectionConfigSchema, BuilderCollectionConfigSerialisedSchema, BuilderCollectionSchema, BuilderCollectionSelectMapSerialisedSchema, BuilderCollectionSerialisedSchema, BuilderCollectionsSerialisedSchema, BuilderCollectionWhenSerialisedSchema, collectionConfig, collectionExpectation, collectionWhen } from './collection/index.js';
3
+ export { BuilderComponent, BuilderComponentDetails, BuilderComponentDetailsSchema, BuilderComponentDetailsSerialisedSchema, BuilderComponentSchema, BuilderComponentSelectMapSerialisedSchema, BuilderComponentSerialisedSchema, BuilderComponentsSerialisedSchema, BuilderComponentWhenSerialisedSchema, componentDetails, componentExpectation, componentWhen, detailExpectation } from './component/index.js';
4
+ export { BuilderEntityKindSchema, BuilderEntitySchema } from './kind.js';
5
+ export { deserialise, entitiesByKind, serialise } from './serialise.js';
5
6
  export { BuilderWhenConfigSchema, BuilderWhenEnableSchema, BuilderWhenMatchSchema, BuilderWhenUnlessSchema, createWhenFactories, createWhenSerialisedSchema } from './when.js';
6
7
  export { BuilderExpectation, BuilderExpectationKindSchema, BuilderExpectationSchema, BuilderExpectationSerialisedSchema, BuilderExpectationsSchema, BuilderExpectationsSerialisedSchema } from './expectation.js';
7
- export { parameter } from '../references.js';
8
- export { BuilderOption, BuilderOptionSchema, BuilderOptionSerialisedSchema, BuilderOptionsSerialisedSchema, BuilderOptionValuesSchema, BuilderOptionValuesSerialisedSchema, BuilderOptionWhenSerialisedSchema, BuilderSelectType, BuilderSelectTypeSchema, BuilderSelectTypeSerialisedSchema, BuilderToggleType, BuilderToggleTypeSchema, BuilderToggleTypeSerialisedSchema, optionExpectation, optionWhen, select, toggleBoolean, toggleNumber, toggleString } from './option/index.js';
9
- export { BuilderDescriptionItemSchema, BuilderDescriptionSchema, BuilderUI, BuilderUIDescribe, BuilderUIDescribeSchema, BuilderUIDescribeSerialisedSchema, BuilderUIItemsSerialisedSchema, BuilderUILabel, BuilderUILabelSchema, BuilderUILabelSerialisedSchema, BuilderUIPage, BuilderUIPageSchema, BuilderUIPageSerialisedSchema, BuilderUIPages, BuilderUIPagesSchema, BuilderUIPagesSerialisedSchema, BuilderUISchema, BuilderUISerialisedSchema, mergeUIParts, uis } from './ui/index.js';
8
+ export { parameter, ref } from '../references.js';
9
+ export { BuilderOption, BuilderOptionSchema, BuilderOptionSelectMapSerialisedSchema, BuilderOptionSerialisedSchema, BuilderOptionsSerialisedSchema, BuilderOptionValuesSchema, BuilderOptionValuesSerialisedSchema, BuilderOptionWhenSerialisedSchema, BuilderSelectType, BuilderSelectTypeSchema, BuilderSelectTypeSerialisedSchema, BuilderToggleType, BuilderToggleTypeSchema, BuilderToggleTypeSerialisedSchema, optionExpectation, optionWhen, select, toggleBoolean, toggleNumber, toggleString } from './option/index.js';
10
+ export { BuilderDescriptionItemSchema, BuilderDescriptionSchema, BuilderUI, BuilderUIDescribe, BuilderUIDescribeSchema, BuilderUIDescribeSerialisedSchema, BuilderUIItemSerialisedSchema, BuilderUIItemsSerialisedSchema, BuilderUIPage, BuilderUIPageSchema, BuilderUIPageSerialisedSchema, BuilderUIPages, BuilderUIPagesSchema, BuilderUIPagesSerialisedSchema, BuilderUISchema, BuilderUISerialisedSchema, mergeUIParts, uis } from './ui/index.js';
@@ -0,0 +1,6 @@
1
+ import * as v from 'valibot';
2
+ import { entitiesByKind } from './serialise.js';
3
+ export type BuilderEntityKind = keyof typeof entitiesByKind;
4
+ export declare const BuilderEntityKindSchema: v.PicklistSchema<readonly ("string" | "number" | "boolean" | "select" | "toggle" | "builder" | "expectations" | "paths" | "ui" | "uiPage" | "uiDescribe" | "uiPages" | "componentDetails" | "collectionConfig" | "uiItems" | "optionWhen" | "componentWhen" | "collectionWhen" | "optionSelectMap" | "componentSelectMap" | "collectionSelectMap" | "path")[], undefined>;
5
+ export declare const BuilderEntitySchema: v.UnionSchema<v.GenericSchema[], undefined>;
6
+ export type BuilderEntity = v.InferOutput<typeof BuilderEntitySchema>;
@@ -0,0 +1,6 @@
1
+ import * as v from 'valibot';
2
+ import { entitiesByKind } from './serialise.js';
3
+ const builderEntityKinds = Object.keys(entitiesByKind);
4
+ export const BuilderEntityKindSchema = v.picklist(builderEntityKinds);
5
+ const builderEntitySchemasByKind = Object.fromEntries(builderEntityKinds.map((kind) => [kind, entitiesByKind[kind].serialised]));
6
+ export const BuilderEntitySchema = v.union(builderEntityKinds.map((kind) => builderEntitySchemasByKind[kind]));
@@ -3,7 +3,7 @@ export type { BuilderSelectTypeLabels, BuilderSelectTypeSerialised, BuilderSelec
3
3
  export type { BuilderToggleTypeSerialised, BuilderToggleValueType } from './toggle';
4
4
  export type { BuilderOptionValues, BuilderOptionValuesSerialised } from './values';
5
5
  export type { BuilderOptionWhen } from './when';
6
- export { BuilderOption, BuilderOptionSchema, BuilderOptionSerialisedSchema, BuilderOptionsSerialisedSchema, BuilderOptionWhenSerialisedSchema } from './option.js';
6
+ export { BuilderOption, BuilderOptionSchema, BuilderOptionSelectMapSerialisedSchema, BuilderOptionSerialisedSchema, BuilderOptionsSerialisedSchema, BuilderOptionWhenSerialisedSchema } from './option.js';
7
7
  export { BuilderSelectType, BuilderSelectTypeSchema, BuilderSelectTypeSerialisedSchema, select } from './select.js';
8
8
  export { BuilderToggleType, BuilderToggleTypeSchema, BuilderToggleTypeSerialisedSchema, toggleBoolean, toggleNumber, toggleString } from './toggle.js';
9
9
  export { BuilderOptionValuesSchema, BuilderOptionValuesSerialisedSchema } from './values.js';
@@ -1,4 +1,4 @@
1
- export { BuilderOption, BuilderOptionSchema, BuilderOptionSerialisedSchema, BuilderOptionsSerialisedSchema, BuilderOptionWhenSerialisedSchema } from './option.js';
1
+ export { BuilderOption, BuilderOptionSchema, BuilderOptionSelectMapSerialisedSchema, BuilderOptionSerialisedSchema, BuilderOptionsSerialisedSchema, BuilderOptionWhenSerialisedSchema } from './option.js';
2
2
  export { BuilderSelectType, BuilderSelectTypeSchema, BuilderSelectTypeSerialisedSchema, select } from './select.js';
3
3
  export { BuilderToggleType, BuilderToggleTypeSchema, BuilderToggleTypeSerialisedSchema, toggleBoolean, toggleNumber, toggleString } from './toggle.js';
4
4
  export { BuilderOptionValuesSchema, BuilderOptionValuesSerialisedSchema } from './values.js';
@@ -1,10 +1,10 @@
1
1
  import type { BuilderPaths } from '../../paths';
2
- import type { Refable } from '../../references';
2
+ import type { Paramable } from '../../references';
3
3
  import type { BuilderWhen, WhenSerialised } from '../when';
4
4
  import type { BuilderOptionValues, BuilderOptionValuesSerialised } from './values';
5
5
  import * as v from 'valibot';
6
- export type BuilderOptionPayload = BuilderOptionValues | BuilderWhen<Refable<BuilderOptionValues>>;
7
- export declare class BuilderOption<const Name extends string = string, const Payload extends Refable<BuilderOptionPayload> = Refable<BuilderOptionPayload>, const GatePaths extends Refable<BuilderPaths> = Refable<BuilderPaths>> {
6
+ export type BuilderOptionPayload = BuilderOptionValues | BuilderWhen<Paramable<BuilderOptionValues>>;
7
+ export declare class BuilderOption<const Name extends string = string, const Payload extends Paramable<BuilderOptionPayload> = Paramable<BuilderOptionPayload>, const GatePaths extends Paramable<BuilderPaths> = Paramable<BuilderPaths>> {
8
8
  readonly type: 'option';
9
9
  readonly name: Name;
10
10
  readonly payload: Payload;
@@ -15,17 +15,18 @@ export declare const BuilderOptionSchema: v.InstanceSchema<typeof BuilderOption,
15
15
  export type BuilderOptions = ReadonlyArray<BuilderOption>;
16
16
  export declare const BuilderOptionWhenSerialisedSchema: v.GenericSchema;
17
17
  export type BuilderOptionWhenSerialised = WhenSerialised<BuilderOptionValuesSerialised>;
18
+ export declare const BuilderOptionSelectMapSerialisedSchema: v.GenericSchema;
18
19
  export declare const BuilderOptionSerialisedSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
19
20
  readonly name: v.StringSchema<undefined>;
20
21
  readonly payload: v.SchemaWithPipe<readonly [v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
21
- readonly type: v.LiteralSchema<"ref", undefined>;
22
+ readonly type: v.LiteralSchema<"parameter", undefined>;
22
23
  readonly id: v.StringSchema<undefined>;
23
24
  readonly name: v.StringSchema<undefined>;
24
25
  }, undefined>, v.ReadonlyAction<{
25
- type: "ref";
26
+ type: "parameter";
26
27
  id: string;
27
28
  name: string;
28
- }>]>, v.InstanceSchema<typeof import("../..").BuilderRef, undefined>, v.UnionSchema<[v.SchemaWithPipe<readonly [v.VariantSchema<"type", [v.SchemaWithPipe<readonly [v.ObjectSchema<{
29
+ }>]>, v.InstanceSchema<typeof import("../..").BuilderParameter, undefined>, v.UnionSchema<[v.SchemaWithPipe<readonly [v.VariantSchema<"type", [v.SchemaWithPipe<readonly [v.ObjectSchema<{
29
30
  readonly type: v.LiteralSchema<"select", undefined>;
30
31
  readonly options: v.SchemaWithPipe<readonly [v.TupleWithRestSchema<[v.StringSchema<undefined>], v.StringSchema<undefined>, undefined>, v.ReadonlyAction<[string, ...string[]]>]>;
31
32
  readonly defaultValue: v.NullableSchema<v.StringSchema<undefined>, undefined>;
@@ -82,7 +83,7 @@ export declare const BuilderOptionSerialisedSchema: v.SchemaWithPipe<readonly [v
82
83
  defaultValue: string | number | boolean | null;
83
84
  isOptional: boolean;
84
85
  }>>]>, v.GenericSchema], undefined>], undefined>, v.MetadataAction<unknown, {
85
- readonly refable: v.UnionSchema<[v.SchemaWithPipe<readonly [v.VariantSchema<"type", [v.SchemaWithPipe<readonly [v.ObjectSchema<{
86
+ readonly paramable: v.UnionSchema<[v.SchemaWithPipe<readonly [v.VariantSchema<"type", [v.SchemaWithPipe<readonly [v.ObjectSchema<{
86
87
  readonly type: v.LiteralSchema<"select", undefined>;
87
88
  readonly options: v.SchemaWithPipe<readonly [v.TupleWithRestSchema<[v.StringSchema<undefined>], v.StringSchema<undefined>, undefined>, v.ReadonlyAction<[string, ...string[]]>]>;
88
89
  readonly defaultValue: v.NullableSchema<v.StringSchema<undefined>, undefined>;
@@ -141,52 +142,52 @@ export declare const BuilderOptionSerialisedSchema: v.SchemaWithPipe<readonly [v
141
142
  }>>]>, v.GenericSchema], undefined>;
142
143
  }>]>;
143
144
  readonly gatePaths: v.OptionalSchema<v.SchemaWithPipe<readonly [v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
144
- readonly type: v.LiteralSchema<"ref", undefined>;
145
+ readonly type: v.LiteralSchema<"parameter", undefined>;
145
146
  readonly id: v.StringSchema<undefined>;
146
147
  readonly name: v.StringSchema<undefined>;
147
148
  }, undefined>, v.ReadonlyAction<{
148
- type: "ref";
149
+ type: "parameter";
149
150
  id: string;
150
151
  name: string;
151
- }>]>, v.InstanceSchema<typeof import("../..").BuilderRef, undefined>, v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, v.ReadonlyAction<(string | number)[]>]>, undefined>, v.ReadonlyAction<(readonly (string | number)[])[]>]>], undefined>, v.MetadataAction<readonly (readonly (string | number)[])[] | import("../..").BuilderRef | Readonly<{
152
- type: "ref";
152
+ }>]>, v.InstanceSchema<typeof import("../..").BuilderParameter, undefined>, v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, v.ReadonlyAction<(string | number)[]>]>, undefined>, v.ReadonlyAction<(readonly (string | number)[])[]>]>], undefined>, v.MetadataAction<readonly (readonly (string | number)[])[] | Readonly<{
153
+ type: "parameter";
153
154
  id: string;
154
155
  name: string;
155
- }>, {
156
- readonly refable: v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, v.ReadonlyAction<(string | number)[]>]>, undefined>, v.ReadonlyAction<(readonly (string | number)[])[]>]>;
156
+ }> | import("../..").BuilderParameter<string>, {
157
+ readonly paramable: v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, v.ReadonlyAction<(string | number)[]>]>, undefined>, v.ReadonlyAction<(readonly (string | number)[])[]>]>;
157
158
  }>]>, undefined>;
158
159
  }, undefined>, v.MetadataAction<{
159
160
  name: string;
160
161
  payload: unknown;
161
- gatePaths?: readonly (readonly (string | number)[])[] | import("../..").BuilderRef | Readonly<{
162
- type: "ref";
162
+ gatePaths?: readonly (readonly (string | number)[])[] | Readonly<{
163
+ type: "parameter";
163
164
  id: string;
164
165
  name: string;
165
- }> | undefined;
166
+ }> | import("../..").BuilderParameter<string> | undefined;
166
167
  }, {
167
168
  readonly serialisable: typeof BuilderOption;
168
169
  readonly instance: v.InstanceSchema<typeof BuilderOption, undefined>;
169
170
  }>, v.ReadonlyAction<{
170
171
  name: string;
171
172
  payload: unknown;
172
- gatePaths?: readonly (readonly (string | number)[])[] | import("../..").BuilderRef | Readonly<{
173
- type: "ref";
173
+ gatePaths?: readonly (readonly (string | number)[])[] | Readonly<{
174
+ type: "parameter";
174
175
  id: string;
175
176
  name: string;
176
- }> | undefined;
177
+ }> | import("../..").BuilderParameter<string> | undefined;
177
178
  }>]>;
178
179
  export type BuilderOptionSerialised = v.InferOutput<typeof BuilderOptionSerialisedSchema>;
179
180
  export declare const BuilderOptionsSerialisedSchema: v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
180
181
  readonly name: v.StringSchema<undefined>;
181
182
  readonly payload: v.SchemaWithPipe<readonly [v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
182
- readonly type: v.LiteralSchema<"ref", undefined>;
183
+ readonly type: v.LiteralSchema<"parameter", undefined>;
183
184
  readonly id: v.StringSchema<undefined>;
184
185
  readonly name: v.StringSchema<undefined>;
185
186
  }, undefined>, v.ReadonlyAction<{
186
- type: "ref";
187
+ type: "parameter";
187
188
  id: string;
188
189
  name: string;
189
- }>]>, v.InstanceSchema<typeof import("../..").BuilderRef, undefined>, v.UnionSchema<[v.SchemaWithPipe<readonly [v.VariantSchema<"type", [v.SchemaWithPipe<readonly [v.ObjectSchema<{
190
+ }>]>, v.InstanceSchema<typeof import("../..").BuilderParameter, undefined>, v.UnionSchema<[v.SchemaWithPipe<readonly [v.VariantSchema<"type", [v.SchemaWithPipe<readonly [v.ObjectSchema<{
190
191
  readonly type: v.LiteralSchema<"select", undefined>;
191
192
  readonly options: v.SchemaWithPipe<readonly [v.TupleWithRestSchema<[v.StringSchema<undefined>], v.StringSchema<undefined>, undefined>, v.ReadonlyAction<[string, ...string[]]>]>;
192
193
  readonly defaultValue: v.NullableSchema<v.StringSchema<undefined>, undefined>;
@@ -243,7 +244,7 @@ export declare const BuilderOptionsSerialisedSchema: v.SchemaWithPipe<readonly [
243
244
  defaultValue: string | number | boolean | null;
244
245
  isOptional: boolean;
245
246
  }>>]>, v.GenericSchema], undefined>], undefined>, v.MetadataAction<unknown, {
246
- readonly refable: v.UnionSchema<[v.SchemaWithPipe<readonly [v.VariantSchema<"type", [v.SchemaWithPipe<readonly [v.ObjectSchema<{
247
+ readonly paramable: v.UnionSchema<[v.SchemaWithPipe<readonly [v.VariantSchema<"type", [v.SchemaWithPipe<readonly [v.ObjectSchema<{
247
248
  readonly type: v.LiteralSchema<"select", undefined>;
248
249
  readonly options: v.SchemaWithPipe<readonly [v.TupleWithRestSchema<[v.StringSchema<undefined>], v.StringSchema<undefined>, undefined>, v.ReadonlyAction<[string, ...string[]]>]>;
249
250
  readonly defaultValue: v.NullableSchema<v.StringSchema<undefined>, undefined>;
@@ -302,46 +303,46 @@ export declare const BuilderOptionsSerialisedSchema: v.SchemaWithPipe<readonly [
302
303
  }>>]>, v.GenericSchema], undefined>;
303
304
  }>]>;
304
305
  readonly gatePaths: v.OptionalSchema<v.SchemaWithPipe<readonly [v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
305
- readonly type: v.LiteralSchema<"ref", undefined>;
306
+ readonly type: v.LiteralSchema<"parameter", undefined>;
306
307
  readonly id: v.StringSchema<undefined>;
307
308
  readonly name: v.StringSchema<undefined>;
308
309
  }, undefined>, v.ReadonlyAction<{
309
- type: "ref";
310
+ type: "parameter";
310
311
  id: string;
311
312
  name: string;
312
- }>]>, v.InstanceSchema<typeof import("../..").BuilderRef, undefined>, v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, v.ReadonlyAction<(string | number)[]>]>, undefined>, v.ReadonlyAction<(readonly (string | number)[])[]>]>], undefined>, v.MetadataAction<readonly (readonly (string | number)[])[] | import("../..").BuilderRef | Readonly<{
313
- type: "ref";
313
+ }>]>, v.InstanceSchema<typeof import("../..").BuilderParameter, undefined>, v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, v.ReadonlyAction<(string | number)[]>]>, undefined>, v.ReadonlyAction<(readonly (string | number)[])[]>]>], undefined>, v.MetadataAction<readonly (readonly (string | number)[])[] | Readonly<{
314
+ type: "parameter";
314
315
  id: string;
315
316
  name: string;
316
- }>, {
317
- readonly refable: v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, v.ReadonlyAction<(string | number)[]>]>, undefined>, v.ReadonlyAction<(readonly (string | number)[])[]>]>;
317
+ }> | import("../..").BuilderParameter<string>, {
318
+ readonly paramable: v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, v.ReadonlyAction<(string | number)[]>]>, undefined>, v.ReadonlyAction<(readonly (string | number)[])[]>]>;
318
319
  }>]>, undefined>;
319
320
  }, undefined>, v.MetadataAction<{
320
321
  name: string;
321
322
  payload: unknown;
322
- gatePaths?: readonly (readonly (string | number)[])[] | import("../..").BuilderRef | Readonly<{
323
- type: "ref";
323
+ gatePaths?: readonly (readonly (string | number)[])[] | Readonly<{
324
+ type: "parameter";
324
325
  id: string;
325
326
  name: string;
326
- }> | undefined;
327
+ }> | import("../..").BuilderParameter<string> | undefined;
327
328
  }, {
328
329
  readonly serialisable: typeof BuilderOption;
329
330
  readonly instance: v.InstanceSchema<typeof BuilderOption, undefined>;
330
331
  }>, v.ReadonlyAction<{
331
332
  name: string;
332
333
  payload: unknown;
333
- gatePaths?: readonly (readonly (string | number)[])[] | import("../..").BuilderRef | Readonly<{
334
- type: "ref";
334
+ gatePaths?: readonly (readonly (string | number)[])[] | Readonly<{
335
+ type: "parameter";
335
336
  id: string;
336
337
  name: string;
337
- }> | undefined;
338
+ }> | import("../..").BuilderParameter<string> | undefined;
338
339
  }>]>, undefined>, v.ReadonlyAction<Readonly<{
339
340
  name: string;
340
341
  payload: unknown;
341
- gatePaths?: readonly (readonly (string | number)[])[] | import("../..").BuilderRef | Readonly<{
342
- type: "ref";
342
+ gatePaths?: readonly (readonly (string | number)[])[] | Readonly<{
343
+ type: "parameter";
343
344
  id: string;
344
345
  name: string;
345
- }> | undefined;
346
+ }> | import("../..").BuilderParameter<string> | undefined;
346
347
  }>[]>]>;
347
348
  export type BuilderOptionsSerialised = v.InferOutput<typeof BuilderOptionsSerialisedSchema>;
@@ -1,8 +1,8 @@
1
1
  import * as v from 'valibot';
2
2
  import { BuilderPathsSchema } from '../../paths.js';
3
- import { refable } from '../../references.js';
3
+ import { paramable } from '../../references.js';
4
4
  import { serialisable } from '../../serialisable.js';
5
- import { createWhenSerialisedSchema } from '../when.js';
5
+ import { createSelectMapSerialisedSchema, createWhenSerialisedSchema } from '../when.js';
6
6
  import { BuilderOptionValuesSerialisedSchema } from './values.js';
7
7
  export class BuilderOption {
8
8
  name;
@@ -16,9 +16,10 @@ export class BuilderOption {
16
16
  }
17
17
  export const BuilderOptionSchema = v.instance(BuilderOption);
18
18
  export const BuilderOptionWhenSerialisedSchema = createWhenSerialisedSchema(BuilderOptionValuesSerialisedSchema);
19
+ export const BuilderOptionSelectMapSerialisedSchema = createSelectMapSerialisedSchema(BuilderOptionValuesSerialisedSchema);
19
20
  export const BuilderOptionSerialisedSchema = serialisable(BuilderOption, v.object({
20
21
  name: v.string(),
21
- payload: refable(v.union([BuilderOptionValuesSerialisedSchema, BuilderOptionWhenSerialisedSchema])),
22
- gatePaths: v.optional(refable(BuilderPathsSchema))
22
+ payload: paramable(v.union([BuilderOptionValuesSerialisedSchema, BuilderOptionWhenSerialisedSchema])),
23
+ gatePaths: v.optional(paramable(BuilderPathsSchema))
23
24
  }));
24
25
  export const BuilderOptionsSerialisedSchema = v.pipe(v.array(BuilderOptionSerialisedSchema), v.readonly());
@@ -1,7 +1,5 @@
1
1
  import * as v from 'valibot';
2
- import { BuilderSelectType } from './select.js';
3
- import { BuilderToggleType } from './toggle.js';
4
- export declare const BuilderOptionValuesSchema: v.UnionSchema<[v.InstanceSchema<typeof BuilderSelectType, undefined>, v.InstanceSchema<typeof BuilderToggleType, undefined>], undefined>;
2
+ export declare const BuilderOptionValuesSchema: v.UnionSchema<[v.InstanceSchema<typeof import("./select.js").BuilderSelectType, undefined>, v.InstanceSchema<typeof import("./toggle.js").BuilderToggleType, undefined>], undefined>;
5
3
  export type BuilderOptionValues = v.InferOutput<typeof BuilderOptionValuesSchema>;
6
4
  export declare const BuilderOptionValuesSerialisedSchema: v.SchemaWithPipe<readonly [v.VariantSchema<"type", [v.SchemaWithPipe<readonly [v.ObjectSchema<{
7
5
  readonly type: v.LiteralSchema<"select", undefined>;
@@ -18,8 +16,8 @@ export declare const BuilderOptionValuesSerialisedSchema: v.SchemaWithPipe<reado
18
16
  [x: string]: string;
19
17
  };
20
18
  }, {
21
- readonly serialisable: typeof BuilderSelectType;
22
- readonly instance: v.InstanceSchema<typeof BuilderSelectType, undefined>;
19
+ readonly serialisable: typeof import("./select.js").BuilderSelectType;
20
+ readonly instance: v.InstanceSchema<typeof import("./select.js").BuilderSelectType, undefined>;
23
21
  }>, v.ReadonlyAction<{
24
22
  type: "select";
25
23
  readonly options: readonly [string, ...string[]];
@@ -39,8 +37,8 @@ export declare const BuilderOptionValuesSerialisedSchema: v.SchemaWithPipe<reado
39
37
  defaultValue: string | number | boolean | null;
40
38
  isOptional: boolean;
41
39
  }, {
42
- readonly serialisable: typeof BuilderToggleType;
43
- readonly instance: v.InstanceSchema<typeof BuilderToggleType, undefined>;
40
+ readonly serialisable: typeof import("./toggle.js").BuilderToggleType;
41
+ readonly instance: v.InstanceSchema<typeof import("./toggle.js").BuilderToggleType, undefined>;
44
42
  }>, v.ReadonlyAction<{
45
43
  type: "toggle";
46
44
  valueType: "string" | "number" | "boolean";
@@ -1,8 +1,8 @@
1
1
  import * as v from 'valibot';
2
- import { BuilderSelectType, BuilderSelectTypeSerialisedSchema } from './select.js';
3
- import { BuilderToggleType, BuilderToggleTypeSerialisedSchema } from './toggle.js';
2
+ import { BuilderSelectTypeSchema, BuilderSelectTypeSerialisedSchema } from './select.js';
3
+ import { BuilderToggleTypeSchema, BuilderToggleTypeSerialisedSchema } from './toggle.js';
4
4
  export const BuilderOptionValuesSchema = v.union([
5
- v.instance(BuilderSelectType),
6
- v.instance(BuilderToggleType)
5
+ BuilderSelectTypeSchema,
6
+ BuilderToggleTypeSchema
7
7
  ]);
8
8
  export const BuilderOptionValuesSerialisedSchema = v.pipe(v.variant('type', [BuilderSelectTypeSerialisedSchema, BuilderToggleTypeSerialisedSchema]), v.readonly());
@@ -1,9 +1,9 @@
1
- import type { Refable } from '../../references';
1
+ import type { Paramable } from '../../references';
2
2
  import type { BuilderWhen } from '../when';
3
3
  import type { BuilderOptionValues } from './values';
4
- export type BuilderOptionWhen = BuilderWhen<Refable<BuilderOptionValues>>;
4
+ export type BuilderOptionWhen = BuilderWhen<Paramable<BuilderOptionValues>>;
5
5
  export declare const optionWhen: {
6
- enable: <const Values extends Refable<import("./select").BuilderSelectType<readonly [string, ...string[]], import("valibot").GenericSchema<string | null>> | import("./toggle").BuilderToggleType<import("valibot").GenericSchema<string | number | boolean | null>>>>(values: Values) => import("../when").BuilderEnableConfig<Values>;
7
- match: <const MatchPayload extends Refable<import("./select").BuilderSelectType<readonly [string, ...string[]], import("valibot").GenericSchema<string | null>> | import("./toggle").BuilderToggleType<import("valibot").GenericSchema<string | number | boolean | null>>>, const MatchPath extends Refable<import("../..").BuilderPath>, const SelectMap extends Refable<import("../when").BuilderMatchSelectMap<Refable<import("./select").BuilderSelectType<readonly [string, ...string[]], import("valibot").GenericSchema<string | null>> | import("./toggle").BuilderToggleType<import("valibot").GenericSchema<string | number | boolean | null>>>>>>(matchPath: MatchPath, selectMap: SelectMap) => import("../when").BuilderMatchConfig<MatchPayload, MatchPath, SelectMap>;
8
- unless: <const Values extends Refable<import("./select").BuilderSelectType<readonly [string, ...string[]], import("valibot").GenericSchema<string | null>> | import("./toggle").BuilderToggleType<import("valibot").GenericSchema<string | number | boolean | null>>>, const UnlessPath extends Refable<import("../..").BuilderPath>>(unlessPath: UnlessPath, disabledValues: import("../..").BuilderPrimitives, values: Values) => import("../when").BuilderUnlessConfig<Values, UnlessPath>;
6
+ enable: <const Values extends Paramable<import("./select").BuilderSelectType<readonly [string, ...string[]], import("valibot").GenericSchema<string | null>> | import("./toggle").BuilderToggleType<import("valibot").GenericSchema<string | number | boolean | null>>>>(values: Values) => import("../when").BuilderEnableConfig<Values>;
7
+ match: <const MatchPayload extends Paramable<import("./select").BuilderSelectType<readonly [string, ...string[]], import("valibot").GenericSchema<string | null>> | import("./toggle").BuilderToggleType<import("valibot").GenericSchema<string | number | boolean | null>>>, const MatchPath extends Paramable<import("../..").BuilderPath>, const SelectMap extends Paramable<import("../when").BuilderMatchSelectMap<Paramable<import("./select").BuilderSelectType<readonly [string, ...string[]], import("valibot").GenericSchema<string | null>> | import("./toggle").BuilderToggleType<import("valibot").GenericSchema<string | number | boolean | null>>>>>>(matchPath: MatchPath, selectMap: SelectMap) => import("../when").BuilderMatchConfig<MatchPayload, MatchPath, SelectMap>;
8
+ unless: <const Values extends Paramable<import("./select").BuilderSelectType<readonly [string, ...string[]], import("valibot").GenericSchema<string | null>> | import("./toggle").BuilderToggleType<import("valibot").GenericSchema<string | number | boolean | null>>>, const UnlessPath extends Paramable<import("../..").BuilderPath>>(unlessPath: UnlessPath, disabledValues: import("../..").BuilderPrimitives, values: Values) => import("../when").BuilderUnlessConfig<Values, UnlessPath>;
9
9
  };