shinkansen-transmission 2.1.15 → 2.2.2

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 (82) hide show
  1. package/.husky/pre-commit +4 -0
  2. package/babel.config.js +1 -1
  3. package/index.js +6 -1
  4. package/lib/index.js +1 -1
  5. package/lib/transmission/common/index.js +1 -1
  6. package/lib/transmission/from-document-to-hash/index.js +1 -1
  7. package/lib/transmission/from-hash-to-document/index.js +1 -1
  8. package/lib/transmission/index.js +1 -1
  9. package/lib/transmission/to-zashiki/index.js +1 -1
  10. package/lib/transmission/to-zashiki/transform-root-schema.js +1 -1
  11. package/lib/transmission/to-zashiki/transform-schema.js +1 -1
  12. package/package.json +23 -30
  13. package/src/transmission/from-document-to-hash/index.js +75 -29
  14. package/src/transmission/from-hash-to-document/index.js +13 -10
  15. package/src/transmission/to-zashiki/transform-root-schema.js +143 -136
  16. package/src/transmission/to-zashiki/transform-schema.js +3256 -1952
  17. package/.github/dependabot.yml +0 -9
  18. package/test/transmission/common/index.spec.js +0 -1348
  19. package/test/transmission/from-document-to-hash/index.spec.js +0 -1866
  20. package/test/transmission/from-hash-to-document/index.spec.js +0 -1523
  21. package/test/transmission/to-zashiki/transform-root-schema/transforming-array-type-schemas.spec.js +0 -1784
  22. package/test/transmission/to-zashiki/transform-root-schema/transforming-boolean-type-schemas.spec.js +0 -334
  23. package/test/transmission/to-zashiki/transform-root-schema/transforming-null-type-schemas.spec.js +0 -253
  24. package/test/transmission/to-zashiki/transform-root-schema/transforming-number-type-schemas.spec.js +0 -565
  25. package/test/transmission/to-zashiki/transform-root-schema/transforming-object-type-schemas.spec.js +0 -1715
  26. package/test/transmission/to-zashiki/transform-root-schema/transforming-string-type-schemas.spec.js +0 -496
  27. package/test/transmission/to-zashiki/transform-root-schema/with-values/with-params/transforming-array-type-schemas.spec.js +0 -31633
  28. package/test/transmission/to-zashiki/transform-root-schema/with-values/with-params/transforming-boolean-type-schemas.spec.js +0 -359
  29. package/test/transmission/to-zashiki/transform-root-schema/with-values/with-params/transforming-null-type-schemas.spec.js +0 -359
  30. package/test/transmission/to-zashiki/transform-root-schema/with-values/with-params/transforming-number-type-schemas.spec.js +0 -446
  31. package/test/transmission/to-zashiki/transform-root-schema/with-values/with-params/transforming-object-type-schemas.spec.js +0 -8348
  32. package/test/transmission/to-zashiki/transform-root-schema/with-values/with-params/transforming-string-type-schemas.spec.js +0 -446
  33. package/test/transmission/to-zashiki/transform-root-schema/with-values/without-params/transforming-array-type-schemas.spec.js +0 -30373
  34. package/test/transmission/to-zashiki/transform-root-schema/with-values/without-params/transforming-boolean-type-schemas.spec.js +0 -334
  35. package/test/transmission/to-zashiki/transform-root-schema/with-values/without-params/transforming-null-type-schemas.spec.js +0 -253
  36. package/test/transmission/to-zashiki/transform-root-schema/with-values/without-params/transforming-number-type-schemas.spec.js +0 -421
  37. package/test/transmission/to-zashiki/transform-root-schema/with-values/without-params/transforming-object-type-schemas.spec.js +0 -7826
  38. package/test/transmission/to-zashiki/transform-root-schema/with-values/without-params/transforming-string-type-schemas.spec.js +0 -421
  39. package/test/transmission/to-zashiki/transform-root-schema/without-values/with-params/transforming-array-type-schemas.spec.js +0 -31111
  40. package/test/transmission/to-zashiki/transform-root-schema/without-values/with-params/transforming-boolean-type-schemas.spec.js +0 -347
  41. package/test/transmission/to-zashiki/transform-root-schema/without-values/with-params/transforming-null-type-schemas.spec.js +0 -344
  42. package/test/transmission/to-zashiki/transform-root-schema/without-values/with-params/transforming-number-type-schemas.spec.js +0 -434
  43. package/test/transmission/to-zashiki/transform-root-schema/without-values/with-params/transforming-object-type-schemas.spec.js +0 -8222
  44. package/test/transmission/to-zashiki/transform-root-schema/without-values/with-params/transforming-string-type-schemas.spec.js +0 -434
  45. package/test/transmission/to-zashiki/transform-root-schema/without-values/without-params/transforming-array-type-schemas.spec.js +0 -29494
  46. package/test/transmission/to-zashiki/transform-root-schema/without-values/without-params/transforming-boolean-type-schemas.spec.js +0 -312
  47. package/test/transmission/to-zashiki/transform-root-schema/without-values/without-params/transforming-null-type-schemas.spec.js +0 -309
  48. package/test/transmission/to-zashiki/transform-root-schema/without-values/without-params/transforming-number-type-schemas.spec.js +0 -399
  49. package/test/transmission/to-zashiki/transform-root-schema/without-values/without-params/transforming-object-type-schemas.spec.js +0 -7584
  50. package/test/transmission/to-zashiki/transform-root-schema/without-values/without-params/transforming-string-type-schemas.spec.js +0 -398
  51. package/test/transmission/to-zashiki/transform-root-schema.spec.js +0 -22
  52. package/test/transmission/to-zashiki/transform-schema/transforming-array-type-schemas.spec.js +0 -1806
  53. package/test/transmission/to-zashiki/transform-schema/transforming-boolean-type-schemas.spec.js +0 -340
  54. package/test/transmission/to-zashiki/transform-schema/transforming-null-type-schemas.spec.js +0 -259
  55. package/test/transmission/to-zashiki/transform-schema/transforming-number-type-schemas.spec.js +0 -571
  56. package/test/transmission/to-zashiki/transform-schema/transforming-object-type-schemas.spec.js +0 -1737
  57. package/test/transmission/to-zashiki/transform-schema/transforming-string-type-schemas.spec.js +0 -502
  58. package/test/transmission/to-zashiki/transform-schema/with-values/with-params/transforming-array-type-schemas.spec.js +0 -32173
  59. package/test/transmission/to-zashiki/transform-schema/with-values/with-params/transforming-boolean-type-schemas.spec.js +0 -377
  60. package/test/transmission/to-zashiki/transform-schema/with-values/with-params/transforming-null-type-schemas.spec.js +0 -377
  61. package/test/transmission/to-zashiki/transform-schema/with-values/with-params/transforming-number-type-schemas.spec.js +0 -464
  62. package/test/transmission/to-zashiki/transform-schema/with-values/with-params/transforming-object-type-schemas.spec.js +0 -8525
  63. package/test/transmission/to-zashiki/transform-schema/with-values/with-params/transforming-string-type-schemas.spec.js +0 -464
  64. package/test/transmission/to-zashiki/transform-schema/with-values/without-params/transforming-array-type-schemas.spec.js +0 -30910
  65. package/test/transmission/to-zashiki/transform-schema/with-values/without-params/transforming-boolean-type-schemas.spec.js +0 -352
  66. package/test/transmission/to-zashiki/transform-schema/with-values/without-params/transforming-null-type-schemas.spec.js +0 -271
  67. package/test/transmission/to-zashiki/transform-schema/with-values/without-params/transforming-number-type-schemas.spec.js +0 -439
  68. package/test/transmission/to-zashiki/transform-schema/with-values/without-params/transforming-object-type-schemas.spec.js +0 -8003
  69. package/test/transmission/to-zashiki/transform-schema/with-values/without-params/transforming-string-type-schemas.spec.js +0 -439
  70. package/test/transmission/to-zashiki/transform-schema/without-values/with-params/transforming-array-type-schemas.spec.js +0 -31654
  71. package/test/transmission/to-zashiki/transform-schema/without-values/with-params/transforming-boolean-type-schemas.spec.js +0 -365
  72. package/test/transmission/to-zashiki/transform-schema/without-values/with-params/transforming-null-type-schemas.spec.js +0 -362
  73. package/test/transmission/to-zashiki/transform-schema/without-values/with-params/transforming-number-type-schemas.spec.js +0 -452
  74. package/test/transmission/to-zashiki/transform-schema/without-values/with-params/transforming-object-type-schemas.spec.js +0 -8399
  75. package/test/transmission/to-zashiki/transform-schema/without-values/with-params/transforming-string-type-schemas.spec.js +0 -452
  76. package/test/transmission/to-zashiki/transform-schema/without-values/without-params/transforming-array-type-schemas.spec.js +0 -29671
  77. package/test/transmission/to-zashiki/transform-schema/without-values/without-params/transforming-boolean-type-schemas.spec.js +0 -320
  78. package/test/transmission/to-zashiki/transform-schema/without-values/without-params/transforming-null-type-schemas.spec.js +0 -317
  79. package/test/transmission/to-zashiki/transform-schema/without-values/without-params/transforming-number-type-schemas.spec.js +0 -407
  80. package/test/transmission/to-zashiki/transform-schema/without-values/without-params/transforming-object-type-schemas.spec.js +0 -7645
  81. package/test/transmission/to-zashiki/transform-schema/without-values/without-params/transforming-string-type-schemas.spec.js +0 -406
  82. package/test/transmission/to-zashiki/transform-schema.spec.js +0 -777
