shinkansen-transmission 2.2.235 → 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 +6 -6
  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,940 @@
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
+ isArray,
35
+ getTitle,
36
+ getDescription,
37
+ isParentUri,
38
+ getMin,
39
+ getMax,
40
+ getIsExclusiveMin,
41
+ getIsExclusiveMax,
42
+ getStep,
43
+ getMetaProps,
44
+ getMetaDefaultValue,
45
+ getMetaValue,
46
+ getElementsFieldPropsForEnum,
47
+ getElementsFieldPropsForAnyOf,
48
+ getElementsFieldPropsForOneOf,
49
+ getElementsFieldProps,
50
+ getElementsFieldValue
51
+ } from '#transmission/transmission/common'
52
+
53
+ const log = debug('shinkansen-transmission/to-zashiki/render/number')
54
+
55
+ log('`shinkansen` is awake')
56
+
57
+ /**
58
+ * @param {SchemaType} schema
59
+ * @param {ParamsType} params
60
+ * @param {string} uri
61
+ * @param {{ min?: number }} min
62
+ * @param {{ max?: number }} max
63
+ * @param {{ step?: number }} step
64
+ * @returns {ZashikiNumberMetaType}
65
+ */
66
+ export function renderNumberMetaForEnum (schema, params, uri, min, max, step) {
67
+ /**
68
+ * log('renderNumberMetaForEnum')
69
+ */
70
+
71
+ const isExclusiveMin = getIsExclusiveMin(schema)
72
+ const isExclusiveMax = getIsExclusiveMax(schema)
73
+
74
+ /**
75
+ * @type {{ parentUri?: string }}
76
+ */
77
+ const {
78
+ parentUri = '#',
79
+ ...metaProps
80
+ } = getMetaProps(params, uri)
81
+
82
+ return (
83
+ Object.assign(
84
+ {
85
+ uri,
86
+ type: 'number'
87
+ },
88
+ isParentUri(parentUri, uri) ? { parentUri } : {},
89
+ min,
90
+ max,
91
+ step,
92
+ isExclusiveMin,
93
+ isExclusiveMax,
94
+ metaProps
95
+ )
96
+ )
97
+ }
98
+
99
+ /**
100
+ * @param {SchemaType} schema
101
+ * @param {ParamsType} params
102
+ * @param {string} uri
103
+ * @param {{ min?: number }} min
104
+ * @param {{ max?: number }} max
105
+ * @param {{ step?: number }} step
106
+ * @returns {ZashikiNumberMetaType}
107
+ */
108
+ export function renderNumberMetaForAnyOf (schema, params, uri, min, max, step) {
109
+ /**
110
+ * log('renderNumberMetaForAnyOf')
111
+ */
112
+
113
+ const isExclusiveMin = getIsExclusiveMin(schema)
114
+ const isExclusiveMax = getIsExclusiveMax(schema)
115
+
116
+ /**
117
+ * @type {{ parentUri?: string }}
118
+ */
119
+ const {
120
+ parentUri = '#',
121
+ ...metaProps
122
+ } = getMetaProps(params, uri)
123
+
124
+ return (
125
+ Object.assign(
126
+ {
127
+ uri,
128
+ type: 'number'
129
+ },
130
+ isParentUri(parentUri, uri) ? { parentUri } : {},
131
+ min,
132
+ max,
133
+ step,
134
+ isExclusiveMin,
135
+ isExclusiveMax,
136
+ metaProps
137
+ )
138
+ )
139
+ }
140
+
141
+ /**
142
+ * @param {SchemaType} schema
143
+ * @param {ParamsType} params
144
+ * @param {string} uri
145
+ * @param {{ min?: number }} min
146
+ * @param {{ max?: number }} max
147
+ * @param {{ step?: number }} step
148
+ * @returns {ZashikiNumberMetaType}
149
+ */
150
+ export function renderNumberMetaForOneOf (schema, params, uri, min, max, step) {
151
+ /**
152
+ * log('renderNumberMetaForOneOf')
153
+ */
154
+
155
+ const isExclusiveMin = getIsExclusiveMin(schema)
156
+ const isExclusiveMax = getIsExclusiveMax(schema)
157
+
158
+ /**
159
+ * @type {{ parentUri?: string }}
160
+ */
161
+ const {
162
+ parentUri = '#',
163
+ ...metaProps
164
+ } = getMetaProps(params, uri)
165
+
166
+ return (
167
+ Object.assign(
168
+ {
169
+ uri,
170
+ type: 'number'
171
+ },
172
+ isParentUri(parentUri, uri) ? { parentUri } : {},
173
+ min,
174
+ max,
175
+ step,
176
+ isExclusiveMin,
177
+ isExclusiveMax,
178
+ metaProps
179
+ )
180
+ )
181
+ }
182
+
183
+ /**
184
+ * @param {SchemaType} schema
185
+ * @param {ValuesType} values
186
+ * @param {ParamsType} params
187
+ * @param {string} uri
188
+ * @param {{ min?: number }} min
189
+ * @param {{ max?: number }} max
190
+ * @param {{ step?: number }} step
191
+ * @returns {ZashikiNumberMetaType}
192
+ */
193
+ export function getNumberMetaForAllOf (schema, values, params, uri, min, max, step) {
194
+ /**
195
+ * log('getNumberMetaForAllOf')
196
+ */
197
+
198
+ const isExclusiveMin = getIsExclusiveMin(schema)
199
+ const isExclusiveMax = getIsExclusiveMax(schema)
200
+
201
+ const metaDefaultValue = getMetaDefaultValue(schema) // , uri)
202
+ const metaValue = getMetaValue(values, uri, schema)
203
+
204
+ /**
205
+ * @type {{ parentUri?: string }}
206
+ */
207
+ const {
208
+ parentUri = '#',
209
+ ...metaProps
210
+ } = getMetaProps(params, uri)
211
+
212
+ return (
213
+ Object.assign(
214
+ {
215
+ uri,
216
+ type: 'number'
217
+ },
218
+ isParentUri(parentUri, uri) ? { parentUri } : {},
219
+ min,
220
+ max,
221
+ step,
222
+ isExclusiveMin,
223
+ isExclusiveMax,
224
+ metaDefaultValue,
225
+ metaValue,
226
+ metaProps
227
+ )
228
+ )
229
+ }
230
+
231
+ /**
232
+ * @param {SchemaType} schema
233
+ * @param {ValuesType} values
234
+ * @param {ParamsType} params
235
+ * @param {string} uri
236
+ * @param {{ min?: number }} min
237
+ * @param {{ max?: number }} max
238
+ * @param {{ step?: number }} step
239
+ * @returns {ZashikiNumberMetaType}
240
+ */
241
+ export function renderNumberMetaForAllOf (schema, values, params, uri, min, max, step) {
242
+ /**
243
+ * log('renderNumberMetaForAllOf')
244
+ */
245
+
246
+ /**
247
+ * @type {{ parentUri?: string }}
248
+ */
249
+ const {
250
+ parentUri = '#'
251
+ } = getMetaProps(params, uri)
252
+
253
+ if (isParentUri(parentUri, uri)) {
254
+ const {
255
+ selectedItems
256
+ } = getMetaProps(params, parentUri)
257
+
258
+ return (
259
+ Object.assign(
260
+ getNumberMetaForAllOf(schema, values, params, uri, min, max, step),
261
+ isArray(selectedItems) ? { selectedItems } : {}
262
+ )
263
+ )
264
+ }
265
+
266
+ return (
267
+ getNumberMetaForAllOf(schema, values, params, uri, min, max, step)
268
+ )
269
+ }
270
+
271
+ /**
272
+ * @param {SchemaType} schema
273
+ * @param {ValuesType} values
274
+ * @param {ParamsType} params
275
+ * @param {string} uri
276
+ * @param {{ min?: number }} min
277
+ * @param {{ max?: number }} max
278
+ * @param {{ step?: number }} step
279
+ * @returns {ZashikiNumberMetaType}
280
+ */
281
+ export function getNumberMeta (schema, values, params, uri, min, max, step) {
282
+ /**
283
+ * log('getNumberMeta')
284
+ */
285
+
286
+ const isExclusiveMin = getIsExclusiveMin(schema)
287
+ const isExclusiveMax = getIsExclusiveMax(schema)
288
+
289
+ const metaDefaultValue = getMetaDefaultValue(schema) // , uri)
290
+ const metaValue = getMetaValue(values, uri, schema)
291
+
292
+ /**
293
+ * @type {{ parentUri?: string }}
294
+ */
295
+ const {
296
+ parentUri = '#',
297
+ ...metaProps
298
+ } = getMetaProps(params, uri)
299
+
300
+ return (
301
+ Object.assign(
302
+ {
303
+ uri,
304
+ type: 'number'
305
+ },
306
+ isParentUri(parentUri, uri) ? { parentUri } : {},
307
+ min,
308
+ max,
309
+ step,
310
+ isExclusiveMin,
311
+ isExclusiveMax,
312
+ metaDefaultValue,
313
+ metaValue,
314
+ metaProps
315
+ )
316
+ )
317
+ }
318
+
319
+ /**
320
+ * @param {SchemaType} schema
321
+ * @param {ValuesType} values
322
+ * @param {ParamsType} params
323
+ * @param {string} uri
324
+ * @param {{ min?: number }} min
325
+ * @param {{ max?: number }} max
326
+ * @param {{ step?: number }} step
327
+ * @returns {ZashikiNumberMetaType}
328
+ */
329
+ export function renderNumberMeta (schema, values, params, uri, min, max, step) {
330
+ /**
331
+ * log('renderNumberMeta')
332
+ */
333
+
334
+ /**
335
+ * @type {{ parentUri?: string }}
336
+ */
337
+ const {
338
+ parentUri = '#'
339
+ } = getMetaProps(params, uri)
340
+
341
+ if (isParentUri(parentUri, uri)) {
342
+ const {
343
+ selectedItems
344
+ } = getMetaProps(params, parentUri)
345
+
346
+ return (
347
+ Object.assign(
348
+ getNumberMeta(schema, values, params, uri, min, max, step),
349
+ isArray(selectedItems) ? { selectedItems } : {}
350
+ )
351
+ )
352
+ }
353
+
354
+ return (
355
+ getNumberMeta(schema, values, params, uri, min, max, step)
356
+ )
357
+ }
358
+
359
+ /**
360
+ * @param {ObjectLiteralType | ObjectType} field
361
+ * @param {ParamsType} params
362
+ * @param {string} uri
363
+ * @param {{ min?: number }} min
364
+ * @param {{ max?: number }} max
365
+ * @param {{ step?: number }} step
366
+ * @returns {EnumType}
367
+ */
368
+ export function renderNumberElementsFieldForEnum (field, params, uri, min, max, step) {
369
+ /**
370
+ * log('renderNumberElementsFieldForEnum')
371
+ */
372
+
373
+ const fieldProps = getElementsFieldPropsForEnum(params, uri)
374
+
375
+ return (
376
+ Object.assign(
377
+ field,
378
+ min,
379
+ max,
380
+ step,
381
+ fieldProps,
382
+ {
383
+ id: uri
384
+ }
385
+ )
386
+ )
387
+ }
388
+
389
+ /**
390
+ * @param {ObjectLiteralType | ObjectType} field
391
+ * @param {ParamsType} params
392
+ * @param {string} uri
393
+ * @param {{ min?: number }} min
394
+ * @param {{ max?: number }} max
395
+ * @param {{ step?: number }} step
396
+ * @returns {AnyOfType}
397
+ */
398
+ export function renderNumberElementsFieldForAnyOf (field, params, uri, min, max, step) {
399
+ /**
400
+ * log('renderNumberElementsFieldForAnyOf')
401
+ */
402
+
403
+ const fieldProps = getElementsFieldPropsForAnyOf(params, uri)
404
+
405
+ return (
406
+ Object.assign(
407
+ field,
408
+ min,
409
+ max,
410
+ step,
411
+ fieldProps,
412
+ {
413
+ id: uri
414
+ }
415
+ )
416
+ )
417
+ }
418
+
419
+ /**
420
+ * @param {ObjectLiteralType | ObjectType} field
421
+ * @param {ParamsType} params
422
+ * @param {string} uri
423
+ * @param {{ min?: number }} min
424
+ * @param {{ max?: number }} max
425
+ * @param {{ step?: number }} step
426
+ * @returns {OneOfType}
427
+ */
428
+ export function renderNumberElementsFieldForOneOf (field, params, uri, min, max, step) {
429
+ /**
430
+ * log('renderNumberElementsFieldForOneOf')
431
+ */
432
+
433
+ const fieldProps = getElementsFieldPropsForOneOf(params, uri)
434
+
435
+ return (
436
+ Object.assign(
437
+ field,
438
+ min,
439
+ max,
440
+ step,
441
+ fieldProps,
442
+ {
443
+ id: uri
444
+ }
445
+ )
446
+ )
447
+ }
448
+
449
+ /**
450
+ * @param {ObjectLiteralType | ObjectType} field
451
+ * @param {SchemaType} schema
452
+ * @param {ValuesType} values
453
+ * @param {ParamsType} params
454
+ * @param {string} uri
455
+ * @param {{ min?: number }} min
456
+ * @param {{ max?: number }} max
457
+ * @param {{ step?: number }} step
458
+ * @returns {ObjectLiteralType | ObjectType}
459
+ */
460
+ export function getNumberElementsFieldForAllOf (field, schema, values, params, uri, min, max, step) {
461
+ /**
462
+ * log('getNumberElementsFieldForAllOf')
463
+ */
464
+
465
+ const fieldValue = getElementsFieldValue(values, uri, schema)
466
+ const fieldProps = getElementsFieldProps(params, uri)
467
+
468
+ return (
469
+ Object.assign(
470
+ field,
471
+ min,
472
+ max,
473
+ step,
474
+ fieldValue,
475
+ fieldProps
476
+ )
477
+ )
478
+ }
479
+
480
+ /**
481
+ * @param {ObjectLiteralType | ObjectType} field
482
+ * @param {SchemaType} schema
483
+ * @param {ValuesType} values
484
+ * @param {ParamsType} params
485
+ * @param {string} uri
486
+ * @param {{ min?: number }} min
487
+ * @param {{ max?: number }} max
488
+ * @param {{ step?: number }} step
489
+ * @returns {FieldType}
490
+ */
491
+ export function renderNumberElementsFieldForAllOf (field, schema, values, params, uri, min, max, step) {
492
+ /**
493
+ * log('renderNumberElementsFieldForAllOf')
494
+ */
495
+
496
+ const {
497
+ parentUri = '#'
498
+ } = params
499
+
500
+ if (isParentUri(parentUri, uri)) {
501
+ const {
502
+ selectedItems
503
+ } = getMetaProps(params, parentUri)
504
+
505
+ return (
506
+ Object.assign(
507
+ getNumberElementsFieldForAllOf(field, schema, values, params, uri, min, max, step),
508
+ isArray(selectedItems) ? { selectedItems } : {},
509
+ {
510
+ id: uri
511
+ }
512
+ )
513
+ )
514
+ }
515
+
516
+ return (
517
+ Object.assign(
518
+ getNumberElementsFieldForAllOf(field, schema, values, params, uri, min, max, step),
519
+ {
520
+ id: uri
521
+ }
522
+ )
523
+ )
524
+ }
525
+
526
+ /**
527
+ * @param {ObjectLiteralType | ObjectType} field
528
+ * @param {SchemaType} schema
529
+ * @param {ValuesType} values
530
+ * @param {ParamsType} params
531
+ * @param {string} uri
532
+ * @param {{ min?: number }} min
533
+ * @param {{ max?: number }} max
534
+ * @param {{ step?: number }} step
535
+ * @returns {ObjectLiteralType | ObjectType}
536
+ */
537
+ export function getNumberElementsField (field, schema, values, params, uri, min, max, step) {
538
+ /**
539
+ * log('getNumberElementsField')
540
+ */
541
+
542
+ const fieldValue = getElementsFieldValue(values, uri, schema)
543
+ const fieldProps = getElementsFieldProps(params, uri)
544
+
545
+ return (
546
+ Object.assign(
547
+ field,
548
+ min,
549
+ max,
550
+ step,
551
+ fieldValue,
552
+ fieldProps
553
+ )
554
+ )
555
+ }
556
+
557
+ /**
558
+ * @param {ObjectLiteralType | ObjectType} field
559
+ * @param {SchemaType} schema
560
+ * @param {ValuesType} values
561
+ * @param {ParamsType} params
562
+ * @param {string} uri
563
+ * @param {{ min?: number }} min
564
+ * @param {{ max?: number }} max
565
+ * @param {{ step?: number }} step
566
+ * @returns {FieldType}
567
+ */
568
+ export function renderNumberElementsField (field, schema, values, params, uri, min, max, step) {
569
+ /**
570
+ * log('renderNumberElementsField')
571
+ */
572
+
573
+ const {
574
+ parentUri = '#'
575
+ } = params
576
+
577
+ if (isParentUri(parentUri, uri)) {
578
+ const {
579
+ selectedItems
580
+ } = getMetaProps(params, parentUri)
581
+
582
+ return (
583
+ Object.assign(
584
+ getNumberElementsField(field, schema, values, params, uri, min, max, step),
585
+ isArray(selectedItems) ? { selectedItems } : {},
586
+ {
587
+ id: uri
588
+ }
589
+ )
590
+ )
591
+ }
592
+
593
+ return (
594
+ Object.assign(
595
+ getNumberElementsField(field, schema, values, params, uri, min, max, step),
596
+ {
597
+ id: uri
598
+ }
599
+ )
600
+ )
601
+ }
602
+
603
+ /**
604
+ * @param {ObjectLiteralType | ObjectType} elements
605
+ * @param {SchemaType} schema
606
+ * @returns {ObjectLiteralType | ObjectType}
607
+ */
608
+ export function getNumberElements (elements, schema) {
609
+ /**
610
+ * log('getNumberElements')
611
+ */
612
+
613
+ return (
614
+ Object.assign(
615
+ elements,
616
+ getTitle(schema),
617
+ getDescription(schema)
618
+ )
619
+ )
620
+ }
621
+
622
+ /**
623
+ * @param {SchemaType} schema
624
+ * @param {ParamsType} params
625
+ * @param {string} uri
626
+ * @param {{ min?: number }} min
627
+ * @param {{ max?: number }} max
628
+ * @param {{ step?: number }} step
629
+ * @returns {ZashikiNumberElementsType}
630
+ */
631
+ export function renderNumberElementsForEnum (schema, params, uri, min, max, step) {
632
+ /**
633
+ * log('renderNumberElementsForEnum')
634
+ */
635
+
636
+ /**
637
+ * @type {ObjectLiteralType}
638
+ */
639
+ const elements = {}
640
+
641
+ /**
642
+ * @type {ObjectLiteralType}
643
+ */
644
+ const field = {}
645
+
646
+ return (
647
+ Object.assign(
648
+ getNumberElements(elements, schema),
649
+ {
650
+ enum: renderNumberElementsFieldForEnum(field, params, uri, min, max, step)
651
+ }
652
+ )
653
+ )
654
+ }
655
+
656
+ /**
657
+ * @param {SchemaType} schema
658
+ * @param {ParamsType} params
659
+ * @param {string} uri
660
+ * @param {{ min?: number }} min
661
+ * @param {{ max?: number }} max
662
+ * @param {{ step?: number }} step
663
+ * @returns {ZashikiNumberElementsType}
664
+ */
665
+ export function renderNumberElementsForAnyOf (schema, params, uri, min, max, step) {
666
+ /**
667
+ * log('renderNumberElementsForAnyOf')
668
+ */
669
+
670
+ /**
671
+ * @type {ObjectLiteralType}
672
+ */
673
+ const elements = {}
674
+
675
+ /**
676
+ * @type {ObjectLiteralType}
677
+ */
678
+ const field = {}
679
+
680
+ return (
681
+ Object.assign(
682
+ getNumberElements(elements, schema),
683
+ {
684
+ anyOf: renderNumberElementsFieldForAnyOf(field, params, uri, min, max, step)
685
+ }
686
+ )
687
+ )
688
+ }
689
+
690
+ /**
691
+ * @param {SchemaType} schema
692
+ * @param {ParamsType} params
693
+ * @param {string} uri
694
+ * @param {{ min?: number }} min
695
+ * @param {{ max?: number }} max
696
+ * @param {{ step?: number }} step
697
+ * @returns {ZashikiNumberElementsType}
698
+ */
699
+ export function renderNumberElementsForOneOf (schema, params, uri, min, max, step) {
700
+ /**
701
+ * log('renderNumberElementsForOneOf')
702
+ */
703
+
704
+ /**
705
+ * @type {ObjectLiteralType}
706
+ */
707
+ const elements = {}
708
+
709
+ /**
710
+ * @type {ObjectLiteralType}
711
+ */
712
+ const field = {}
713
+
714
+ return (
715
+ Object.assign(
716
+ getNumberElements(elements, schema),
717
+ {
718
+ oneOf: renderNumberElementsFieldForOneOf(field, params, uri, min, max, step)
719
+ }
720
+ )
721
+ )
722
+ }
723
+
724
+ /**
725
+ * @param {SchemaType} schema
726
+ * @param {ValuesType} values
727
+ * @param {ParamsType} params
728
+ * @param {string} uri
729
+ * @param {{ min?: number }} min
730
+ * @param {{ max?: number }} max
731
+ * @param {{ step?: number }} step
732
+ * @returns {ZashikiNumberElementsType}
733
+ */
734
+ export function renderNumberElementsForAllOf (schema, values, params, uri, min, max, step) {
735
+ /**
736
+ * log('renderNumberElementsForAllOf')
737
+ */
738
+
739
+ /**
740
+ * @type {ObjectLiteralType}
741
+ */
742
+ const elements = {}
743
+
744
+ /**
745
+ * @type {ObjectLiteralType}
746
+ */
747
+ const field = {}
748
+
749
+ return (
750
+ Object.assign(
751
+ getNumberElements(elements, schema),
752
+ {
753
+ field: renderNumberElementsFieldForAllOf(field, schema, values, params, uri, min, max, step)
754
+ }
755
+ )
756
+ )
757
+ }
758
+
759
+ /**
760
+ * @param {SchemaType} schema
761
+ * @param {ValuesType} values
762
+ * @param {ParamsType} params
763
+ * @param {string} uri
764
+ * @param {{ min?: number }} min
765
+ * @param {{ max?: number }} max
766
+ * @param {{ step?: number }} step
767
+ * @returns {ZashikiNumberElementsType}
768
+ */
769
+ export function renderNumberElements (schema, values, params, uri, min, max, step) {
770
+ /**
771
+ * log('renderNumberElements')
772
+ */
773
+
774
+ /**
775
+ * @type {ObjectLiteralType}
776
+ */
777
+ const elements = {}
778
+
779
+ /**
780
+ * @type {ObjectLiteralType}
781
+ */
782
+ const field = {}
783
+
784
+ return (
785
+ Object.assign(
786
+ getNumberElements(elements, schema),
787
+ {
788
+ field: renderNumberElementsField(field, schema, values, params, uri, min, max, step)
789
+ }
790
+ )
791
+ )
792
+ }
793
+
794
+ /**
795
+ * "enum"
796
+ *
797
+ * @param {SchemaType} schema
798
+ * @param {ValuesType} values
799
+ * @param {ParamsType} params
800
+ * @returns {ZashikiType}
801
+ */
802
+ export function renderNumberForEnum (schema, values, params) {
803
+ /**
804
+ * log('renderNumberForEnum')
805
+ */
806
+
807
+ const {
808
+ uri = '#/'
809
+ } = params
810
+
811
+ const min = getMin(schema)
812
+ const max = getMax(schema)
813
+ const step = getStep(schema)
814
+
815
+ const meta = renderNumberMetaForEnum(schema, params, uri, min, max, step)
816
+ const elements = renderNumberElementsForEnum(schema, params, uri, min, max, step)
817
+
818
+ return {
819
+ meta,
820
+ elements
821
+ }
822
+ }
823
+
824
+ /**
825
+ * "anyOf"
826
+ *
827
+ * @param {SchemaType} schema
828
+ * @param {ValuesType} values
829
+ * @param {ParamsType} params
830
+ * @returns {ZashikiType}
831
+ */
832
+ export function renderNumberForAnyOf (schema, values, params) {
833
+ /**
834
+ * log('renderNumberForAnyOf')
835
+ */
836
+
837
+ const {
838
+ uri = '#/'
839
+ } = params
840
+
841
+ const min = getMin(schema)
842
+ const max = getMax(schema)
843
+ const step = getStep(schema)
844
+
845
+ const meta = renderNumberMetaForAnyOf(schema, params, uri, min, max, step)
846
+ const elements = renderNumberElementsForAnyOf(schema, params, uri, min, max, step)
847
+
848
+ return {
849
+ meta,
850
+ elements
851
+ }
852
+ }
853
+
854
+ /**
855
+ * "oneOf"
856
+ *
857
+ * @param {SchemaType} schema
858
+ * @param {ValuesType} values
859
+ * @param {ParamsType} params
860
+ * @returns {ZashikiType}
861
+ */
862
+ export function renderNumberForOneOf (schema, values, params) {
863
+ /**
864
+ * log('renderNumberForOneOf')
865
+ */
866
+
867
+ const {
868
+ uri = '#/'
869
+ } = params
870
+
871
+ const min = getMin(schema)
872
+ const max = getMax(schema)
873
+ const step = getStep(schema)
874
+
875
+ const meta = renderNumberMetaForOneOf(schema, params, uri, min, max, step)
876
+ const elements = renderNumberElementsForOneOf(schema, params, uri, min, max, step)
877
+
878
+ return {
879
+ meta,
880
+ elements
881
+ }
882
+ }
883
+
884
+ /**
885
+ * "allOf"
886
+ *
887
+ * @param {SchemaType} schema
888
+ * @param {ValuesType} values
889
+ * @param {ParamsType} params
890
+ * @returns {ZashikiType}
891
+ */
892
+ export function renderNumberForAllOf (schema, values, params) {
893
+ /**
894
+ * log('renderNumberForAllOf')
895
+ */
896
+
897
+ const {
898
+ uri = '#/'
899
+ } = params
900
+
901
+ const min = getMin(schema)
902
+ const max = getMax(schema)
903
+ const step = getStep(schema)
904
+
905
+ const meta = renderNumberMetaForAllOf(schema, values, params, uri, min, max, step)
906
+ const elements = renderNumberElementsForAllOf(schema, values, params, uri, min, max, step)
907
+
908
+ return {
909
+ meta,
910
+ elements
911
+ }
912
+ }
913
+
914
+ /**
915
+ * @param {SchemaType} schema
916
+ * @param {ValuesType} values
917
+ * @param {ParamsType} params
918
+ * @returns {ZashikiType}
919
+ */
920
+ export function renderNumber (schema, values, params) {
921
+ /**
922
+ * log('renderNumber')
923
+ */
924
+
925
+ const {
926
+ uri = '#/'
927
+ } = params
928
+
929
+ const min = getMin(schema)
930
+ const max = getMax(schema)
931
+ const step = getStep(schema)
932
+
933
+ const meta = renderNumberMeta(schema, values, params, uri, min, max, step)
934
+ const elements = renderNumberElements(schema, values, params, uri, min, max, step)
935
+
936
+ return {
937
+ meta,
938
+ elements
939
+ }
940
+ }