@jsonforms/core 3.0.0-alpha.1 → 3.0.0-beta.1

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 (228) hide show
  1. package/docs/assets/js/search.json +1 -1
  2. package/docs/globals.html +822 -405
  3. package/docs/index.html +69 -36
  4. package/docs/interfaces/addcellrendereraction.html +3 -3
  5. package/docs/interfaces/addrendereraction.html +3 -3
  6. package/docs/interfaces/adduischemaaction.html +3 -3
  7. package/docs/interfaces/arraycontrolprops.html +21 -21
  8. package/docs/interfaces/arraylayoutprops.html +21 -21
  9. package/docs/interfaces/cellprops.html +14 -14
  10. package/docs/interfaces/combinatorrendererprops.html +13 -13
  11. package/docs/interfaces/controlprops.html +16 -16
  12. package/docs/interfaces/controlstate.html +2 -2
  13. package/docs/interfaces/controlwithdetailprops.html +17 -17
  14. package/docs/interfaces/dispatchcellprops.html +13 -13
  15. package/docs/interfaces/dispatchcellstateprops.html +13 -13
  16. package/docs/interfaces/dispatchpropsofarraycontrol.html +4 -4
  17. package/docs/interfaces/dispatchpropsofcontrol.html +1 -1
  18. package/docs/interfaces/dispatchpropsofmultienumcontrol.html +2 -2
  19. package/docs/interfaces/enumcellprops.html +15 -15
  20. package/docs/interfaces/enumoption.html +2 -2
  21. package/docs/interfaces/initaction.html +6 -6
  22. package/docs/interfaces/initactionoptions.html +3 -3
  23. package/docs/interfaces/jsonformscore.html +7 -7
  24. package/docs/interfaces/{jsonformslocalestate.html → jsonformsi18nstate.html} +20 -20
  25. package/docs/interfaces/jsonformsprops.html +9 -9
  26. package/docs/interfaces/jsonformssubstates.html +11 -1
  27. package/docs/interfaces/layoutprops.html +10 -10
  28. package/docs/interfaces/ownpropsofcell.html +10 -10
  29. package/docs/interfaces/ownpropsofcontrol.html +9 -9
  30. package/docs/interfaces/ownpropsofenum.html +1 -1
  31. package/docs/interfaces/ownpropsofenumcell.html +11 -11
  32. package/docs/interfaces/ownpropsofjsonformsrenderer.html +8 -8
  33. package/docs/interfaces/ownpropsoflayout.html +9 -9
  34. package/docs/interfaces/ownpropsofmasterlistitem.html +6 -6
  35. package/docs/interfaces/ownpropsofrenderer.html +8 -8
  36. package/docs/interfaces/registerdefaultdataaction.html +3 -3
  37. package/docs/interfaces/removecellrendereraction.html +3 -3
  38. package/docs/interfaces/removerendereraction.html +3 -3
  39. package/docs/interfaces/removeuischemaaction.html +2 -2
  40. package/docs/interfaces/rendererprops.html +9 -9
  41. package/docs/interfaces/setajvaction.html +3 -3
  42. package/docs/interfaces/setconfigaction.html +2 -2
  43. package/docs/interfaces/setlocaleaction.html +3 -3
  44. package/docs/interfaces/setschemaaction.html +2 -2
  45. package/docs/interfaces/{setlocalizedschemasaction.html → settranslatoraction.html} +29 -15
  46. package/docs/interfaces/setuischemaaction.html +2 -2
  47. package/docs/interfaces/setvalidationmodeaction.html +2 -2
  48. package/docs/interfaces/statepropsofarraycontrol.html +17 -17
  49. package/docs/interfaces/statepropsofarraylayout.html +17 -17
  50. package/docs/interfaces/statepropsofcell.html +13 -13
  51. package/docs/interfaces/statepropsofcombinator.html +12 -12
  52. package/docs/interfaces/statepropsofcontrol.html +15 -15
  53. package/docs/interfaces/statepropsofcontrolwithdetail.html +16 -16
  54. package/docs/interfaces/statepropsofenumcell.html +14 -14
  55. package/docs/interfaces/statepropsofjsonformsrenderer.html +9 -9
  56. package/docs/interfaces/statepropsoflayout.html +10 -10
  57. package/docs/interfaces/statepropsofmasteritem.html +7 -7
  58. package/docs/interfaces/statepropsofrenderer.html +9 -9
  59. package/docs/interfaces/statepropsofscopedrenderer.html +12 -12
  60. package/docs/interfaces/unregisterdefaultdataaction.html +2 -2
  61. package/docs/interfaces/updateaction.html +3 -3
  62. package/docs/interfaces/updatecoreaction.html +6 -6
  63. package/docs/interfaces/updateerrorsaction.html +2 -2
  64. package/docs/interfaces/{setlocalizeduischemasaction.html → updatei18naction.html} +43 -15
  65. package/docs/interfaces/withclassname.html +1 -1
  66. package/lib/Helpers.d.ts +5 -5
  67. package/lib/actions/actions.d.ts +181 -177
  68. package/lib/actions/index.d.ts +1 -1
  69. package/lib/configDefault.d.ts +6 -6
  70. package/lib/generators/Generate.d.ts +6 -6
  71. package/lib/generators/index.d.ts +3 -3
  72. package/lib/generators/schema.d.ts +8 -8
  73. package/lib/generators/uischema.d.ts +12 -12
  74. package/lib/i18n/i18nTypes.d.ts +15 -0
  75. package/lib/i18n/i18nUtil.d.ts +18 -0
  76. package/lib/i18n/index.d.ts +2 -0
  77. package/lib/index.d.ts +11 -10
  78. package/lib/jsonforms-core.cjs.js +2445 -0
  79. package/lib/jsonforms-core.cjs.js.map +1 -0
  80. package/lib/jsonforms-core.esm.js +2164 -0
  81. package/lib/jsonforms-core.esm.js.map +1 -0
  82. package/lib/models/draft4.d.ts +198 -198
  83. package/lib/models/index.d.ts +5 -5
  84. package/lib/models/jsonSchema.d.ts +3 -3
  85. package/lib/models/jsonSchema4.d.ts +110 -110
  86. package/lib/models/jsonSchema7.d.ts +119 -119
  87. package/lib/models/uischema.d.ts +201 -201
  88. package/lib/reducers/cells.d.ts +11 -11
  89. package/lib/reducers/config.d.ts +3 -3
  90. package/lib/reducers/core.d.ts +24 -23
  91. package/lib/reducers/default-data.d.ts +10 -10
  92. package/lib/reducers/i18n.d.ts +8 -11
  93. package/lib/reducers/index.d.ts +9 -9
  94. package/lib/reducers/reducers.d.ts +29 -36
  95. package/lib/reducers/renderers.d.ts +10 -10
  96. package/lib/reducers/selectors.d.ts +15 -15
  97. package/lib/reducers/uischemas.d.ts +10 -10
  98. package/lib/store.d.ts +53 -52
  99. package/lib/testers/index.d.ts +1 -1
  100. package/lib/testers/testers.d.ts +203 -203
  101. package/lib/util/Formatted.d.ts +19 -19
  102. package/lib/util/array.d.ts +3 -3
  103. package/lib/util/cell.d.ts +79 -79
  104. package/lib/util/combinators.d.ts +10 -10
  105. package/lib/util/ids.d.ts +3 -3
  106. package/lib/util/index.d.ts +15 -15
  107. package/lib/util/label.d.ts +9 -9
  108. package/lib/util/path.d.ts +25 -25
  109. package/lib/util/renderer.d.ts +398 -387
  110. package/lib/util/resolvers.d.ts +25 -25
  111. package/lib/util/runtime.d.ts +18 -19
  112. package/lib/util/schema.d.ts +1 -1
  113. package/lib/util/type.d.ts +174 -174
  114. package/lib/util/uischema.d.ts +5 -5
  115. package/lib/util/util.d.ts +31 -31
  116. package/lib/util/validator.d.ts +3 -2
  117. package/package.json +18 -14
  118. package/rollup.config.js +44 -0
  119. package/src/actions/actions.ts +46 -36
  120. package/src/i18n/i18nTypes.ts +17 -0
  121. package/src/i18n/i18nUtil.ts +105 -0
  122. package/src/i18n/index.ts +2 -0
  123. package/src/index.ts +1 -0
  124. package/src/reducers/core.ts +70 -48
  125. package/src/reducers/i18n.ts +41 -35
  126. package/src/reducers/reducers.ts +10 -29
  127. package/src/reducers/selectors.ts +1 -1
  128. package/src/store.ts +4 -4
  129. package/src/util/cell.ts +26 -6
  130. package/src/util/renderer.ts +127 -38
  131. package/src/util/runtime.ts +1 -1
  132. package/src/util/util.ts +1 -1
  133. package/src/util/validator.ts +5 -9
  134. package/stats.html +3279 -0
  135. package/{lib/reducers/cells.js → test/i18n/i18nUtil.test.ts} +25 -17
  136. package/test/reducers/core.test.ts +31 -44
  137. package/test/util/cell.test.ts +2 -2
  138. package/test/util/renderer.test.ts +488 -35
  139. package/lib/Helpers.js +0 -32
  140. package/lib/Helpers.js.map +0 -1
  141. package/lib/actions/actions.js +0 -149
  142. package/lib/actions/actions.js.map +0 -1
  143. package/lib/actions/index.js +0 -29
  144. package/lib/actions/index.js.map +0 -1
  145. package/lib/configDefault.js +0 -47
  146. package/lib/configDefault.js.map +0 -1
  147. package/lib/generators/Generate.js +0 -34
  148. package/lib/generators/Generate.js.map +0 -1
  149. package/lib/generators/index.js +0 -31
  150. package/lib/generators/index.js.map +0 -1
  151. package/lib/generators/schema.js +0 -152
  152. package/lib/generators/schema.js.map +0 -1
  153. package/lib/generators/uischema.js +0 -166
  154. package/lib/generators/uischema.js.map +0 -1
  155. package/lib/index.js +0 -37
  156. package/lib/index.js.map +0 -1
  157. package/lib/jsonforms-core.js +0 -19
  158. package/lib/jsonforms-core.js.map +0 -1
  159. package/lib/models/draft4.js +0 -173
  160. package/lib/models/draft4.js.map +0 -1
  161. package/lib/models/index.js +0 -30
  162. package/lib/models/index.js.map +0 -1
  163. package/lib/models/jsonSchema.js +0 -27
  164. package/lib/models/jsonSchema.js.map +0 -1
  165. package/lib/models/jsonSchema4.js +0 -30
  166. package/lib/models/jsonSchema4.js.map +0 -1
  167. package/lib/models/jsonSchema7.js +0 -30
  168. package/lib/models/jsonSchema7.js.map +0 -1
  169. package/lib/models/uischema.js +0 -55
  170. package/lib/models/uischema.js.map +0 -1
  171. package/lib/reducers/cells.js.map +0 -1
  172. package/lib/reducers/config.js +0 -44
  173. package/lib/reducers/config.js.map +0 -1
  174. package/lib/reducers/core.js +0 -259
  175. package/lib/reducers/core.js.map +0 -1
  176. package/lib/reducers/default-data.js +0 -42
  177. package/lib/reducers/default-data.js.map +0 -1
  178. package/lib/reducers/i18n.js +0 -65
  179. package/lib/reducers/i18n.js.map +0 -1
  180. package/lib/reducers/index.js +0 -37
  181. package/lib/reducers/index.js.map +0 -1
  182. package/lib/reducers/reducers.js +0 -99
  183. package/lib/reducers/reducers.js.map +0 -1
  184. package/lib/reducers/renderers.js +0 -41
  185. package/lib/reducers/renderers.js.map +0 -1
  186. package/lib/reducers/selectors.js +0 -47
  187. package/lib/reducers/selectors.js.map +0 -1
  188. package/lib/reducers/uischemas.js +0 -57
  189. package/lib/reducers/uischemas.js.map +0 -1
  190. package/lib/store.js +0 -27
  191. package/lib/store.js.map +0 -1
  192. package/lib/testers/index.js +0 -29
  193. package/lib/testers/index.js.map +0 -1
  194. package/lib/testers/testers.js +0 -401
  195. package/lib/testers/testers.js.map +0 -1
  196. package/lib/util/Formatted.js +0 -27
  197. package/lib/util/Formatted.js.map +0 -1
  198. package/lib/util/array.js +0 -43
  199. package/lib/util/array.js.map +0 -1
  200. package/lib/util/cell.js +0 -133
  201. package/lib/util/cell.js.map +0 -1
  202. package/lib/util/combinators.js +0 -56
  203. package/lib/util/combinators.js.map +0 -1
  204. package/lib/util/ids.js +0 -50
  205. package/lib/util/ids.js.map +0 -1
  206. package/lib/util/index.js +0 -41
  207. package/lib/util/index.js.map +0 -1
  208. package/lib/util/label.js +0 -70
  209. package/lib/util/label.js.map +0 -1
  210. package/lib/util/path.js +0 -85
  211. package/lib/util/path.js.map +0 -1
  212. package/lib/util/renderer.js +0 -451
  213. package/lib/util/renderer.js.map +0 -1
  214. package/lib/util/resolvers.js +0 -165
  215. package/lib/util/resolvers.js.map +0 -1
  216. package/lib/util/runtime.js +0 -159
  217. package/lib/util/runtime.js.map +0 -1
  218. package/lib/util/schema.js +0 -40
  219. package/lib/util/schema.js.map +0 -1
  220. package/lib/util/type.js +0 -27
  221. package/lib/util/type.js.map +0 -1
  222. package/lib/util/uischema.js +0 -52
  223. package/lib/util/uischema.js.map +0 -1
  224. package/lib/util/util.js +0 -107
  225. package/lib/util/util.js.map +0 -1
  226. package/lib/util/validator.js +0 -36
  227. package/lib/util/validator.js.map +0 -1
  228. package/webpack.build.js +0 -13
