@builder-builder/builder 0.0.10 → 0.0.12

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 -85
  6. package/dist/entities/builder/bind.js +1 -9
  7. package/dist/entities/builder/builder.d.ts +17 -509
  8. package/dist/entities/builder/builder.js +19 -79
  9. package/dist/entities/builder/factory.d.ts +7 -0
  10. package/dist/entities/builder/factory.js +4 -0
  11. package/dist/entities/builder/index.d.ts +3 -6
  12. package/dist/entities/builder/index.js +1 -2
  13. package/dist/entities/collection/collection.d.ts +69 -19
  14. package/dist/entities/collection/collection.js +7 -25
  15. package/dist/entities/collection/config.d.ts +38 -1095
  16. package/dist/entities/collection/config.js +8 -8
  17. package/dist/entities/collection/expectation.d.ts +8 -4
  18. package/dist/entities/collection/index.d.ts +2 -2
  19. package/dist/entities/collection/when.d.ts +5 -4
  20. package/dist/entities/component/component.d.ts +264 -293
  21. package/dist/entities/component/component.js +5 -5
  22. package/dist/entities/component/details.d.ts +32 -57
  23. package/dist/entities/component/details.js +8 -8
  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 +4 -2
  29. package/dist/entities/component/index.js +2 -1
  30. package/dist/entities/component/when.d.ts +1 -1
  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 +20 -17
  36. package/dist/entities/index.js +9 -8
  37. package/dist/entities/kind.d.ts +8 -5
  38. package/dist/entities/kind.js +3 -4
  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 +1 -1
  51. package/dist/entities/option/index.js +1 -1
  52. package/dist/entities/option/option.d.ts +210 -209
  53. package/dist/entities/option/option.js +5 -5
  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 +3 -21
  59. package/dist/entities/option/values.js +8 -2
  60. package/dist/entities/option/when.d.ts +5 -4
  61. package/dist/entities/refs.d.ts +6 -0
  62. package/dist/entities/refs.js +1 -0
  63. package/dist/entities/serialise.d.ts +388 -2919
  64. package/dist/entities/serialise.js +116 -17
  65. package/dist/entities/ui/describe.d.ts +22 -31
  66. package/dist/entities/ui/describe.js +1 -1
  67. package/dist/entities/ui/index.d.ts +2 -5
  68. package/dist/entities/ui/index.js +1 -2
  69. package/dist/entities/ui/page.d.ts +22 -31
  70. package/dist/entities/ui/page.js +1 -1
  71. package/dist/entities/ui/pages.d.ts +11 -8
  72. package/dist/entities/ui/pages.js +1 -1
  73. package/dist/entities/ui/ui.d.ts +22 -1194
  74. package/dist/entities/ui/ui.js +16 -28
  75. package/dist/entities/ui/uis.d.ts +5 -15
  76. package/dist/entities/ui/uis.js +12 -18
  77. package/dist/entities/validated.d.ts +35 -0
  78. package/dist/entities/validated.js +1 -0
  79. package/dist/entities/when.d.ts +62 -54
  80. package/dist/entities/when.js +1 -0
  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 -28
  86. package/dist/index.js +5 -13
  87. package/dist/instance.d.ts +56 -0
  88. package/dist/instance.js +10 -0
  89. package/dist/mappers/index.d.ts +7 -7
  90. package/dist/mappers/index.js +5 -4
  91. package/dist/mappers/instance.d.ts +3 -0
  92. package/dist/mappers/instance.js +36 -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 +5 -4
  96. package/dist/mappers/render/render.d.ts +2 -3
  97. package/dist/mappers/render/render.js +97 -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 +13 -48
  109. package/dist/references.js +6 -14
  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 +220 -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 +5 -4
  133. package/dist/entities/bind.d.ts +0 -4
  134. package/dist/entities/bind.js +0 -44
  135. package/dist/entities/builder/builders.d.ts +0 -35
  136. package/dist/entities/builder/builders.js +0 -19
  137. package/dist/entities/builder/expectation.d.ts +0 -12
  138. package/dist/entities/builder/methods.d.ts +0 -58
  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/bind.d.ts +0 -10
  143. package/dist/entities/ui/bind.js +0 -9
  144. package/dist/entities/ui/validate.d.ts +0 -8
  145. package/dist/entities/ui/validate.js +0 -21
  146. package/dist/entities/validate.d.ts +0 -28
  147. package/dist/mappers/assert/builder.d.ts +0 -2
  148. package/dist/mappers/assert/builder.js +0 -46
  149. package/dist/mappers/assert/expectation.d.ts +0 -2
  150. package/dist/mappers/assert/expectation.js +0 -23
  151. package/dist/mappers/assert/index.d.ts +0 -6
  152. package/dist/mappers/assert/index.js +0 -4
  153. package/dist/mappers/assert/model.d.ts +0 -13
  154. package/dist/mappers/assert/model.js +0 -47
  155. package/dist/mappers/assert/models.d.ts +0 -33
  156. package/dist/mappers/assert/models.js +0 -74
  157. package/dist/mappers/assert/ui.d.ts +0 -2
  158. package/dist/mappers/assert/ui.js +0 -22
  159. package/dist/mappers/instance/index.d.ts +0 -1
  160. package/dist/mappers/instance/index.js +0 -1
  161. package/dist/mappers/instance/instance.d.ts +0 -4
  162. package/dist/mappers/instance/instance.js +0 -33
  163. package/dist/mappers/models/component-graph.d.ts +0 -9
  164. package/dist/mappers/models/component-graph.js +0 -51
  165. package/dist/mappers/models/graph.d.ts +0 -12
  166. package/dist/mappers/models/graph.js +0 -17
  167. package/dist/mappers/models/index.d.ts +0 -1
  168. package/dist/mappers/models/index.js +0 -1
  169. package/dist/mappers/models/models.d.ts +0 -3
  170. package/dist/mappers/models/models.js +0 -37
  171. package/dist/mappers/models/option-graph.d.ts +0 -9
  172. package/dist/mappers/order/index.d.ts +0 -2
  173. package/dist/mappers/order/index.js +0 -1
  174. package/dist/mappers/order/order.d.ts +0 -14
  175. package/dist/mappers/order/order.js +0 -31
  176. package/dist/mappers/refs.d.ts +0 -12
  177. package/dist/mappers/refs.js +0 -36
  178. package/dist/model.d.ts +0 -35
  179. package/dist/model.js +0 -9
  180. package/dist/walker/index.d.ts +0 -2
  181. package/dist/walker/index.js +0 -1
  182. package/dist/walker/walkable.d.ts +0 -4
  183. package/dist/walker/walkable.js +0 -4
  184. package/dist/walker/walker.d.ts +0 -26
  185. package/dist/walker/walker.js +0 -115
  186. package/dist/walker/walkers.d.ts +0 -9
  187. package/dist/walker/walkers.js +0 -55
  188. /package/dist/entities/{builder/expectation.js → entry.js} +0 -0
  189. /package/dist/entities/{builder/state.js → model/bind.js} +0 -0
  190. /package/dist/entities/{errors.js → model/expectation.js} +0 -0
  191. /package/dist/entities/{validate.js → model/state.js} +0 -0
