shinkansen-transmission 2.2.234 → 2.3.0

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 (38) hide show
  1. package/babel.config.cjs +1 -0
  2. package/eslint.config.mjs +28 -30
  3. package/index.d.mts +321 -16
  4. package/package.json +8 -8
  5. package/src/index.cjs +2 -0
  6. package/src/index.d.mts +10 -9
  7. package/src/transmission/common/index.d.mts +152 -87
  8. package/src/transmission/common/index.mjs +627 -193
  9. package/src/transmission/from-document-to-hash/array/index.mjs +20 -4
  10. package/src/transmission/from-document-to-hash/boolean/index.mjs +25 -9
  11. package/src/transmission/from-document-to-hash/index.d.mts +8 -19
  12. package/src/transmission/from-document-to-hash/index.mjs +102 -16
  13. package/src/transmission/from-document-to-hash/null/index.mjs +25 -9
  14. package/src/transmission/from-document-to-hash/number/index.mjs +25 -9
  15. package/src/transmission/from-document-to-hash/object/index.mjs +22 -6
  16. package/src/transmission/from-document-to-hash/string/index.mjs +25 -9
  17. package/src/transmission/from-hash-to-document/array/index.mjs +22 -5
  18. package/src/transmission/from-hash-to-document/boolean/index.mjs +21 -4
  19. package/src/transmission/from-hash-to-document/index.d.mts +24 -26
  20. package/src/transmission/from-hash-to-document/index.mjs +264 -142
  21. package/src/transmission/from-hash-to-document/null/index.mjs +21 -4
  22. package/src/transmission/from-hash-to-document/number/index.mjs +21 -4
  23. package/src/transmission/from-hash-to-document/object/index.mjs +22 -5
  24. package/src/transmission/from-hash-to-document/string/index.mjs +26 -4
  25. package/src/transmission/index.d.mts +4 -10
  26. package/src/transmission/to-zashiki/index.d.mts +5 -13
  27. package/src/transmission/to-zashiki/params/index.mjs +430 -0
  28. package/src/transmission/to-zashiki/render/array/index.mjs +737 -0
  29. package/src/transmission/to-zashiki/render/boolean/index.mjs +794 -0
  30. package/src/transmission/to-zashiki/render/index.mjs +157 -0
  31. package/src/transmission/to-zashiki/render/null/index.mjs +796 -0
  32. package/src/transmission/to-zashiki/render/number/index.mjs +940 -0
  33. package/src/transmission/to-zashiki/render/object/index.mjs +653 -0
  34. package/src/transmission/to-zashiki/render/string/index.mjs +910 -0
  35. package/src/transmission/to-zashiki/render-params/root-schema/index.mjs +212 -0
  36. package/src/transmission/to-zashiki/render-params/schema/index.mjs +731 -0
  37. package/src/transmission/to-zashiki/transform-root-schema.mjs +485 -421
  38. package/src/transmission/to-zashiki/transform-schema.mjs +1988 -4663
