@rjsf/core 4.1.0 → 4.2.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 (177) hide show
  1. package/dist/components/AddButton.d.ts +5 -0
  2. package/dist/components/ErrorList.d.ts +1 -0
  3. package/dist/components/Form.d.ts +48 -0
  4. package/dist/components/IconButton.d.ts +1 -0
  5. package/dist/components/fields/ArrayField.d.ts +51 -0
  6. package/dist/components/fields/BooleanField.d.ts +45 -0
  7. package/dist/components/fields/DescriptionField.d.ts +9 -0
  8. package/dist/components/fields/MultiSchemaField.d.ts +40 -0
  9. package/dist/components/fields/NullField.d.ts +6 -0
  10. package/dist/components/fields/NumberField.d.ts +63 -0
  11. package/dist/components/fields/ObjectField.d.ts +22 -0
  12. package/dist/components/fields/SchemaField.d.ts +39 -0
  13. package/dist/components/fields/StringField.d.ts +45 -0
  14. package/dist/components/fields/TitleField.d.ts +10 -0
  15. package/dist/components/fields/UnsupportedField.d.ts +14 -0
  16. package/dist/components/fields/index.d.ts +26 -0
  17. package/dist/components/widgets/AltDateTimeWidget.d.ts +22 -0
  18. package/dist/components/widgets/AltDateWidget.d.ts +22 -0
  19. package/dist/components/widgets/BaseInput.d.ts +23 -0
  20. package/dist/components/widgets/CheckboxWidget.d.ts +18 -0
  21. package/dist/components/widgets/CheckboxesWidget.d.ts +26 -0
  22. package/dist/components/widgets/ColorWidget.d.ts +15 -0
  23. package/dist/components/widgets/DateTimeWidget.d.ts +8 -0
  24. package/dist/components/widgets/DateWidget.d.ts +8 -0
  25. package/dist/components/widgets/EmailWidget.d.ts +8 -0
  26. package/dist/components/widgets/FileWidget.d.ts +19 -0
  27. package/dist/components/widgets/HiddenWidget.d.ts +12 -0
  28. package/dist/components/widgets/PasswordWidget.d.ts +8 -0
  29. package/dist/components/widgets/RadioWidget.d.ts +22 -0
  30. package/dist/components/widgets/RangeWidget.d.ts +8 -0
  31. package/dist/components/widgets/SelectWidget.d.ts +24 -0
  32. package/dist/components/widgets/SubmitButton.d.ts +3 -0
  33. package/dist/components/widgets/TextWidget.d.ts +9 -0
  34. package/dist/components/widgets/TextareaWidget.d.ts +25 -0
  35. package/dist/components/widgets/URLWidget.d.ts +8 -0
  36. package/dist/components/widgets/UpDownWidget.d.ts +8 -0
  37. package/dist/components/widgets/index.d.ts +43 -0
  38. package/dist/core.cjs.development.js +5714 -0
  39. package/dist/core.cjs.development.js.map +1 -0
  40. package/dist/core.cjs.production.min.js +2 -0
  41. package/dist/core.cjs.production.min.js.map +1 -0
  42. package/dist/core.esm.js +5706 -0
  43. package/dist/core.esm.js.map +1 -0
  44. package/dist/defaultRegistry.d.ts +41 -0
  45. package/dist/index.d.ts +71 -0
  46. package/dist/index.js +8 -0
  47. package/dist/types.d.ts +50 -0
  48. package/dist/utils.d.ts +81 -0
  49. package/dist/validate.d.ts +21 -0
  50. package/dist/withTheme.d.ts +10 -0
  51. package/index.d.ts +35 -14
  52. package/package.json +23 -23
  53. package/dist/cjs/components/AddButton.js +0 -32
  54. package/dist/cjs/components/ErrorList.js +0 -29
  55. package/dist/cjs/components/Form.js +0 -576
  56. package/dist/cjs/components/IconButton.js +0 -32
  57. package/dist/cjs/components/fields/ArrayField.js +0 -916
  58. package/dist/cjs/components/fields/BooleanField.js +0 -105
  59. package/dist/cjs/components/fields/DescriptionField.js +0 -44
  60. package/dist/cjs/components/fields/MultiSchemaField.js +0 -265
  61. package/dist/cjs/components/fields/NullField.js +0 -66
  62. package/dist/cjs/components/fields/NumberField.js +0 -153
  63. package/dist/cjs/components/fields/ObjectField.js +0 -345
  64. package/dist/cjs/components/fields/SchemaField.js +0 -475
  65. package/dist/cjs/components/fields/StringField.js +0 -96
  66. package/dist/cjs/components/fields/TitleField.js +0 -37
  67. package/dist/cjs/components/fields/UnsupportedField.js +0 -33
  68. package/dist/cjs/components/fields/index.js +0 -47
  69. package/dist/cjs/components/widgets/AltDateTimeWidget.js +0 -45
  70. package/dist/cjs/components/widgets/AltDateWidget.js +0 -282
  71. package/dist/cjs/components/widgets/BaseInput.js +0 -144
  72. package/dist/cjs/components/widgets/CheckboxWidget.js +0 -74
  73. package/dist/cjs/components/widgets/CheckboxesWidget.js +0 -106
  74. package/dist/cjs/components/widgets/ColorWidget.js +0 -42
  75. package/dist/cjs/components/widgets/DateTimeWidget.js +0 -40
  76. package/dist/cjs/components/widgets/DateWidget.js +0 -36
  77. package/dist/cjs/components/widgets/EmailWidget.js +0 -31
  78. package/dist/cjs/components/widgets/FileWidget.js +0 -198
  79. package/dist/cjs/components/widgets/HiddenWidget.js +0 -33
  80. package/dist/cjs/components/widgets/PasswordWidget.js +0 -31
  81. package/dist/cjs/components/widgets/RadioWidget.js +0 -92
  82. package/dist/cjs/components/widgets/RangeWidget.js +0 -39
  83. package/dist/cjs/components/widgets/SelectWidget.js +0 -143
  84. package/dist/cjs/components/widgets/TextWidget.js +0 -28
  85. package/dist/cjs/components/widgets/TextareaWidget.js +0 -78
  86. package/dist/cjs/components/widgets/URLWidget.js +0 -31
  87. package/dist/cjs/components/widgets/UpDownWidget.js +0 -33
  88. package/dist/cjs/components/widgets/index.js +0 -70
  89. package/dist/cjs/index.js +0 -28
  90. package/dist/cjs/types.js +0 -47
  91. package/dist/cjs/utils.js +0 -1381
  92. package/dist/cjs/validate.js +0 -354
  93. package/dist/cjs/withTheme.js +0 -50
  94. package/dist/es/components/AddButton.js +0 -21
  95. package/dist/es/components/ErrorList.js +0 -19
  96. package/dist/es/components/Form.js +0 -561
  97. package/dist/es/components/IconButton.js +0 -22
  98. package/dist/es/components/fields/ArrayField.js +0 -898
  99. package/dist/es/components/fields/BooleanField.js +0 -91
  100. package/dist/es/components/fields/DescriptionField.js +0 -33
  101. package/dist/es/components/fields/MultiSchemaField.js +0 -251
  102. package/dist/es/components/fields/NullField.js +0 -55
  103. package/dist/es/components/fields/NumberField.js +0 -138
  104. package/dist/es/components/fields/ObjectField.js +0 -330
  105. package/dist/es/components/fields/SchemaField.js +0 -457
  106. package/dist/es/components/fields/StringField.js +0 -82
  107. package/dist/es/components/fields/TitleField.js +0 -25
  108. package/dist/es/components/fields/UnsupportedField.js +0 -22
  109. package/dist/es/components/fields/index.js +0 -26
  110. package/dist/es/components/widgets/AltDateTimeWidget.js +0 -33
  111. package/dist/es/components/widgets/AltDateWidget.js +0 -268
  112. package/dist/es/components/widgets/BaseInput.js +0 -133
  113. package/dist/es/components/widgets/CheckboxWidget.js +0 -62
  114. package/dist/es/components/widgets/CheckboxesWidget.js +0 -93
  115. package/dist/es/components/widgets/ColorWidget.js +0 -31
  116. package/dist/es/components/widgets/DateTimeWidget.js +0 -28
  117. package/dist/es/components/widgets/DateWidget.js +0 -25
  118. package/dist/es/components/widgets/EmailWidget.js +0 -20
  119. package/dist/es/components/widgets/FileWidget.js +0 -184
  120. package/dist/es/components/widgets/HiddenWidget.js +0 -22
  121. package/dist/es/components/widgets/PasswordWidget.js +0 -20
  122. package/dist/es/components/widgets/RadioWidget.js +0 -79
  123. package/dist/es/components/widgets/RangeWidget.js +0 -27
  124. package/dist/es/components/widgets/SelectWidget.js +0 -130
  125. package/dist/es/components/widgets/TextWidget.js +0 -17
  126. package/dist/es/components/widgets/TextareaWidget.js +0 -67
  127. package/dist/es/components/widgets/URLWidget.js +0 -20
  128. package/dist/es/components/widgets/UpDownWidget.js +0 -21
  129. package/dist/es/components/widgets/index.js +0 -41
  130. package/dist/es/index.js +0 -6
  131. package/dist/es/types.js +0 -34
  132. package/dist/es/utils.js +0 -1281
  133. package/dist/es/validate.js +0 -338
  134. package/dist/es/withTheme.js +0 -36
  135. package/dist/react-jsonschema-form.js +0 -11
  136. package/dist/react-jsonschema-form.js.map +0 -1
  137. package/lib/components/AddButton.js +0 -21
  138. package/lib/components/ErrorList.js +0 -19
  139. package/lib/components/Form.js +0 -561
  140. package/lib/components/IconButton.js +0 -22
  141. package/lib/components/fields/ArrayField.js +0 -898
  142. package/lib/components/fields/BooleanField.js +0 -91
  143. package/lib/components/fields/DescriptionField.js +0 -33
  144. package/lib/components/fields/MultiSchemaField.js +0 -251
  145. package/lib/components/fields/NullField.js +0 -55
  146. package/lib/components/fields/NumberField.js +0 -138
  147. package/lib/components/fields/ObjectField.js +0 -330
  148. package/lib/components/fields/SchemaField.js +0 -457
  149. package/lib/components/fields/StringField.js +0 -82
  150. package/lib/components/fields/TitleField.js +0 -25
  151. package/lib/components/fields/UnsupportedField.js +0 -22
  152. package/lib/components/fields/index.js +0 -26
  153. package/lib/components/widgets/AltDateTimeWidget.js +0 -33
  154. package/lib/components/widgets/AltDateWidget.js +0 -268
  155. package/lib/components/widgets/BaseInput.js +0 -133
  156. package/lib/components/widgets/CheckboxWidget.js +0 -62
  157. package/lib/components/widgets/CheckboxesWidget.js +0 -93
  158. package/lib/components/widgets/ColorWidget.js +0 -31
  159. package/lib/components/widgets/DateTimeWidget.js +0 -28
  160. package/lib/components/widgets/DateWidget.js +0 -25
  161. package/lib/components/widgets/EmailWidget.js +0 -20
  162. package/lib/components/widgets/FileWidget.js +0 -184
  163. package/lib/components/widgets/HiddenWidget.js +0 -22
  164. package/lib/components/widgets/PasswordWidget.js +0 -20
  165. package/lib/components/widgets/RadioWidget.js +0 -79
  166. package/lib/components/widgets/RangeWidget.js +0 -27
  167. package/lib/components/widgets/SelectWidget.js +0 -130
  168. package/lib/components/widgets/TextWidget.js +0 -17
  169. package/lib/components/widgets/TextareaWidget.js +0 -67
  170. package/lib/components/widgets/URLWidget.js +0 -20
  171. package/lib/components/widgets/UpDownWidget.js +0 -21
  172. package/lib/components/widgets/index.js +0 -41
  173. package/lib/index.js +0 -6
  174. package/lib/types.js +0 -34
  175. package/lib/utils.js +0 -1281
  176. package/lib/validate.js +0 -338
  177. package/lib/withTheme.js +0 -36