@@ -1,14 +1,17 @@
1
1
  import * as v from 'valibot';
2
2
  import { BuilderPathSchema, BuilderPathsSchema } from '../paths.js';
3
- import { createWalkerDeserialise, createWalkerSerialise } from '../walker/index.js';
4
- import { BuilderSchema, BuilderSerialisedSchema } from './builder/index.js';
5
- import { BuilderCollectionConfigSchema, BuilderCollectionConfigSerialisedSchema, BuilderCollectionSelectMapSerialisedSchema, BuilderCollectionWhenSerialisedSchema } from './collection/index.js';
6
- import { BuilderComponentDetailsSchema, BuilderComponentDetailsSerialisedSchema, BuilderComponentSelectMapSerialisedSchema, BuilderComponentWhenSerialisedSchema } from './component/index.js';
7
- import { BuilderExpectationsSchema, BuilderExpectationsSerialisedSchema } from './expectation.js';
8
- import { BuilderOptionSelectMapSerialisedSchema, BuilderOptionWhenSerialisedSchema, BuilderSelectTypeSchema, BuilderSelectTypeSerialisedSchema, BuilderToggleTypeSchema, BuilderToggleTypeSerialisedSchema } from './option/index.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';
9
10
  import { BuilderUIDescribeSchema, BuilderUIDescribeSerialisedSchema, BuilderUIItemsSerialisedSchema, BuilderUIPageSchema, BuilderUIPageSerialisedSchema, BuilderUIPagesSchema, BuilderUIPagesSerialisedSchema, BuilderUISchema, BuilderUISerialisedSchema } from './ui/index.js';
