@earthranger/react-native-jsonforms-formatter 1.0.7 → 2.0.0-beta.10

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 (58) hide show
  1. package/README.md +348 -36
  2. package/dist/bundle.js +1 -1
  3. package/dist/common/schemaUtils.d.ts +23 -0
  4. package/dist/common/schemaUtils.d.ts.map +1 -0
  5. package/dist/common/schemaUtils.js +56 -0
  6. package/dist/common/schemaUtils.js.map +1 -0
  7. package/dist/common/types.d.ts +132 -0
  8. package/dist/common/types.d.ts.map +1 -0
  9. package/dist/common/types.js +2 -0
  10. package/dist/common/types.js.map +1 -0
  11. package/dist/index.d.ts +5 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +9 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/v1/generateUISchema.d.ts.map +1 -0
  16. package/dist/v1/generateUISchema.js +181 -0
  17. package/dist/v1/generateUISchema.js.map +1 -0
  18. package/dist/v1/index.d.ts.map +1 -0
  19. package/dist/v1/index.js +3 -0
  20. package/dist/v1/index.js.map +1 -0
  21. package/dist/v1/utils/utils.d.ts.map +1 -0
  22. package/dist/v1/utils/utils.js +149 -0
  23. package/dist/v1/utils/utils.js.map +1 -0
  24. package/dist/v1/validateJsonSchema.d.ts.map +1 -0
  25. package/dist/v1/validateJsonSchema.js +286 -0
  26. package/dist/v1/validateJsonSchema.js.map +1 -0
  27. package/dist/v1.d.ts.map +1 -0
  28. package/dist/v1.js +3 -0
  29. package/dist/v1.js.map +1 -0
  30. package/dist/v2/generateUISchema.d.ts +15 -0
  31. package/dist/v2/generateUISchema.d.ts.map +1 -0
  32. package/dist/v2/generateUISchema.js +162 -0
  33. package/dist/v2/generateUISchema.js.map +1 -0
  34. package/dist/v2/index.d.ts +3 -0
  35. package/dist/v2/index.d.ts.map +1 -0
  36. package/dist/v2/index.js +3 -0
  37. package/dist/v2/index.js.map +1 -0
  38. package/dist/v2/mockData.d.ts +4 -0
  39. package/dist/v2/mockData.d.ts.map +1 -0
  40. package/dist/v2/mockData.js +343 -0
  41. package/dist/v2/mockData.js.map +1 -0
  42. package/dist/v2/utils.d.ts +38 -0
  43. package/dist/v2/utils.d.ts.map +1 -0
  44. package/dist/v2/utils.js +253 -0
  45. package/dist/v2/utils.js.map +1 -0
  46. package/package.json +16 -10
  47. package/dist/src/index.d.ts +0 -3
  48. package/dist/src/index.d.ts.map +0 -1
  49. package/dist/src/v1/generateUISchema.d.ts.map +0 -1
  50. package/dist/src/v1/index.d.ts.map +0 -1
  51. package/dist/src/v1/utils/utils.d.ts.map +0 -1
  52. package/dist/src/v1/validateJsonSchema.d.ts.map +0 -1
  53. package/dist/src/v1.d.ts.map +0 -1
  54. /package/dist/{src/v1 → v1}/generateUISchema.d.ts +0 -0
  55. /package/dist/{src/v1 → v1}/index.d.ts +0 -0
  56. /package/dist/{src/v1 → v1}/utils/utils.d.ts +0 -0
  57. /package/dist/{src/v1 → v1}/validateJsonSchema.d.ts +0 -0
  58. /package/dist/{src/v1.d.ts → v1.d.ts} +0 -0
