@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,41 +1,170 @@
1
1
  import * as v from 'valibot';
2
- import { createWalkerDeserialise, createWalkerSerialise } from '../walker/index.js';
2
+ import { BuilderPathSchema, BuilderPathsSchema } from '../paths.js';
3
+ import { BuilderParameterSchema, BuilderRefSchema, isParamable } from '../references.js';
4
+ import { check } from '../check.js';
5
+ import { BuilderCollectionConfigSchema, BuilderCollectionConfigSerialisedSchema, BuilderCollectionSchema, BuilderCollectionSelectMapSerialisedSchema, BuilderCollectionWhenSerialisedSchema } from './collection/index.js';
6
+ import { BuilderComponentDetailsSchema, BuilderComponentDetailsSerialisedSchema, BuilderComponentFieldSchema, BuilderComponentSchema, BuilderComponentSelectMapSerialisedSchema, BuilderComponentWhenSerialisedSchema } from './component/index.js';
7
+ import { BuilderExpectationSchema, BuilderExpectationsSchema, BuilderExpectationsSerialisedSchema } from './expectation.js';
8
+ import { BuilderModelSchema, BuilderModelSerialisedSchema } from './model/index.js';
9
+ import { BuilderOptionSchema, BuilderOptionSelectMapSerialisedSchema, BuilderOptionWhenSerialisedSchema, BuilderSelectTypeSchema, BuilderSelectTypeSerialisedSchema, BuilderToggleTypeSchema, BuilderToggleTypeSerialisedSchema } from './option/index.js';
10
+ import { BuilderUIDescribeSchema, BuilderUIDescribeSerialisedSchema, BuilderUIItemsSerialisedSchema, BuilderUIPageSchema, BuilderUIPageSerialisedSchema, BuilderUIPagesSchema, BuilderUIPagesSerialisedSchema, BuilderUISchema, BuilderUISerialisedSchema } from './ui/index.js';
3
11
  import { BuilderSchema, BuilderSerialisedSchema } from './builder/index.js';