@@ -30,22 +30,17 @@ import {
30
30
  mapTransformNullByIndex,
31
31
  mapTransformArrayByIndex,
32
32
  mapTransformObjectByIndex,
33
+
33
34
  mapTransformByIndex,
34
35
  getTransformByIndex,
35
36
 
36
37
  mapTransformByKey,
37
38
 
38
- renderStringForEnum,
39
- renderStringForAnyOf,
40
- renderStringForOneOf,
41
- renderStringForAllOf,
42
- renderString,
43
-
44
- renderNumberForEnum,
45
- renderNumberForAnyOf,
46
- renderNumberForOneOf,
47
- renderNumberForAllOf,
48
- renderNumber,
39
+ renderNullForEnum,
40
+ renderNullForAnyOf,
41
+ renderNullForOneOf,
42
+ renderNullForAllOf,
43
+ renderNull,
49
44
 
50
45
  renderBooleanForEnum,
51
46
  renderBooleanForAnyOf,
@@ -53,11 +48,11 @@ import {
53
48
  renderBooleanForAllOf,
54
49
  renderBoolean,
55
50
 
56
- renderNullForEnum,
57
- renderNullForAnyOf,
58
- renderNullForOneOf,
59
- renderNullForAllOf,
60
- renderNull,
51
+ renderObjectForEnum,
52
+ renderObjectForAnyOf,
53
+ renderObjectForOneOf,
54
+ renderObjectForAllOf,
55
+ renderObject,
61
56
 
62
57
  renderArrayForEnum,
63
58
  renderArrayForAnyOf,
@@ -65,15 +60,23 @@ import {
65
60
  renderArrayForAllOf,
66
61
  renderArray,
67
62
 
68
- renderObjectForEnum,
69
- renderObjectForAnyOf,
70
- renderObjectForOneOf,
71
- renderObjectForAllOf,
72
- renderObject
63
+ renderNumberForEnum,
64
+ renderNumberForAnyOf,
65
+ renderNumberForOneOf,
66
+ renderNumberForAllOf,
67
+ renderNumber,
68
+
69
+ renderStringForEnum,
70
+ renderStringForAnyOf,
71
+ renderStringForOneOf,
72
+ renderStringForAllOf,
73
+ renderString
73
74
  } from './transform-schema'
74
75
 
75
76
  const log = debug('shinkansen-transmission:to-zashiki:root-schema')
76
77
 
78
+ log('`shinkansen-transmission` is awake')
79
+
77
80
  export function getRenderParamsForEnum (rootSchema, values, params) {
78
81
  /*
79
82
  * log('getRenderParamsForEnum')
@@ -86,26 +89,27 @@ export function getRenderParamsForEnum (rootSchema, values, params) {
86
89
  items = []
87
90
  } = params
88
91
 
89
- return {
90
- ...params,
92
+ const meta = Object.assign(getMetaProps(params, uri), {
93
+ schema: rootSchema,
94
+ selectedItems,
95
+ items
96
+ })
97
+
98
+ const elements = {
99
+ enum: Object.assign(getElementsFieldPropsForEnum(params, uri), {
100
+ selectedItems,
101
+ items
102
+ })
103
+ }
104
+
105
+ return Object.assign(params, {
91
106
  parentUri,
92
107
  uri,
93
108
  [uri]: {
94
- meta: {
95
- ...getMetaProps(params, uri),
96
- schema: rootSchema,
97
- selectedItems,
98
- items
99
- },
100
- elements: {
101
- enum: {
102
- ...getElementsFieldPropsForEnum(params, uri),
103
- selectedItems,
104
- items
105
- }
106
- }
109
+ meta,
110
+ elements
107
111
  }
108
- }
112
+ })
109
113
  }
110
114
 
111
115
  export function getRenderParamsForAnyOf (rootSchema, values, params) {
@@ -120,26 +124,27 @@ export function getRenderParamsForAnyOf (rootSchema, values, params) {
120
124
  items = []
121
125
  } = params
122
126
 
123
- return {
124
- ...params,
127
+ const meta = Object.assign(getMetaProps(params, uri), {
128
+ schema: rootSchema,
129
+ selectedItems,
130
+ items
131
+ })
132
+
133
+ const elements = {
134
+ anyOf: Object.assign(getElementsFieldPropsForAnyOf(params, uri), {
135
+ selectedItems,
136
+ items
137
+ })
138
+ }
139
+
140
+ return Object.assign(params, {
125
141
  parentUri,
126
142
  uri,
127
143
  [uri]: {
128
- meta: {
129
- ...getMetaProps(params, uri),
130
- schema: rootSchema,
131
- selectedItems,
132
- items
133
- },
134
- elements: {
135
- anyOf: {
136
- ...getElementsFieldPropsForAnyOf(params, uri),
137
- selectedItems,
138
- items
139
- }
140
- }
144
+ meta,
145
+ elements
141
146
  }
142
- }
147
+ })
143
148
  }
144
149
 
145
150
  export function getRenderParamsForOneOf (rootSchema, values, params) {
@@ -154,26 +159,27 @@ export function getRenderParamsForOneOf (rootSchema, values, params) {
154
159
  items = []
155
160
  } = params
156
161
 
157
- return {
158
- ...params,
162
+ const meta = Object.assign(getMetaProps(params, uri), {
163
+ schema: rootSchema,
164
+ selectedItems,
165
+ items
166
+ })
167
+
168
+ const elements = {
169
+ oneOf: Object.assign(getElementsFieldPropsForOneOf(params, uri), {
170
+ selectedItems,
171
+ items
172
+ })
173
+ }
174
+
175
+ return Object.assign(params, {
159
176
  parentUri,
160
177
  uri,
161
178
  [uri]: {
162
- meta: {
163
- ...getMetaProps(params, uri),
164
- schema: rootSchema,
165
- selectedItems,
166
- items
167
- },
168
- elements: {
169
- oneOf: {
170
- ...getElementsFieldPropsForOneOf(params, uri),
171
- selectedItems,
172
- items
173
- }
174
- }
179
+ meta,
180
+ elements
175
181
  }
176
- }
182
+ })
177
183
  }
178
184
 
179
185
  export function getRenderParamsForAllOf (rootSchema, values, params) {
@@ -186,22 +192,22 @@ export function getRenderParamsForAllOf (rootSchema, values, params) {
186
192
  uri = '#/'
187
193
  } = params
188
194
 
189
- return {
190
- ...params,
195
+ const meta = Object.assign(getMetaProps(params, uri), {
196
+ schema: rootSchema
197
+ })
198
+
199
+ const elements = {
200
+ field: getElementsFieldPropsForAllOf(params, uri)
201
+ }
202
+
203
+ return Object.assign(params, {
191
204
  parentUri,
192
205
  uri,
193
206
  [uri]: {
194
- meta: {
195
- ...getMetaProps(params, uri),
196
- schema: rootSchema
197
- },
198
- elements: {
199
- field: {
200
- ...getElementsFieldPropsForAllOf(params, uri)
201
- }
202
- }
207
+ meta,
208
+ elements
203
209
  }
204
- }
210
+ })
205
211
  }
206
212
 
207
213
  export function getRenderParams (rootSchema, values, params) {
@@ -215,23 +221,24 @@ export function getRenderParams (rootSchema, values, params) {
215
221
  fields = []
216
222
  } = params
217
223
 
218
- return {
219
- ...params,
224
+ const meta = Object.assign(getMetaProps(params, uri), {
225
+ schema: rootSchema,
226
+ parentUri: normaliseUri(parentUri),
227
+ uri
228
+ })
229
+
230
+ const elements = Object.assign(getElementsProps(params, uri), {
231
+ fields
232
+ })
233
+
234
+ return Object.assign(params, {
220
235
  parentUri,
221
236
  uri,
222
237
  [uri]: {
223
- meta: {
224
- ...getMetaProps(params, uri),
225
- schema: rootSchema,
226
- parentUri: normaliseUri(parentUri),
227
- uri
228
- },
229
- elements: {
230
- ...getElementsProps(params, uri),
231
- fields
232
- }
238
+ meta,
239
+ elements
233
240
  }
234
- }
241
+ })
235
242
  }
236
243
 
237
244
  /*
@@ -254,7 +261,7 @@ export function transformNullForEnum (rootSchema, values, params) {
254
261
 
255
262
  const items = getEnum(rootSchema)
256
263
 
257
- return renderNullForEnum(rootSchema, values, getRenderParamsForEnum(rootSchema, values, { ...params, selectedItems, items }))
264
+ return renderNullForEnum(rootSchema, values, getRenderParamsForEnum(rootSchema, values, Object.assign(params, { selectedItems, items })))
258
265
  }
259
266
 
260
267
  /*
@@ -276,9 +283,9 @@ export function transformNullForAnyOf (rootSchema, values, params) {
276
283
  } = getMetaProps(params, uri)
277
284
 
278
285
  const { anyOf = [] } = rootSchema
279
- const items = anyOf.map(mapTransformNullByIndex(rootSchema, values, { ...params, selectedItems, parentUri: uri }))
286
+ const items = anyOf.map(mapTransformNullByIndex(rootSchema, values, Object.assign(params, { selectedItems, parentUri: uri })))
280
287
 
281
- return renderNullForAnyOf(rootSchema, values, getRenderParamsForAnyOf(rootSchema, values, { ...params, selectedItems, items }))
288
+ return renderNullForAnyOf(rootSchema, values, getRenderParamsForAnyOf(rootSchema, values, Object.assign(params, { selectedItems, items })))
282
289
  }
283
290
 
284
291
  /*
@@ -300,9 +307,9 @@ export function transformNullForOneOf (rootSchema, values, params) {
300
307
  } = getMetaProps(params, uri)
301
308
 
302
309
  const { oneOf = [] } = rootSchema
303
- const items = oneOf.map(mapTransformNullByIndex(rootSchema, values, { ...params, selectedItems, parentUri: uri }))
310
+ const items = oneOf.map(mapTransformNullByIndex(rootSchema, values, Object.assign(params, { selectedItems, parentUri: uri })))
304
311
 
305
- return renderNullForOneOf(rootSchema, values, getRenderParamsForOneOf(rootSchema, values, { ...params, selectedItems, items }))
312
+ return renderNullForOneOf(rootSchema, values, getRenderParamsForOneOf(rootSchema, values, Object.assign(params, { selectedItems, items })))
306
313
  }
307
314
 
308
315
  /*
@@ -316,7 +323,7 @@ export function transformNullForAllOf (rootSchema, values, params) {
316
323
  */
317
324
 
318
325
  const { allOf = [], ...rest } = rootSchema
319
- const itemSchema = allOf.reduce((accumulator, schema) => ({ ...accumulator, ...schema }), rest) // initialise with `rest`
326
+ const itemSchema = allOf.reduce((accumulator, schema) => Object.assign(accumulator, schema), rest) // initialise with `rest`
320
327
 
321
328
  return renderNullForAllOf(itemSchema, values, getRenderParamsForAllOf(rootSchema, values, params))
322
329
  }
@@ -369,7 +376,7 @@ export function transformBooleanForEnum (rootSchema, values, params) {
369
376
 
370
377
  const items = getEnum(rootSchema)
371
378
 
372
- return renderBooleanForEnum(rootSchema, values, getRenderParamsForEnum(rootSchema, values, { ...params, selectedItems, items }))
379
+ return renderBooleanForEnum(rootSchema, values, getRenderParamsForEnum(rootSchema, values, Object.assign(params, { selectedItems, items })))
373
380
  }
374
381
 
375
382
  /*
@@ -391,9 +398,9 @@ export function transformBooleanForAnyOf (rootSchema, values, params) {
391
398
  } = getMetaProps(params, uri)
392
399
 
393
400
  const { anyOf = [] } = rootSchema
394
- const items = anyOf.map(mapTransformBooleanByIndex(rootSchema, values, { ...params, selectedItems, parentUri: uri }))
401
+ const items = anyOf.map(mapTransformBooleanByIndex(rootSchema, values, Object.assign(params, { selectedItems, parentUri: uri })))
395
402
 
396
- return renderBooleanForAnyOf(rootSchema, values, getRenderParamsForAnyOf(rootSchema, values, { ...params, selectedItems, items }))
403
+ return renderBooleanForAnyOf(rootSchema, values, getRenderParamsForAnyOf(rootSchema, values, Object.assign(params, { selectedItems, items })))
397
404
  }
398
405
 
399
406
  /*
@@ -415,9 +422,9 @@ export function transformBooleanForOneOf (rootSchema, values, params) {
415
422
  } = getMetaProps(params, uri)
416
423
 
417
424
  const { oneOf = [] } = rootSchema
418
- const items = oneOf.map(mapTransformBooleanByIndex(rootSchema, values, { ...params, selectedItems, parentUri: uri }))
425
+ const items = oneOf.map(mapTransformBooleanByIndex(rootSchema, values, Object.assign(params, { selectedItems, parentUri: uri })))
419
426
 
420
- return renderBooleanForOneOf(rootSchema, values, getRenderParamsForOneOf(rootSchema, values, { ...params, selectedItems, items }))
427
+ return renderBooleanForOneOf(rootSchema, values, getRenderParamsForOneOf(rootSchema, values, Object.assign(params, { selectedItems, items })))
421
428
  }
422
429
 
423
430
  /*
@@ -431,7 +438,7 @@ export function transformBooleanForAllOf (rootSchema, values, params) {
431
438
  */
432
439
 
433
440
  const { allOf = [], ...rest } = rootSchema
434
- const itemSchema = allOf.reduce((accumulator, schema) => ({ ...accumulator, ...schema }), rest) // initialise with `rest`
441
+ const itemSchema = allOf.reduce((accumulator, schema) => Object.assign(accumulator, schema), rest) // initialise with `rest`
435
442
 
436
443
  return renderBooleanForAllOf(itemSchema, values, getRenderParamsForAllOf(rootSchema, values, params))
437
444
  }
@@ -484,7 +491,7 @@ export function transformObjectForEnum (rootSchema, values, params) {
484
491
 
485
492
  const items = getEnum(rootSchema)
486
493
 
487
- return renderObjectForEnum(rootSchema, values, getRenderParamsForEnum(rootSchema, values, { ...params, selectedItems, items }))
494
+ return renderObjectForEnum(rootSchema, values, getRenderParamsForEnum(rootSchema, values, Object.assign(params, { selectedItems, items })))
488
495
  }
489
496
 
490
497
  /*
@@ -506,9 +513,9 @@ export function transformObjectForAnyOf (rootSchema, values, params) {
506
513
  } = getMetaProps(params, uri)
507
514
 
508
515
  const { anyOf = [] } = rootSchema
509
- const items = anyOf.map(mapTransformObjectByIndex(rootSchema, values, { ...params, selectedItems, parentUri: uri }))
516
+ const items = anyOf.map(mapTransformObjectByIndex(rootSchema, values, Object.assign(params, { selectedItems, parentUri: uri })))
510
517
 
511
- return renderObjectForAnyOf(rootSchema, values, getRenderParamsForAnyOf(rootSchema, values, { ...params, selectedItems, items }))
518
+ return renderObjectForAnyOf(rootSchema, values, getRenderParamsForAnyOf(rootSchema, values, Object.assign(params, { selectedItems, items })))
512
519
  }
513
520
 
514
521
  /*
@@ -530,9 +537,9 @@ export function transformObjectForOneOf (rootSchema, values, params) {
530
537
  } = getMetaProps(params, uri)
531
538
 
532
539
  const { oneOf = [] } = rootSchema
533
- const items = oneOf.map(mapTransformObjectByIndex(rootSchema, values, { ...params, selectedItems, parentUri: uri }))
540
+ const items = oneOf.map(mapTransformObjectByIndex(rootSchema, values, Object.assign(params, { selectedItems, parentUri: uri })))
534
541
 
535
- return renderObjectForOneOf(rootSchema, values, getRenderParamsForOneOf(rootSchema, values, { ...params, selectedItems, items }))
542
+ return renderObjectForOneOf(rootSchema, values, getRenderParamsForOneOf(rootSchema, values, Object.assign(params, { selectedItems, items })))
536
543
  }
537
544
 
538
545
  /*
@@ -546,7 +553,7 @@ export function transformObjectForAllOf (rootSchema, values, params) {
546
553
  */
547
554
 
548
555
  const { allOf = [], ...rest } = rootSchema
549
- const itemSchema = allOf.reduce((accumulator, schema) => ({ ...accumulator, ...schema }), rest) // initialise with `rest`
556
+ const itemSchema = allOf.reduce((accumulator, schema) => Object.assign(accumulator, schema), rest) // initialise with `rest`
550
557
 
551
558
  return renderObjectForAllOf(itemSchema, values, getRenderParamsForAllOf(rootSchema, values, params))
552
559
  }