10
- export const entitiesByKind = {
11
+ import { BuilderSchema, BuilderSerialisedSchema } from './builder/index.js';
12
+ export const entitiesMap = {
11
13
  builder: { runtime: BuilderSchema, serialised: BuilderSerialisedSchema },
14
+ model: { runtime: BuilderModelSchema, serialised: BuilderModelSerialisedSchema },
12
15
  ui: { runtime: BuilderUISchema, serialised: BuilderUISerialisedSchema },
13
16
  select: { runtime: BuilderSelectTypeSchema, serialised: BuilderSelectTypeSerialisedSchema },
14
17
  toggle: { runtime: BuilderToggleTypeSchema, serialised: BuilderToggleTypeSerialisedSchema },
@@ -58,14 +61,110 @@ export const entitiesByKind = {
58
61
  string: { runtime: v.string(), serialised: v.string() },
59
62
  boolean: { runtime: v.boolean(), serialised: v.boolean() }
60
63
  };
61
- const walkerSerialise = createWalkerSerialise();
62
- const walkerDeserialise = createWalkerDeserialise();
63
- export const serialise = deriveMap(entitiesByKind, ({ serialised }) => (input) => walkerSerialise(serialised, input));
64
- export const deserialise = deriveMap(entitiesByKind, ({ serialised }) => (data) => walkerDeserialise(serialised, v.parse(serialised, data)));
65
- function deriveMap(input, build) {
66
- const result = {};
67
- Object.entries(input).forEach(([name, entry]) => {
68
- result[name] = build(entry);
69
- });
70
- 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
+ ]));
71
170
  }
@@ -14,7 +14,7 @@ export declare class BuilderUIDescribe<const Label extends Paramable<string> = P
14
14
  export declare const BuilderUIDescribeSchema: v.InstanceSchema<typeof BuilderUIDescribe, undefined>;
15
15
  export declare const BuilderUIDescribeSerialisedSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
16
16
  readonly type: v.LiteralSchema<"describe", undefined>;
17
- readonly label: v.SchemaWithPipe<readonly [v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
17
+ readonly label: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
18
18
  readonly type: v.LiteralSchema<"parameter", undefined>;
19
19
  readonly id: v.StringSchema<undefined>;
20
20
  readonly name: v.StringSchema<undefined>;
@@ -22,14 +22,14 @@ export declare const BuilderUIDescribeSerialisedSchema: v.SchemaWithPipe<readonl
22
22
  type: "parameter";
23
23
  id: string;
24
24
  name: string;
25
- }>]>, v.InstanceSchema<typeof import("../..").BuilderParameter, undefined>, v.StringSchema<undefined>], undefined>, v.MetadataAction<string | Readonly<{
26
- type: "parameter";
25
+ }>]>, v.SchemaWithPipe<readonly [v.ObjectSchema<{
26
+ readonly type: v.LiteralSchema<"ref", undefined>;
27
+ readonly id: v.StringSchema<undefined>;
28
+ }, undefined>, v.ReadonlyAction<{
29
+ type: "ref";
27
30
  id: string;
28
- name: string;
29
- }> | import("../..").BuilderParameter<string>, {
30
- readonly paramable: v.StringSchema<undefined>;
31
- }>]>;
32
- readonly paths: v.SchemaWithPipe<readonly [v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
31
+ }>]>, v.StringSchema<undefined>], undefined>;
32
+ readonly paths: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
33
33
  readonly type: v.LiteralSchema<"parameter", undefined>;
34
34
  readonly id: v.StringSchema<undefined>;
35
35
  readonly name: v.StringSchema<undefined>;
@@ -37,39 +37,30 @@ export declare const BuilderUIDescribeSerialisedSchema: v.SchemaWithPipe<readonl
37
37
  type: "parameter";
38
38
  id: string;
39
39
  name: string;