4
- import { BuilderCollectionConfigSchema, BuilderCollectionConfigSerialisedSchema, BuilderCollectionSchema, BuilderCollectionSerialisedSchema } from './collection/index.js';
5
- import { BuilderComponentDetailsSchema, BuilderComponentDetailsSerialisedSchema, BuilderComponentSchema, BuilderComponentSerialisedSchema } from './component/index.js';
6
- import { BuilderExpectationSchema, BuilderExpectationSerialisedSchema } from './expectation.js';
7
- import { BuilderOptionSchema, BuilderOptionSerialisedSchema, BuilderSelectTypeSchema, BuilderSelectTypeSerialisedSchema, BuilderToggleTypeSchema, BuilderToggleTypeSerialisedSchema } from './option/index.js';
8
- import { BuilderUIDescribeSchema, BuilderUIDescribeSerialisedSchema, BuilderUILabelSchema, BuilderUILabelSerialisedSchema, BuilderUIPageSchema, BuilderUIPageSerialisedSchema, BuilderUIPagesSchema, BuilderUIPagesSerialisedSchema, BuilderUISchema, BuilderUISerialisedSchema } from './ui/index.js';
9
- const entities = {
10
- expectation: { class: BuilderExpectationSchema, serialised: BuilderExpectationSerialisedSchema },
11
- select: { class: BuilderSelectTypeSchema, serialised: BuilderSelectTypeSerialisedSchema },
12
- toggle: { class: BuilderToggleTypeSchema, serialised: BuilderToggleTypeSerialisedSchema },
13
- label: { class: BuilderUILabelSchema, serialised: BuilderUILabelSerialisedSchema },
14
- page: { class: BuilderUIPageSchema, serialised: BuilderUIPageSerialisedSchema },
15
- describe: { class: BuilderUIDescribeSchema, serialised: BuilderUIDescribeSerialisedSchema },
16
- pages: { class: BuilderUIPagesSchema, serialised: BuilderUIPagesSerialisedSchema },
12
+ export const entitiesMap = {
13
+ builder: { runtime: BuilderSchema, serialised: BuilderSerialisedSchema },
14
+ model: { runtime: BuilderModelSchema, serialised: BuilderModelSerialisedSchema },
15
+ ui: { runtime: BuilderUISchema, serialised: BuilderUISerialisedSchema },
16
+ select: { runtime: BuilderSelectTypeSchema, serialised: BuilderSelectTypeSerialisedSchema },
17
+ toggle: { runtime: BuilderToggleTypeSchema, serialised: BuilderToggleTypeSerialisedSchema },
18
+ uiPage: { runtime: BuilderUIPageSchema, serialised: BuilderUIPageSerialisedSchema },
19
+ uiDescribe: { runtime: BuilderUIDescribeSchema, serialised: BuilderUIDescribeSerialisedSchema },
20
+ uiPages: { runtime: BuilderUIPagesSchema, serialised: BuilderUIPagesSerialisedSchema },
17
21
  componentDetails: {
18
- class: BuilderComponentDetailsSchema,
22
+ runtime: BuilderComponentDetailsSchema,
19
23
  serialised: BuilderComponentDetailsSerialisedSchema
20
24
  },
21
25
  collectionConfig: {
22
- class: BuilderCollectionConfigSchema,
26
+ runtime: BuilderCollectionConfigSchema,
23
27
  serialised: BuilderCollectionConfigSerialisedSchema
24
28
  },
25
- option: { class: BuilderOptionSchema, serialised: BuilderOptionSerialisedSchema },
26
- component: { class: BuilderComponentSchema, serialised: BuilderComponentSerialisedSchema },
27
- collection: { class: BuilderCollectionSchema, serialised: BuilderCollectionSerialisedSchema },
28
- builder: { class: BuilderSchema, serialised: BuilderSerialisedSchema },
29
- ui: { class: BuilderUISchema, serialised: BuilderUISerialisedSchema }
29
+ expectations: {
30
+ runtime: BuilderExpectationsSchema,
31
+ serialised: BuilderExpectationsSerialisedSchema
32
+ },
33
+ uiItems: { runtime: BuilderUIItemsSerialisedSchema, serialised: BuilderUIItemsSerialisedSchema },
34
+ optionWhen: {
35
+ runtime: BuilderOptionWhenSerialisedSchema,
36
+ serialised: BuilderOptionWhenSerialisedSchema
37
+ },
38
+ componentWhen: {
39
+ runtime: BuilderComponentWhenSerialisedSchema,
40
+ serialised: BuilderComponentWhenSerialisedSchema
41
+ },
42
+ collectionWhen: {
43
+ runtime: BuilderCollectionWhenSerialisedSchema,
44
+ serialised: BuilderCollectionWhenSerialisedSchema
45
+ },
46
+ optionSelectMap: {
47
+ runtime: BuilderOptionSelectMapSerialisedSchema,
48
+ serialised: BuilderOptionSelectMapSerialisedSchema
49
+ },
50
+ componentSelectMap: {
51
+ runtime: BuilderComponentSelectMapSerialisedSchema,
52
+ serialised: BuilderComponentSelectMapSerialisedSchema
53
+ },
54
+ collectionSelectMap: {
55
+ runtime: BuilderCollectionSelectMapSerialisedSchema,
56
+ serialised: BuilderCollectionSelectMapSerialisedSchema
57
+ },
58
+ paths: { runtime: BuilderPathsSchema, serialised: BuilderPathsSchema },
59
+ path: { runtime: BuilderPathSchema, serialised: BuilderPathSchema },
60
+ number: { runtime: v.number(), serialised: v.number() },
61
+ string: { runtime: v.string(), serialised: v.string() },
62
+ boolean: { runtime: v.boolean(), serialised: v.boolean() }
30
63
  };
31
- const walkerSerialise = createWalkerSerialise();
32
- const walkerDeserialise = createWalkerDeserialise();
33
- export const serialise = deriveMap(entities, ({ serialised }) => (input) => walkerSerialise(serialised, input));
34
- export const deserialise = deriveMap(entities, ({ serialised }) => (data) => walkerDeserialise(serialised, v.parse(serialised, data)));
35
- function deriveMap(input, build) {
36
- const result = {};
37
- Object.entries(input).forEach(([name, entry]) => {
38
- result[name] = build(entry);
39
- });
40
- return result;
64
+ export const serialise = Object.fromEntries(Object.keys(entitiesMap).map((kind) => [kind, serialiseValue]));
65
+ export function serialiseValue(value) {
66
+ if (value == null || typeof value !== 'object') {
67
+ return value;
68
+ }
69
+ if (isParamable(value)) {
70
+ return value;
71
+ }
72
+ const matched = serialiserMap.find(([schema]) => check.is(schema, value));
73
+ if (matched != null) {
74
+ const [, serialiser] = matched;
75
+ return serialiser(value);
76
+ }
77
+ if (Array.isArray(value)) {
78
+ return value.map(serialiseValue);
79
+ }
80
+ return serialiseRecord(value);
81
+ }
82
+ function serialiser(schema, serialise) {
83
+ return [schema, serialise];
84
+ }
85
+ const serialiserMap = [
86
+ serialiser(BuilderRefSchema, (value) => ({ type: 'ref', id: value.id })),
87
+ serialiser(BuilderParameterSchema, (value) => ({
88
+ type: 'parameter',
89
+ id: value.id,
90
+ name: value.name
91
+ })),
92
+ serialiser(BuilderSchema, (value) => ({
93
+ model: serialiseValue(value.model),
94
+ ui: serialiseValue(value.ui),
95
+ bindings: serialiseRecord(value.bindings)
96
+ })),
97
+ serialiser(BuilderModelSchema, (value) => ({
98
+ models: value.models.map(serialiseValue),
99
+ options: value.options.map(serialiseValue),
100
+ components: value.components.map(serialiseValue),
101
+ collections: value.collections.map(serialiseValue),
102
+ expectations: value.expectations.map(serialiseValue)
103
+ })),
104
+ serialiser(BuilderUISchema, (value) => ({
105
+ uis: value.uis.map(serialiseValue),
106
+ items: value.items.map(serialiseValue),
107
+ expectations: value.expectations.map(serialiseValue)
108
+ })),
109
+ serialiser(BuilderUIPageSchema, (value) => ({
110
+ type: 'page',
111
+ label: serialiseValue(value.label),
112
+ paths: serialiseValue(value.paths)
113
+ })),
114
+ serialiser(BuilderUIDescribeSchema, (value) => ({
115
+ type: 'describe',
116
+ label: serialiseValue(value.label),
117
+ paths: serialiseValue(value.paths)
118
+ })),
119
+ serialiser(BuilderUIPagesSchema, (value) => ({
120
+ type: 'pages',
121
+ name: value.name,
122
+ label: serialiseValue(value.label),
123
+ items: serialiseValue(value.items)
124
+ })),
125
+ serialiser(BuilderOptionSchema, serialiseNamedEntry),
126
+ serialiser(BuilderComponentSchema, serialiseNamedEntry),
127
+ serialiser(BuilderCollectionSchema, serialiseNamedEntry),
128
+ serialiser(BuilderComponentDetailsSchema, (value) => ({ fields: serialiseValue(value.fields) })),
129
+ serialiser(BuilderComponentFieldSchema, (value) => ({
130
+ type: 'component-field',
131
+ name: value.name,
132
+ valueType: value.valueType,
133
+ isOptional: value.isOptional
134
+ })),
135
+ serialiser(BuilderCollectionConfigSchema, (value) => ({
136
+ model: serialiseValue(value.model),
137
+ min: serialiseValue(value.min),
138
+ max: serialiseValue(value.max)
139
+ })),
140
+ serialiser(BuilderSelectTypeSchema, (value) => ({
141
+ type: 'select',
142
+ options: value.options,
143
+ defaultValue: value.defaultValue,
144
+ isOptional: value.isOptional,
145
+ optionLabels: value.optionLabels
146
+ })),
147
+ serialiser(BuilderToggleTypeSchema, (value) => ({
148
+ type: 'toggle',
149
+ valueType: value.valueType,
150
+ defaultValue: value.defaultValue,
151
+ isOptional: value.isOptional
152
+ })),
153
+ serialiser(BuilderExpectationSchema, (value) => ({ name: value.name, kind: value.kind }))
154
+ ];
155
+ function serialiseNamedEntry(value) {
156
+ const entry = {
157
+ name: value.name,
158
+ payload: serialiseValue(value.payload)
159
+ };
160
+ if (value.paths != null) {
161
+ entry.paths = serialiseValue(value.paths);
162
+ }
163
+ return entry;
164
+ }
165
+ function serialiseRecord(record) {
166
+ return Object.fromEntries(Object.entries(record).map(([key, value]) => [
167
+ key,
168
+ value == null ? value : serialiseValue(value)
169
+ ]));
41
170
  }
@@ -1,12 +1,11 @@
1
1
  import type { BuilderPaths } from '../../paths';
2
- import type { Refable } from '../../references';
3
- import type { BuilderUILabel } from './label';
2
+ import type { Paramable } from '../../references';
4
3
  import * as v from 'valibot';
5
4
  export declare const BuilderDescriptionItemSchema: v.SchemaWithPipe<readonly [v.TupleSchema<[v.StringSchema<undefined>, v.StringSchema<undefined>], undefined>, v.ReadonlyAction<[string, string]>]>;
6
5
  export type BuilderDescriptionItem = v.InferOutput<typeof BuilderDescriptionItemSchema>;
7
6
  export declare const BuilderDescriptionSchema: v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.TupleSchema<[v.StringSchema<undefined>, v.StringSchema<undefined>], undefined>, v.ReadonlyAction<[string, string]>]>, undefined>, v.ReadonlyAction<(readonly [string, string])[]>]>;
