@earthranger/react-native-jsonforms-formatter 1.0.5 → 1.0.7

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 (52) hide show
  1. package/dist/bundle.js +1 -2
  2. package/dist/src/index.d.ts +2 -4
  3. package/dist/src/index.d.ts.map +1 -1
  4. package/dist/src/v1/generateUISchema.d.ts.map +1 -1
  5. package/dist/src/v1/index.d.ts.map +1 -1
  6. package/dist/src/v1/utils/utils.d.ts.map +1 -1
  7. package/dist/src/v1/validateJsonSchema.d.ts.map +1 -1
  8. package/dist/src/v1.d.ts +2 -0
  9. package/dist/src/v1.d.ts.map +1 -0
  10. package/package.json +6 -1
  11. package/dist/src/common/types.d.ts +0 -119
  12. package/dist/src/common/types.d.ts.map +0 -1
  13. package/dist/src/common/types.js +0 -4
  14. package/dist/src/common/types.js.map +0 -1
  15. package/dist/src/generateUISchema.d.ts +0 -5
  16. package/dist/src/generateUISchema.d.ts.map +0 -1
  17. package/dist/src/generateUISchema.js +0 -171
  18. package/dist/src/generateUISchema.js.map +0 -1
  19. package/dist/src/index.js +0 -34
  20. package/dist/src/index.js.map +0 -1
  21. package/dist/src/utils/utils.d.ts +0 -46
  22. package/dist/src/utils/utils.d.ts.map +0 -1
  23. package/dist/src/utils/utils.js +0 -170
  24. package/dist/src/utils/utils.js.map +0 -1
  25. package/dist/src/v1/generateUISchema.js +0 -171
  26. package/dist/src/v1/generateUISchema.js.map +0 -1
  27. package/dist/src/v1/index.js +0 -9
  28. package/dist/src/v1/index.js.map +0 -1
  29. package/dist/src/v1/utils/utils.js +0 -170
  30. package/dist/src/v1/utils/utils.js.map +0 -1
  31. package/dist/src/v1/validateJsonSchema.js +0 -287
  32. package/dist/src/v1/validateJsonSchema.js.map +0 -1
  33. package/dist/src/v2/generateUISchema.d.ts +0 -19
  34. package/dist/src/v2/generateUISchema.d.ts.map +0 -1
  35. package/dist/src/v2/generateUISchema.js +0 -95
  36. package/dist/src/v2/generateUISchema.js.map +0 -1
  37. package/dist/src/v2/index.d.ts +0 -3
  38. package/dist/src/v2/index.d.ts.map +0 -1
  39. package/dist/src/v2/index.js +0 -8
  40. package/dist/src/v2/index.js.map +0 -1
  41. package/dist/src/v2/mockData.d.ts +0 -4
  42. package/dist/src/v2/mockData.d.ts.map +0 -1
  43. package/dist/src/v2/mockData.js +0 -337
  44. package/dist/src/v2/mockData.js.map +0 -1
  45. package/dist/src/v2/utils.d.ts +0 -34
  46. package/dist/src/v2/utils.d.ts.map +0 -1
  47. package/dist/src/v2/utils.js +0 -162
  48. package/dist/src/v2/utils.js.map +0 -1
  49. package/dist/src/validateJsonSchema.d.ts +0 -2
  50. package/dist/src/validateJsonSchema.d.ts.map +0 -1
  51. package/dist/src/validateJsonSchema.js +0 -287
  52. package/dist/src/validateJsonSchema.js.map +0 -1