@@ -588,10 +595,10 @@ export function transformObject (rootSchema, values, params) {
588
595
  const fields = (
589
596
  Object
590
597
  .entries(properties)
591
- .map(mapTransformByKey(rootSchema, values, { ...params, parentUri: uri, required }))
598
+ .map(mapTransformByKey(rootSchema, values, Object.assign(params, { parentUri: uri, required })))
592
599
  )
593
600
 
594
- return renderObject(rootSchema, values, getRenderParams(rootSchema, values, { ...params, fields }))
601
+ return renderObject(rootSchema, values, getRenderParams(rootSchema, values, Object.assign(params, { fields })))
595
602
  }
596
603
 
597
604
  /*
@@ -614,7 +621,7 @@ export function transformArrayForEnum (rootSchema, values, params) {
614
621
 
615
622
  const items = getEnum(rootSchema)
616
623
 
617
- return renderArrayForEnum(rootSchema, values, getRenderParamsForEnum(rootSchema, values, { ...params, selectedItems, items }))
624
+ return renderArrayForEnum(rootSchema, values, getRenderParamsForEnum(rootSchema, values, Object.assign(params, { selectedItems, items })))
618
625
  }
619
626
 
620
627
  /*
@@ -636,9 +643,9 @@ export function transformArrayForAnyOf (rootSchema, values, params) {
636
643
  } = getMetaProps(params, uri)
637
644
 
638
645
  const { anyOf = [] } = rootSchema
639
- const items = anyOf.map(mapTransformArrayByIndex(rootSchema, values, { ...params, selectedItems, parentUri: uri }))
646
+ const items = anyOf.map(mapTransformArrayByIndex(rootSchema, values, Object.assign(params, { selectedItems, parentUri: uri })))
640
647
 
641
- return renderArrayForAnyOf(rootSchema, values, getRenderParamsForAnyOf(rootSchema, values, { ...params, selectedItems, items }))
648
+ return renderArrayForAnyOf(rootSchema, values, getRenderParamsForAnyOf(rootSchema, values, Object.assign(params, { selectedItems, items })))
642
649
  }
643
650
 
644
651
  /*
@@ -660,9 +667,9 @@ export function transformArrayForOneOf (rootSchema, values, params) {
660
667
  } = getMetaProps(params, uri)
661
668
 
662
669
  const { oneOf = [] } = rootSchema
663
- const items = oneOf.map(mapTransformArrayByIndex(rootSchema, values, { ...params, selectedItems, parentUri: uri }))
670
+ const items = oneOf.map(mapTransformArrayByIndex(rootSchema, values, Object.assign(params, { selectedItems, parentUri: uri })))
664
671
 
665
- return renderArrayForOneOf(rootSchema, values, getRenderParamsForOneOf(rootSchema, values, { ...params, selectedItems, items }))
672
+ return renderArrayForOneOf(rootSchema, values, getRenderParamsForOneOf(rootSchema, values, Object.assign(params, { selectedItems, items })))
666
673
  }
667
674
 
668
675
  /*
@@ -676,7 +683,7 @@ export function transformArrayForAllOf (rootSchema, values, params) {
676
683
  */