8
7
  export type BuilderDescription = v.InferOutput<typeof BuilderDescriptionSchema>;
9
- export declare class BuilderUIDescribe<const Label extends Refable<BuilderUILabel> = Refable<BuilderUILabel>, const Paths extends Refable<BuilderPaths> = Refable<BuilderPaths>> {
8
+ export declare class BuilderUIDescribe<const Label extends Paramable<string> = Paramable<string>, const Paths extends Paramable<BuilderPaths> = Paramable<BuilderPaths>> {
10
9
  readonly type: "describe";
11
10
  readonly label: Label;
12
11
  readonly paths: Paths;
@@ -15,86 +14,53 @@ export declare class BuilderUIDescribe<const Label extends Refable<BuilderUILabe
15
14
  export declare const BuilderUIDescribeSchema: v.InstanceSchema<typeof BuilderUIDescribe, undefined>;
16
15
  export declare const BuilderUIDescribeSerialisedSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
17
16
  readonly type: v.LiteralSchema<"describe", undefined>;
18
- readonly label: v.SchemaWithPipe<readonly [v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
19
- readonly type: v.LiteralSchema<"ref", undefined>;
17
+ readonly label: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
18
+ readonly type: v.LiteralSchema<"parameter", undefined>;
20
19
  readonly id: v.StringSchema<undefined>;
21
20
  readonly name: v.StringSchema<undefined>;
22
21
  }, undefined>, v.ReadonlyAction<{
23
- type: "ref";
22
+ type: "parameter";
24
23
  id: string;
25
24
  name: string;
26
- }>]>, v.InstanceSchema<typeof import("../..").BuilderRef, undefined>, v.SchemaWithPipe<readonly [v.ObjectSchema<{
27
- readonly label: v.StringSchema<undefined>;
28
- }, undefined>, v.MetadataAction<{
29
- label: string;
30
- }, {
31
- readonly serialisable: typeof BuilderUILabel;
32
- readonly instance: v.InstanceSchema<typeof BuilderUILabel, undefined>;
33
- }>, v.ReadonlyAction<{
34
- label: string;
35
- }>]>], undefined>, v.MetadataAction<import("../..").BuilderRef | Readonly<{
25
+ }>]>, v.SchemaWithPipe<readonly [v.ObjectSchema<{
26
+ readonly type: v.LiteralSchema<"ref", undefined>;
27
+ readonly id: v.StringSchema<undefined>;
28
+ }, undefined>, v.ReadonlyAction<{
36
29
  type: "ref";
37
30
  id: string;
38
- name: string;
39
- }> | Readonly<{
40
- label: string;
41
- }>, {
42
- readonly refable: v.SchemaWithPipe<readonly [v.ObjectSchema<{
43
- readonly label: v.StringSchema<undefined>;
44
- }, undefined>, v.MetadataAction<{
45
- label: string;
46
- }, {
47
- readonly serialisable: typeof BuilderUILabel;
48
- readonly instance: v.InstanceSchema<typeof BuilderUILabel, undefined>;
49
- }>, v.ReadonlyAction<{
50
- label: string;
51
- }>]>;
52
- }>]>;
53
- readonly paths: v.SchemaWithPipe<readonly [v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
54
- readonly type: v.LiteralSchema<"ref", undefined>;
31
+ }>]>, v.StringSchema<undefined>], undefined>;
32
+ readonly paths: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
33
+ readonly type: v.LiteralSchema<"parameter", undefined>;
55
34
  readonly id: v.StringSchema<undefined>;