40
- }>]>, 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<{
41
- type: "parameter";
40
+ }>]>, v.SchemaWithPipe<readonly [v.ObjectSchema<{
41
+ readonly type: v.LiteralSchema<"ref", undefined>;
42
+ readonly id: v.StringSchema<undefined>;
43
+ }, undefined>, v.ReadonlyAction<{
44
+ type: "ref";
42
45
  id: string;
43
- name: string;
44
- }> | import("../..").BuilderParameter<string>, {
45
- 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)[])[]>]>;
46
- }>]>;
47
- }, 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<{
48
48
  type: "describe";
49
49
  label: string | Readonly<{
50
50
  type: "parameter";
51
51
  id: string;
52
52
  name: string;
53
- }> | import("../..").BuilderParameter<string>;
54
- paths: readonly (readonly (string | number)[])[] | Readonly<{
55
- type: "parameter";
56
- id: string;
57
- name: string;
58
- }> | import("../..").BuilderParameter<string>;
59
- }, {
60
- readonly serialisable: typeof BuilderUIDescribe;
61
- readonly instance: v.InstanceSchema<typeof BuilderUIDescribe, undefined>;
62
- }>, v.ReadonlyAction<{
63
- type: "describe";
64
- label: string | Readonly<{
65
- type: "parameter";
53
+ }> | Readonly<{
54
+ type: "ref";
66
55
  id: string;
67
- name: string;
68
- }> | import("../..").BuilderParameter<string>;
56
+ }>;
69
57
  paths: readonly (readonly (string | number)[])[] | Readonly<{
70
58
  type: "parameter";
71
59
  id: string;
72
60
  name: string;
73
- }> | import("../..").BuilderParameter<string>;
61
+ }> | Readonly<{
62
+ type: "ref";
63
+ id: string;
64
+ }>;
74
65
  }>]>;
75
66
  export type BuilderUIDescribeSerialised = v.InferOutput<typeof BuilderUIDescribeSerialisedSchema>;
@@ -14,7 +14,7 @@ export class BuilderUIDescribe {
14
14
  }
15
15
  }
16
16
  export const BuilderUIDescribeSchema = v.instance(BuilderUIDescribe);
