@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.
Files changed (191) hide show
  1. package/dist/bb.d.ts +28 -0
  2. package/dist/bb.js +49 -0
  3. package/dist/check.d.ts +1 -1
  4. package/dist/check.js +4 -2
  5. package/dist/entities/builder/bind.d.ts +4 -0
  6. package/dist/entities/builder/builder.d.ts +17 -490
  7. package/dist/entities/builder/builder.js +19 -76
  8. package/dist/entities/builder/factory.d.ts +7 -0
  9. package/dist/entities/builder/factory.js +4 -0
  10. package/dist/entities/builder/index.d.ts +3 -6
  11. package/dist/entities/builder/index.js +1 -2
  12. package/dist/entities/collection/collection.d.ts +71 -20
  13. package/dist/entities/collection/collection.js +10 -27
  14. package/dist/entities/collection/config.d.ts +40 -1049
  15. package/dist/entities/collection/config.js +11 -11
  16. package/dist/entities/collection/expectation.d.ts +8 -4
  17. package/dist/entities/collection/index.d.ts +3 -3
  18. package/dist/entities/collection/index.js +1 -1
  19. package/dist/entities/collection/when.d.ts +6 -5
  20. package/dist/entities/component/component.d.ts +272 -300
  21. package/dist/entities/component/component.js +9 -8
  22. package/dist/entities/component/details.d.ts +35 -60
  23. package/dist/entities/component/details.js +9 -9
  24. package/dist/entities/component/expectation.d.ts +7 -4
  25. package/dist/entities/component/expectation.js +0 -3
  26. package/dist/entities/component/field.d.ts +50 -0
  27. package/dist/entities/component/field.js +41 -0
  28. package/dist/entities/component/index.d.ts +5 -3
  29. package/dist/entities/component/index.js +3 -2
  30. package/dist/entities/component/when.d.ts +5 -5
  31. package/dist/entities/component/when.js +2 -2
  32. package/dist/entities/entry.d.ts +4 -0
  33. package/dist/entities/expectation.d.ts +10 -22
  34. package/dist/entities/expectation.js +2 -7
  35. package/dist/entities/index.d.ts +21 -16
  36. package/dist/entities/index.js +10 -8
  37. package/dist/entities/kind.d.ts +9 -0
  38. package/dist/entities/kind.js +5 -0
  39. package/dist/entities/model/bind.d.ts +83 -0
  40. package/dist/entities/model/expectation.d.ts +16 -0
  41. package/dist/entities/model/index.d.ts +7 -0
  42. package/dist/entities/model/index.js +2 -0
  43. package/dist/entities/model/methods.d.ts +57 -0
  44. package/dist/entities/{builder → model}/methods.js +8 -8
  45. package/dist/entities/model/model.d.ts +39 -0
  46. package/dist/entities/model/model.js +73 -0
  47. package/dist/entities/model/models.d.ts +39 -0
  48. package/dist/entities/model/models.js +14 -0
  49. package/dist/entities/{builder → model}/state.d.ts +10 -10
  50. package/dist/entities/option/index.d.ts +2 -2
  51. package/dist/entities/option/index.js +2 -2
  52. package/dist/entities/option/option.d.ts +216 -214
  53. package/dist/entities/option/option.js +9 -8
  54. package/dist/entities/option/select.d.ts +2 -12
  55. package/dist/entities/option/select.js +6 -3
  56. package/dist/entities/option/toggle.d.ts +2 -9
  57. package/dist/entities/option/toggle.js +3 -3
  58. package/dist/entities/option/values.d.ts +4 -24
  59. package/dist/entities/option/values.js +10 -4
  60. package/dist/entities/option/when.d.ts +6 -5
  61. package/dist/entities/refs.d.ts +6 -0
  62. package/dist/entities/refs.js +1 -0
  63. package/dist/entities/serialise.d.ts +393 -3568
  64. package/dist/entities/serialise.js +160 -31
  65. package/dist/entities/ui/describe.d.ts +23 -57
  66. package/dist/entities/ui/describe.js +4 -5
  67. package/dist/entities/ui/index.d.ts +4 -9
  68. package/dist/entities/ui/index.js +2 -4
  69. package/dist/entities/ui/page.d.ts +23 -57
  70. package/dist/entities/ui/page.js +4 -5
  71. package/dist/entities/ui/pages.d.ts +18 -403
  72. package/dist/entities/ui/pages.js +7 -7
  73. package/dist/entities/ui/ui.d.ts +22 -1575
  74. package/dist/entities/ui/ui.js +15 -28
  75. package/dist/entities/ui/uis.d.ts +5 -9
  76. package/dist/entities/ui/uis.js +12 -19
  77. package/dist/entities/validated.d.ts +35 -0
  78. package/dist/entities/validated.js +1 -0
  79. package/dist/entities/when.d.ts +79 -70
  80. package/dist/entities/when.js +11 -7
  81. package/dist/environment.d.ts +5 -0
  82. package/dist/environment.js +2 -0
  83. package/dist/exception.d.ts +8 -3
  84. package/dist/exception.js +3 -0
  85. package/dist/index.d.ts +21 -24
  86. package/dist/index.js +5 -10
  87. package/dist/instance.d.ts +56 -0
  88. package/dist/instance.js +10 -0
  89. package/dist/mappers/index.d.ts +7 -5
  90. package/dist/mappers/index.js +5 -3
  91. package/dist/mappers/instance.d.ts +3 -0
  92. package/dist/mappers/instance.js +35 -0
  93. package/dist/mappers/order.d.ts +6 -0
  94. package/dist/mappers/order.js +22 -0
  95. package/dist/mappers/render/pages.d.ts +4 -4
  96. package/dist/mappers/render/render.d.ts +2 -3
  97. package/dist/mappers/render/render.js +83 -78
  98. package/dist/mappers/resolve.d.ts +5 -9
  99. package/dist/mappers/resolve.js +25 -33
  100. package/dist/mappers/variants/index.d.ts +1 -0
  101. package/dist/mappers/variants/index.js +1 -0
  102. package/dist/mappers/variants/option-graph.d.ts +19 -0
  103. package/dist/mappers/{models → variants}/option-graph.js +33 -22
  104. package/dist/mappers/variants/variants.d.ts +3 -0
  105. package/dist/mappers/variants/variants.js +57 -0
  106. package/dist/private.d.ts +4 -0
  107. package/dist/private.js +4 -0
  108. package/dist/references.d.ts +27 -36
  109. package/dist/references.js +19 -12
  110. package/dist/serialisable.d.ts +1 -9
  111. package/dist/serialisable.js +2 -3
  112. package/dist/validate/brand.d.ts +14 -0
  113. package/dist/validate/brand.js +17 -0
  114. package/dist/validate/builder.d.ts +4 -0
  115. package/dist/validate/builder.js +27 -0
  116. package/dist/validate/expectations.d.ts +10 -0
  117. package/dist/validate/expectations.js +12 -0
  118. package/dist/validate/index.d.ts +18 -0
  119. package/dist/validate/index.js +9 -0
  120. package/dist/validate/instance.d.ts +19 -0
  121. package/dist/validate/instance.js +46 -0
  122. package/dist/validate/model.d.ts +36 -0
  123. package/dist/validate/model.js +196 -0
  124. package/dist/validate/resolve.d.ts +16 -0
  125. package/dist/validate/resolve.js +91 -0
  126. package/dist/validate/result.d.ts +8 -0
  127. package/dist/validate/result.js +4 -0
  128. package/dist/validate/ui.d.ts +8 -0
  129. package/dist/validate/ui.js +77 -0
  130. package/dist/validate/variants.d.ts +59 -0
  131. package/dist/validate/variants.js +102 -0
  132. package/package.json +12 -9
  133. package/dist/entities/builder/builders.d.ts +0 -20
  134. package/dist/entities/builder/builders.js +0 -18
  135. package/dist/entities/builder/expectation.d.ts +0 -12
  136. package/dist/entities/builder/methods.d.ts +0 -58
  137. package/dist/entities/builder/parameter.d.ts +0 -62
  138. package/dist/entities/builder/parameter.js +0 -18
  139. package/dist/entities/builder/validate.d.ts +0 -3
  140. package/dist/entities/builder/validate.js +0 -108
  141. package/dist/entities/errors.d.ts +0 -21
  142. package/dist/entities/ui/label.d.ts +0 -18
  143. package/dist/entities/ui/label.js +0 -12
  144. package/dist/entities/ui/parameter.d.ts +0 -7
  145. package/dist/entities/ui/parameter.js +0 -29
  146. package/dist/entities/ui/validate.d.ts +0 -8
  147. package/dist/entities/ui/validate.js +0 -21
  148. package/dist/entities/validate.d.ts +0 -28
  149. package/dist/mappers/assert/builder.d.ts +0 -2
  150. package/dist/mappers/assert/builder.js +0 -46
  151. package/dist/mappers/assert/expectation.d.ts +0 -2
  152. package/dist/mappers/assert/expectation.js +0 -23
  153. package/dist/mappers/assert/index.d.ts +0 -6
  154. package/dist/mappers/assert/index.js +0 -4
  155. package/dist/mappers/assert/model.d.ts +0 -13
  156. package/dist/mappers/assert/model.js +0 -47
  157. package/dist/mappers/assert/models.d.ts +0 -33
  158. package/dist/mappers/assert/models.js +0 -74
  159. package/dist/mappers/assert/ui.d.ts +0 -2
  160. package/dist/mappers/assert/ui.js +0 -22
  161. package/dist/mappers/instance/index.d.ts +0 -1
  162. package/dist/mappers/instance/index.js +0 -1
  163. package/dist/mappers/instance/instance.d.ts +0 -4
  164. package/dist/mappers/instance/instance.js +0 -33
  165. package/dist/mappers/models/component-graph.d.ts +0 -9
  166. package/dist/mappers/models/component-graph.js +0 -51
  167. package/dist/mappers/models/graph.d.ts +0 -12
  168. package/dist/mappers/models/graph.js +0 -17
  169. package/dist/mappers/models/index.d.ts +0 -1
  170. package/dist/mappers/models/index.js +0 -1
  171. package/dist/mappers/models/models.d.ts +0 -3
  172. package/dist/mappers/models/models.js +0 -37
  173. package/dist/mappers/models/option-graph.d.ts +0 -9
  174. package/dist/mappers/order/index.d.ts +0 -2
  175. package/dist/mappers/order/index.js +0 -1
  176. package/dist/mappers/order/order.d.ts +0 -14
  177. package/dist/mappers/order/order.js +0 -31
  178. package/dist/model.d.ts +0 -14
  179. package/dist/walker/index.d.ts +0 -2
  180. package/dist/walker/index.js +0 -1
  181. package/dist/walker/walkable.d.ts +0 -4
  182. package/dist/walker/walkable.js +0 -4
  183. package/dist/walker/walker.d.ts +0 -18
  184. package/dist/walker/walker.js +0 -103
  185. package/dist/walker/walkers.d.ts +0 -8
  186. package/dist/walker/walkers.js +0 -51
  187. /package/dist/entities/builder/{expectation.js → bind.js} +0 -0
  188. /package/dist/entities/{builder/state.js → entry.js} +0 -0
  189. /package/dist/entities/{errors.js → model/bind.js} +0 -0
  190. /package/dist/entities/{validate.js → model/expectation.js} +0 -0
  191. /package/dist/{model.js → entities/model/state.js} +0 -0
