swoop-common 2.1.32 → 2.1.34

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.
@@ -75,5 +75,6 @@ const defaultConverter = (field, stage, omitTitle, isChild) => {
75
75
  : {};
76
76
  console.log(templates);
77
77
  let title = omitTitle ? undefined : field.name;
78
+ console.log("FINAL", Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (!isChild && !(Array.isArray(field.editableIn) ? field.editableIn : []).map(Number).includes(stage) && { readOnly: true })), { title, type: schema.schema.type, "x-type": schema.schema["x-type"] }), templates), (schema.schema.type === "object" && { properties })), (field.fieldType === "object" && { required: requiredFields })), (enumOpts && { enum: enumOpts })), (stagedEnumOpts && { items: { enum: stagedEnumOpts, type: "string" } })), (arrayItems && { items: arrayItems })), (field.fieldType === "object" && { properties })));
78
79
  return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (!isChild && !(Array.isArray(field.editableIn) ? field.editableIn : []).map(Number).includes(stage) && { readOnly: true })), { title, type: schema.schema.type, "x-type": schema.schema["x-type"] }), templates), (schema.schema.type === "object" && { properties })), (field.fieldType === "object" && { required: requiredFields })), (enumOpts && { enum: enumOpts })), (stagedEnumOpts && { items: { enum: stagedEnumOpts, type: "string" } })), (arrayItems && { items: arrayItems })), (field.fieldType === "object" && { properties }));
79
80
  };