17
- export const BuilderUIDescribeSerialisedSchema = serialisable(BuilderUIDescribe, v.object({
17
+ export const BuilderUIDescribeSerialisedSchema = serialisable(v.object({
18
18
  type: v.literal('describe'),
19
19
  label: paramable(v.string()),
20
20
  paths: paramable(BuilderPathsSchema)
@@ -1,12 +1,9 @@
1
1
  export type { BuilderDescription, BuilderDescriptionItem, BuilderUIDescribeSerialised } from './describe';
2
2
  export type { BuilderUIPageSerialised } from './page';
3
3
  export type { BuilderUIItem, BuilderUIItems, BuilderUIItemSerialised, BuilderUIItemsSerialised, BuilderUIPagesSerialised } from './pages';
4
- export type { BuilderUIBindings } from './bind';
5
- export type { BuilderUIGeneric, BuilderUIPart, BuilderUIParts, BuilderUISerialised } from './ui';
6
- export type { BuilderErrorPagesUnknownCollection } from './validate';
4
+ export type { BuilderUIs, BuilderUIsSerialised, BuilderUISerialised } from './ui';
7
5
  export { BuilderDescriptionItemSchema, BuilderDescriptionSchema, BuilderUIDescribe, BuilderUIDescribeSchema, BuilderUIDescribeSerialisedSchema } from './describe.js';
8
6
  export { BuilderUIPage, BuilderUIPageSchema, BuilderUIPageSerialisedSchema } from './page.js';
9
7
  export { BuilderUIItemSerialisedSchema, BuilderUIItemsSerialisedSchema, BuilderUIPages, BuilderUIPagesSchema, BuilderUIPagesSerialisedSchema } from './pages.js';
10
- export { bindUI } from './bind.js';
11
8
  export { BuilderUI, BuilderUISchema, BuilderUISerialisedSchema } from './ui.js';
12
- export { mergeUIParts, uis } from './uis.js';
9
+ export { uis } from './uis.js';
@@ -1,6 +1,5 @@
1
1
  export { BuilderDescriptionItemSchema, BuilderDescriptionSchema, BuilderUIDescribe, BuilderUIDescribeSchema, BuilderUIDescribeSerialisedSchema } from './describe.js';
2
2
  export { BuilderUIPage, BuilderUIPageSchema, BuilderUIPageSerialisedSchema } from './page.js';
3
3
  export { BuilderUIItemSerialisedSchema, BuilderUIItemsSerialisedSchema, BuilderUIPages, BuilderUIPagesSchema, BuilderUIPagesSerialisedSchema } from './pages.js';
4
- export { bindUI } from './bind.js';
5
4
  export { BuilderUI, BuilderUISchema, BuilderUISerialisedSchema } from './ui.js';
6
- export { mergeUIParts, uis } from './uis.js';
5
+ export { uis } from './uis.js';
@@ -10,7 +10,7 @@ export declare class BuilderUIPage<const Label extends Paramable<string> = Param
10
10
  export declare const BuilderUIPageSchema: v.InstanceSchema<typeof BuilderUIPage, undefined>;
11
11
  export declare const BuilderUIPageSerialisedSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
12
12
  readonly type: v.LiteralSchema<"page", undefined>;
13
- readonly label: v.SchemaWithPipe<readonly [v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
13
+ readonly label: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
14
14
  readonly type: v.LiteralSchema<"parameter", undefined>;
15
15
  readonly id: v.StringSchema<undefined>;
16
16
  readonly name: v.StringSchema<undefined>;
@@ -18,14 +18,14 @@ export declare const BuilderUIPageSerialisedSchema: v.SchemaWithPipe<readonly [v
18
18
  type: "parameter";
19
19
  id: string;
20
20
  name: string;
21
- }>]>, v.InstanceSchema<typeof import("../..").BuilderParameter, undefined>, v.StringSchema<undefined>], undefined>, v.MetadataAction<string | Readonly<{
22
- type: "parameter";
21
+ }>]>, v.SchemaWithPipe<readonly [v.ObjectSchema<{
22
+ readonly type: v.LiteralSchema<"ref", undefined>;
23
+ readonly id: v.StringSchema<undefined>;
24
+ }, undefined>, v.ReadonlyAction<{
25
+ type: "ref";
23
26
  id: string;
24
- name: string;
25
- }> | import("../..").BuilderParameter<string>, {
26
- readonly paramable: v.StringSchema<undefined>;
27
- }>]>;
28
- readonly paths: v.SchemaWithPipe<readonly [v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
27
+ }>]>, v.StringSchema<undefined>], undefined>;
28
+ readonly paths: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
29
29
  readonly type: v.LiteralSchema<"parameter", undefined>;
30
30
  readonly id: v.StringSchema<undefined>;
31
31
  readonly name: v.StringSchema<undefined>;
@@ -33,39 +33,30 @@ export declare const BuilderUIPageSerialisedSchema: v.SchemaWithPipe<readonly [v
33
33
  type: "parameter";
34
34
  id: string;
35
35
  name: string;
36
- }>]>, 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<{
37
- type: "parameter";
36
+ }>]>, v.SchemaWithPipe<readonly [v.ObjectSchema<{
37
+ readonly type: v.LiteralSchema<"ref", undefined>;
38
+ readonly id: v.StringSchema<undefined>;
39
+ }, undefined>, v.ReadonlyAction<{
40
+ type: "ref";
38
41
  id: string;
39
- name: string;
40
- }> | import("../..").BuilderParameter<string>, {
41
- 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)[])[]>]>;
42
- }>]>;
43
- }, 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<{
44
44
  type: "page";
45
45
  label: string | Readonly<{
46
46
  type: "parameter";
47
47
  id: string;
48
48
  name: string;
49
- }> | import("../..").BuilderParameter<string>;
50
- paths: readonly (readonly (string | number)[])[] | Readonly<{
51
- type: "parameter";
52
- id: string;
53
- name: string;
54
- }> | import("../..").BuilderParameter<string>;
55
- }, {
56
- readonly serialisable: typeof BuilderUIPage;
57
- readonly instance: v.InstanceSchema<typeof BuilderUIPage, undefined>;
58
- }>, v.ReadonlyAction<{
59
- type: "page";
60
- label: string | Readonly<{
61
- type: "parameter";
49
+ }> | Readonly<{
50
+ type: "ref";
62
51
  id: string;
63
- name: string;
64
- }> | import("../..").BuilderParameter<string>;
52
+ }>;
65
53
  paths: readonly (readonly (string | number)[])[] | Readonly<{
66
54
  type: "parameter";
67
55
  id: string;
68
56
  name: string;
69
- }> | import("../..").BuilderParameter<string>;
57
+ }> | Readonly<{
58
+ type: "ref";
59
+ id: string;
60
+ }>;
70
61
  }>]>;