@@ -1,23 +1,23 @@
1
1
  import * as v from 'valibot';
2
- import { refable } from '../../references.js';
2
+ import { paramable } from '../../references.js';
3
3
  import { serialisable } from '../../serialisable.js';
4
- import { BuilderSerialisedSchema } from '../builder/index.js';
4
+ import { BuilderModelSerialisedSchema } from '../model/index.js';
5
5
  export class BuilderCollectionConfig {
6
- builder;
6
+ model;
7
7
  min;
8
8
  max;
9
- constructor(builder, min, max) {
10
- this.builder = builder;
9
+ constructor(model, min, max) {
10
+ this.model = model;
11
11
  this.min = min;
12
12
  this.max = max;
13
13
  }
14
14
  }
15
15
  export const BuilderCollectionConfigSchema = v.instance(BuilderCollectionConfig);
16
- export const BuilderCollectionConfigSerialisedSchema = serialisable(BuilderCollectionConfig, v.object({
17
- builder: refable(v.lazy(() => BuilderSerialisedSchema)),
18
- min: refable(v.number()),
19
- max: refable(v.number())
16
+ export const BuilderCollectionConfigSerialisedSchema = serialisable(v.object({
17
+ model: paramable(v.lazy(() => BuilderModelSerialisedSchema)),
18
+ min: paramable(v.number()),
19
+ max: paramable(v.number())
20
20
  }));
21
- export function collectionConfig(builder, min, max) {
22
- return new BuilderCollectionConfig(builder, min, max);
21
+ export function collectionConfig(model, min, max) {
22
+ return new BuilderCollectionConfig(model, min, max);
23
23
  }
@@ -1,7 +1,11 @@
1
- import type { BuilderState } from '../builder/index';
1
+ import type { BuilderModelState } from '../model/index';
2
2
  import type { BuilderExpectations } from '../expectation';
3
3
  import type { BuilderCollection } from './collection';
4
4
  import { BuilderExpectation } from '../expectation.js';
5
- export declare function collectionExpectation<const Name extends string>(name: Name): BuilderExpectation<Name, unknown, "collection">;
6
- export type CollectionsExpected<Expectations extends BuilderExpectations> = Expectations extends readonly [infer Head, ...infer Tail extends BuilderExpectations] ? Head extends BuilderExpectation<infer Name, any, 'collection'> ? [BuilderCollection<Name>, ...CollectionsExpected<Tail>] : CollectionsExpected<Tail> : [];
7
- export type CollectionsAsserted<State extends BuilderState, Expectations extends BuilderExpectations, Current extends State['collections'] = State['collections'], Asserted extends CollectionsExpected<Expectations> = CollectionsExpected<Expectations>> = Current extends [] ? CollectionsExpected<Expectations> : number extends Asserted['length'] ? Asserted : [...Current, ...Asserted];
5
+ export declare function collectionExpectation<const Name extends string>(name: Name): BuilderExpectation<Name, never, "collection">;
6
+ export type CollectionsAsserted<State extends BuilderModelState, Expectations extends BuilderExpectations, Current extends State['collections'] = State['collections'], Asserted extends CollectionsExpected<Expectations> = CollectionsExpected<Expectations>> = Current extends [] ? CollectionsExpected<Expectations> : number extends Asserted['length'] ? Asserted : [...Current, ...Asserted];
7
+ type CollectionsExpected<Expectations extends BuilderExpectations> = Expectations extends readonly [
8
+ infer Head,
9
+ ...infer Tail extends BuilderExpectations
10
+ ] ? Head extends BuilderExpectation<infer Name, any, 'collection'> ? [BuilderCollection<Name>, ...CollectionsExpected<Tail>] : CollectionsExpected<Tail> : [];
11
+ export {};
@@ -1,8 +1,8 @@
1
- export type { BuilderCollectionPayload, BuilderCollections, BuilderCollectionSerialised, BuilderCollectionsSerialised, BuilderCollectionWhenSerialised, BuilderErrorInvalidCollectionBounds, CollectionNamesOf, CollectionShape } from './collection';
1
+ export type { BuilderCollectionPayload, BuilderCollections, BuilderCollectionSerialised, BuilderCollectionsSerialised, BuilderCollectionWhenSerialised, CollectionNamesOf, CollectionShape } from './collection';
2
2
  export type { BuilderCollectionConfigSerialised } from './config';
3
- export type { CollectionsAsserted, CollectionsExpected } from './expectation';
3
+ export type { CollectionsAsserted } from './expectation';
4
4
  export type { BuilderCollectionWhen } from './when';
5
- export { BuilderCollection, BuilderCollectionSchema, BuilderCollectionSerialisedSchema, BuilderCollectionsSerialisedSchema, BuilderCollectionWhenSerialisedSchema } from './collection.js';
5
+ export { BuilderCollection, BuilderCollectionSchema, BuilderCollectionSelectMapSerialisedSchema, BuilderCollectionSerialisedSchema, BuilderCollectionsSerialisedSchema, BuilderCollectionWhenSerialisedSchema } from './collection.js';
6
6
  export { BuilderCollectionConfig, BuilderCollectionConfigSchema, BuilderCollectionConfigSerialisedSchema, collectionConfig } from './config.js';
7
7
  export { collectionExpectation } from './expectation.js';
8
8
  export { collectionWhen } from './when.js';
@@ -1,4 +1,4 @@
1
- export { BuilderCollection, BuilderCollectionSchema, BuilderCollectionSerialisedSchema, BuilderCollectionsSerialisedSchema, BuilderCollectionWhenSerialisedSchema } from './collection.js';
1
+ export { BuilderCollection, BuilderCollectionSchema, BuilderCollectionSelectMapSerialisedSchema, BuilderCollectionSerialisedSchema, BuilderCollectionsSerialisedSchema, BuilderCollectionWhenSerialisedSchema } from './collection.js';
2
2
  export { BuilderCollectionConfig, BuilderCollectionConfigSchema, BuilderCollectionConfigSerialisedSchema, collectionConfig } from './config.js';
3
3
  export { collectionExpectation } from './expectation.js';
4
4
  export { collectionWhen } from './when.js';
@@ -1,9 +1,10 @@
1
- import type { Refable } from '../../references';
1
+ import type { BuilderPath } from '../../paths';
2
+ import type { Paramable } from '../../references';
2
3
  import type { BuilderWhen } from '../when';
3
4
  import type { BuilderCollectionConfig } from './config';
4
- export type BuilderCollectionWhen = BuilderWhen<Refable<BuilderCollectionConfig>>;
5
+ export type BuilderCollectionWhen = BuilderWhen<Paramable<BuilderCollectionConfig>, Paramable<BuilderPath>, Paramable<Record<string, Paramable<BuilderCollectionConfig> | null>>, Paramable<BuilderPath>>;
5
6
  export declare const collectionWhen: {
6
- enable: <const Values extends Refable<BuilderCollectionConfig<Refable<import("..").BuilderGeneric>, Refable<number>, Refable<number>>>>(values: Values) => import("../when").BuilderEnableConfig<Values>;
7
- match: <const MatchPayload extends Refable<BuilderCollectionConfig<Refable<import("..").BuilderGeneric>, Refable<number>, Refable<number>>>, const MatchPath extends Refable<import("../..").BuilderPath>, const SelectMap extends Refable<import("../when").BuilderMatchSelectMap<Refable<BuilderCollectionConfig<Refable<import("..").BuilderGeneric>, Refable<number>, Refable<number>>>>>>(matchPath: MatchPath, selectMap: SelectMap) => import("../when").BuilderMatchConfig<MatchPayload, MatchPath, SelectMap>;
8
- unless: <const Values extends Refable<BuilderCollectionConfig<Refable<import("..").BuilderGeneric>, Refable<number>, Refable<number>>>, const UnlessPath extends Refable<import("../..").BuilderPath>>(unlessPath: UnlessPath, disabledValues: import("../..").BuilderPrimitives, values: Values) => import("../when").BuilderUnlessConfig<Values, UnlessPath>;
7
+ enable: <const Values extends Paramable<BuilderCollectionConfig<Paramable<import("..").BuilderModelGeneric>, Paramable<number>, Paramable<number>>>>(values: Values) => import("..").BuilderEnableConfig<Values>;
8
+ match: <const MatchPayload extends Paramable<BuilderCollectionConfig<Paramable<import("..").BuilderModelGeneric>, Paramable<number>, Paramable<number>>>, const MatchPath extends Paramable<BuilderPath>, const SelectMap extends Paramable<import("..").BuilderMatchSelectMap<Paramable<BuilderCollectionConfig<Paramable<import("..").BuilderModelGeneric>, Paramable<number>, Paramable<number>>>>>>(matchPath: MatchPath, selectMap: SelectMap) => import("..").BuilderMatchConfig<MatchPayload, MatchPath, SelectMap>;
9
+ unless: <const Values extends Paramable<BuilderCollectionConfig<Paramable<import("..").BuilderModelGeneric>, Paramable<number>, Paramable<number>>>, const UnlessPath extends Paramable<BuilderPath>>(unlessPath: UnlessPath, disabledValues: import("../..").BuilderPrimitives, values: Values) => import("..").BuilderUnlessConfig<Values, UnlessPath>;
9
10
  };