@@ -0,0 +1,132 @@
1
+ export interface ValidationOptions {
2
+ version?: 'v1' | 'v2' | 'auto';
3
+ strictMode?: boolean;
4
+ locale?: string;
5
+ }
6
+ export interface V1Schema {
7
+ schema: {
8
+ type: string;
9
+ properties: Record<string, any>;
10
+ required?: string[];
11
+ [key: string]: any;
12
+ };
13
+ definition: any[];
14
+ }
15
+ export interface V2Schema {
16
+ json: {
17
+ $schema: string;
18
+ additionalProperties: boolean;
19
+ properties: Record<string, V2Property>;
20
+ required: string[];
21
+ type: string;
22
+ };
23
+ ui: {
24
+ fields: Record<string, V2UIField>;
25
+ headers: Record<string, V2Header>;
26
+ order: string[];
27
+ sections: Record<string, V2Section>;
28
+ };
29
+ }
30
+ export interface V2BaseProperty {
31
+ type: 'string' | 'number' | 'array' | 'object';
32
+ description?: string;
33
+ default?: any;
34
+ minimum?: number;
35
+ maximum?: number;
36
+ format?: 'date-time' | 'date' | 'time' | 'uri';
37
+ anyOf?: Array<{
38
+ $ref: string;
39
+ } | {
40
+ oneOf: Array<{
41
+ const: any;
42
+ title?: string;
43
+ }>;
44
+ }>;
45
+ items?: V2BaseProperty;
46
+ properties?: Record<string, V2BaseProperty>;
47
+ required?: string[];
48
+ additionalProperties?: boolean;
49
+ unevaluatedItems?: boolean;
50
+ maxItems?: number;
51
+ minItems?: number;
52
+ uniqueItems?: boolean;
53
+ }
54
+ export interface V2Property extends V2BaseProperty {
55
+ deprecated: boolean;
56
+ title: string;
57
+ items?: V2BaseProperty;
58
+ properties?: Record<string, V2BaseProperty>;
59
+ }
60
+ export interface V2UIField {
61
+ type: 'TEXT' | 'NUMERIC' | 'CHOICE_LIST' | 'DATE_TIME' | 'LOCATION' | 'COLLECTION' | 'ATTACHMENT';
62
+ parent: string;
63
+ inputType?: 'SHORT_TEXT' | 'LONG_TEXT' | 'DROPDOWN' | 'LIST';
64
+ placeholder?: string;
65
+ choices?: V2Choices;
66
+ buttonText?: string;
67
+ columns?: number;
68
+ itemIdentifier?: string;
69
+ itemName?: string;
70
+ leftColumn?: string[];
71
+ rightColumn?: string[];
72
+ allowableFileTypes?: string[];
73
+ }
74
+ export interface V2Choices {
75
+ type: 'EXISTING_CHOICE_LIST' | 'MY_DATA';
76
+ eventTypeCategories: string[];
77
+ existingChoiceList: string[];
78
+ featureCategories: string[];
79
+ myDataType: string;
80
+ subjectGroups: string[];
81
+ subjectSubtypes: string[];
82
+ }
83
+ export interface V2Header {
84
+ label: string;
85
+ section: string;
86
+ size: 'LARGE' | 'MEDIUM' | 'SMALL';
87
+ }
88
+ export interface V2Section {
89
+ columns: 1 | 2;
90
+ isActive: boolean;
91
+ label: string;
92
+ leftColumn: V2ColumnItem[];
93
+ rightColumn: V2ColumnItem[];
94
+ }
95
+ export interface V2ColumnItem {
96
+ name: string;
97
+ type: 'field' | 'header';
98
+ }
99
+ export interface JSONFormsUIElement {
100
+ type: string;
101
+ scope?: string;
102
+ label?: string;
103
+ options?: Record<string, any>;
104
+ elements?: JSONFormsUIElement[];
105
+ }
106
+ export interface JSONFormsControl extends JSONFormsUIElement {
107
+ type: 'Control';
108
+ scope: string;
109
+ label: string;
110
+ options?: {
111
+ format?: string;
112
+ display?: string;
113
+ placeholder?: string;
114
+ multi?: boolean;
115
+ [key: string]: any;
116
+ };
117
+ }
118
+ export interface JSONFormsLayout extends JSONFormsUIElement {
119
+ type: 'VerticalLayout' | 'HorizontalLayout' | 'Group' | 'Categorization';
120
+ elements: JSONFormsUIElement[];
121
+ label?: string;
122
+ }
123
+ export interface JSONFormsLabel extends JSONFormsUIElement {
124
+ type: 'Label';
125
+ text: string;
126
+ options?: {
127
+ size?: 'LARGE' | 'MEDIUM' | 'SMALL';
128
+ [key: string]: any;
129
+ };
130
+ }
131
+ export type JSONFormsUISchema = JSONFormsUIElement;
132
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export { generateUISchema, validateJSONSchema } from './v1/index';
2
+ export * as v1 from './v1/index';
3
+ export * as v2 from './v2/index';
4
+ export { detectSchemaVersion, processSchema, type SchemaVersion, type ParsedSchema } from './common/schemaUtils';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGlE,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,9 @@
1
+ // Default exports (backward compatible - uses v1)
2
+ export { generateUISchema, validateJSONSchema } from './v1/index';
3
+ import * as v1_1 from './v1/index';
4
+ export { v1_1 as v1 };
5
+ import * as v2_1 from './v2/index';
6
+ export { v2_1 as v2 };
7
+ // Schema utilities
8
+ export { detectSchemaVersion, processSchema } from './common/schemaUtils';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;sBAG9C,YAAY;iBAApB,EAAE;sBACM,YAAY;iBAApB,EAAE;AAEd,mBAAmB;AACnB,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAyC,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateUISchema.d.ts","sourceRoot":"","sources":["../../src/v1/generateUISchema.ts"],"names":[],"mappings":"AAmEA,eAAO,MAAM,gBAAgB,WAAY,GAAG;;;CAiB3C,CAAC"}
@@ -0,0 +1,181 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ // External Dependencies
13
+ import { isEmpty } from 'lodash-es';
14
+ // Internal Dependencies
15
+ import { DateTimeFormat, ElementDisplay, getFieldSetTitleKey, isEmptyString, isFieldSet, isFieldSetTitleWithoutItems, isPropertyKey, isSchemaFieldSet, PropertyFormat, } from './utils/utils';
16
+ // Enums
17
+ var SchemaTypes;
18
+ (function (SchemaTypes) {
19
+ SchemaTypes["Number"] = "number";
20
+ SchemaTypes["String"] = "string";
21
+ SchemaTypes["Array"] = "array";
22
+ })(SchemaTypes || (SchemaTypes = {}));
23
+ var getBaseUIObject = function (key, title, options) {
24
+ if (options === void 0) { options = {}; }
25
+ return (__assign({ type: 'Control', scope: "#/properties/".concat(key), label: title }, options && { options: options }));
26
+ };
27
+ var getDateTimeControlFormat = function (key, jsonSchema, fieldSetItem) {
28
+ if (fieldSetItem === void 0) { fieldSetItem = undefined; }
29
+ try {
30
+ var definitionObject = fieldSetItem
31
+ || jsonSchema.definition.find(function (object) { return (object.key === key); });
32
+ if (definitionObject.fieldHtmlClass === 'date-time-picker json-schema'
33
+ || (definitionObject && (definitionObject.type || '') === 'datetime')) {
34
+ if (jsonSchema.schema.properties[key].format === 'date') {
35
+ return DateTimeFormat.Date;
36
+ }
37
+ return DateTimeFormat.DateTime;
38
+ }
39
+ if (definitionObject.fieldHtmlClass === 'date-picker json-schema'
40
+ || jsonSchema.schema.properties[key].format === 'date') {
41
+ return DateTimeFormat.Date;
42
+ }
43
+ }
44
+ catch (_a) {
45
+ return undefined;
46
+ }
47
+ return undefined;
48
+ };
49
+ var getCheckboxDefinition = function (key, jsonSchema) {
50
+ try {
51
+ var definitionObject = jsonSchema.definition.find(function (object) { return (object.key === key); });
52
+ if (definitionObject.fieldHtmlClass === 'json-schema-checkbox-wrapper' || definitionObject.type === 'checkboxes') {
53
+ return definitionObject;
54
+ }
55
+ return undefined;
56
+ }
57
+ catch (_a) {
58
+ return undefined;
59
+ }
60
+ return undefined;
61
+ };
62
+ export var generateUISchema = function (schema) {
63
+ var elements = [];
64
+ if (isSchemaFieldSet(schema.definition)) {
65
+ elements.push.apply(elements, getFieldSetsElements(schema));
66
+ }
67
+ else {
68
+ Object.keys(schema.schema.properties).forEach(function (key) {
69
+ var element = getUIElement(key, schema);
70
+ if (!isEmpty(element)) {
71
+ elements.push(element);
72
+ }
73
+ });
74
+ }
75
+ return {
76
+ type: 'Category',
77
+ elements: elements,
78
+ };
79
+ };
80
+ var getFieldSetsElements = function (schema) {
81
+ var elements = [];
82
+ schema.definition.forEach(function (item) {
83
+ if (typeof item === 'string') {
84
+ elements.push(getBaseUIObject(item, schema.schema.properties[item].title || ''));
85
+ }
86
+ else if (item instanceof Object) {
87
+ switch (true) {
88
+ case isFieldSetTitleWithoutItems(item):
89
+ elements.push(getBaseUIObject(getFieldSetTitleKey(item.title), item.title, getElementOptions(PropertyFormat.FormLabel)));
90
+ break;
91
+ case isFieldSet(item):
92
+ if (item.title) {
93
+ elements.push(getBaseUIObject(getFieldSetTitleKey(item.title), item.title, getElementOptions(PropertyFormat.FormLabel)));
94
+ }
95
+ item.items.forEach(function (value) {
96
+ if (value instanceof Object) {
97
+ var element_1 = getUIElement(value.key || '', schema, value);
98
+ if (element_1) {
99
+ elements.push(element_1);
100
+ }
101
+ }
102
+ else if (typeof value === 'string') {
103
+ var element_2 = getUIElement(value, schema);
104
+ if (element_2) {
105
+ elements.push(element_2);
106
+ }
107
+ }
108
+ });
109
+ break;
110
+ case isPropertyKey(item):
111
+ // eslint-disable-next-line no-case-declarations
112
+ var element = getUIElement(item.key, schema);
113
+ if (element) {
114
+ elements.push(element);
115
+ }
116
+ break;
117
+ default:
118
+ break;
119
+ }
120
+ }
121
+ });
122
+ return elements;
123
+ };
124
+ var getElementOptions = function (format, display) {
125
+ if (format === void 0) { format = ''; }
126
+ if (display === void 0) { display = ''; }
127
+ if (isEmpty(format)) {
128
+ return {};
129
+ }
130
+ var options = { format: format };
131
+ if (!isEmpty(display)) {
132
+ // @ts-ignore
133
+ options.display = display;
134
+ }
135
+ return options;
136
+ };
137
+ var getUIElement = function (key, schema, fieldSetItem) {
138
+ if (fieldSetItem === void 0) { fieldSetItem = undefined; }
139
+ var options = {};
140
+ switch (schema.schema.properties[key].type) {
141
+ case SchemaTypes.Number:
142
+ return getBaseUIObject(key, schema.schema.properties[key].title || '');
143
+ case SchemaTypes.String: {
144
+ var dateTimeFormat = getDateTimeControlFormat(key, schema, fieldSetItem);
145
+ if (!isEmptyString(dateTimeFormat)) {
146
+ options = getElementOptions(PropertyFormat.DateTime, dateTimeFormat);
147
+ }
148
+ else if (schema.schema.properties[key].display
149
+ && schema.schema.properties[key].display === ElementDisplay.Header) {
150
+ options = getElementOptions(PropertyFormat.FormLabel);
151
+ }
152
+ return getBaseUIObject(key, schema.schema.properties[key].title || '', options);
153
+ }
154
+ case SchemaTypes.Array:
155
+ if (schema.schema.properties[key].items.enum
156
+ && schema.schema.properties[key].items.enumNames) {
157
+ options = getElementOptions(PropertyFormat.MultiSelect);
158
+ }
159
+ else if (schema.schema.properties[key].items) {
160
+ options = getElementOptions(PropertyFormat.RepeatableField);
161
+ }
162
+ return getBaseUIObject(key, schema.schema.properties[key].title || '', options);
163
+ case undefined: {
164
+ var checkboxDefinition = getCheckboxDefinition(key, schema);
165
+ if (checkboxDefinition) {
166
+ options = getElementOptions(PropertyFormat.MultiSelect);
167
+ return getBaseUIObject(key, checkboxDefinition.title || '', options);
168
+ }
169
+ var dateTimeFormat = getDateTimeControlFormat(key, schema, fieldSetItem);
170
+ if (!isEmptyString(dateTimeFormat)) {
171
+ options = getElementOptions(PropertyFormat.DateTime, dateTimeFormat);
172
+ return getBaseUIObject(key, schema.schema.properties[key].title || '', options);
173
+ }
174
+ return undefined;
175
+ }
176
+ default:
177
+ break;
178
+ }
179
+ return undefined;
180
+ };
181
+ //# sourceMappingURL=generateUISchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateUISchema.js","sourceRoot":"","sources":["../../src/v1/generateUISchema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/v1/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { generateUISchema } from './generateUISchema';
2
+ export { validateJSONSchema } from './validateJsonSchema';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/v1/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/v1/utils/utils.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,SAAS,aAAa,CAAC;AACpC,eAAO,MAAM,UAAU,cAAc,CAAC;AACtC,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAC5C,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAC7C,eAAO,MAAM,aAAa,sBAAsB,CAAC;AACjD,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,UAAU,UAAU,CAAC;AAClC,eAAO,MAAM,IAAI,SAAS,CAAC;AAM3B,oBAAY,cAAc;IACxB,QAAQ,cAAc;IACtB,IAAI,SAAS;CACd;AAED,oBAAY,cAAc;IACxB,QAAQ,cAAc;IACtB,WAAW,gBAAgB;IAC3B,eAAe,qBAAqB;IACpC,SAAS,eAAe;CACzB;AAED,oBAAY,cAAc;IACxB,MAAM,WAAW;CAClB;AAMD,eAAO,MAAM,mBAAmB,UAAW,MAAM,WAGhD,CAAC;AAEF,eAAO,MAAM,oBAAoB,iBAAkB,MAAM;;;;;CAKvD,CAAC;AAEH,eAAO,MAAM,kBAAkB,UAAW,MAAM,EAAE,YAA2C,CAAC;AAE9F,eAAO,MAAM,eAAe,aAAc,GAAG,YAChB,CAAC;AAE9B,eAAO,MAAM,UAAU,SAAU,GAAG,YAA+C,CAAC;AAEpF,eAAO,MAAM,gBAAgB,SAAU,GAAG,YACZ,CAAC;AAE/B,eAAO,MAAM,aAAa,UAAW,MAAM,GAAG,SAAS,YAExB,CAAC;AAEhC,eAAO,MAAM,eAAe,SAAU,GAAG,YAChB,CAAC;AAE1B,eAAO,MAAM,2BAA2B,SAAU,GAAG,YACD,CAAC;AAErD,eAAO,MAAM,UAAU,SAAU,GAAG,YAAuE,CAAC;AAE5G,eAAO,MAAM,gBAAgB,SAAU,GAAG,YACiB,CAAC;AAE5D,eAAO,MAAM,QAAQ,SAAU,GAAG,YAA2B,CAAC;AAE9D,eAAO,MAAM,aAAa,SAAU,GAAG,YAAuB,CAAC;AAE/D,eAAO,MAAM,kBAAkB,aAAc,GAAG,YAA0D,CAAC;AAE3G,eAAO,MAAM,gBAAgB,eAAgB,GAAG,EAAE,YAOjD,CAAC;AAEF,eAAO,MAAM,QAAQ,SAAU,GAAG,YAAgC,CAAC;AAEnE,eAAO,MAAM,0BAA0B,UAAW,MAAM,GAAG,MAAM,KAAG,MAAM,GAAG,MAoC5E,CAAC;AAGF,eAAO,MAAM,cAAc,WACjB,GAAG,oBACO,GAAG,QAAQ,MAAM,EAAE,KAAK,IAAI,SACxC,MAAM,EAAE,SAiBf,CAAC"}
@@ -0,0 +1,149 @@
1
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
2
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
3
+ if (ar || !(i in from)) {
4
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
5
+ ar[i] = from[i];
6
+ }
7
+ }
8
+ return to.concat(ar || Array.prototype.slice.call(from));
9
+ };
10
+ // External Dependencies
11
+ import { isEmpty } from 'lodash-es';
12
+ //--------------------------------------------------------------
13
+ // public constants
14
+ //--------------------------------------------------------------
15
+ export var FIELD_SET = 'fieldset';
16
+ export var HELP_VALUE = 'helpvalue';
17
+ export var REQUIRED_PROPERTY = 'required';
18
+ export var CHECKBOXES = 'checkboxes';
19
+ export var INACTIVE_ENUM = 'inactive_enum';
20
+ export var DISABLED_ENUM = 'inactive_titleMap';
21
+ export var STRING_TYPE = 'string';
22
+ export var ARRAY_TYPE = 'array';
23
+ export var ENUM = 'enum';
24
+ //--------------------------------------------------------------
25
+ // public enums
26
+ //--------------------------------------------------------------
27
+ export var DateTimeFormat;
28
+ (function (DateTimeFormat) {
29
+ DateTimeFormat["DateTime"] = "date-time";
30
+ DateTimeFormat["Date"] = "date";
31
+ })(DateTimeFormat || (DateTimeFormat = {}));
32
+ export var PropertyFormat;
33
+ (function (PropertyFormat) {
34
+ PropertyFormat["DateTime"] = "date-time";
35
+ PropertyFormat["MultiSelect"] = "multiselect";
36
+ PropertyFormat["RepeatableField"] = "repeatable-field";
37
+ PropertyFormat["FormLabel"] = "form-label";
38
+ })(PropertyFormat || (PropertyFormat = {}));
39
+ export var ElementDisplay;
40
+ (function (ElementDisplay) {
41
+ ElementDisplay["Header"] = "header";
42
+ })(ElementDisplay || (ElementDisplay = {}));
43
+ //--------------------------------------------------------------
44
+ // public functions
45
+ //--------------------------------------------------------------
46
+ export var getFieldSetTitleKey = function (title) {
47
+ var key = title.toLowerCase().replace(/[\s\\/\\%]/gi, '_');
48
+ return "fieldset__title_".concat(key);
49
+ };
50
+ export var getSchemaValidations = function (stringSchema) { return ({
51
+ hasCheckboxes: hasCheckboxes(stringSchema),
52
+ hasInactiveChoices: hasInactiveChoices(stringSchema),
53
+ hasDisabledChoices: hasDisabledChoices(stringSchema),
54
+ hasEnums: hasEnums(stringSchema),
55
+ }); };
56
+ export var hasDuplicatedItems = function (items) { return (new Set(items).size !== items.length); };
57
+ export var isArrayProperty = function (property) {
58
+ var _a, _b;
59
+ return property.type === ARRAY_TYPE && !((_a = property.items) === null || _a === void 0 ? void 0 : _a.enum)
60
+ && !((_b = property.items) === null || _b === void 0 ? void 0 : _b.enumNames);
61
+ };
62
+ export var isCheckbox = function (item) { return isObject(item) && item.type === CHECKBOXES; };
63
+ export var isDisabledChoice = function (item) {
64
+ var _a, _b;
65
+ return isObject(item) && item.type === CHECKBOXES && ((_a = item.inactive_titleMap) === null || _a === void 0 ? void 0 : _a.length) > 0
66
+ && ((_b = item.titleMap) === null || _b === void 0 ? void 0 : _b.length) > 0;
67
+ };
68
+ export var isEmptyString = function (value) { return (value === undefined
69
+ || value === null
70
+ || value.trim().length === 0); };
71
+ export var isFieldSetTitle = function (item) { return isObject(item) && item.type === FIELD_SET
72
+ && !isEmpty(item.title); };
73
+ export var isFieldSetTitleWithoutItems = function (item) { return isObject(item) && item.type === FIELD_SET
74
+ && item.items.length === 0 && !isEmpty(item.title); };
75
+ export var isFieldSet = function (item) { return isObject(item) && item.type === FIELD_SET && item.items.length > 0; };
76
+ export var isInactiveChoice = function (item) {
77
+ var _a, _b;
78
+ return item.type === STRING_TYPE
79
+ && ((_a = item.enum) === null || _a === void 0 ? void 0 : _a.length) > 0 && ((_b = item.inactive_enum) === null || _b === void 0 ? void 0 : _b.length) > 0;
80
+ };
81
+ export var isObject = function (item) { return item instanceof Object; };
82
+ export var isPropertyKey = function (item) { return !isEmpty(item.key); };
83
+ export var isRequiredProperty = function (property) { return property.required === 'true' || property.required > 0; };
84
+ export var isSchemaFieldSet = function (definition) {
85
+ if (definition.length === 0) {
86
+ return false;
87
+ }
88
+ var fieldSet = definition.find(function (item) { return isObject(item)
89
+ && item && (item.type || '') === FIELD_SET; });
90
+ return fieldSet !== undefined;
91
+ };
92
+ export var isString = function (item) { return typeof item === STRING_TYPE; };
93
+ export var normalizeDecimalSeparators = function (value) {
94
+ // If it's already a number, return as-is
95
+ if (typeof value === 'number') {
96
+ return value;
97
+ }
98
+ // If it's not a string, return as-is
99
+ if (typeof value !== 'string') {
100
+ return value;
101
+ }
102
+ // Trim whitespace
103
+ var trimmedValue = value.trim();
104
+ // If empty string, return as-is
105
+ if (trimmedValue === '') {
106
+ return value;
107
+ }
108
+ // Check if it looks like a number with comma decimal separator
109
+ // Pattern: optional minus, digits, comma, digits (e.g., "12,34", "-5,678")
110
+ var commaDecimalPattern = /^-?\d+,\d+$/;
111
+ if (commaDecimalPattern.test(trimmedValue)) {
112
+ // Replace comma with period for decimal separator
113
+ var normalizedValue = trimmedValue.replace(',', '.');
114
+ // Validate that the result is a valid number
115
+ var numValue = parseFloat(normalizedValue);
116
+ if (!isNaN(numValue)) {
117
+ return normalizedValue;
118
+ }
119
+ }
120
+ // Return original value if no conversion needed or possible
121
+ return value;
122
+ };
123
+ // Helper function to recursively traverse and process the schema
124
+ export var traverseSchema = function (schema, processor, path) {
125
+ if (path === void 0) { path = []; }
126
+ if (typeof schema !== 'object' || schema === null) {
127
+ return;
128
+ }
129
+ processor(schema, path);
130
+ if (Array.isArray(schema)) {
131
+ schema.forEach(function (item, index) {
132
+ return traverseSchema(item, processor, __spreadArray(__spreadArray([], path, true), [index.toString()], false));
133
+ });
134
+ }
135
+ else {
136
+ Object.entries(schema).forEach(function (_a) {
137
+ var key = _a[0], value = _a[1];
138
+ return traverseSchema(value, processor, __spreadArray(__spreadArray([], path, true), [key], false));
139
+ });
140
+ }
141
+ };
142
+ //--------------------------------------------------------------
143
+ // private functions
144
+ //--------------------------------------------------------------
145
+ var hasCheckboxes = function (stringSchema) { return stringSchema.includes(CHECKBOXES); };
146
+ var hasInactiveChoices = function (stringSchema) { return stringSchema.includes(INACTIVE_ENUM); };
147
+ var hasDisabledChoices = function (stringSchema) { return stringSchema.includes(DISABLED_ENUM); };
148
+ var hasEnums = function (stringSchema) { return stringSchema.includes(ENUM); };
149
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/v1/utils/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateJsonSchema.d.ts","sourceRoot":"","sources":["../../src/v1/validateJsonSchema.ts"],"names":[],"mappings":"AAiSA,eAAO,MAAM,kBAAkB,iBAAkB,MAAM,QAmCtD,CAAC"}