@@ -1,198 +1,198 @@
1
- export declare const Draft4: {
2
- id: string;
3
- $schema: string;
4
- description: string;
5
- definitions: {
6
- schemaArray: {
7
- type: string;
8
- minItems: number;
9
- items: {
10
- $ref: string;
11
- };
12
- };
13
- positiveInteger: {
14
- type: string;
15
- minimum: number;
16
- };
17
- positiveIntegerDefault0: {
18
- allOf: ({
19
- $ref: string;
20
- default?: undefined;
21
- } | {
22
- default: number;
23
- $ref?: undefined;
24
- })[];
25
- };
26
- simpleTypes: {
27
- enum: string[];
28
- };
29
- stringArray: {
30
- type: string;
31
- items: {
32
- type: string;
33
- };
34
- minItems: number;
35
- uniqueItems: boolean;
36
- };
37
- };
38
- type: string;
39
- properties: {
40
- id: {
41
- type: string;
42
- format: string;
43
- };
44
- $schema: {
45
- type: string;
46
- format: string;
47
- };
48
- title: {
49
- type: string;
50
- };
51
- description: {
52
- type: string;
53
- };
54
- default: {};
55
- multipleOf: {
56
- type: string;
57
- minimum: number;
58
- exclusiveMinimum: boolean;
59
- };
60
- maximum: {
61
- type: string;
62
- };
63
- exclusiveMaximum: {
64
- type: string;
65
- default: boolean;
66
- };
67
- minimum: {
68
- type: string;
69
- };
70
- exclusiveMinimum: {
71
- type: string;
72
- default: boolean;
73
- };
74
- maxLength: {
75
- $ref: string;
76
- };
77
- minLength: {
78
- $ref: string;
79
- };
80
- pattern: {
81
- type: string;
82
- format: string;
83
- };
84
- additionalItems: {
85
- anyOf: ({
86
- type: string;
87
- $ref?: undefined;
88
- } | {
89
- $ref: string;
90
- type?: undefined;
91
- })[];
92
- default: {};
93
- };
94
- items: {
95
- anyOf: {
96
- $ref: string;
97
- }[];
98
- default: {};
99
- };
100
- maxItems: {
101
- $ref: string;
102
- };
103
- minItems: {
104
- $ref: string;
105
- };
106
- uniqueItems: {
107
- type: string;
108
- default: boolean;
109
- };
110
- maxProperties: {
111
- $ref: string;
112
- };
113
- minProperties: {
114
- $ref: string;
115
- };
116
- required: {
117
- $ref: string;
118
- };
119
- additionalProperties: {
120
- anyOf: ({
121
- type: string;
122
- $ref?: undefined;
123
- } | {
124
- $ref: string;
125
- type?: undefined;
126
- })[];
127
- default: {};
128
- };
129
- definitions: {
130
- type: string;
131
- additionalProperties: {
132
- $ref: string;
133
- };
134
- default: {};
135
- };
136
- properties: {
137
- type: string;
138
- additionalProperties: {
139
- $ref: string;
140
- };
141
- default: {};
142
- };
143
- patternProperties: {
144
- type: string;
145
- additionalProperties: {
146
- $ref: string;
147
- };
148
- default: {};
149
- };
150
- dependencies: {
151
- type: string;
152
- additionalProperties: {
153
- anyOf: {
154
- $ref: string;
155
- }[];
156
- };
157
- };
158
- enum: {
159
- type: string;
160
- minItems: number;
161
- uniqueItems: boolean;
162
- };
163
- type: {
164
- anyOf: ({
165
- $ref: string;
166
- type?: undefined;
167
- items?: undefined;
168
- minItems?: undefined;
169
- uniqueItems?: undefined;
170
- } | {
171
- type: string;
172
- items: {
173
- $ref: string;
174
- };
175
- minItems: number;
176
- uniqueItems: boolean;
177
- $ref?: undefined;
178
- })[];
179
- };
180
- allOf: {
181
- $ref: string;
182
- };
183
- anyOf: {
184
- $ref: string;
185
- };
186
- oneOf: {
187
- $ref: string;
188
- };
189
- not: {
190
- $ref: string;
191
- };
192
- };
193
- dependencies: {
194
- exclusiveMaximum: string[];
195
- exclusiveMinimum: string[];
196
- };
197
- default: {};
198
- };
1
+ export declare const Draft4: {
2
+ id: string;
3
+ $schema: string;
4
+ description: string;
5
+ definitions: {
6
+ schemaArray: {
7
+ type: string;
8
+ minItems: number;
9
+ items: {
10
+ $ref: string;
11
+ };
12
+ };
13
+ positiveInteger: {
14
+ type: string;
15
+ minimum: number;
16
+ };
17
+ positiveIntegerDefault0: {
18
+ allOf: ({
19
+ $ref: string;
20
+ default?: undefined;
21
+ } | {
22
+ default: number;
23
+ $ref?: undefined;
24
+ })[];
25
+ };
26
+ simpleTypes: {
27
+ enum: string[];
28
+ };
29
+ stringArray: {
30
+ type: string;
31
+ items: {
32
+ type: string;
33
+ };
34
+ minItems: number;
35
+ uniqueItems: boolean;
36
+ };
37
+ };
38
+ type: string;
39
+ properties: {
40
+ id: {
41
+ type: string;
42
+ format: string;
43
+ };
44
+ $schema: {
45
+ type: string;
46
+ format: string;
47
+ };
48
+ title: {
49
+ type: string;
50
+ };
51
+ description: {
52
+ type: string;
53
+ };
54
+ default: {};
55
+ multipleOf: {
56
+ type: string;
57
+ minimum: number;
58
+ exclusiveMinimum: boolean;
59
+ };
60
+ maximum: {
61
+ type: string;
62
+ };
63
+ exclusiveMaximum: {
64
+ type: string;
65
+ default: boolean;
66
+ };
67
+ minimum: {
68
+ type: string;
69
+ };
70
+ exclusiveMinimum: {
71
+ type: string;
72
+ default: boolean;
73
+ };
74
+ maxLength: {
75
+ $ref: string;
76
+ };
77
+ minLength: {
78
+ $ref: string;
79
+ };
80
+ pattern: {
81
+ type: string;
82
+ format: string;
83
+ };
84
+ additionalItems: {
85
+ anyOf: ({
86
+ type: string;
87
+ $ref?: undefined;
88
+ } | {
89
+ $ref: string;
90
+ type?: undefined;
91
+ })[];
92
+ default: {};
93
+ };
94
+ items: {
95
+ anyOf: {
96
+ $ref: string;
97
+ }[];
98
+ default: {};
99
+ };
100
+ maxItems: {
101
+ $ref: string;
102
+ };
103
+ minItems: {
104
+ $ref: string;
105
+ };
106
+ uniqueItems: {
107
+ type: string;
108
+ default: boolean;
109
+ };
110
+ maxProperties: {
111
+ $ref: string;
112
+ };
113
+ minProperties: {
114
+ $ref: string;
115
+ };
116
+ required: {
117
+ $ref: string;
118
+ };
119
+ additionalProperties: {
120
+ anyOf: ({
121
+ type: string;
122
+ $ref?: undefined;
123
+ } | {
124
+ $ref: string;
125
+ type?: undefined;
126
+ })[];
127
+ default: {};
128
+ };
129
+ definitions: {
130
+ type: string;
131
+ additionalProperties: {
132
+ $ref: string;
133
+ };
134
+ default: {};
135
+ };
136
+ properties: {
137
+ type: string;
138
+ additionalProperties: {
139
+ $ref: string;
140
+ };
141
+ default: {};
142
+ };
143
+ patternProperties: {
144
+ type: string;
145
+ additionalProperties: {
146
+ $ref: string;
147
+ };
148
+ default: {};
149
+ };
150
+ dependencies: {
151
+ type: string;
152
+ additionalProperties: {
153
+ anyOf: {
154
+ $ref: string;
155
+ }[];
156
+ };
157
+ };
158
+ enum: {
159
+ type: string;
160
+ minItems: number;
161
+ uniqueItems: boolean;
162
+ };
163
+ type: {
164
+ anyOf: ({
165
+ $ref: string;
166
+ type?: undefined;
167
+ items?: undefined;
168
+ minItems?: undefined;
169
+ uniqueItems?: undefined;
170
+ } | {
171
+ type: string;
172
+ items: {
173
+ $ref: string;
174
+ };
175
+ minItems: number;
176
+ uniqueItems: boolean;
177
+ $ref?: undefined;
178
+ })[];
179
+ };
180
+ allOf: {
181
+ $ref: string;
182
+ };
183
+ anyOf: {
184
+ $ref: string;
185
+ };
186
+ oneOf: {
187
+ $ref: string;
188
+ };
189
+ not: {
190
+ $ref: string;
191
+ };
192
+ };
193
+ dependencies: {
194
+ exclusiveMaximum: string[];
195
+ exclusiveMinimum: string[];
196
+ };
197
+ default: {};
198
+ };
@@ -1,5 +1,5 @@
1
- export * from './draft4';
2
- export * from './jsonSchema';
3
- export * from './jsonSchema4';
4
- export * from './jsonSchema7';
5
- export * from './uischema';
1
+ export * from './draft4';
2
+ export * from './jsonSchema';
3
+ export * from './jsonSchema4';
4
+ export * from './jsonSchema7';
5
+ export * from './uischema';
@@ -1,3 +1,3 @@
1
- import { JsonSchema4 } from './jsonSchema4';
2
- import { JsonSchema7 } from './jsonSchema7';
3
- export declare type JsonSchema = JsonSchema4 | JsonSchema7;
1
+ import { JsonSchema4 } from './jsonSchema4';
2
+ import { JsonSchema7 } from './jsonSchema7';
3
+ export declare type JsonSchema = JsonSchema4 | JsonSchema7;
@@ -1,110 +1,110 @@
1
- export interface JsonSchema4 {
2
- $ref?: string;
3
- /**
4
- * This is important because it tells refs where
5
- * the root of the document is located
6
- */
7
- id?: string;
8
- /**
9
- * It is recommended that the meta-schema is
10
- * included in the root of any JSON Schema
11
- */
12
- $schema?: string;
13
- /**
14
- * Title of the schema
15
- */
16
- title?: string;
17
- /**
18
- * Schema description
19
- */
20
- description?: string;
21
- /**
22
- * Default json for the object represented by
23
- * this schema
24
- */
25
- default?: any;
26
- /**
27
- * The value must be a multiple of the number
28
- * (e.g. 10 is a multiple of 5)
29
- */
30
- multipleOf?: number;
31
- maximum?: number;
32
- /**
33
- * If true maximum must be > value, >= otherwise
34
- */
35
- exclusiveMaximum?: boolean;
36
- minimum?: number;
37
- /**
38
- * If true minimum must be < value, <= otherwise
39
- */
40
- exclusiveMinimum?: boolean;
41
- maxLength?: number;
42
- minLength?: number;
43
- /**
44
- * This is a regex string that the value must
45
- * conform to
46
- */
47
- pattern?: string;
48
- additionalItems?: boolean | JsonSchema4;
49
- items?: JsonSchema4 | JsonSchema4[];
50
- maxItems?: number;
51
- minItems?: number;
52
- uniqueItems?: boolean;
53
- maxProperties?: number;
54
- minProperties?: number;
55
- required?: string[];
56
- additionalProperties?: boolean | JsonSchema4;
57
- /**
58
- * Holds simple JSON Schema definitions for
59
- * referencing from elsewhere.
60
- */
61
- definitions?: {
62
- [key: string]: JsonSchema4;
63
- };
64
- /**
65
- * The keys that can exist on the object with the
66
- * json schema that should validate their value
67
- */
68
- properties?: {
69
- [property: string]: JsonSchema4;
70
- };
71
- /**
72
- * The key of this object is a regex for which
73
- * properties the schema applies to
74
- */
75
- patternProperties?: {
76
- [pattern: string]: JsonSchema4;
77
- };
78
- /**
79
- * If the key is present as a property then the
80
- * string of properties must also be present.
81
- * If the value is a JSON Schema then it must
82
- * also be valid for the object if the key is
83
- * present.
84
- */
85
- dependencies?: {
86
- [key: string]: JsonSchema4 | string[];
87
- };
88
- /**
89
- * Enumerates the values that this schema can be
90
- * e.g.
91
- * {"type": "string",
92
- * "enum": ["red", "green", "blue"]}
93
- */
94
- enum?: any[];
95
- /**
96
- * The basic type of this schema, can be one of
97
- * [string, number, object, array, boolean, null]
98
- * or an array of the acceptable types
99
- */
100
- type?: string | string[];
101
- allOf?: JsonSchema4[];
102
- anyOf?: JsonSchema4[];
103
- oneOf?: JsonSchema4[];
104
- /**
105
- * The entity being validated must not match this schema
106
- */
107
- not?: JsonSchema4;
108
- format?: string;
109
- const?: any;
110
- }
1
+ export interface JsonSchema4 {
2
+ $ref?: string;
3
+ /**
4
+ * This is important because it tells refs where
5
+ * the root of the document is located
6
+ */
7
+ id?: string;
8
+ /**
9
+ * It is recommended that the meta-schema is
10
+ * included in the root of any JSON Schema
11
+ */
12
+ $schema?: string;
13
+ /**
14
+ * Title of the schema
15
+ */
16
+ title?: string;
17
+ /**
18
+ * Schema description
19
+ */
20
+ description?: string;
21
+ /**
22
+ * Default json for the object represented by
23
+ * this schema
24
+ */
25
+ default?: any;
26
+ /**
27
+ * The value must be a multiple of the number
28
+ * (e.g. 10 is a multiple of 5)
29
+ */
30
+ multipleOf?: number;
31
+ maximum?: number;
32
+ /**
33
+ * If true maximum must be > value, >= otherwise
34
+ */
35
+ exclusiveMaximum?: boolean;
36
+ minimum?: number;
37
+ /**
38
+ * If true minimum must be < value, <= otherwise
39
+ */
40
+ exclusiveMinimum?: boolean;
41
+ maxLength?: number;
42
+ minLength?: number;
43
+ /**
44
+ * This is a regex string that the value must
45
+ * conform to
46
+ */
47
+ pattern?: string;
48
+ additionalItems?: boolean | JsonSchema4;
49
+ items?: JsonSchema4 | JsonSchema4[];
50
+ maxItems?: number;
51
+ minItems?: number;
52
+ uniqueItems?: boolean;
53
+ maxProperties?: number;
54
+ minProperties?: number;
55
+ required?: string[];
56
+ additionalProperties?: boolean | JsonSchema4;
57
+ /**
58
+ * Holds simple JSON Schema definitions for
59
+ * referencing from elsewhere.
60
+ */
61
+ definitions?: {
62
+ [key: string]: JsonSchema4;
63
+ };
64
+ /**
65
+ * The keys that can exist on the object with the
66
+ * json schema that should validate their value
67
+ */
68
+ properties?: {
69
+ [property: string]: JsonSchema4;
70
+ };
71
+ /**
72
+ * The key of this object is a regex for which
73
+ * properties the schema applies to
74
+ */
75
+ patternProperties?: {
76
+ [pattern: string]: JsonSchema4;
77
+ };
78
+ /**
79
+ * If the key is present as a property then the
80
+ * string of properties must also be present.
81
+ * If the value is a JSON Schema then it must
82
+ * also be valid for the object if the key is
83
+ * present.
84
+ */
85
+ dependencies?: {
86
+ [key: string]: JsonSchema4 | string[];
87
+ };
88
+ /**
89
+ * Enumerates the values that this schema can be
90
+ * e.g.
91
+ * {"type": "string",
92
+ * "enum": ["red", "green", "blue"]}
93
+ */
94
+ enum?: any[];
95
+ /**
96
+ * The basic type of this schema, can be one of
97
+ * [string, number, object, array, boolean, null]
98
+ * or an array of the acceptable types
99
+ */
100
+ type?: string | string[];
101
+ allOf?: JsonSchema4[];
102
+ anyOf?: JsonSchema4[];
103
+ oneOf?: JsonSchema4[];
104
+ /**
105
+ * The entity being validated must not match this schema
106
+ */
107
+ not?: JsonSchema4;
108
+ format?: string;
109
+ const?: any;
110
+ }