71
62
  export type BuilderUIPageSerialised = v.InferOutput<typeof BuilderUIPageSerialisedSchema>;
@@ -12,7 +12,7 @@ export class BuilderUIPage {
12
12
  }
13
13
  }
14
14
  export const BuilderUIPageSchema = v.instance(BuilderUIPage);
15
- export const BuilderUIPageSerialisedSchema = serialisable(BuilderUIPage, v.object({
15
+ export const BuilderUIPageSerialisedSchema = serialisable(v.object({
16
16
  type: v.literal('page'),
17
17
  label: paramable(v.string()),
18
18
  paths: paramable(BuilderPathsSchema)
@@ -22,7 +22,7 @@ export type BuilderUIItemSerialised = BuilderUIPageSerialised | BuilderUIDescrib
22
22
  export type BuilderUIItemsSerialised = ReadonlyArray<ParamableSerialised<BuilderUIItemSerialised>>;
23
23
  export declare const BuilderUIPagesSerialisedSchema: v.GenericSchema<BuilderUIPagesSerialised>;
24
24
  export declare const BuilderUIItemSerialisedSchema: v.GenericSchema<BuilderUIItemSerialised>;
25
- export declare const BuilderUIItemsSerialisedSchema: v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
25
+ export declare const BuilderUIItemsSerialisedSchema: v.SchemaWithPipe<readonly [v.ArraySchema<v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
26
26
  readonly type: v.LiteralSchema<"parameter", undefined>;
27
27
  readonly id: v.StringSchema<undefined>;
28
28
  readonly name: v.StringSchema<undefined>;
@@ -30,14 +30,17 @@ export declare const BuilderUIItemsSerialisedSchema: v.SchemaWithPipe<readonly [
30
30
  type: "parameter";
31
31
  id: string;
32
32
  name: string;
33
- }>]>, v.InstanceSchema<typeof import("../..").BuilderParameter, undefined>, v.GenericSchema<BuilderUIItemSerialised>], undefined>, v.MetadataAction<Readonly<{
34
- type: "parameter";
33
+ }>]>, v.SchemaWithPipe<readonly [v.ObjectSchema<{
34
+ readonly type: v.LiteralSchema<"ref", undefined>;
35
+ readonly id: v.StringSchema<undefined>;
36
+ }, undefined>, v.ReadonlyAction<{
37
+ type: "ref";
35
38
  id: string;
36
- name: string;
37
- }> | import("../..").BuilderParameter<string> | BuilderUIItemSerialised, {
38
- readonly paramable: v.GenericSchema<BuilderUIItemSerialised>;
39
- }>]>, undefined>, v.ReadonlyAction<(Readonly<{
39
+ }>]>, v.GenericSchema<BuilderUIItemSerialised>], undefined>, undefined>, v.ReadonlyAction<(Readonly<{
40
40
  type: "parameter";
41
41
  id: string;
42
42
  name: string;
43
- }> | import("../..").BuilderParameter<string> | BuilderUIItemSerialised)[]>]>;
43
+ }> | Readonly<{
44
+ type: "ref";
45
+ id: string;
46
+ }> | BuilderUIItemSerialised)[]>]>;
@@ -15,7 +15,7 @@ export class BuilderUIPages {
15
15
  }
16
16
  }
17
17
  export const BuilderUIPagesSchema = v.instance(BuilderUIPages);
18
- export const BuilderUIPagesSerialisedSchema = serialisable(BuilderUIPages, v.object({
18
+ export const BuilderUIPagesSerialisedSchema = serialisable(v.object({
19
19
  type: v.literal('pages'),
20
20
  name: v.string(),
21
21
  label: paramable(v.string()),