@@ -1,338 +0,0 @@
1
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
2
-
3
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
4
-
5
- function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
6
-
7
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
8
-
9
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
10
-
11
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12
-
13
- import toPath from "lodash/toPath";
14
- import Ajv from "ajv";
15
- var ajv = createAjvInstance();
16
- import { deepEquals, getDefaultFormState } from "./utils";
17
- var formerCustomFormats = null;
18
- var formerMetaSchema = null;
19
- var ROOT_SCHEMA_PREFIX = "__rjsf_rootSchema";
20
- import { isObject, mergeObjects } from "./utils";
21
-
22
- function createAjvInstance() {
23
- var ajv = new Ajv({
24
- errorDataPath: "property",
25
- allErrors: true,
26
- multipleOfPrecision: 8,
27
- schemaId: "auto",
28
- unknownFormats: "ignore"
29
- }); // add custom formats
30
-
31
- ajv.addFormat("data-url", /^data:([a-z]+\/[a-z0-9-+.]+)?;(?:name=(.*);)?base64,(.*)$/);
32
- ajv.addFormat("color", /^(#?([0-9A-Fa-f]{3}){1,2}\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\(\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\)))$/);
33
- return ajv;
34
- }
35
-
36
- function toErrorSchema(errors) {
37
- // Transforms a ajv validation errors list:
38
- // [
39
- // {property: ".level1.level2[2].level3", message: "err a"},
40
- // {property: ".level1.level2[2].level3", message: "err b"},
41
- // {property: ".level1.level2[4].level3", message: "err b"},
42
- // ]
43
- // Into an error tree:
44
- // {
45
- // level1: {
46
- // level2: {
47
- // 2: {level3: {errors: ["err a", "err b"]}},
48
- // 4: {level3: {errors: ["err b"]}},
49
- // }
50
- // }
51
- // };
52
- if (!errors.length) {
53
- return {};
54
- }
55
-
56
- return errors.reduce(function (errorSchema, error) {
57
- var property = error.property,
58
- message = error.message;
59
- var path = toPath(property);
60
- var parent = errorSchema; // If the property is at the root (.level1) then toPath creates
61
- // an empty array element at the first index. Remove it.
62
-
63
- if (path.length > 0 && path[0] === "") {
64
- path.splice(0, 1);
65
- }
66
-
67
- var _iteratorNormalCompletion = true;
68
- var _didIteratorError = false;
69
- var _iteratorError = undefined;
70
-
71
- try {
72
- for (var _iterator = path.slice(0)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
73
- var segment = _step.value;
74
-
75
- if (!(segment in parent)) {
76
- parent[segment] = {};
77
- }
78
-
79
- parent = parent[segment];
80
- }
81
- } catch (err) {
82
- _didIteratorError = true;
83
- _iteratorError = err;
84
- } finally {
85
- try {
86
- if (!_iteratorNormalCompletion && _iterator["return"] != null) {
87
- _iterator["return"]();
88
- }
89
- } finally {
90
- if (_didIteratorError) {
91
- throw _iteratorError;
92
- }
93
- }
94
- }
95
-
96
- if (Array.isArray(parent.__errors)) {
97
- // We store the list of errors for this node in a property named __errors
98
- // to avoid name collision with a possible sub schema field named
99
- // "errors" (see `validate.createErrorHandler`).
100
- parent.__errors = parent.__errors.concat(message);
101
- } else {
102
- if (message) {
103
- parent.__errors = [message];
104
- }
105
- }
106
-
107
- return errorSchema;
108
- }, {});
109
- }
110
-
111
- export function toErrorList(errorSchema) {
112
- var fieldName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "root";
113
- // XXX: We should transform fieldName as a full field path string.
114
- var errorList = [];
115
-
116
- if ("__errors" in errorSchema) {
117
- errorList = errorList.concat(errorSchema.__errors.map(function (stack) {
118
- return {
119
- stack: "".concat(fieldName, ": ").concat(stack)
120
- };
121
- }));
122
- }
123
-
124
- return Object.keys(errorSchema).reduce(function (acc, key) {
125
- if (key !== "__errors") {
126
- acc = acc.concat(toErrorList(errorSchema[key], key));
127
- }
128
-
129
- return acc;
130
- }, errorList);
131
- }
132
-
133
- function createErrorHandler(formData) {
134
- var handler = {
135
- // We store the list of errors for this node in a property named __errors
136
- // to avoid name collision with a possible sub schema field named
137
- // "errors" (see `utils.toErrorSchema`).
138
- __errors: [],
139
- addError: function addError(message) {
140
- this.__errors.push(message);
141
- }
142
- };
143
-
144
- if (isObject(formData)) {
145
- return Object.keys(formData).reduce(function (acc, key) {
146
- return _objectSpread({}, acc, _defineProperty({}, key, createErrorHandler(formData[key])));
147
- }, handler);
148
- }
149
-
150
- if (Array.isArray(formData)) {
151
- return formData.reduce(function (acc, value, key) {
152
- return _objectSpread({}, acc, _defineProperty({}, key, createErrorHandler(value)));
153
- }, handler);
154
- }
155
-
156
- return handler;
157
- }
158
-
159
- function unwrapErrorHandler(errorHandler) {
160
- return Object.keys(errorHandler).reduce(function (acc, key) {
161
- if (key === "addError") {
162
- return acc;
163
- } else if (key === "__errors") {
164
- return _objectSpread({}, acc, _defineProperty({}, key, errorHandler[key]));
165
- }
166
-
167
- return _objectSpread({}, acc, _defineProperty({}, key, unwrapErrorHandler(errorHandler[key])));
168
- }, {});
169
- }
170
- /**
171
- * Transforming the error output from ajv to format used by jsonschema.
172
- * At some point, components should be updated to support ajv.
173
- */
174
-
175
-
176
- function transformAjvErrors() {
177
- var errors = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
178
-
179
- if (errors === null) {
180
- return [];
181
- }
182
-
183
- return errors.map(function (e) {
184
- var dataPath = e.dataPath,
185
- keyword = e.keyword,
186
- message = e.message,
187
- params = e.params,
188
- schemaPath = e.schemaPath;
189
- var property = "".concat(dataPath); // put data in expected format
190
-
191
- return {
192
- name: keyword,
193
- property: property,
194
- message: message,
195
- params: params,
196
- // specific to ajv
197
- stack: "".concat(property, " ").concat(message).trim(),
198
- schemaPath: schemaPath
199
- };
200
- });
201
- }
202
- /**
203
- * This function processes the formData with a user `validate` contributed
204
- * function, which receives the form data and an `errorHandler` object that
205
- * will be used to add custom validation errors for each field.
206
- */
207
-
208
-
209
- export default function validateFormData(formData, schema, customValidate, transformErrors) {
210
- var additionalMetaSchemas = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
211
- var customFormats = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};
212
- // Include form data with undefined values, which is required for validation.
213
- var rootSchema = schema;
214
- formData = getDefaultFormState(schema, formData, rootSchema, true);
215
- var newMetaSchemas = !deepEquals(formerMetaSchema, additionalMetaSchemas);
216
- var newFormats = !deepEquals(formerCustomFormats, customFormats);
217
-
218
- if (newMetaSchemas || newFormats) {
219
- ajv = createAjvInstance();
220
- } // add more schemas to validate against
221
-
222
-
223
- if (additionalMetaSchemas && newMetaSchemas && Array.isArray(additionalMetaSchemas)) {
224
- ajv.addMetaSchema(additionalMetaSchemas);
225
- formerMetaSchema = additionalMetaSchemas;
226
- } // add more custom formats to validate against
227
-
228
-
229
- if (customFormats && newFormats && isObject(customFormats)) {
230
- Object.keys(customFormats).forEach(function (formatName) {
231
- ajv.addFormat(formatName, customFormats[formatName]);
232
- });
233
- formerCustomFormats = customFormats;
234
- }
235
-
236
- var validationError = null;
237
-
238
- try {
239
- ajv.validate(schema, formData);
240
- } catch (err) {
241
- validationError = err;
242
- }
243
-
244
- var errors = transformAjvErrors(ajv.errors); // Clear errors to prevent persistent errors, see #1104
245
-
246
- ajv.errors = null;
247
- var noProperMetaSchema = validationError && validationError.message && typeof validationError.message === "string" && validationError.message.includes("no schema with key or ref ");
248
-
249
- if (noProperMetaSchema) {
250
- errors = [].concat(_toConsumableArray(errors), [{
251
- stack: validationError.message
252
- }]);
253
- }
254
-
255
- if (typeof transformErrors === "function") {
256
- errors = transformErrors(errors);
257
- }
258
-
259
- var errorSchema = toErrorSchema(errors);
260
-
261
- if (noProperMetaSchema) {
262
- errorSchema = _objectSpread({}, errorSchema, {
263
- $schema: {
264
- __errors: [validationError.message]
265
- }
266
- });
267
- }
268
-
269
- if (typeof customValidate !== "function") {
270
- return {
271
- errors: errors,
272
- errorSchema: errorSchema
273
- };
274
- }
275
-
276
- var errorHandler = customValidate(formData, createErrorHandler(formData));
277
- var userErrorSchema = unwrapErrorHandler(errorHandler);
278
- var newErrorSchema = mergeObjects(errorSchema, userErrorSchema, true); // XXX: The errors list produced is not fully compliant with the format
279
- // exposed by the jsonschema lib, which contains full field paths and other
280
- // properties.
281
-
282
- var newErrors = toErrorList(newErrorSchema);
283
- return {
284
- errors: newErrors,
285
- errorSchema: newErrorSchema
286
- };
287
- }
288
- /**
289
- * Recursively prefixes all $ref's in a schema with `ROOT_SCHEMA_PREFIX`
290
- * This is used in isValid to make references to the rootSchema
291
- */
292
-
293
- export function withIdRefPrefix(schemaNode) {
294
- var obj = schemaNode;
295
-
296
- if (schemaNode.constructor === Object) {
297
- obj = _objectSpread({}, schemaNode);
298
-
299
- for (var key in obj) {
300
- var value = obj[key];
301
-
302
- if (key === "$ref" && typeof value === "string" && value.startsWith("#")) {
303
- obj[key] = ROOT_SCHEMA_PREFIX + value;
304
- } else {
305
- obj[key] = withIdRefPrefix(value);
306
- }
307
- }
308
- } else if (Array.isArray(schemaNode)) {
309
- obj = _toConsumableArray(schemaNode);
310
-
311
- for (var i = 0; i < obj.length; i++) {
312
- obj[i] = withIdRefPrefix(obj[i]);
313
- }
314
- }
315
-
316
- return obj;
317
- }
318
- /**
319
- * Validates data against a schema, returning true if the data is valid, or
320
- * false otherwise. If the schema is invalid, then this function will return
321
- * false.
322
- */
323
-
324
- export function isValid(schema, data, rootSchema) {
325
- try {
326
- // add the rootSchema ROOT_SCHEMA_PREFIX as id.
327
- // then rewrite the schema ref's to point to the rootSchema
328
- // this accounts for the case where schema have references to models
329
- // that lives in the rootSchema but not in the schema in question.
330
- return ajv.addSchema(rootSchema, ROOT_SCHEMA_PREFIX).validate(withIdRefPrefix(schema), data);
331
- } catch (e) {
332
- return false;
333
- } finally {
334
- // make sure we remove the rootSchema from the global ajv instance
335
- ajv.removeSchema(ROOT_SCHEMA_PREFIX);
336
- }
337
- }
338
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YWxpZGF0ZS5qcyJdLCJuYW1lcyI6WyJ0b1BhdGgiLCJBanYiLCJhanYiLCJjcmVhdGVBanZJbnN0YW5jZSIsImRlZXBFcXVhbHMiLCJnZXREZWZhdWx0Rm9ybVN0YXRlIiwiZm9ybWVyQ3VzdG9tRm9ybWF0cyIsImZvcm1lck1ldGFTY2hlbWEiLCJST09UX1NDSEVNQV9QUkVGSVgiLCJpc09iamVjdCIsIm1lcmdlT2JqZWN0cyIsImVycm9yRGF0YVBhdGgiLCJhbGxFcnJvcnMiLCJtdWx0aXBsZU9mUHJlY2lzaW9uIiwic2NoZW1hSWQiLCJ1bmtub3duRm9ybWF0cyIsImFkZEZvcm1hdCIsInRvRXJyb3JTY2hlbWEiLCJlcnJvcnMiLCJsZW5ndGgiLCJyZWR1Y2UiLCJlcnJvclNjaGVtYSIsImVycm9yIiwicHJvcGVydHkiLCJtZXNzYWdlIiwicGF0aCIsInBhcmVudCIsInNwbGljZSIsInNsaWNlIiwic2VnbWVudCIsIkFycmF5IiwiaXNBcnJheSIsIl9fZXJyb3JzIiwiY29uY2F0IiwidG9FcnJvckxpc3QiLCJmaWVsZE5hbWUiLCJlcnJvckxpc3QiLCJtYXAiLCJzdGFjayIsIk9iamVjdCIsImtleXMiLCJhY2MiLCJrZXkiLCJjcmVhdGVFcnJvckhhbmRsZXIiLCJmb3JtRGF0YSIsImhhbmRsZXIiLCJhZGRFcnJvciIsInB1c2giLCJ2YWx1ZSIsInVud3JhcEVycm9ySGFuZGxlciIsImVycm9ySGFuZGxlciIsInRyYW5zZm9ybUFqdkVycm9ycyIsImUiLCJkYXRhUGF0aCIsImtleXdvcmQiLCJwYXJhbXMiLCJzY2hlbWFQYXRoIiwibmFtZSIsInRyaW0iLCJ2YWxpZGF0ZUZvcm1EYXRhIiwic2NoZW1hIiwiY3VzdG9tVmFsaWRhdGUiLCJ0cmFuc2Zvcm1FcnJvcnMiLCJhZGRpdGlvbmFsTWV0YVNjaGVtYXMiLCJjdXN0b21Gb3JtYXRzIiwicm9vdFNjaGVtYSIsIm5ld01ldGFTY2hlbWFzIiwibmV3Rm9ybWF0cyIsImFkZE1ldGFTY2hlbWEiLCJmb3JFYWNoIiwiZm9ybWF0TmFtZSIsInZhbGlkYXRpb25FcnJvciIsInZhbGlkYXRlIiwiZXJyIiwibm9Qcm9wZXJNZXRhU2NoZW1hIiwiaW5jbHVkZXMiLCIkc2NoZW1hIiwidXNlckVycm9yU2NoZW1hIiwibmV3RXJyb3JTY2hlbWEiLCJuZXdFcnJvcnMiLCJ3aXRoSWRSZWZQcmVmaXgiLCJzY2hlbWFOb2RlIiwib2JqIiwiY29uc3RydWN0b3IiLCJzdGFydHNXaXRoIiwiaSIsImlzVmFsaWQiLCJkYXRhIiwiYWRkU2NoZW1hIiwicmVtb3ZlU2NoZW1hIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxNQUFQLE1BQW1CLGVBQW5CO0FBQ0EsT0FBT0MsR0FBUCxNQUFnQixLQUFoQjtBQUNBLElBQUlDLEdBQUcsR0FBR0MsaUJBQWlCLEVBQTNCO0FBQ0EsU0FBU0MsVUFBVCxFQUFxQkMsbUJBQXJCLFFBQWdELFNBQWhEO0FBRUEsSUFBSUMsbUJBQW1CLEdBQUcsSUFBMUI7QUFDQSxJQUFJQyxnQkFBZ0IsR0FBRyxJQUF2QjtBQUNBLElBQU1DLGtCQUFrQixHQUFHLG1CQUEzQjtBQUVBLFNBQVNDLFFBQVQsRUFBbUJDLFlBQW5CLFFBQXVDLFNBQXZDOztBQUVBLFNBQVNQLGlCQUFULEdBQTZCO0FBQzNCLE1BQU1ELEdBQUcsR0FBRyxJQUFJRCxHQUFKLENBQVE7QUFDbEJVLElBQUFBLGFBQWEsRUFBRSxVQURHO0FBRWxCQyxJQUFBQSxTQUFTLEVBQUUsSUFGTztBQUdsQkMsSUFBQUEsbUJBQW1CLEVBQUUsQ0FISDtBQUlsQkMsSUFBQUEsUUFBUSxFQUFFLE1BSlE7QUFLbEJDLElBQUFBLGNBQWMsRUFBRTtBQUxFLEdBQVIsQ0FBWixDQUQyQixDQVMzQjs7QUFDQWIsRUFBQUEsR0FBRyxDQUFDYyxTQUFKLENBQ0UsVUFERixFQUVFLDJEQUZGO0FBSUFkLEVBQUFBLEdBQUcsQ0FBQ2MsU0FBSixDQUNFLE9BREYsRUFFRSw0WUFGRjtBQUlBLFNBQU9kLEdBQVA7QUFDRDs7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T0QsVUFBUCxDQUFIOztBQUNBLFNBQUssSUFBSUksQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBR0gsR0FBRyxDQUFDL0QsTUFBeEIsRUFBZ0NrRSxDQUFDLEVBQWpDLEVBQXFDO0FBQ25DSCxNQUFBQSxHQUFHLENBQUNHLENBQUQsQ0FBSCxHQUFTTCxlQUFlLENBQUNFLEdBQUcsQ0FBQ0csQ0FBRCxDQUFKLENBQXhCO0FBQ0Q7QUFDRjs7QUFDRCxTQUFPSCxHQUFQO0FBQ0Q7QUFFRDs7Ozs7O0FBS0EsT0FBTyxTQUFTSSxPQUFULENBQWlCMUIsTUFBakIsRUFBeUIyQixJQUF6QixFQUErQnRCLFVBQS9CLEVBQTJDO0FBQ2hELE1BQUk7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQU8vRCxHQUFHLENBQ1BzRixTQURJLENBQ012QixVQUROLEVBQ2tCekQsa0JBRGxCLEVBRUpnRSxRQUZJLENBRUtRLGVBQWUsQ0FBQ3BCLE1BQUQsQ0FGcEIsRUFFOEIyQixJQUY5QixDQUFQO0FBR0QsR0FSRCxDQVFFLE9BQU9uQyxDQUFQLEVBQVU7QUFDVixXQUFPLEtBQVA7QUFDRCxHQVZELFNBVVU7QUFDUjtBQUNBbEQsSUFBQUEsR0FBRyxDQUFDdUYsWUFBSixDQUFpQmpGLGtCQUFqQjtBQUNEO0FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9QYXRoIGZyb20gXCJsb2Rhc2gvdG9QYXRoXCI7XG5pbXBvcnQgQWp2IGZyb20gXCJhanZcIjtcbmxldCBhanYgPSBjcmVhdGVBanZJbnN0YW5jZSgpO1xuaW1wb3J0IHsgZGVlcEVxdWFscywgZ2V0RGVmYXVsdEZvcm1TdGF0ZSB9IGZyb20gXCIuL3V0aWxzXCI7XG5cbmxldCBmb3JtZXJDdXN0b21Gb3JtYXRzID0gbnVsbDtcbmxldCBmb3JtZXJNZXRhU2NoZW1hID0gbnVsbDtcbmNvbnN0IFJPT1RfU0NIRU1BX1BSRUZJWCA9IFwiX19yanNmX3Jvb3RTY2hlbWFcIjtcblxuaW1wb3J0IHsgaXNPYmplY3QsIG1lcmdlT2JqZWN0cyB9IGZyb20gXCIuL3V0aWxzXCI7XG5cbmZ1bmN0aW9uIGNyZWF0ZUFqdkluc3RhbmNlKCkge1xuICBjb25zdCBhanYgPSBuZXcgQWp2KHtcbiAgICBlcnJvckRhdGFQYXRoOiBcInByb3BlcnR5XCIsXG4gICAgYWxsRXJyb3JzOiB0cnVlLFxuICAgIG11bHRpcGxlT2ZQcmVjaXNpb246IDgsXG4gICAgc2NoZW1hSWQ6IFwiYXV0b1wiLFxuICAgIHVua25vd25Gb3JtYXRzOiBcImlnbm9yZVwiLFxuICB9KTtcblxuICAvLyBhZGQgY3VzdG9tIGZvcm1hdHNcbiAgYWp2LmFkZEZvcm1hdChcbiAgICBcImRhdGEtdXJsXCIsXG4gICAgL15kYXRhOihbYS16XStcXC9bYS16MC05LSsuXSspPzsoPzpuYW1lPSguKik7KT9iYXNlNjQsKC4qKSQvXG4gICk7XG4gIGFqdi5hZGRGb3JtYXQoXG4gICAgXCJjb2xvclwiLFxuICAgIC9eKCM/KFswLTlBLUZhLWZdezN9KXsxLDJ9XFxifGFxdWF8YmxhY2t8Ymx1ZXxmdWNoc2lhfGdyYXl8Z3JlZW58bGltZXxtYXJvb258bmF2eXxvbGl2ZXxvcmFuZ2V8cHVycGxlfHJlZHxzaWx2ZXJ8dGVhbHx3aGl0ZXx5ZWxsb3d8KHJnYlxcKFxccypcXGIoWzAtOV18WzEtOV1bMC05XXwxWzAtOV1bMC05XXwyWzAtNF1bMC05XXwyNVswLTVdKVxcYlxccyosXFxzKlxcYihbMC05XXxbMS05XVswLTldfDFbMC05XVswLTldfDJbMC00XVswLTldfDI1WzAtNV0pXFxiXFxzKixcXHMqXFxiKFswLTldfFsxLTldWzAtOV18MVswLTldWzAtOV18MlswLTRdWzAtOV18MjVbMC01XSlcXGJcXHMqXFwpKXwocmdiXFwoXFxzKihcXGQ/XFxkJXwxMDAlKStcXHMqLFxccyooXFxkP1xcZCV8MTAwJSkrXFxzKixcXHMqKFxcZD9cXGQlfDEwMCUpK1xccypcXCkpKSQvXG4gICk7XG4gIHJldHVybiBhanY7XG59XG5cbmZ1bmN0aW9uIHRvRXJyb3JTY2hlbWEoZXJyb3JzKSB7XG4gIC8vIFRyYW5zZm9ybXMgYSBhanYgdmFsaWRhdGlvbiBlcnJvcnMgbGlzdDpcbiAgLy8gW1xuICAvLyAgIHtwcm9wZXJ0eTogXCIubGV2ZWwxLmxldmVsMlsyXS5sZXZlbDNcIiwgbWVzc2FnZTogXCJlcnIgYVwifSxcbiAgLy8gICB7cHJvcGVydHk6IFwiLmxldmVsMS5sZXZlbDJbMl0ubGV2ZWwzXCIsIG1lc3NhZ2U6IFwiZXJyIGJcIn0sXG4gIC8vICAge3Byb3BlcnR5OiBcIi5sZXZlbDEubGV2ZWwyWzRdLmxldmVsM1wiLCBtZXNzYWdlOiBcImVyciBiXCJ9LFxuICAvLyBdXG4gIC8vIEludG8gYW4gZXJyb3IgdHJlZTpcbiAgLy8ge1xuICAvLyAgIGxldmVsMToge1xuICAvLyAgICAgbGV2ZWwyOiB7XG4gIC8vICAgICAgIDI6IHtsZXZlbDM6IHtlcnJvcnM6IFtcImVyciBhXCIsIFwiZXJyIGJcIl19fSxcbiAgLy8gICAgICAgNDoge2xldmVsMzoge2Vycm9yczogW1wiZXJyIGJcIl19fSxcbiAgLy8gICAgIH1cbiAgLy8gICB9XG4gIC8vIH07XG4gIGlmICghZXJyb3JzLmxlbmd0aCkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuICByZXR1cm4gZXJyb3JzLnJlZHVjZSgoZXJyb3JTY2hlbWEsIGVycm9yKSA9PiB7XG4gICAgY29uc3QgeyBwcm9wZXJ0eSwgbWVzc2FnZSB9ID0gZXJyb3I7XG4gICAgY29uc3QgcGF0aCA9IHRvUGF0aChwcm9wZXJ0eSk7XG4gICAgbGV0IHBhcmVudCA9IGVycm9yU2NoZW1hO1xuXG4gICAgLy8gSWYgdGhlIHByb3BlcnR5IGlzIGF0IHRoZSByb290ICgubGV2ZWwxKSB0aGVuIHRvUGF0aCBjcmVhdGVzXG4gICAgLy8gYW4gZW1wdHkgYXJyYXkgZWxlbWVudCBhdCB0aGUgZmlyc3QgaW5kZXguIFJlbW92ZSBpdC5cbiAgICBpZiAocGF0aC5sZW5ndGggPiAwICYmIHBhdGhbMF0gPT09IFwiXCIpIHtcbiAgICAgIHBhdGguc3BsaWNlKDAsIDEpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3Qgc2VnbWVudCBvZiBwYXRoLnNsaWNlKDApKSB7XG4gICAgICBpZiAoIShzZWdtZW50IGluIHBhcmVudCkpIHtcbiAgICAgICAgcGFyZW50W3NlZ21lbnRdID0ge307XG4gICAgICB9XG4gICAgICBwYXJlbnQgPSBwYXJlbnRbc2VnbWVudF07XG4gICAgfVxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkocGFyZW50Ll9fZXJyb3JzKSkge1xuICAgICAgLy8gV2Ugc3RvcmUgdGhlIGxpc3Qgb2YgZXJyb3JzIGZvciB0aGlzIG5vZGUgaW4gYSBwcm9wZXJ0eSBuYW1lZCBfX2Vycm9yc1xuICAgICAgLy8gdG8gYXZvaWQgbmFtZSBjb2xsaXNpb24gd2l0aCBhIHBvc3NpYmxlIHN1YiBzY2hlbWEgZmllbGQgbmFtZWRcbiAgICAgIC8vIFwiZXJyb3JzXCIgKHNlZSBgdmFsaWRhdGUuY3JlYXRlRXJyb3JIYW5kbGVyYCkuXG4gICAgICBwYXJlbnQuX19lcnJvcnMgPSBwYXJlbnQuX19lcnJvcnMuY29uY2F0KG1lc3NhZ2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAobWVzc2FnZSkge1xuICAgICAgICBwYXJlbnQuX19lcnJvcnMgPSBbbWVzc2FnZV07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBlcnJvclNjaGVtYTtcbiAgfSwge30pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9FcnJvckxpc3QoZXJyb3JTY2hlbWEsIGZpZWxkTmFtZSA9IFwicm9vdFwiKSB7XG4gIC8vIFhYWDogV2Ugc2hvdWxkIHRyYW5zZm9ybSBmaWVsZE5hbWUgYXMgYSBmdWxsIGZpZWxkIHBhdGggc3RyaW5nLlxuICBsZXQgZXJyb3JMaXN0ID0gW107XG4gIGlmIChcIl9fZXJyb3JzXCIgaW4gZXJyb3JTY2hlbWEpIHtcbiAgICBlcnJvckxpc3QgPSBlcnJvckxpc3QuY29uY2F0KFxuICAgICAgZXJyb3JTY2hlbWEuX19lcnJvcnMubWFwKHN0YWNrID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBzdGFjazogYCR7ZmllbGROYW1lfTogJHtzdGFja31gLFxuICAgICAgICB9O1xuICAgICAgfSlcbiAgICApO1xuICB9XG4gIHJldHVybiBPYmplY3Qua2V5cyhlcnJvclNjaGVtYSkucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgIGlmIChrZXkgIT09IFwiX19lcnJvcnNcIikge1xuICAgICAgYWNjID0gYWNjLmNvbmNhdCh0b0Vycm9yTGlzdChlcnJvclNjaGVtYVtrZXldLCBrZXkpKTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwgZXJyb3JMaXN0KTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRXJyb3JIYW5kbGVyKGZvcm1EYXRhKSB7XG4gIGNvbnN0IGhhbmRsZXIgPSB7XG4gICAgLy8gV2Ugc3RvcmUgdGhlIGxpc3Qgb2YgZXJyb3JzIGZvciB0aGlzIG5vZGUgaW4gYSBwcm9wZXJ0eSBuYW1lZCBfX2Vycm9yc1xuICAgIC8vIHRvIGF2b2lkIG5hbWUgY29sbGlzaW9uIHdpdGggYSBwb3NzaWJsZSBzdWIgc2NoZW1hIGZpZWxkIG5hbWVkXG4gICAgLy8gXCJlcnJvcnNcIiAoc2VlIGB1dGlscy50b0Vycm9yU2NoZW1hYCkuXG4gICAgX19lcnJvcnM6IFtdLFxuICAgIGFkZEVycm9yKG1lc3NhZ2UpIHtcbiAgICAgIHRoaXMuX19lcnJvcnMucHVzaChtZXNzYWdlKTtcbiAgICB9LFxuICB9O1xuICBpZiAoaXNPYmplY3QoZm9ybURhdGEpKSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGZvcm1EYXRhKS5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICByZXR1cm4geyAuLi5hY2MsIFtrZXldOiBjcmVhdGVFcnJvckhhbmRsZXIoZm9ybURhdGFba2V5XSkgfTtcbiAgICB9LCBoYW5kbGVyKTtcbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheShmb3JtRGF0YSkpIHtcbiAgICByZXR1cm4gZm9ybURhdGEucmVkdWNlKChhY2MsIHZhbHVlLCBrZXkpID0+IHtcbiAgICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IGNyZWF0ZUVycm9ySGFuZGxlcih2YWx1ZSkgfTtcbiAgICB9LCBoYW5kbGVyKTtcbiAgfVxuICByZXR1cm4gaGFuZGxlcjtcbn1cblxuZnVuY3Rpb24gdW53cmFwRXJyb3JIYW5kbGVyKGVycm9ySGFuZGxlcikge1xuICByZXR1cm4gT2JqZWN0LmtleXMoZXJyb3JIYW5kbGVyKS5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgaWYgKGtleSA9PT0gXCJhZGRFcnJvclwiKSB7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0gZWxzZSBpZiAoa2V5ID09PSBcIl9fZXJyb3JzXCIpIHtcbiAgICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IGVycm9ySGFuZGxlcltrZXldIH07XG4gICAgfVxuICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IHVud3JhcEVycm9ySGFuZGxlcihlcnJvckhhbmRsZXJba2V5XSkgfTtcbiAgfSwge30pO1xufVxuXG4vKipcbiAqIFRyYW5zZm9ybWluZyB0aGUgZXJyb3Igb3V0cHV0IGZyb20gYWp2IHRvIGZvcm1hdCB1c2VkIGJ5IGpzb25zY2hlbWEuXG4gKiBBdCBzb21lIHBvaW50LCBjb21wb25lbnRzIHNob3VsZCBiZSB1cGRhdGVkIHRvIHN1cHBvcnQgYWp2LlxuICovXG5mdW5jdGlvbiB0cmFuc2Zvcm1BanZFcnJvcnMoZXJyb3JzID0gW10pIHtcbiAgaWYgKGVycm9ycyA9PT0gbnVsbCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHJldHVybiBlcnJvcnMubWFwKGUgPT4ge1xuICAgIGNvbnN0IHsgZGF0YVBhdGgsIGtleXdvcmQsIG1lc3NhZ2UsIHBhcmFtcywgc2NoZW1hUGF0aCB9ID0gZTtcbiAgICBsZXQgcHJvcGVydHkgPSBgJHtkYXRhUGF0aH1gO1xuXG4gICAgLy8gcHV0IGRhdGEgaW4gZXhwZWN0ZWQgZm9ybWF0XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IGtleXdvcmQsXG4gICAgICBwcm9wZXJ0eSxcbiAgICAgIG1lc3NhZ2UsXG4gICAgICBwYXJhbXMsIC8vIHNwZWNpZmljIHRvIGFqdlxuICAgICAgc3RhY2s6IGAke3Byb3BlcnR5fSAke21lc3NhZ2V9YC50cmltKCksXG4gICAgICBzY2hlbWFQYXRoLFxuICAgIH07XG4gIH0pO1xufVxuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gcHJvY2Vzc2VzIHRoZSBmb3JtRGF0YSB3aXRoIGEgdXNlciBgdmFsaWRhdGVgIGNvbnRyaWJ1dGVkXG4gKiBmdW5jdGlvbiwgd2hpY2ggcmVjZWl2ZXMgdGhlIGZvcm0gZGF0YSBhbmQgYW4gYGVycm9ySGFuZGxlcmAgb2JqZWN0IHRoYXRcbiAqIHdpbGwgYmUgdXNlZCB0byBhZGQgY3VzdG9tIHZhbGlkYXRpb24gZXJyb3JzIGZvciBlYWNoIGZpZWxkLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2YWxpZGF0ZUZvcm1EYXRhKFxuICBmb3JtRGF0YSxcbiAgc2NoZW1hLFxuICBjdXN0b21WYWxpZGF0ZSxcbiAgdHJhbnNmb3JtRXJyb3JzLFxuICBhZGRpdGlvbmFsTWV0YVNjaGVtYXMgPSBbXSxcbiAgY3VzdG9tRm9ybWF0cyA9IHt9XG4pIHtcbiAgLy8gSW5jbHVkZSBmb3JtIGRhdGEgd2l0aCB1bmRlZmluZWQgdmFsdWVzLCB3aGljaCBpcyByZXF1aXJlZCBmb3IgdmFsaWRhdGlvbi5cbiAgY29uc3Qgcm9vdFNjaGVtYSA9IHNjaGVtYTtcbiAgZm9ybURhdGEgPSBnZXREZWZhdWx0Rm9ybVN0YXRlKHNjaGVtYSwgZm9ybURhdGEsIHJvb3RTY2hlbWEsIHRydWUpO1xuXG4gIGNvbnN0IG5ld01ldGFTY2hlbWFzID0gIWRlZXBFcXVhbHMoZm9ybWVyTWV0YVNjaGVtYSwgYWRkaXRpb25hbE1ldGFTY2hlbWFzKTtcbiAgY29uc3QgbmV3Rm9ybWF0cyA9ICFkZWVwRXF1YWxzKGZvcm1lckN1c3RvbUZvcm1hdHMsIGN1c3RvbUZvcm1hdHMpO1xuXG4gIGlmIChuZXdNZXRhU2NoZW1hcyB8fCBuZXdGb3JtYXRzKSB7XG4gICAgYWp2ID0gY3JlYXRlQWp2SW5zdGFuY2UoKTtcbiAgfVxuXG4gIC8vIGFkZCBtb3JlIHNjaGVtYXMgdG8gdmFsaWRhdGUgYWdhaW5zdFxuICBpZiAoXG4gICAgYWRkaXRpb25hbE1ldGFTY2hlbWFzICYmXG4gICAgbmV3TWV0YVNjaGVtYXMgJiZcbiAgICBBcnJheS5pc0FycmF5KGFkZGl0aW9uYWxNZXRhU2NoZW1hcylcbiAgKSB7XG4gICAgYWp2LmFkZE1ldGFTY2hlbWEoYWRkaXRpb25hbE1ldGFTY2hlbWFzKTtcbiAgICBmb3JtZXJNZXRhU2NoZW1hID0gYWRkaXRpb25hbE1ldGFTY2hlbWFzO1xuICB9XG5cbiAgLy8gYWRkIG1vcmUgY3VzdG9tIGZvcm1hdHMgdG8gdmFsaWRhdGUgYWdhaW5zdFxuICBpZiAoY3VzdG9tRm9ybWF0cyAmJiBuZXdGb3JtYXRzICYmIGlzT2JqZWN0KGN1c3RvbUZvcm1hdHMpKSB7XG4gICAgT2JqZWN0LmtleXMoY3VzdG9tRm9ybWF0cykuZm9yRWFjaChmb3JtYXROYW1lID0+IHtcbiAgICAgIGFqdi5hZGRGb3JtYXQoZm9ybWF0TmFtZSwgY3VzdG9tRm9ybWF0c1tmb3JtYXROYW1lXSk7XG4gICAgfSk7XG5cbiAgICBmb3JtZXJDdXN0b21Gb3JtYXRzID0gY3VzdG9tRm9ybWF0cztcbiAgfVxuXG4gIGxldCB2YWxpZGF0aW9uRXJyb3IgPSBudWxsO1xuICB0cnkge1xuICAgIGFqdi52YWxpZGF0ZShzY2hlbWEsIGZvcm1EYXRhKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgdmFsaWRhdGlvbkVycm9yID0gZXJyO1xuICB9XG5cbiAgbGV0IGVycm9ycyA9IHRyYW5zZm9ybUFqdkVycm9ycyhhanYuZXJyb3JzKTtcbiAgLy8gQ2xlYXIgZXJyb3JzIHRvIHByZXZlbnQgcGVyc2lzdGVudCBlcnJvcnMsIHNlZSAjMTEwNFxuXG4gIGFqdi5lcnJvcnMgPSBudWxsO1xuXG4gIGNvbnN0IG5vUHJvcGVyTWV0YVNjaGVtYSA9XG4gICAgdmFsaWRhdGlvbkVycm9yICYmXG4gICAgdmFsaWRhdGlvbkVycm9yLm1lc3NhZ2UgJiZcbiAgICB0eXBlb2YgdmFsaWRhdGlvbkVycm9yLm1lc3NhZ2UgPT09IFwic3RyaW5nXCIgJiZcbiAgICB2YWxpZGF0aW9uRXJyb3IubWVzc2FnZS5pbmNsdWRlcyhcIm5vIHNjaGVtYSB3aXRoIGtleSBvciByZWYgXCIpO1xuXG4gIGlmIChub1Byb3Blck1ldGFTY2hlbWEpIHtcbiAgICBlcnJvcnMgPSBbXG4gICAgICAuLi5lcnJvcnMsXG4gICAgICB7XG4gICAgICAgIHN0YWNrOiB2YWxpZGF0aW9uRXJyb3IubWVzc2FnZSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuICBpZiAodHlwZW9mIHRyYW5zZm9ybUVycm9ycyA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgZXJyb3JzID0gdHJhbnNmb3JtRXJyb3JzKGVycm9ycyk7XG4gIH1cblxuICBsZXQgZXJyb3JTY2hlbWEgPSB0b0Vycm9yU2NoZW1hKGVycm9ycyk7XG5cbiAgaWYgKG5vUHJvcGVyTWV0YVNjaGVtYSkge1xuICAgIGVycm9yU2NoZW1hID0ge1xuICAgICAgLi4uZXJyb3JTY2hlbWEsXG4gICAgICAuLi57XG4gICAgICAgICRzY2hlbWE6IHtcbiAgICAgICAgICBfX2Vycm9yczogW3ZhbGlkYXRpb25FcnJvci5tZXNzYWdlXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgY3VzdG9tVmFsaWRhdGUgIT09IFwiZnVuY3Rpb25cIikge1xuICAgIHJldHVybiB7IGVycm9ycywgZXJyb3JTY2hlbWEgfTtcbiAgfVxuXG4gIGNvbnN0IGVycm9ySGFuZGxlciA9IGN1c3RvbVZhbGlkYXRlKGZvcm1EYXRhLCBjcmVhdGVFcnJvckhhbmRsZXIoZm9ybURhdGEpKTtcbiAgY29uc3QgdXNlckVycm9yU2NoZW1hID0gdW53cmFwRXJyb3JIYW5kbGVyKGVycm9ySGFuZGxlcik7XG4gIGNvbnN0IG5ld0Vycm9yU2NoZW1hID0gbWVyZ2VPYmplY3RzKGVycm9yU2NoZW1hLCB1c2VyRXJyb3JTY2hlbWEsIHRydWUpO1xuICAvLyBYWFg6IFRoZSBlcnJvcnMgbGlzdCBwcm9kdWNlZCBpcyBub3QgZnVsbHkgY29tcGxpYW50IHdpdGggdGhlIGZvcm1hdFxuICAvLyBleHBvc2VkIGJ5IHRoZSBqc29uc2NoZW1hIGxpYiwgd2hpY2ggY29udGFpbnMgZnVsbCBmaWVsZCBwYXRocyBhbmQgb3RoZXJcbiAgLy8gcHJvcGVydGllcy5cbiAgY29uc3QgbmV3RXJyb3JzID0gdG9FcnJvckxpc3QobmV3RXJyb3JTY2hlbWEpO1xuXG4gIHJldHVybiB7XG4gICAgZXJyb3JzOiBuZXdFcnJvcnMsXG4gICAgZXJyb3JTY2hlbWE6IG5ld0Vycm9yU2NoZW1hLFxuICB9O1xufVxuXG4vKipcbiAqIFJlY3Vyc2l2ZWx5IHByZWZpeGVzIGFsbCAkcmVmJ3MgaW4gYSBzY2hlbWEgd2l0aCBgUk9PVF9TQ0hFTUFfUFJFRklYYFxuICogVGhpcyBpcyB1c2VkIGluIGlzVmFsaWQgdG8gbWFrZSByZWZlcmVuY2VzIHRvIHRoZSByb290U2NoZW1hXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aXRoSWRSZWZQcmVmaXgoc2NoZW1hTm9kZSkge1xuICBsZXQgb2JqID0gc2NoZW1hTm9kZTtcbiAgaWYgKHNjaGVtYU5vZGUuY29uc3RydWN0b3IgPT09IE9iamVjdCkge1xuICAgIG9iaiA9IHsgLi4uc2NoZW1hTm9kZSB9O1xuICAgIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xuICAgICAgY29uc3QgdmFsdWUgPSBvYmpba2V5XTtcbiAgICAgIGlmIChcbiAgICAgICAga2V5ID09PSBcIiRyZWZcIiAmJlxuICAgICAgICB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiZcbiAgICAgICAgdmFsdWUuc3RhcnRzV2l0aChcIiNcIilcbiAgICAgICkge1xuICAgICAgICBvYmpba2V5XSA9IFJPT1RfU0NIRU1BX1BSRUZJWCArIHZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb2JqW2tleV0gPSB3aXRoSWRSZWZQcmVmaXgodmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHNjaGVtYU5vZGUpKSB7XG4gICAgb2JqID0gWy4uLnNjaGVtYU5vZGVdO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb2JqLmxlbmd0aDsgaSsrKSB7XG4gICAgICBvYmpbaV0gPSB3aXRoSWRSZWZQcmVmaXgob2JqW2ldKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG9iajtcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgZGF0YSBhZ2FpbnN0IGEgc2NoZW1hLCByZXR1cm5pbmcgdHJ1ZSBpZiB0aGUgZGF0YSBpcyB2YWxpZCwgb3JcbiAqIGZhbHNlIG90aGVyd2lzZS4gSWYgdGhlIHNjaGVtYSBpcyBpbnZhbGlkLCB0aGVuIHRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm5cbiAqIGZhbHNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZChzY2hlbWEsIGRhdGEsIHJvb3RTY2hlbWEpIHtcbiAgdHJ5IHtcbiAgICAvLyBhZGQgdGhlIHJvb3RTY2hlbWEgUk9PVF9TQ0hFTUFfUFJFRklYIGFzIGlkLlxuICAgIC8vIHRoZW4gcmV3cml0ZSB0aGUgc2NoZW1hIHJlZidzIHRvIHBvaW50IHRvIHRoZSByb290U2NoZW1hXG4gICAgLy8gdGhpcyBhY2NvdW50cyBmb3IgdGhlIGNhc2Ugd2hlcmUgc2NoZW1hIGhhdmUgcmVmZXJlbmNlcyB0byBtb2RlbHNcbiAgICAvLyB0aGF0IGxpdmVzIGluIHRoZSByb290U2NoZW1hIGJ1dCBub3QgaW4gdGhlIHNjaGVtYSBpbiBxdWVzdGlvbi5cbiAgICByZXR1cm4gYWp2XG4gICAgICAuYWRkU2NoZW1hKHJvb3RTY2hlbWEsIFJPT1RfU0NIRU1BX1BSRUZJWClcbiAgICAgIC52YWxpZGF0ZSh3aXRoSWRSZWZQcmVmaXgoc2NoZW1hKSwgZGF0YSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0gZmluYWxseSB7XG4gICAgLy8gbWFrZSBzdXJlIHdlIHJlbW92ZSB0aGUgcm9vdFNjaGVtYSBmcm9tIHRoZSBnbG9iYWwgYWp2IGluc3RhbmNlXG4gICAgYWp2LnJlbW92ZVNjaGVtYShST09UX1NDSEVNQV9QUkVGSVgpO1xuICB9XG59XG4iXX0=
@@ -1,36 +0,0 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
4
-
5
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
-
7
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
8
-
9
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
-
11
- import React, { forwardRef } from "react";
12
- import PropTypes from "prop-types";
13
- import Form from "./";
14
-
15
- function withTheme(themeProps) {
16
- return forwardRef(function (_ref, ref) {
17
- var fields = _ref.fields,
18
- widgets = _ref.widgets,
19
- directProps = _objectWithoutProperties(_ref, ["fields", "widgets"]);
20
-
21
- fields = _objectSpread({}, themeProps.fields, fields);
22
- widgets = _objectSpread({}, themeProps.widgets, widgets);
23
- return React.createElement(Form, _extends({}, themeProps, directProps, {
24
- fields: fields,
25
- widgets: widgets,
26
- ref: ref
27
- }));
28
- });
29
- }
30
-
31
- withTheme.propTypes = {
32
- widgets: PropTypes.object,
33
- fields: PropTypes.object
34
- };
35
- export default withTheme;
36
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoVGhlbWUuanMiXSwibmFtZXMiOlsiUmVhY3QiLCJmb3J3YXJkUmVmIiwiUHJvcFR5cGVzIiwiRm9ybSIsIndpdGhUaGVtZSIsInRoZW1lUHJvcHMiLCJyZWYiLCJmaWVsZHMiLCJ3aWRnZXRzIiwiZGlyZWN0UHJvcHMiLCJwcm9wVHlwZXMiLCJvYmplY3QiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxVQUFoQixRQUFrQyxPQUFsQztBQUNBLE9BQU9DLFNBQVAsTUFBc0IsWUFBdEI7QUFDQSxPQUFPQyxJQUFQLE1BQWlCLElBQWpCOztBQUVBLFNBQVNDLFNBQVQsQ0FBbUJDLFVBQW5CLEVBQStCO0FBQzdCLFNBQU9KLFVBQVUsQ0FBQyxnQkFBc0NLLEdBQXRDLEVBQThDO0FBQUEsUUFBM0NDLE1BQTJDLFFBQTNDQSxNQUEyQztBQUFBLFFBQW5DQyxPQUFtQyxRQUFuQ0EsT0FBbUM7QUFBQSxRQUF2QkMsV0FBdUI7O0FBQzlERixJQUFBQSxNQUFNLHFCQUFRRixVQUFVLENBQUNFLE1BQW5CLEVBQThCQSxNQUE5QixDQUFOO0FBQ0FDLElBQUFBLE9BQU8scUJBQVFILFVBQVUsQ0FBQ0csT0FBbkIsRUFBK0JBLE9BQS9CLENBQVA7QUFFQSxXQUNFLG9CQUFDLElBQUQsZUFDTUgsVUFETixFQUVNSSxXQUZOO0FBR0UsTUFBQSxNQUFNLEVBQUVGLE1BSFY7QUFJRSxNQUFBLE9BQU8sRUFBRUMsT0FKWDtBQUtFLE1BQUEsR0FBRyxFQUFFRjtBQUxQLE9BREY7QUFTRCxHQWJnQixDQUFqQjtBQWNEOztBQUVERixTQUFTLENBQUNNLFNBQVYsR0FBc0I7QUFDcEJGLEVBQUFBLE9BQU8sRUFBRU4sU0FBUyxDQUFDUyxNQURDO0FBRXBCSixFQUFBQSxNQUFNLEVBQUVMLFNBQVMsQ0FBQ1M7QUFGRSxDQUF0QjtBQUtBLGVBQWVQLFNBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiO1xuaW1wb3J0IEZvcm0gZnJvbSBcIi4vXCI7XG5cbmZ1bmN0aW9uIHdpdGhUaGVtZSh0aGVtZVByb3BzKSB7XG4gIHJldHVybiBmb3J3YXJkUmVmKCh7IGZpZWxkcywgd2lkZ2V0cywgLi4uZGlyZWN0UHJvcHMgfSwgcmVmKSA9PiB7XG4gICAgZmllbGRzID0geyAuLi50aGVtZVByb3BzLmZpZWxkcywgLi4uZmllbGRzIH07XG4gICAgd2lkZ2V0cyA9IHsgLi4udGhlbWVQcm9wcy53aWRnZXRzLCAuLi53aWRnZXRzIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEZvcm1cbiAgICAgICAgey4uLnRoZW1lUHJvcHN9XG4gICAgICAgIHsuLi5kaXJlY3RQcm9wc31cbiAgICAgICAgZmllbGRzPXtmaWVsZHN9XG4gICAgICAgIHdpZGdldHM9e3dpZGdldHN9XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgLz5cbiAgICApO1xuICB9KTtcbn1cblxud2l0aFRoZW1lLnByb3BUeXBlcyA9IHtcbiAgd2lkZ2V0czogUHJvcFR5cGVzLm9iamVjdCxcbiAgZmllbGRzOiBQcm9wVHlwZXMub2JqZWN0LFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRoZW1lO1xuIl19