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,212 @@
1
+ /**
2
+ * @typedef {TransmissionTypes.SchemaType} SchemaType
3
+ * @typedef {TransmissionTypes.ValuesType} ValuesType
4
+ * @typedef {TransmissionTypes.ParamsType} ParamsType
5
+ *
6
+ * @typedef {TransmissionTypes.Zashiki.ZashikiType} ZashikiType
7
+ */
8
+
9
+ import debug from 'debug'
10
+
11
+ import {
12
+ normaliseUri,
13
+ getMetaProps,
14
+ getElementsFieldPropsForEnum,
15
+ getElementsFieldPropsForAnyOf,
16
+ getElementsFieldPropsForOneOf,
17
+ getElementsFieldPropsForAllOf,
18
+ getElementsProps
19
+ } from '#transmission/transmission/common'
20
+
21
+ const log = debug('shinkansen-transmission/to-zashiki/render-params/root-schema')
22
+
23
+ log('`shinkansen` is awake')
24
+
25
+ /**
26
+ * @param {SchemaType} rootSchema
27
+ * @param {ParamsType} params
28
+ * @returns {ParamsType}
29
+ */
30
+ export function getRenderParamsForEnum (rootSchema, params) {
31
+ /*
32
+ * log('getRenderParamsForEnum')
33
+ */
34
+
35
+ const {
36
+ parentUri = '#',
37
+ uri = '#/',
38
+ selectedItems = [],
39
+ items = []
40
+ } = params
41
+
42
+ const meta = Object.assign(getMetaProps(params, uri), {
43
+ schema: rootSchema,
44
+ selectedItems,
45
+ items
46
+ })
47
+
48
+ const elements = {
49
+ enum: Object.assign(getElementsFieldPropsForEnum(params, uri), {
50
+ selectedItems,
51
+ items
52
+ })
53
+ }
54
+
55
+ return Object.assign(params, {
56
+ parentUri,
57
+ uri,
58
+ [uri]: {
59
+ meta,
60
+ elements
61
+ }
62
+ })
63
+ }
64
+
65
+ /**
66
+ * @param {SchemaType} rootSchema
67
+ * @param {ParamsType} params
68
+ * @returns {ParamsType}
69
+ */
70
+ export function getRenderParamsForAnyOf (rootSchema, params) {
71
+ /*
72
+ * log('getRenderParamsForAnyOf')
73
+ */
74
+
75
+ const {
76
+ parentUri = '#',
77
+ uri = '#/',
78
+ selectedItems = [],
79
+ items = []
80
+ } = params
81
+
82
+ const meta = Object.assign(getMetaProps(params, uri), {
83
+ schema: rootSchema,
84
+ selectedItems,
85
+ items
86
+ })
87
+
88
+ const elements = {
89
+ anyOf: Object.assign(getElementsFieldPropsForAnyOf(params, uri), {
90
+ selectedItems,
91
+ items
92
+ })
93
+ }
94
+
95
+ return Object.assign(params, {
96
+ parentUri,
97
+ uri,
98
+ [uri]: {
99
+ meta,
100
+ elements
101
+ }
102
+ })
103
+ }
104
+
105
+ /**
106
+ * @param {SchemaType} rootSchema
107
+ * @param {ParamsType} params
108
+ * @returns {ParamsType}
109
+ */
110
+ export function getRenderParamsForOneOf (rootSchema, params) {
111
+ /*
112
+ * log('getRenderParamsForOneOf')
113
+ */
114
+
115
+ const {
116
+ parentUri = '#',
117
+ uri = '#/',
118
+ selectedItems = [],
119
+ items = []
120
+ } = params
121
+
122
+ const meta = Object.assign(getMetaProps(params, uri), {
123
+ schema: rootSchema,
124
+ selectedItems,
125
+ items
126
+ })
127
+
128
+ const elements = {
129
+ oneOf: Object.assign(getElementsFieldPropsForOneOf(params, uri), {
130
+ selectedItems,
131
+ items
132
+ })
133
+ }
134
+
135
+ return Object.assign(params, {
136
+ parentUri,
137
+ uri,
138
+ [uri]: {
139
+ meta,
140
+ elements
141
+ }
142
+ })
143
+ }
144
+
145
+ /**
146
+ * @param {SchemaType} rootSchema
147
+ * @param {ParamsType} params
148
+ * @returns {ParamsType}
149
+ */
150
+ export function getRenderParamsForAllOf (rootSchema, params) {
151
+ /*
152
+ * log('getRenderParamsForAllOf')
153
+ */
154
+
155
+ const {
156
+ parentUri = '#',
157
+ uri = '#/'
158
+ } = params
159
+
160
+ const meta = Object.assign(getMetaProps(params, uri), {
161
+ schema: rootSchema
162
+ })
163
+
164
+ const elements = {
165
+ field: getElementsFieldPropsForAllOf(params, uri)
166
+ }
167
+
168
+ return Object.assign(params, {
169
+ parentUri,
170
+ uri,
171
+ [uri]: {
172
+ meta,
173
+ elements
174
+ }
175
+ })
176
+ }
177
+
178
+ /**
179
+ * @param {SchemaType} rootSchema
180
+ * @param {ParamsType} params
181
+ * @returns {ParamsType}
182
+ */
183
+ export function getRenderParams (rootSchema, params) {
184
+ /*
185
+ * log('getRenderParams')
186
+ */
187
+
188
+ const {
189
+ parentUri = '#',
190
+ uri = '#/',
191
+ fields = []
192
+ } = params
193
+
194
+ const meta = Object.assign(getMetaProps(params, uri), {
195
+ schema: rootSchema,
196
+ parentUri: normaliseUri(parentUri),
197
+ uri
198
+ })
199
+
200
+ const elements = Object.assign(getElementsProps(params, uri), {
201
+ fields
202
+ })
203
+
204
+ return Object.assign(params, {
205
+ parentUri,
206
+ uri,
207
+ [uri]: {
208
+ meta,
209
+ elements
210
+ }
211
+ })
212
+ }