677
684
 
678
685
  const { allOf = [], ...rest } = rootSchema
679
- const itemSchema = allOf.reduce((accumulator, schema) => ({ ...accumulator, ...schema }), rest) // initialise with `rest`
686
+ const itemSchema = allOf.reduce((accumulator, schema) => Object.assign(accumulator, schema), rest) // initialise with `rest`
680
687
 
681
688
  return renderArrayForAllOf(itemSchema, values, getRenderParamsForAllOf(rootSchema, values, params))
682
689
  }
@@ -712,17 +719,17 @@ export function transformArray (rootSchema, values, params) {
712
719
 
713
720
  if (isArray(items)) {
714
721
  const fields = (
715
- items.map(mapTransformByIndex(rootSchema, values, { ...params, parentUri: '#/' })) // uri
722
+ items.map(mapTransformByIndex(rootSchema, values, Object.assign(params, { parentUri: '#/' })))
716
723
  )
717
724
 
718
- return renderArray(rootSchema, values, getRenderParams(rootSchema, values, { ...params, fields }))
725
+ return renderArray(rootSchema, values, getRenderParams(rootSchema, values, Object.assign(params, { fields })))
719
726
  } else {
720
727
  if (isObject(items)) {
721
728
  const fields = [
722
- getTransformByIndex(items, rootSchema, values, { ...params, parentUri: '#/' }) // uri
729
+ getTransformByIndex(items, rootSchema, values, Object.assign(params, { parentUri: '#/' }))
723
730
  ]
724
731
 
725
- return renderArray(rootSchema, values, getRenderParams(rootSchema, values, { ...params, fields }))
732
+ return renderArray(rootSchema, values, getRenderParams(rootSchema, values, Object.assign(params, { fields })))
726
733
  }
727
734
  }
728
735
  }