package/dist/test.d.ts CHANGED
@@ -0,0 +1 @@
1
+ export {};
package/dist/test.js CHANGED
@@ -1 +1,489 @@
1
- "use strict";
1
+ import { generateJsonSchema, Stage } from "./rendering";
2
+ const schema = [
3
+ {
4
+ "required": true,
5
+ "name": "Location",
6
+ "fieldType": "component",
7
+ // @ts-expect-error
8
+ "existsFrom": "0",
9
+ "editableIn": [
10
+ // @ts-expect-error
11
+ "0"
12
+ ],
13
+ "componentOptions": {
14
+ "x-templateIds": [
15
+ "template_0c105b25350647b096753b4f863ab06c"
16
+ ]
17
+ }
18
+ },
19
+ {
20
+ "required": false,
21
+ "name": "Facilities",
22
+ "fieldType": "object",
23
+ // @ts-expect-error
24
+ "existsFrom": "0",
25
+ "editableIn": [
26
+ // @ts-expect-error
27
+ "0"
28
+ ],
29
+ "objectOptions": {
30
+ "properties": [
31
+ {
32
+ "required": true,
33
+ "name": "Bar",
34
+ "fieldType": "boolean",
35
+ "editableIn": [
36
+ "0"
37
+ ],
38
+ "existsFrom": "0"
39
+ },
40
+ {
41
+ "required": true,
42
+ "name": "Elevator",
43
+ "fieldType": "boolean",
44
+ "editableIn": [
45
+ "0"
46
+ ],
47
+ "existsFrom": "0"
48
+ },
49
+ {
50
+ "required": true,
51
+ "name": "Jacuzzi",
52
+ "fieldType": "boolean",
53
+ "existsFrom": "0",
54
+ "editableIn": [
55
+ "0"
56
+ ]
57
+ },
58
+ {
59
+ "required": true,
60
+ "name": "Library",
61
+ "fieldType": "boolean",
62
+ "existsFrom": "0",
63
+ "editableIn": [
64
+ "0"
65
+ ]
66
+ },
67
+ {
68
+ "required": true,
69
+ "name": "Pool",
70
+ "existsFrom": "0",
71
+ "editableIn": [
72
+ "0"
73
+ ],
74
+ "fieldType": "boolean"
75
+ },
76
+ {
77
+ "required": true,
78
+ "name": "Spa",
79
+ "fieldType": "boolean",
80
+ "existsFrom": "0",
81
+ "editableIn": [
82
+ "0"
83
+ ]
84
+ },
85
+ {
86
+ "required": true,
87
+ "name": "Steam Room",
88
+ "fieldType": "boolean",
89
+ "existsFrom": "0",
90
+ "editableIn": [
91
+ "0"
92
+ ]
93
+ },
94
+ {
95
+ "required": true,
96
+ "name": "Laundry",
97
+ "fieldType": "boolean",
98
+ "existsFrom": "0",
99
+ "editableIn": [
100
+ "0"
101
+ ]
102
+ },
103
+ {
104
+ "required": true,
105
+ "name": "Shop",
106
+ "fieldType": "boolean",
107
+ "existsFrom": "0",
108
+ "editableIn": [
109
+ "0"
110
+ ]
111
+ },
112
+ {
113
+ "required": true,
114
+ "name": "Restaurants",
115
+ "fieldType": "boolean",
116
+ "existsFrom": "0",
117
+ "editableIn": [
118
+ "0"
119
+ ]
120
+ },
121
+ {
122
+ "required": true,
123
+ "name": "Sauna",
124
+ "fieldType": "boolean",
125
+ "existsFrom": "0",
126
+ "editableIn": [
127
+ "0"
128
+ ]
129
+ },
130
+ {
131
+ "required": true,
132
+ "name": "Gym",
133
+ "fieldType": "boolean",
134
+ "existsFrom": "0",
135
+ "editableIn": [
136
+ "0"
137
+ ]
138
+ },
139
+ {
140
+ "required": true,
141
+ "name": "Massage",
142
+ "fieldType": "boolean",
143
+ "existsFrom": "0",
144
+ "editableIn": [
145
+ "0"
146
+ ]
147
+ },
148
+ {
149
+ "required": true,
150
+ "name": "Room Service",
151
+ "fieldType": "boolean",
152
+ "existsFrom": "0",
153
+ "editableIn": [
154
+ "0"
155
+ ]
156
+ },
157
+ {
158
+ "required": true,
159
+ "name": "WiFi",
160
+ "fieldType": "boolean",
161
+ "existsFrom": "0",
162
+ "editableIn": [
163
+ "0"
164
+ ]
165
+ },
166
+ {
167
+ "required": true,
168
+ "name": "Phone Signal",
169
+ "fieldType": "boolean",
170
+ "existsFrom": "0",
171
+ "editableIn": [
172
+ "0"
173
+ ]
174
+ }
175
+ ]
176
+ }
177
+ },
178
+ {
179
+ "required": false,
180
+ "name": "Check-in",
181
+ "fieldType": "object",
182
+ "editableIn": [
183
+ // @ts-expect-error
184
+ "0",
185
+ // @ts-expect-error
186
+ "1"
187
+ ],
188
+ // @ts-expect-error
189
+ "existsFrom": "0",
190
+ "objectOptions": {
191
+ "properties": [
192
+ {
193
+ "required": false,
194
+ "name": "Start",
195
+ "fieldType": "string",
196
+ "stringOptions": {
197
+ "format": "time"
198
+ },
199
+ "editableIn": [
200
+ "0",
201
+ "1"
202
+ ],
203
+ "existsFrom": "0"
204
+ },
205
+ {
206
+ "required": false,
207
+ "name": "End",
208
+ "fieldType": "string",
209
+ "existsFrom": "0",
210
+ "editableIn": [
211
+ "0",
212
+ "1"
213
+ ],
214
+ "stringOptions": {
215
+ "format": "time"
216
+ }
217
+ },
218
+ {
219
+ "required": false,
220
+ "name": "Out",
221
+ "fieldType": "string",
222
+ "existsFrom": "0",
223
+ "editableIn": [
224
+ "0",
225
+ "1"
226
+ ],
227
+ "stringOptions": {
228
+ "format": "time"
229
+ }
230
+ }
231
+ ]
232
+ }
233
+ },
234
+ {
235
+ "required": false,
236
+ "name": "Info",
237
+ "fieldType": "object",
238
+ // @ts-expect-error
239
+ "existsFrom": "0",
240
+ "editableIn": [
241
+ // @ts-expect-error
242
+ "0"
243
+ ],
244
+ "objectOptions": {
245
+ "properties": [
246
+ {
247
+ "required": false,
248
+ "name": "Year Built",
249
+ "fieldType": "integer",
250
+ "editableIn": [
251
+ "0"
252
+ ],
253
+ "stringOptions": {},
254
+ "existsFrom": "0"
255
+ },
256
+ {
257
+ "required": false,
258
+ "name": "Capacity",
259
+ "fieldType": "integer",
260
+ "existsFrom": "0",
261
+ "editableIn": [
262
+ "0"
263
+ ]
264
+ }
265
+ ]
266
+ }
267
+ },
268
+ {
269
+ "required": true,
270
+ "name": "Rooms",
271
+ "fieldType": "array",
272
+ // @ts-expect-error
273
+ "existsFrom": "0",
274
+ "editableIn": [
275
+ // @ts-expect-error
276
+ "0"
277
+ ],
278
+ "arrayOptions": {
279
+ "itemDefinition": {
280
+ "fieldType": "object",
281
+ "objectOptions": {
282
+ "properties": [
283
+ {
284
+ "required": true,
285
+ "name": "Size (m^2)",
286
+ "fieldType": "number",
287
+ "editableIn": [
288
+ "0"
289
+ ],
290
+ "existsFrom": "0"
291
+ },
292
+ {
293
+ "required": true,
294
+ "name": "Bed Configurations",
295
+ "fieldType": "array",
296
+ "existsFrom": "0",
297
+ "editableIn": [
298
+ "0"
299
+ ],
300
+ "arrayOptions": {
301
+ "itemDefinition": {
302
+ "fieldType": "enum",
303
+ "enumOptions": {
304
+ "enumValues": [
305
+ "Other",
306
+ "Double",
307
+ "Twin",
308
+ "Bunk Bed",
309
+ "Single",
310
+ "Triple",
311
+ "Quad",
312
+ "Quintuple"
313
+ ]
314
+ }
315
+ },
316
+ "uniqueItems": true
317
+ }
318
+ },
319
+ {
320
+ "required": true,
321
+ "name": "Bathroom configurations",
322
+ "fieldType": "array",
323
+ "existsFrom": "0",
324
+ "editableIn": [
325
+ "0"
326
+ ],
327
+ "arrayOptions": {
328
+ "itemDefinition": {
329
+ "fieldType": "enum",
330
+ "enumOptions": {
331
+ "enumValues": [
332
+ "En-suite",
333
+ "Shower",
334
+ "Sink",
335
+ "Shared Bathroom",
336
+ "WC",
337
+ "Wetroom",
338
+ "Toilet",
339
+ "Composting Toilet",
340
+ "Combi Bath/Shower"
341
+ ]
342
+ }
343
+ },
344
+ "uniqueItems": true
345
+ }
346
+ },
347
+ {
348
+ "required": true,
349
+ "name": "Energy Type",
350
+ "fieldType": "array",
351
+ "existsFrom": "0",
352
+ "editableIn": [
353
+ "0"
354
+ ],
355
+ "enumOptions": {
356
+ "enumValues": [
357
+ "Other",
358
+ "Non-renewable",
359
+ "Solar",
360
+ "Hydro-electric",
361
+ "Micro Hydro-turbines",
362
+ "Mini Hydro-electric",
363
+ "Wind"
364
+ ]
365
+ },
366
+ "arrayOptions": {
367
+ "itemDefinition": {
368
+ "fieldType": "enum",
369
+ "enumOptions": {
370
+ "enumValues": [
371
+ "Other",
372
+ "Non-renewable",
373
+ "Solar",
374
+ "Hydroelectric",
375
+ "Wind",
376
+ "Carbon Neutral"
377
+ ]
378
+ }
379
+ }
380
+ }
381
+ },
382
+ {
383
+ "required": true,
384
+ "name": "Name",
385
+ "fieldType": "string",
386
+ "existsFrom": "0",
387
+ "editableIn": [
388
+ "0"
389
+ ]
390
+ },
391
+ {
392
+ "required": true,
393
+ "name": "Type",
394
+ "fieldType": "enum",
395
+ "existsFrom": "0",
396
+ "editableIn": [
397
+ "0"
398
+ ],
399
+ "enumOptions": {
400
+ "enumValues": [
401
+ "Cabin",
402
+ "Hotel"
403
+ ]
404
+ }
405
+ }
406
+ ]
407
+ }
408
+ }
409
+ }
410
+ },
411
+ {
412
+ "required": false,
413
+ "name": "Requirements",
414
+ "fieldType": "object",
415
+ // @ts-expect-error
416
+ "existsFrom": "0",
417
+ "editableIn": [
418
+ // @ts-expect-error
419
+ "0"
420
+ ],
421
+ "objectOptions": {
422
+ "properties": [
423
+ {
424
+ "required": false,
425
+ "name": "Minimum Age",
426
+ "fieldType": "integer",
427
+ "existsFrom": "0",
428
+ "editableIn": [
429
+ "0"
430
+ ],
431
+ "integerOptions": {
432
+ "minimum": 0
433
+ }
434
+ }
435
+ ]
436
+ }
437
+ },
438
+ {
439
+ "required": false,
440
+ "name": "Inspections",
441
+ "fieldType": "array",
442
+ // @ts-expect-error
443
+ "existsFrom": "0",
444
+ "editableIn": [
445
+ // @ts-expect-error
446
+ "0"
447
+ ],
448
+ "arrayOptions": {
449
+ "itemDefinition": {
450
+ "fieldType": "object",
451
+ "objectOptions": {
452
+ "properties": [
453
+ {
454
+ "required": true,
455
+ "name": "Inspected By",
456
+ "fieldType": "string",
457
+ "editableIn": [
458
+ "0"
459
+ ],
460
+ "existsFrom": "0"
461
+ },
462
+ {
463
+ "required": true,
464
+ "name": "Date",
465
+ "fieldType": "string",
466
+ "existsFrom": "0",
467
+ "editableIn": [
468
+ "0"
469
+ ],
470
+ "stringOptions": {
471
+ "format": "date"
472
+ }
473
+ },
474
+ {
475
+ "required": false,
476
+ "name": "Notes",
477
+ "fieldType": "string",
478
+ "editableIn": [
479
+ "0"
480
+ ],
481
+ "existsFrom": "0"
482
+ }
483
+ ]
484
+ }
485
+ }
486
+ }
487
+ }
488
+ ];
489
+ console.log(JSON.stringify(generateJsonSchema(schema, Stage.Comp), null, 2));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "swoop-common",
3
- "version": "2.1.32",
3
+ "version": "2.1.34",
4
4
  "main": "dist/api/index.js",
5
5
  "types": "dist/api/index.d.ts",
6
6
  "exports": {