@@ -0,0 +1,731 @@
1
+ /**
2
+ * @typedef {TransmissionTypes.ObjectLiteralType} ObjectLiteralType
3
+ * @typedef {TransmissionTypes.ObjectType} ObjectType
4
+ *
5
+ * @typedef {TransmissionTypes.EnumType} EnumType
6
+ * @typedef {TransmissionTypes.AnyOfType} AnyOfType
7
+ * @typedef {TransmissionTypes.OneOfType} OneOfType
8
+ * @typedef {TransmissionTypes.FieldType} FieldType
9
+ *
10
+ * @typedef {TransmissionTypes.SchemaType} SchemaType
11
+ * @typedef {TransmissionTypes.ValuesType} ValuesType
12
+ * @typedef {TransmissionTypes.ParamsType} ParamsType
13
+ *
14
+ * @typedef {TransmissionTypes.Zashiki.ZashikiType} ZashikiType
15
+ *
16
+ * @typedef {TransmissionTypes.Zashiki.StringMetaType} ZashikiStringMetaType
17
+ * @typedef {TransmissionTypes.Zashiki.NumberMetaType} ZashikiNumberMetaType
18
+ * @typedef {TransmissionTypes.Zashiki.ArrayMetaType} ZashikiArrayMetaType
19
+ * @typedef {TransmissionTypes.Zashiki.ObjectMetaType} ZashikiObjectMetaType
20
+ * @typedef {TransmissionTypes.Zashiki.BooleanMetaType} ZashikiBooleanMetaType
21
+ * @typedef {TransmissionTypes.Zashiki.NullMetaType} ZashikiNullMetaType
22
+ *
23
+ * @typedef {TransmissionTypes.Zashiki.StringElementsType} ZashikiStringElementsType
24
+ * @typedef {TransmissionTypes.Zashiki.NumberElementsType} ZashikiNumberElementsType
25
+ * @typedef {TransmissionTypes.Zashiki.ArrayElementsType} ZashikiArrayElementsType
26
+ * @typedef {TransmissionTypes.Zashiki.ObjectElementsType} ZashikiObjectElementsType
27
+ * @typedef {TransmissionTypes.Zashiki.BooleanElementsType} ZashikiBooleanElementsType
28
+ * @typedef {TransmissionTypes.Zashiki.NullElementsType} ZashikiNullElementsType
29
+ */
30
+
31
+ import debug from 'debug'
32
+
33
+ import {
34
+ normaliseUri,
35
+ getUri,
36
+ getMetaProps,
37
+ getElementsFieldPropsForEnum,
38
+ getElementsFieldPropsForAnyOf,
39
+ getElementsFieldPropsForOneOf,
40
+ getElementsFieldPropsForAllOf,
41
+ getElementsFieldProps,
42
+ getElementsProps
43
+ } from '#transmission/transmission/common'
44
+
45
+ const log = debug('shinkansen-transmission/to-zashiki/render-params/schema')
46
+
47
+ log('`shinkansen` is awake')
48
+
49
+ /**
50
+ * @param {SchemaType} schema
51
+ * @param {SchemaType} rootSchema
52
+ * @param {ParamsType} params
53
+ * @returns {ParamsType}
54
+ */
55
+ export function getRenderParamsByKeyForEnum (schema, rootSchema, params) {
56
+ /**
57
+ * log('getRenderParamsByKeyForEnum')
58
+ */
59
+
60
+ const {
61
+ parentUri: fieldParentUri = '#',
62
+ key: fieldKey = '',
63
+ required = [],
64
+ selectedItems = [],
65
+ items = []
66
+ } = params
67
+
68
+ /*
69
+ * Resolve `parentUri` and `uri`
70
+ */
71
+ const parentUri = normaliseUri(fieldParentUri)
72
+ const uri = getUri(fieldParentUri, fieldKey)
73
+
74
+ const meta = Object.assign(getMetaProps(params, uri), {
75
+ schema,
76
+ rootSchema,
77
+ parentUri,
78
+ uri,
79
+ selectedItems,
80
+ items,
81
+ name: fieldKey,
82
+ isRequired: required.includes(fieldKey)
83
+ })
84
+ const elements = {
85
+ enum: Object.assign(getElementsFieldPropsForEnum(params, uri), {
86
+ selectedItems,
87
+ items
88
+ })
89
+ }
90
+
91
+ return Object.assign(params, {
92
+ parentUri,
93
+ uri,
94
+ [uri]: {
95
+ meta,
96
+ elements
97
+ }
98
+ })
99
+ }
100
+
101
+ /**
102
+ * @param {SchemaType} schema
103
+ * @param {SchemaType} rootSchema
104
+ * @param {ParamsType} params
105
+ * @returns {ParamsType}
106
+ */
107
+ export function getRenderParamsByKeyForAnyOf (schema, rootSchema, params) {
108
+ /**
109
+ * log('getRenderParamsByKeyForAnyOf')
110
+ */
111
+
112
+ const {
113
+ parentUri: fieldParentUri = '#',
114
+ key: fieldKey = '',
115
+ required = [],
116
+ selectedItems = [],
117
+ items = []
118
+ } = params
119
+
120
+ /*
121
+ * Resolve `parentUri` and `uri`
122
+ */
123
+ const parentUri = normaliseUri(fieldParentUri)
124
+ const uri = getUri(fieldParentUri, fieldKey)
125
+
126
+ const meta = Object.assign(getMetaProps(params, uri), {
127
+ schema,
128
+ rootSchema,
129
+ parentUri,
130
+ uri,
131
+ selectedItems,
132
+ items,
133
+ name: fieldKey,
134
+ isRequired: required.includes(fieldKey)
135
+ })
136
+ const elements = {
137
+ anyOf: Object.assign(getElementsFieldPropsForAnyOf(params, uri), {
138
+ selectedItems,
139
+ items
140
+ })
141
+ }
142
+
143
+ return Object.assign(params, {
144
+ parentUri,
145
+ uri,
146
+ [uri]: {
147
+ meta,
148
+ elements
149
+ }
150
+ })
151
+ }
152
+
153
+ /**
154
+ * @param {SchemaType} schema
155
+ * @param {SchemaType} rootSchema
156
+ * @param {ParamsType} params
157
+ * @returns {ParamsType}
158
+ */
159
+ export function getRenderParamsByKeyForOneOf (schema, rootSchema, params) {
160
+ /**
161
+ * log('getRenderParamsByKeyForOneOf')
162
+ */
163
+
164
+ const {
165
+ parentUri: fieldParentUri = '#',
166
+ key: fieldKey = '',
167
+ required = [],
168
+ selectedItems = [],
169
+ items = []
170
+ } = params
171
+
172
+ /*
173
+ * Resolve `parentUri` and `uri`
174
+ */
175
+ const parentUri = normaliseUri(fieldParentUri)
176
+ const uri = getUri(fieldParentUri, fieldKey)
177
+
178
+ const meta = Object.assign(getMetaProps(params, uri), {
179
+ schema,
180
+ rootSchema,
181
+ parentUri,
182
+ uri,
183
+ selectedItems,
184
+ items,
185
+ name: fieldKey,
186
+ isRequired: required.includes(fieldKey)
187
+ })
188
+ const elements = {
189
+ oneOf: Object.assign(getElementsFieldPropsForOneOf(params, uri), {
190
+ selectedItems,
191
+ items
192
+ })
193
+ }
194
+
195
+ return Object.assign(params, {
196
+ parentUri,
197
+ uri,
198
+ [uri]: {
199
+ meta,
200
+ elements
201
+ }
202
+ })
203
+ }
204
+
205
+ /**
206
+ * @param {SchemaType} schema
207
+ * @param {SchemaType} rootSchema
208
+ * @param {ParamsType} params
209
+ * @returns {ParamsType}
210
+ */
211
+ export function getRenderParamsByKeyForAllOf (schema, rootSchema, params) {
212
+ /**
213
+ * log('getRenderParamsByKeyForAllOf')
214
+ */
215
+
216
+ const {
217
+ parentUri: fieldParentUri = '#',
218
+ key: fieldKey = '',
219
+ required = []
220
+ } = params
221
+
222
+ /*
223
+ * Resolve `parentUri` and `uri`
224
+ */
225
+ const parentUri = normaliseUri(fieldParentUri)
226
+ const uri = getUri(fieldParentUri, fieldKey)
227
+
228
+ const meta = Object.assign(getMetaProps(params, uri), {
229
+ schema,
230
+ rootSchema,
231
+ parentUri,
232
+ uri,
233
+ name: fieldKey,
234
+ isRequired: required.includes(fieldKey)
235
+ })
236
+
237
+ return Object.assign(params, {
238
+ parentUri,
239
+ uri,
240
+ [uri]: {
241
+ meta,
242
+ elements: getElementsProps(params, uri)
243
+ }
244
+ })
245
+ }
246
+
247
+ /**
248
+ * @param {SchemaType} schema
249
+ * @param {SchemaType} rootSchema
250
+ * @param {ParamsType} params
251
+ * @returns {ParamsType}
252
+ */
253
+ export function getRenderParamsByKey (schema, rootSchema, params) {
254
+ /**
255
+ * log('getRenderParamsByKey')
256
+ */
257
+
258
+ const {
259
+ parentUri: fieldParentUri = '#',
260
+ key: fieldKey = '',
261
+ required = []
262
+ } = params
263
+
264
+ /*
265
+ * Resolve `parentUri` and `uri`
266
+ */
267
+ const parentUri = normaliseUri(fieldParentUri)
268
+ const uri = getUri(fieldParentUri, fieldKey)
269
+
270
+ const meta = Object.assign(getMetaProps(params, uri), {
271
+ schema,
272
+ rootSchema,
273
+ parentUri,
274
+ uri,
275
+ name: fieldKey,
276
+ isRequired: required.includes(fieldKey)
277
+ })
278
+ const elements = {
279
+ field: getElementsFieldProps(params, uri)
280
+ }
281
+
282
+ return Object.assign(params, {
283
+ parentUri,
284
+ uri,
285
+ [uri]: {
286
+ meta,
287
+ elements
288
+ }
289
+ })
290
+ }
291
+
292
+ /**
293
+ * @param {SchemaType} schema
294
+ * @param {SchemaType} rootSchema
295
+ * @param {ParamsType} params
296
+ * @returns {ParamsType}
297
+ */
298
+ export function getRenderParamsByIndexForEnum (schema, rootSchema, params) {
299
+ /**
300
+ * log('getRenderParamsByIndexForEnum')
301
+ */
302
+
303
+ const {
304
+ parentUri: arrayParentUri = '#',
305
+ index: arrayIndex = 0,
306
+ selectedItems = [],
307
+ items = []
308
+ } = params
309
+
310
+ /*
311
+ * Resolve `parentUri` and `uri`
312
+ */
313
+ const parentUri = normaliseUri(arrayParentUri)
314
+ const uri = getUri(arrayParentUri, arrayIndex)
315
+
316
+ const meta = Object.assign(getMetaProps(params, uri), {
317
+ schema,
318
+ rootSchema,
319
+ parentUri,
320
+ uri,
321
+ selectedItems,
322
+ items,
323
+ item: arrayIndex
324
+ })
325
+ const elements = {
326
+ enum: Object.assign(getElementsFieldPropsForEnum(params, uri), {
327
+ selectedItems,
328
+ items
329
+ })
330
+ }
331
+
332
+ return Object.assign(params, {
333
+ parentUri,
334
+ uri,
335
+ [uri]: {
336
+ meta,
337
+ elements
338
+ }
339
+ })
340
+ }
341
+
342
+ /**
343
+ * @param {SchemaType} schema
344
+ * @param {SchemaType} rootSchema
345
+ * @param {ParamsType} params
346
+ * @returns {ParamsType}
347
+ */
348
+ export function getRenderParamsByIndexForAnyOf (schema, rootSchema, params) {
349
+ /**
350
+ * log('getRenderParamsByIndexForAnyOf')
351
+ */
352
+
353
+ const {
354
+ parentUri: arrayParentUri = '#',
355
+ index: arrayIndex = 0,
356
+ selectedItems = [],
357
+ items = []
358
+ } = params
359
+
360
+ /*
361
+ * Resolve `parentUri` and `uri`
362
+ */
363
+ const parentUri = normaliseUri(arrayParentUri)
364
+ const uri = getUri(arrayParentUri, arrayIndex)
365
+
366
+ const meta = Object.assign(getMetaProps(params, uri), {
367
+ schema,
368
+ rootSchema,
369
+ parentUri,
370
+ uri,
371
+ selectedItems,
372
+ items,
373
+ item: arrayIndex
374
+ })
375
+ const elements = {
376
+ anyOf: Object.assign(getElementsFieldPropsForAnyOf(params, uri), {
377
+ selectedItems,
378
+ items
379
+ })
380
+ }
381
+
382
+ return Object.assign(params, {
383
+ parentUri,
384
+ uri,
385
+ [uri]: {
386
+ meta,
387
+ elements
388
+ }
389
+ })
390
+ }
391
+
392
+ /**
393
+ * @param {SchemaType} schema
394
+ * @param {SchemaType} rootSchema
395
+ * @param {ParamsType} params
396
+ * @returns {ParamsType}
397
+ */
398
+ export function getRenderParamsByIndexForOneOf (schema, rootSchema, params) {
399
+ /**
400
+ * log('getRenderParamsByIndexForOneOf')
401
+ */
402
+
403
+ const {
404
+ parentUri: arrayParentUri = '#',
405
+ index: arrayIndex = 0,
406
+ selectedItems = [],
407
+ items = []
408
+ } = params
409
+
410
+ /*
411
+ * Resolve `parentUri` and `uri`
412
+ */
413
+ const parentUri = normaliseUri(arrayParentUri)
414
+ const uri = getUri(arrayParentUri, arrayIndex)
415
+
416
+ const meta = Object.assign(getMetaProps(params, uri), {
417
+ schema,
418
+ rootSchema,
419
+ parentUri,
420
+ uri,
421
+ selectedItems,
422
+ items,
423
+ item: arrayIndex
424
+ })
425
+ const elements = {
426
+ oneOf: Object.assign(getElementsFieldPropsForOneOf(params, uri), {
427
+ selectedItems,
428
+ items
429
+ })
430
+ }
431
+
432
+ return Object.assign(params, {
433
+ parentUri,
434
+ uri,
435
+ [uri]: {
436
+ meta,
437
+ elements
438
+ }
439
+ })
440
+ }
441
+
442
+ /**
443
+ * @param {SchemaType} schema
444
+ * @param {SchemaType} rootSchema
445
+ * @param {ParamsType} params
446
+ * @returns {ParamsType}
447
+ */
448
+ export function getRenderParamsByIndexForAllOf (schema, rootSchema, params) {
449
+ /**
450
+ * log('getRenderParamsByIndexForAllOf')
451
+ */
452
+
453
+ const {
454
+ parentUri: arrayParentUri = '#',
455
+ index: arrayIndex = 0
456
+ } = params
457
+
458
+ /*
459
+ * Resolve `parentUri` and `uri`
460
+ */
461
+ const parentUri = normaliseUri(arrayParentUri)
462
+ const uri = getUri(arrayParentUri, arrayIndex)
463
+
464
+ const meta = Object.assign(getMetaProps(params, uri), {
465
+ schema,
466
+ rootSchema,
467
+ parentUri,
468
+ uri,
469
+ item: arrayIndex
470
+ })
471
+ const elements = {
472
+ field: getElementsFieldPropsForAllOf(params, uri)
473
+ }
474
+
475
+ return Object.assign(params, {
476
+ parentUri,
477
+ uri,
478
+ [uri]: {
479
+ meta,
480
+ elements
481
+ }
482
+ })
483
+ }
484
+
485
+ /**
486
+ * @param {SchemaType} schema
487
+ * @param {SchemaType} rootSchema
488
+ * @param {ParamsType} params
489
+ * @returns {ParamsType}
490
+ */
491
+ export function getRenderParamsByIndex (schema, rootSchema, params) {
492
+ /**
493
+ * log('getRenderParamsByIndex')
494
+ */
495
+
496
+ const {
497
+ parentUri: arrayParentUri = '#',
498
+ index: arrayIndex = 0
499
+ } = params
500
+
501
+ /*
502
+ * Resolve `parentUri` and `uri`
503
+ */
504
+ const parentUri = normaliseUri(arrayParentUri)
505
+ const uri = getUri(arrayParentUri, arrayIndex)
506
+
507
+ const meta = Object.assign(getMetaProps(params, uri), {
508
+ schema,
509
+ rootSchema,
510
+ parentUri,
511
+ uri,
512
+ item: arrayIndex
513
+ })
514
+ const elements = {
515
+ field: getElementsFieldProps(params, uri)
516
+ }
517
+
518
+ return Object.assign(params, {
519
+ parentUri,
520
+ uri,
521
+ [uri]: {
522
+ meta,
523
+ elements
524
+ }
525
+ })
526
+ }
527
+
528
+ /**
529
+ * @param {SchemaType} schema
530
+ * @param {SchemaType} rootSchema
531
+ * @param {ParamsType} params
532
+ * @returns {ParamsType}
533
+ */
534
+ export function getRenderParamsForEnum (schema, rootSchema, params) {
535
+ /**
536
+ * log('getRenderParamsForEnum')
537
+ */
538
+
539
+ const {
540
+ parentUri = '#',
541
+ uri = '#/',
542
+ selectedItems = [],
543
+ items = []
544
+ } = params
545
+
546
+ const meta = Object.assign(getMetaProps(params, uri), {
547
+ schema,
548
+ rootSchema,
549
+ parentUri: normaliseUri(parentUri),
550
+ uri,
551
+ selectedItems,
552
+ items
553
+ })
554
+ const elements = {
555
+ enum: Object.assign(getElementsFieldPropsForEnum(params, uri), {
556
+ selectedItems,
557
+ items
558
+ })
559
+ }
560
+
561
+ return Object.assign(params, {
562
+ parentUri,
563
+ uri,
564
+ [uri]: {
565
+ meta,
566
+ elements
567
+ }
568
+ })
569
+ }
570
+
571
+ /**
572
+ * @param {SchemaType} schema
573
+ * @param {SchemaType} rootSchema
574
+ * @param {ParamsType} params
575
+ * @returns {ParamsType}
576
+ */
577
+ export function getRenderParamsForAnyOf (schema, rootSchema, params) {
578
+ /**
579
+ * log('getRenderParamsForAnyOf')
580
+ */
581
+
582
+ const {
583
+ parentUri = '#',
584
+ uri = '#/',
585
+ selectedItems = [],
586
+ items = []
587
+ } = params
588
+
589
+ const meta = Object.assign(getMetaProps(params, uri), {
590
+ schema,
591
+ rootSchema,
592
+ parentUri: normaliseUri(parentUri),
593
+ uri,
594
+ selectedItems,
595
+ items
596
+ })
597
+ const elements = {
598
+ anyOf: Object.assign(getElementsFieldPropsForAnyOf(params, uri), {
599
+ selectedItems,
600
+ items
601
+ })
602
+ }
603
+
604
+ return Object.assign(params, {
605
+ parentUri,
606
+ uri,
607
+ [uri]: {
608
+ meta,
609
+ elements
610
+ }
611
+ })
612
+ }
613
+
614
+ /**
615
+ * @param {SchemaType} schema
616
+ * @param {SchemaType} rootSchema
617
+ * @param {ParamsType} params
618
+ * @returns {ParamsType}
619
+ */
620
+ export function getRenderParamsForOneOf (schema, rootSchema, params) {
621
+ /**
622
+ * log('getRenderParamsForOneOf')
623
+ */
624
+
625
+ const {
626
+ parentUri = '#',
627
+ uri = '#/',
628
+ selectedItems = [],
629
+ items = []
630
+ } = params
631
+
632
+ const meta = Object.assign(getMetaProps(params, uri), {
633
+ schema,
634
+ rootSchema,
635
+ parentUri: normaliseUri(parentUri),
636
+ uri,
637
+ selectedItems,
638
+ items
639
+ })
640
+ const elements = {
641
+ oneOf: Object.assign(getElementsFieldPropsForOneOf(params, uri), {
642
+ selectedItems,
643
+ items
644
+ })
645
+ }
646
+
647
+ return Object.assign(params, {
648
+ parentUri,
649
+ uri,
650
+ [uri]: {
651
+ meta,
652
+ elements
653
+ }
654
+ })
655
+ }
656
+
657
+ /**
658
+ * @param {SchemaType} schema
659
+ * @param {SchemaType} rootSchema
660
+ * @param {ParamsType} params
661
+ * @returns {ParamsType}
662
+ */
663
+ export function getRenderParamsForAllOf (schema, rootSchema, params) {
664
+ /**
665
+ * log('getRenderParamsForAllOf')
666
+ */
667
+
668
+ const {
669
+ parentUri = '#',
670
+ uri = '#/'
671
+ } = params
672
+
673
+ const meta = Object.assign(getMetaProps(params, uri), {
674
+ schema,
675
+ rootSchema,
676
+ parentUri: normaliseUri(parentUri),
677
+ uri
678
+ })
679
+ const elements = {
680
+ field: getElementsFieldPropsForAllOf(params, uri)
681
+ }
682
+
683
+ return Object.assign(params, {
684
+ parentUri,
685
+ uri,
686
+ [uri]: {
687
+ meta,
688
+ elements
689
+ }
690
+ })
691
+ }
692
+
693
+ /**
694
+ * @param {SchemaType} schema
695
+ * @param {SchemaType} rootSchema
696
+ * @param {ParamsType} params
697
+ * @returns {ParamsType}
698
+ */
699
+ export function getRenderParams (schema, rootSchema, params) {
700
+ /**
701
+ * log('getRenderParams')
702
+ */
703
+
704
+ const {
705
+ parentUri = '#',
706
+ uri = '#/',
707
+ fields = []
708
+ } = params
709
+
710
+ const meta = Object.assign(getMetaProps(params, uri), {
711
+ schema,
712
+ rootSchema,
713
+ parentUri: normaliseUri(parentUri),
714
+ uri
715
+ })
716
+ const elements = Object.assign(getElementsFieldProps(params, uri), {
717
+ fields
718
+ })
719
+
720
+ return Object.assign(params, {
721
+ fields // yep!
722
+ },
723
+ {
724
+ parentUri,
725
+ uri,
726
+ [uri]: {
727
+ meta,
728
+ elements
729
+ }
730
+ })
731
+ }