56
35
  readonly name: v.StringSchema<undefined>;
57
36
  }, undefined>, v.ReadonlyAction<{
58
- type: "ref";
37
+ type: "parameter";
59
38
  id: string;
60
39
  name: string;
61
- }>]>, 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<{
40
+ }>]>, v.SchemaWithPipe<readonly [v.ObjectSchema<{
41
+ readonly type: v.LiteralSchema<"ref", undefined>;
42
+ readonly id: v.StringSchema<undefined>;
43
+ }, undefined>, v.ReadonlyAction<{
62
44
  type: "ref";
63
45
  id: string;
64
- name: string;
65
- }>, {
66
- 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)[])[]>]>;
67
- }>]>;
68
- }, undefined>, v.MetadataAction<{
46
+ }>]>, 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>;
47
+ }, undefined>, v.ReadonlyAction<{
69
48
  type: "describe";
70
- label: import("../..").BuilderRef | Readonly<{
71
- type: "ref";
49
+ label: string | Readonly<{
50
+ type: "parameter";
72
51
  id: string;
73
52
  name: string;
74
53
  }> | Readonly<{
75
- label: string;
76
- }>;
77
- paths: readonly (readonly (string | number)[])[] | import("../..").BuilderRef | Readonly<{
78
54
  type: "ref";
79
55
  id: string;
80
- name: string;
81
56
  }>;
82
- }, {
83
- readonly serialisable: typeof BuilderUIDescribe;
84
- readonly instance: v.InstanceSchema<typeof BuilderUIDescribe, undefined>;
85
- }>, v.ReadonlyAction<{
86
- type: "describe";
87
- label: import("../..").BuilderRef | Readonly<{
88
- type: "ref";
57
+ paths: readonly (readonly (string | number)[])[] | Readonly<{
58
+ type: "parameter";
89
59
  id: string;
90
60
  name: string;
91
61
  }> | Readonly<{
92
- label: string;
93
- }>;
94
- paths: readonly (readonly (string | number)[])[] | import("../..").BuilderRef | Readonly<{
95
62
  type: "ref";
96
63
  id: string;
97
- name: string;
98
64
  }>;
99
65
  }>]>;
100
66
  export type BuilderUIDescribeSerialised = v.InferOutput<typeof BuilderUIDescribeSerialisedSchema>;
@@ -1,8 +1,7 @@
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 { BuilderUILabelSerialisedSchema } from './label.js';
6
5
  export const BuilderDescriptionItemSchema = v.pipe(v.tuple([v.string(), v.string()]), v.readonly());
7
6
  export const BuilderDescriptionSchema = v.pipe(v.array(BuilderDescriptionItemSchema), v.readonly());
8
7
  export class BuilderUIDescribe {
@@ -15,8 +14,8 @@ export class BuilderUIDescribe {
15
14
  }
16
15
  }
17
16
  export const BuilderUIDescribeSchema = v.instance(BuilderUIDescribe);
18
- export const BuilderUIDescribeSerialisedSchema = serialisable(BuilderUIDescribe, v.object({
17
+ export const BuilderUIDescribeSerialisedSchema = serialisable(v.object({
19
18
  type: v.literal('describe'),
20
- label: refable(BuilderUILabelSerialisedSchema),
21
- paths: refable(BuilderPathsSchema)
19
+ label: paramable(v.string()),
20
+ paths: paramable(BuilderPathsSchema)
22
21
  }));
@@ -1,14 +1,9 @@
1
1
  export type { BuilderDescription, BuilderDescriptionItem, BuilderUIDescribeSerialised } from './describe';
2
- export type { BuilderUILabelSerialised } from './label';
3
2
  export type { BuilderUIPageSerialised } from './page';
4
- export type { BuilderUIItem, BuilderUIItems, BuilderUIItemsSerialised, BuilderUIPagesSerialised } from './pages';
5
- export type { BuilderUIBindings } from './parameter';
6
- export type { BuilderUIGeneric, BuilderUIReference, BuilderUIReferences, BuilderUISerialised } from './ui';
7
- export type { BuilderErrorPagesUnknownCollection } from './validate';
3
+ export type { BuilderUIItem, BuilderUIItems, BuilderUIItemSerialised, BuilderUIItemsSerialised, BuilderUIPagesSerialised } from './pages';
4
+ export type { BuilderUIs, BuilderUIsSerialised, BuilderUISerialised } from './ui';
8
5
  export { BuilderDescriptionItemSchema, BuilderDescriptionSchema, BuilderUIDescribe, BuilderUIDescribeSchema, BuilderUIDescribeSerialisedSchema } from './describe.js';
9
- export { BuilderUILabel, BuilderUILabelSchema, BuilderUILabelSerialisedSchema } from './label.js';
10
6
  export { BuilderUIPage, BuilderUIPageSchema, BuilderUIPageSerialisedSchema } from './page.js';
11
- export { BuilderUIItemsSerialisedSchema, BuilderUIPages, BuilderUIPagesSchema, BuilderUIPagesSerialisedSchema } from './pages.js';
12
- export { bindUI } from './parameter.js';
7
+ export { BuilderUIItemSerialisedSchema, BuilderUIItemsSerialisedSchema, BuilderUIPages, BuilderUIPagesSchema, BuilderUIPagesSerialisedSchema } from './pages.js';
13
8
  export { BuilderUI, BuilderUISchema, BuilderUISerialisedSchema } from './ui.js';
14
- export { mergeUIParts, uis } from './uis.js';
9
+ export { uis } from './uis.js';
@@ -1,7 +1,5 @@
1
1
  export { BuilderDescriptionItemSchema, BuilderDescriptionSchema, BuilderUIDescribe, BuilderUIDescribeSchema, BuilderUIDescribeSerialisedSchema } from './describe.js';
2
- export { BuilderUILabel, BuilderUILabelSchema, BuilderUILabelSerialisedSchema } from './label.js';
3
2
  export { BuilderUIPage, BuilderUIPageSchema, BuilderUIPageSerialisedSchema } from './page.js';
4
- export { BuilderUIItemsSerialisedSchema, BuilderUIPages, BuilderUIPagesSchema, BuilderUIPagesSerialisedSchema } from './pages.js';
5
- export { bindUI } from './parameter.js';
3
+ export { BuilderUIItemSerialisedSchema, BuilderUIItemsSerialisedSchema, BuilderUIPages, BuilderUIPagesSchema, BuilderUIPagesSerialisedSchema } from './pages.js';
6
4
  export { BuilderUI, BuilderUISchema, BuilderUISerialisedSchema } from './ui.js';
7
- export { mergeUIParts, uis } from './uis.js';
5
+ export { uis } from './uis.js';
@@ -1,8 +1,7 @@
1
1
  import type { BuilderPaths } from '../../paths';
2
- import type { Refable } from '../../references';
3
- import type { BuilderUILabel } from './label';
2
+ import type { Paramable } from '../../references';
4
3
  import * as v from 'valibot';
5
- export declare class BuilderUIPage<const Label extends Refable<BuilderUILabel> = Refable<BuilderUILabel>, const Paths extends Refable<BuilderPaths> = Refable<BuilderPaths>> {
4
+ export declare class BuilderUIPage<const Label extends Paramable<string> = Paramable<string>, const Paths extends Paramable<BuilderPaths> = Paramable<BuilderPaths>> {
6
5
  readonly type: "page";
7
6
  readonly label: Label;
8
7
  readonly paths: Paths;
@@ -11,86 +10,53 @@ export declare class BuilderUIPage<const Label extends Refable<BuilderUILabel> =
11
10
  export declare const BuilderUIPageSchema: v.InstanceSchema<typeof BuilderUIPage, undefined>;
12
11
  export declare const BuilderUIPageSerialisedSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
13
12
  readonly type: v.LiteralSchema<"page", undefined>;
14
- readonly label: v.SchemaWithPipe<readonly [v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
15
- readonly type: v.LiteralSchema<"ref", undefined>;
13
+ readonly label: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
14
+ readonly type: v.LiteralSchema<"parameter", undefined>;
16
15
  readonly id: v.StringSchema<undefined>;
17
16
  readonly name: v.StringSchema<undefined>;
18
17
  }, undefined>, v.ReadonlyAction<{
19
- type: "ref";
18
+ type: "parameter";
20
19
  id: string;
21
20
  name: string;
22
- }>]>, v.InstanceSchema<typeof import("../..").BuilderRef, undefined>, v.SchemaWithPipe<readonly [v.ObjectSchema<{
23
- readonly label: v.StringSchema<undefined>;
24
- }, undefined>, v.MetadataAction<{
25
- label: string;
26
- }, {
27
- readonly serialisable: typeof BuilderUILabel;
28
- readonly instance: v.InstanceSchema<typeof BuilderUILabel, undefined>;
29
- }>, v.ReadonlyAction<{
30
- label: string;
31
- }>]>], undefined>, v.MetadataAction<import("../..").BuilderRef | Readonly<{
21
+ }>]>, v.SchemaWithPipe<readonly [v.ObjectSchema<{
22
+ readonly type: v.LiteralSchema<"ref", undefined>;
23
+ readonly id: v.StringSchema<undefined>;
24
+ }, undefined>, v.ReadonlyAction<{
32
25
  type: "ref";
33
26
  id: string;
34
- name: string;
35
- }> | Readonly<{
36
- label: string;
37
- }>, {
38
- readonly refable: v.SchemaWithPipe<readonly [v.ObjectSchema<{
39
- readonly label: v.StringSchema<undefined>;
40
- }, undefined>, v.MetadataAction<{
41
- label: string;
42
- }, {
43
- readonly serialisable: typeof BuilderUILabel;
44
- readonly instance: v.InstanceSchema<typeof BuilderUILabel, undefined>;
45
- }>, v.ReadonlyAction<{
46
- label: string;
47
- }>]>;
48
- }>]>;
49
- readonly paths: v.SchemaWithPipe<readonly [v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
50
- readonly type: v.LiteralSchema<"ref", undefined>;
27
+ }>]>, v.StringSchema<undefined>], undefined>;
28
+ readonly paths: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
29
+ readonly type: v.LiteralSchema<"parameter", undefined>;
51
30
  readonly id: v.StringSchema<undefined>;
52
31
  readonly name: v.StringSchema<undefined>;
53
32
  }, undefined>, v.ReadonlyAction<{
54
- type: "ref";
33
+ type: "parameter";
55
34
  id: string;
56
35
  name: string;
57
- }>]>, 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<{
36
+ }>]>, v.SchemaWithPipe<readonly [v.ObjectSchema<{
37
+ readonly type: v.LiteralSchema<"ref", undefined>;
38
+ readonly id: v.StringSchema<undefined>;
39
+ }, undefined>, v.ReadonlyAction<{
58
40
  type: "ref";
59
41
  id: string;
60
- name: string;
61
- }>, {
62
- 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)[])[]>]>;
63
- }>]>;
64
- }, undefined>, v.MetadataAction<{
42
+ }>]>, 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>;
43
+ }, undefined>, v.ReadonlyAction<{
65
44
  type: "page";
66
- label: import("../..").BuilderRef | Readonly<{
67
- type: "ref";
45
+ label: string | Readonly<{
46
+ type: "parameter";
68
47
  id: string;
69
48
  name: string;
70
49
  }> | Readonly<{
71
- label: string;
72
- }>;
73
- paths: readonly (readonly (string | number)[])[] | import("../..").BuilderRef | Readonly<{
74
50
  type: "ref";
75
51
  id: string;
76
- name: string;
77
52
  }>;
78
- }, {
79
- readonly serialisable: typeof BuilderUIPage;
80
- readonly instance: v.InstanceSchema<typeof BuilderUIPage, undefined>;
81
- }>, v.ReadonlyAction<{
82
- type: "page";
83
- label: import("../..").BuilderRef | Readonly<{
84
- type: "ref";
53
+ paths: readonly (readonly (string | number)[])[] | Readonly<{
54
+ type: "parameter";
85
55
  id: string;
86
56
  name: string;
87
57
  }> | Readonly<{
88
- label: string;
89
- }>;
90
- paths: readonly (readonly (string | number)[])[] | import("../..").BuilderRef | Readonly<{
91
58
  type: "ref";
92
59
  id: string;
93
- name: string;
94
60
  }>;
95
61
  }>]>;
96
62
  export type BuilderUIPageSerialised = v.InferOutput<typeof BuilderUIPageSerialisedSchema>;
@@ -1,8 +1,7 @@
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 { BuilderUILabelSerialisedSchema } from './label.js';
6
5
  export class BuilderUIPage {
7
6
  type = 'page';
8
7
  label;
@@ -13,8 +12,8 @@ export class BuilderUIPage {
13
12
  }
14
13
  }
15
14
  export const BuilderUIPageSchema = v.instance(BuilderUIPage);
16
- export const BuilderUIPageSerialisedSchema = serialisable(BuilderUIPage, v.object({
15
+ export const BuilderUIPageSerialisedSchema = serialisable(v.object({
17
16
  type: v.literal('page'),
18
- label: refable(BuilderUILabelSerialisedSchema),
19
- paths: refable(BuilderPathsSchema)
17
+ label: paramable(v.string()),
18
+ paths: paramable(BuilderPathsSchema)
20
19
  }));