@@ -747,7 +754,7 @@ export function transformNumberForEnum (rootSchema, values, params) {
747
754
 
748
755
  const items = getEnum(rootSchema)
749
756
 
750
- return renderNumberForEnum(rootSchema, values, getRenderParamsForEnum(rootSchema, values, { ...params, selectedItems, items }))
757
+ return renderNumberForEnum(rootSchema, values, getRenderParamsForEnum(rootSchema, values, Object.assign(params, { selectedItems, items })))
751
758
  }
752
759
 
753
760
  /*
@@ -769,9 +776,9 @@ export function transformNumberForAnyOf (rootSchema, values, params) {
769
776
  } = getMetaProps(params, uri)
770
777
 
771
778
  const { anyOf = [] } = rootSchema
772
- const items = anyOf.map(mapTransformNumberByIndex(rootSchema, values, { ...params, selectedItems, parentUri: uri }))
779
+ const items = anyOf.map(mapTransformNumberByIndex(rootSchema, values, Object.assign(params, { selectedItems, parentUri: uri })))
773
780
 
774
- return renderNumberForAnyOf(rootSchema, values, getRenderParamsForAnyOf(rootSchema, values, { ...params, selectedItems, items }))
781
+ return renderNumberForAnyOf(rootSchema, values, getRenderParamsForAnyOf(rootSchema, values, Object.assign(params, { selectedItems, items })))
775
782
  }
776
783
 
777
784
  /*
@@ -793,9 +800,9 @@ export function transformNumberForOneOf (rootSchema, values, params) {
793
800
  } = getMetaProps(params, uri)
794
801
 
795
802
  const { oneOf = [] } = rootSchema
796
- const items = oneOf.map(mapTransformNumberByIndex(rootSchema, values, { ...params, selectedItems, parentUri: uri }))
803
+ const items = oneOf.map(mapTransformNumberByIndex(rootSchema, values, Object.assign(params, { selectedItems, parentUri: uri })))
797
804
 
798
- return renderNumberForOneOf(rootSchema, values, getRenderParamsForOneOf(rootSchema, values, { ...params, selectedItems, items }))
805
+ return renderNumberForOneOf(rootSchema, values, getRenderParamsForOneOf(rootSchema, values, Object.assign(params, { selectedItems, items })))
799
806
  }
800
807
 
801
808
  /*
@@ -809,7 +816,7 @@ export function transformNumberForAllOf (rootSchema, values, params) {
809
816
  */