@@ -1,287 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
- if (ar || !(i in from)) {
16
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
- ar[i] = from[i];
18
- }
19
- }
20
- return to.concat(ar || Array.prototype.slice.call(from));
21
- };
22
- Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.validateJSONSchema = void 0;
24
- // Internal Dependencies
25
- var lodash_1 = require("lodash");
26
- var utils_1 = require("./utils/utils");
27
- var specialCharactersInKey = /[^\w\n\s_"](?=[^:\n\s{}[]]*:[\t\n\s]*(\{|\[)+)/g;
28
- var emptyEnumRegex = '\\"enum\\"\\n*\\s*\\:\\n*\\s*\\[\\n*\\s*\\]';
29
- var emptyEnumValue = '"enum": ["0"]';
30
- var emptyEnumNamesRegex = '\\"enumNames\\"\\n*\\s*\\:\\n*\\s*\\{\\n*\\s*\\}';
31
- var emptyEnumNamesValue = '"enumNames": {"0":"No Options"}';
32
- var emptyTitleMapRegex = '\\"titleMap\\"\\n*\\s*\\:\\n*\\s*\\[\\n*\\s*\\]';
33
- var emptyTitleMapValue = '"titleMap": [{"value":"no_option", "name":"No Option"}]';
34
- var minParamRegex = /"minimum"(?:[^\\"]|\\\\|\\")*"\d+\.*\d*"/g;
35
- var maxParamRegex = /"maximum"(?:[^\\"]|\\\\|\\")*"\d+\.*\d*"/g;
36
- var doubleSingleQuotesRegex = /"(?=[^"]*(?:"[^"]*)?$)/g;
37
- var getSchemaForCheckbox = function (definition, title, required, defaultValue) { return (__assign(__assign(__assign({ type: 'array', uniqueItems: true, isHidden: false }, required && { required: required }), { title: title || definition.title, items: {
38
- enum: definition.titleMap.map(function (item) { return item.value; }),
39
- enumNames: definition.titleMap.map(function (item) { return item.name; }),
40
- } }), defaultValue && { default: defaultValue })); };
41
- var getTitleProperty = function (title) { return ({
42
- type: 'string',
43
- readOnly: true,
44
- isHidden: false,
45
- display: utils_1.ElementDisplay.Header,
46
- title: title,
47
- }); };
48
- var getPropertyVisibility = function (property) { return (property === null || property === void 0 ? void 0 : property.isHidden) || false; };
49
- var cleanUpRequiredProperty = function (schema) {
50
- // Store the original root-level required array if it exists
51
- var originalRequired = Array.isArray(schema.required) ? __spreadArray([], schema.required, true) : null;
52
- (0, utils_1.traverseSchema)(schema, function (node, path) {
53
- if (node.type === 'object' && node.properties) {
54
- var localRequired_1 = [];
55
- Object.entries(node.properties).forEach(function (_a) {
56
- var key = _a[0], property = _a[1];
57
- if ((0, utils_1.isRequiredProperty)(property)) {
58
- localRequired_1.push(key);
59
- delete property.required;
60
- }
61
- });
62
- // Only modify required array if we found inline required properties
63
- if (!(0, lodash_1.isEmpty)(localRequired_1)) {
64
- // If this is the root schema and there was an original required array, merge them
65
- if (path.length === 0 && originalRequired) {
66
- var mergedRequired = __spreadArray(__spreadArray([], originalRequired, true), localRequired_1, true);
67
- node.required = Array.from(new Set(mergedRequired));
68
- }
69
- else {
70
- node.required = localRequired_1;
71
- }
72
- }
73
- else if (path.length > 0 && node.required) {
74
- // Only delete required array for nested objects, not the root
75
- delete node.required;
76
- }
77
- }
78
- });
79
- return schema;
80
- };
81
- var formatDefinitionInSchema = function (schema) {
82
- if (schema.schema.definition) {
83
- var definition = schema.schema.definition;
84
- delete schema.schema.definition;
85
- schema.definition = definition;
86
- return schema;
87
- }
88
- return schema;
89
- };
90
- var formatSchemaRepeatableFieldLayout = function (schema) {
91
- var properties = {};
92
- var headerCount = 0;
93
- // eslint-disable-next-line no-restricted-syntax
94
- for (var _i = 0, _a = schema.definition; _i < _a.length; _i++) {
95
- var item = _a[_i];
96
- if ((0, utils_1.isString)(item)) {
97
- properties[item] = schema.schema.properties[item];
98
- delete schema.schema.properties[item];
99
- }
100
- else if ((0, utils_1.isObject)(item)) {
101
- if (item.helpvalue) {
102
- var property = "help_value_".concat(headerCount);
103
- headerCount += 1;
104
- properties[property] = getTitleProperty((item.helpvalue || '').replace(/(<.+?>)/g, ''));
105
- }
106
- else if (item.key) {
107
- properties[item.key] = schema.schema.properties[item.key];
108
- delete schema.schema.properties[item.key];
109
- }
110
- }
111
- }
112
- schema.schema.properties = Object.assign(properties, schema.schema.properties);
113
- };
114
- // eslint-disable-next-line max-len
115
- var cleanUpInactiveEnumChoice = function (property) { return property.enum.filter(function (choice) { return !property.inactive_enum.includes(choice); }); };
116
- // eslint-disable-next-line max-len
117
- var cleanUpDisabledEnumChoice = function (definitionItem) { return definitionItem.titleMap.filter(function (item) { return !definitionItem.inactive_titleMap.includes(item.value); }); };
118
- var validateJSON = function (stringSchema) {
119
- if (stringSchema.match(specialCharactersInKey) !== null) {
120
- throw Error('Special characters not supported in JSON Schema');
121
- }
122
- // Invalid double quotes
123
- stringSchema = stringSchema.replace(/([“”])/g, '"');
124
- // Empty enum choices
125
- stringSchema = stringSchema.replace(new RegExp(emptyEnumRegex, 'g'), emptyEnumValue);
126
- // Empty enumNames choices
127
- stringSchema = stringSchema.replace(new RegExp(emptyEnumNamesRegex, 'g'), emptyEnumNamesValue);
128
- // Empty titleMap choices
129
- stringSchema = stringSchema.replace(new RegExp(emptyTitleMapRegex, 'g'), emptyTitleMapValue);
130
- // Numeric ranges
131
- stringSchema = stringSchema.replace(minParamRegex, function (match) { return match.replace(doubleSingleQuotesRegex, ''); });
132
- stringSchema = stringSchema.replace(maxParamRegex, function (match) { return match.replace(doubleSingleQuotesRegex, ''); });
133
- return stringSchema;
134
- };
135
- var cleanUpJTD = function (validations, schema) {
136
- var _a;
137
- if ((0, utils_1.isSchemaFieldSet)(schema.definition)) {
138
- validateFieldSetDefinition(validations, schema);
139
- }
140
- else if (((_a = schema.definition) === null || _a === void 0 ? void 0 : _a.length) > 0) {
141
- for (var _i = 0, _b = schema.definition; _i < _b.length; _i++) {
142
- var item = _b[_i];
143
- validateDefinition(validations, item, schema);
144
- }
145
- }
146
- };
147
- var validateFieldSetDefinition = function (validations, schema) {
148
- for (var _i = 0, _a = schema.definition; _i < _a.length; _i++) {
149
- var item = _a[_i];
150
- switch (true) {
151
- case (0, utils_1.isString)(item):
152
- break;
153
- // Create field set header
154
- case (0, utils_1.isFieldSetTitle)(item):
155
- {
156
- var key = (0, utils_1.getFieldSetTitleKey)(item.title);
157
- schema.schema.properties[key] = getTitleProperty(item.title);
158
- }
159
- break;
160
- // Format field-set sub-items
161
- case (0, utils_1.isFieldSet)(item):
162
- // eslint-disable-next-line no-restricted-syntax
163
- for (var _b = 0, _c = item.items; _b < _c.length; _b++) {
164
- var subItem = _c[_b];
165
- validateDefinition(validations, subItem, schema, item);
166
- }
167
- break;
168
- default:
169
- break;
170
- }
171
- }
172
- };
173
- var validateDefinition = function (validations, item, schema, parentItem) {
174
- var hasCheckboxes = validations.hasCheckboxes, hasDisabledChoices = validations.hasDisabledChoices;
175
- // Set property visibility
176
- if ((0, utils_1.isString)(item) && schema.schema.properties[item]) {
177
- schema.schema.properties[item].isHidden = getPropertyVisibility(schema.schema.properties[item]);
178
- }
179
- else {
180
- // Set property visibility
181
- if (((0, utils_1.isObject)(item) || (0, utils_1.isPropertyKey)(item))
182
- && item.key
183
- && schema.schema.properties[item.key]) {
184
- // eslint-disable-next-line max-len
185
- schema.schema.properties[item.key].isHidden = getPropertyVisibility(schema.schema.properties[item.key]);
186
- }
187
- // Clean up disabled choices
188
- if (hasDisabledChoices && (0, utils_1.isDisabledChoice)(item)) {
189
- if (parentItem) {
190
- var parentIndex = schema.definition.indexOf(parentItem);
191
- var childIndex = schema.definition[parentIndex].items.indexOf(item);
192
- schema.definition[parentIndex].items[childIndex].titleMap = cleanUpDisabledEnumChoice(item);
193
- }
194
- else {
195
- // eslint-disable-next-line max-len
196
- schema.definition[schema.definition.indexOf(item)].titleMap = cleanUpDisabledEnumChoice(item);
197
- }
198
- }
199
- // Generate checkbox data in schema
200
- if (hasCheckboxes && (0, utils_1.isCheckbox)(item)) {
201
- schema.schema.properties[item.key] = getSchemaForCheckbox(item, schema.schema.properties[item.key].title || '', schema.schema.properties[item.key].required || false, schema.schema.properties[item.key].default || false);
202
- }
203
- }
204
- };
205
- var normalizeNumberFields = function (schema) {
206
- (0, utils_1.traverseSchema)(schema, function (node) {
207
- if (node.type === 'object' && node.properties) {
208
- Object.entries(node.properties).forEach(function (_a) {
209
- var property = _a[1];
210
- if (property.type === 'number') {
211
- // Normalize default values
212
- if (property.default !== undefined) {
213
- property.default = (0, utils_1.normalizeDecimalSeparators)(property.default);
214
- }
215
- // Normalize minimum values
216
- if (property.minimum !== undefined) {
217
- property.minimum = (0, utils_1.normalizeDecimalSeparators)(property.minimum);
218
- }
219
- // Normalize maximum values
220
- if (property.maximum !== undefined) {
221
- property.maximum = (0, utils_1.normalizeDecimalSeparators)(property.maximum);
222
- }
223
- }
224
- });
225
- }
226
- });
227
- return schema;
228
- };
229
- var validateSchema = function (validations, schema) {
230
- var hasInactiveChoices = validations.hasInactiveChoices, hasEnums = validations.hasEnums;
231
- if (hasInactiveChoices) {
232
- for (var _i = 0, _a = Object.keys(schema.schema.properties); _i < _a.length; _i++) {
233
- var key = _a[_i];
234
- var property = schema.schema.properties[key];
235
- // Clean up inactive choices
236
- if ((0, utils_1.isInactiveChoice)(property)) {
237
- schema.schema.properties[key].enum = cleanUpInactiveEnumChoice(property);
238
- if ((0, lodash_1.isEmpty)(schema.schema.properties[key].enum.length)) {
239
- schema.schema.properties[key].enum = ['0'];
240
- schema.schema.properties[key].enumNames = { 0: 'No Options' };
241
- }
242
- }
243
- }
244
- }
245
- if (hasEnums) {
246
- for (var _b = 0, _c = Object.keys(schema.schema.properties); _b < _c.length; _b++) {
247
- var key = _c[_b];
248
- // Detect duplicated enum items
249
- if (
250
- // schema.schema.properties[key].enum?.length > 0
251
- !(0, lodash_1.isEmpty)(schema.schema.properties[key].enum)
252
- && (0, utils_1.hasDuplicatedItems)(schema.schema.properties[key].enum)) {
253
- throw new Error('Duplicated enum items');
254
- }
255
- }
256
- }
257
- };
258
- var validateJSONSchema = function (stringSchema) {
259
- var _a;
260
- // Validate/Remove JSON issues
261
- stringSchema = validateJSON(stringSchema);
262
- var schema = JSON.parse(stringSchema);
263
- // $schema and id make JSON forms crash
264
- delete schema.schema.$schema;
265
- delete schema.schema.id;
266
- // Definition array should be at the same level as a schema object
267
- formatDefinitionInSchema(schema);
268
- var schemaValidations = (0, utils_1.getSchemaValidations)(stringSchema);
269
- // Normalize decimal separators in number fields
270
- normalizeNumberFields(schema.schema);
271
- validateSchema(schemaValidations, schema);
272
- // JSON forms library does not support JSON Type Definition JTD
273
- cleanUpJTD(schemaValidations, schema);
274
- if (stringSchema.includes(utils_1.HELP_VALUE)) {
275
- formatSchemaRepeatableFieldLayout(schema);
276
- }
277
- if (stringSchema.includes(utils_1.REQUIRED_PROPERTY)) {
278
- // Check for duplicated required properties in the original schema first
279
- if (((_a = schema.schema.required) === null || _a === void 0 ? void 0 : _a.length) > 0 && (0, utils_1.hasDuplicatedItems)(schema.schema.required)) {
280
- throw new Error('Duplicated required properties');
281
- }
282
- schema.schema = cleanUpRequiredProperty(schema.schema);
283
- }
284
- return schema;
285
- };
286
- exports.validateJSONSchema = validateJSONSchema;
287
- //# sourceMappingURL=validateJsonSchema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validateJsonSchema.js","sourceRoot":"","sources":["../../src/validateJsonSchema.ts"],"names":[],"mappings":"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"}