810
817
 
811
818
  const { allOf = [], ...rest } = rootSchema
812
- const itemSchema = allOf.reduce((accumulator, schema) => ({ ...accumulator, ...schema }), rest) // initialise with `rest`
819
+ const itemSchema = allOf.reduce((accumulator, schema) => Object.assign(accumulator, schema), rest) // initialise with `rest`
813
820
 
814
821
  return renderNumberForAllOf(itemSchema, values, getRenderParamsForAllOf(rootSchema, values, params))
815
822
  }
@@ -862,7 +869,7 @@ export function transformStringForEnum (rootSchema, values, params) {
862
869
 
863
870
  const items = getEnum(rootSchema)
864
871
 
865
- return renderStringForEnum(rootSchema, values, getRenderParamsForEnum(rootSchema, values, { ...params, selectedItems, items }))
872
+ return renderStringForEnum(rootSchema, values, getRenderParamsForEnum(rootSchema, values, Object.assign(params, { selectedItems, items })))
866
873
  }
867
874
 
868
875
  /*
@@ -884,9 +891,9 @@ export function transformStringForAnyOf (rootSchema, values, params) {
884
891
  } = getMetaProps(params, uri)
885
892
 
886
893
  const { anyOf = [] } = rootSchema
887
- const items = anyOf.map(mapTransformStringByIndex(rootSchema, values, { ...params, selectedItems, parentUri: uri }))
894
+ const items = anyOf.map(mapTransformStringByIndex(rootSchema, values, Object.assign(params, { selectedItems, parentUri: uri })))
888
895
 
889
- return renderStringForAnyOf(rootSchema, values, getRenderParamsForAnyOf(rootSchema, values, { ...params, selectedItems, items }))
896
+ return renderStringForAnyOf(rootSchema, values, getRenderParamsForAnyOf(rootSchema, values, Object.assign(params, { selectedItems, items })))
890
897
  }
891
898
 
892
899
  /*
@@ -908,9 +915,9 @@ export function transformStringForOneOf (rootSchema, values, params) {
908
915
  } = getMetaProps(params, uri)
909
916
 
910
917
  const { oneOf = [] } = rootSchema
911
- const items = oneOf.map(mapTransformStringByIndex(rootSchema, values, { ...params, selectedItems, parentUri: uri }))
918
+ const items = oneOf.map(mapTransformStringByIndex(rootSchema, values, Object.assign(params, { selectedItems, parentUri: uri })))
912
919
 
913
- return renderStringForOneOf(rootSchema, values, getRenderParamsForOneOf(rootSchema, values, { ...params, selectedItems, items }))
920
+ return renderStringForOneOf(rootSchema, values, getRenderParamsForOneOf(rootSchema, values, Object.assign(params, { selectedItems, items })))
914
921
  }
915
922
 
916
923
  /*
@@ -924,7 +931,7 @@ export function transformStringForAllOf (rootSchema, values, params) {
924
931
  */
925
932
 
926
933
  const { allOf = [], ...rest } = rootSchema
927
- const itemSchema = allOf.reduce((accumulator, schema) => ({ ...accumulator, ...schema }), rest) // initialise with `rest`
934
+ const itemSchema = allOf.reduce((accumulator, schema) => Object.assign(accumulator, schema), rest) // initialise with `rest`
928
935
 
929
936
  return renderStringForAllOf(itemSchema, values, getRenderParamsForAllOf(rootSchema, values, params))
930
937
  }