@oneuptime/common 7.0.2033 → 7.0.2055
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.
- package/AnalyticsModels/CommonModel.ts +21 -4
- package/Types/AnalyticsDatabase/TableColumnType.ts +1 -0
- package/Types/JSONFunctions.ts +72 -0
- package/build/dist/AnalyticsModels/CommonModel.js +19 -4
- package/build/dist/AnalyticsModels/CommonModel.js.map +1 -1
- package/build/dist/Types/AnalyticsDatabase/TableColumnType.js +1 -0
- package/build/dist/Types/AnalyticsDatabase/TableColumnType.js.map +1 -1
- package/build/dist/Types/JSONFunctions.js +57 -0
- package/build/dist/Types/JSONFunctions.js.map +1 -1
- package/package.json +1 -1
|
@@ -78,12 +78,27 @@ export default class CommonModel {
|
|
|
78
78
|
typeof value === 'string'
|
|
79
79
|
) {
|
|
80
80
|
try {
|
|
81
|
-
value =
|
|
81
|
+
value = JSONFunctions.parse(value);
|
|
82
82
|
} catch (e) {
|
|
83
83
|
value = {};
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
+
if (
|
|
88
|
+
column.type === TableColumnType.JSONArray &&
|
|
89
|
+
typeof value === 'string'
|
|
90
|
+
) {
|
|
91
|
+
try {
|
|
92
|
+
value = JSONFunctions.parseJSONArray(value);
|
|
93
|
+
|
|
94
|
+
if (!Array.isArray(value)) {
|
|
95
|
+
throw new BadDataException('Not an array');
|
|
96
|
+
}
|
|
97
|
+
} catch (e) {
|
|
98
|
+
value = [];
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
87
102
|
if (
|
|
88
103
|
column.type === TableColumnType.Number &&
|
|
89
104
|
typeof value === 'string'
|
|
@@ -204,6 +219,8 @@ export default class CommonModel {
|
|
|
204
219
|
recordValue as Array<CommonModel>,
|
|
205
220
|
column.nestedModelType
|
|
206
221
|
);
|
|
222
|
+
} else {
|
|
223
|
+
json[column.key] = recordValue;
|
|
207
224
|
}
|
|
208
225
|
|
|
209
226
|
return;
|
|
@@ -221,16 +238,16 @@ export default class CommonModel {
|
|
|
221
238
|
): Array<TBaseModel> {
|
|
222
239
|
const models: Array<CommonModel> = [];
|
|
223
240
|
|
|
224
|
-
|
|
241
|
+
for (const json of jsonArray) {
|
|
225
242
|
if (json instanceof CommonModel) {
|
|
226
243
|
models.push(json);
|
|
227
|
-
|
|
244
|
+
continue;
|
|
228
245
|
}
|
|
229
246
|
|
|
230
247
|
const model: CommonModel = new modelType();
|
|
231
248
|
model.fromJSON(json);
|
|
232
249
|
models.push(model);
|
|
233
|
-
}
|
|
250
|
+
}
|
|
234
251
|
|
|
235
252
|
return models as Array<TBaseModel>;
|
|
236
253
|
}
|
package/Types/JSONFunctions.ts
CHANGED
|
@@ -8,6 +8,64 @@ import SerializableObjectDictionary from './SerializableObjectDictionary';
|
|
|
8
8
|
import JSON5 from 'json5';
|
|
9
9
|
|
|
10
10
|
export default class JSONFunctions {
|
|
11
|
+
public static nestJson(obj: JSONObject): JSONObject {
|
|
12
|
+
// obj could be in this format:
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* {
|
|
16
|
+
"http.url.protocol": "http",
|
|
17
|
+
"http.url.hostname": "localhost",
|
|
18
|
+
"http.host": "localhost",
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
// we want to convert it to this format:
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* {
|
|
25
|
+
*
|
|
26
|
+
* "http": {
|
|
27
|
+
* "url": {
|
|
28
|
+
* "protocol": "http",
|
|
29
|
+
* "hostname": "localhost"
|
|
30
|
+
* },
|
|
31
|
+
* "host": "localhost",
|
|
32
|
+
* "method": "POST",
|
|
33
|
+
* "scheme": "http",
|
|
34
|
+
* "client_ip": "
|
|
35
|
+
* ...
|
|
36
|
+
*
|
|
37
|
+
* },
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
const result: JSONObject = {};
|
|
41
|
+
|
|
42
|
+
for (const key in obj) {
|
|
43
|
+
const keys: Array<string> = key.split('.');
|
|
44
|
+
|
|
45
|
+
let currentObj: JSONObject = result;
|
|
46
|
+
|
|
47
|
+
for (let i: number = 0; i < keys.length; i++) {
|
|
48
|
+
const k: string | undefined = keys[i];
|
|
49
|
+
|
|
50
|
+
if (!k) {
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (i === keys.length - 1) {
|
|
55
|
+
currentObj[k] = obj[key];
|
|
56
|
+
} else {
|
|
57
|
+
if (!currentObj[k]) {
|
|
58
|
+
currentObj[k] = {};
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
currentObj = currentObj[k] as JSONObject;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return result;
|
|
67
|
+
}
|
|
68
|
+
|
|
11
69
|
public static isEmptyObject(
|
|
12
70
|
obj: JSONObject | BaseModel | null | undefined
|
|
13
71
|
): boolean {
|
|
@@ -294,6 +352,10 @@ export default class JSONFunctions {
|
|
|
294
352
|
return newVal;
|
|
295
353
|
}
|
|
296
354
|
|
|
355
|
+
public static toFormattedString(val: JSONValue): string {
|
|
356
|
+
return JSON.stringify(val, null, 4);
|
|
357
|
+
}
|
|
358
|
+
|
|
297
359
|
public static anyObjectToJSONObject(val: any): JSONObject {
|
|
298
360
|
return JSON.parse(JSON.stringify(val));
|
|
299
361
|
}
|
|
@@ -320,4 +382,14 @@ export default class JSONFunctions {
|
|
|
320
382
|
|
|
321
383
|
return returnObj;
|
|
322
384
|
}
|
|
385
|
+
|
|
386
|
+
public static flattenArray(val: JSONArray): JSONArray {
|
|
387
|
+
const returnArr: JSONArray = [];
|
|
388
|
+
|
|
389
|
+
for (const obj of val) {
|
|
390
|
+
returnArr.push(this.flattenObject(obj as JSONObject));
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
return returnArr;
|
|
394
|
+
}
|
|
323
395
|
}
|
|
@@ -25,12 +25,24 @@ export default class CommonModel {
|
|
|
25
25
|
if (column.type === TableColumnType.JSON &&
|
|
26
26
|
typeof value === 'string') {
|
|
27
27
|
try {
|
|
28
|
-
value =
|
|
28
|
+
value = JSONFunctions.parse(value);
|
|
29
29
|
}
|
|
30
30
|
catch (e) {
|
|
31
31
|
value = {};
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
+
if (column.type === TableColumnType.JSONArray &&
|
|
35
|
+
typeof value === 'string') {
|
|
36
|
+
try {
|
|
37
|
+
value = JSONFunctions.parseJSONArray(value);
|
|
38
|
+
if (!Array.isArray(value)) {
|
|
39
|
+
throw new BadDataException('Not an array');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
catch (e) {
|
|
43
|
+
value = [];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
34
46
|
if (column.type === TableColumnType.Number &&
|
|
35
47
|
typeof value === 'string') {
|
|
36
48
|
value = parseInt(value);
|
|
@@ -110,6 +122,9 @@ export default class CommonModel {
|
|
|
110
122
|
if (recordValue.length > 0 && column.nestedModelType) {
|
|
111
123
|
json[column.key] = CommonModel.toJSONArray(recordValue, column.nestedModelType);
|
|
112
124
|
}
|
|
125
|
+
else {
|
|
126
|
+
json[column.key] = recordValue;
|
|
127
|
+
}
|
|
113
128
|
return;
|
|
114
129
|
}
|
|
115
130
|
json[column.key] = recordValue;
|
|
@@ -118,15 +133,15 @@ export default class CommonModel {
|
|
|
118
133
|
}
|
|
119
134
|
static fromJSONArray(jsonArray, modelType) {
|
|
120
135
|
const models = [];
|
|
121
|
-
|
|
136
|
+
for (const json of jsonArray) {
|
|
122
137
|
if (json instanceof CommonModel) {
|
|
123
138
|
models.push(json);
|
|
124
|
-
|
|
139
|
+
continue;
|
|
125
140
|
}
|
|
126
141
|
const model = new modelType();
|
|
127
142
|
model.fromJSON(json);
|
|
128
143
|
models.push(model);
|
|
129
|
-
}
|
|
144
|
+
}
|
|
130
145
|
return models;
|
|
131
146
|
}
|
|
132
147
|
static toJSONArray(models, modelType) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommonModel.js","sourceRoot":"","sources":["../../../AnalyticsModels/CommonModel.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAG5D,OAAO,eAAe,MAAM,4CAA4C,CAAC;AASzE,OAAO,aAAa,MAAM,eAAe,CAAC;AAC1C,OAAO,gBAAgB,MAAM,qCAAqC,CAAC;AAEnE,OAAO,aAAa,MAAM,wBAAwB,CAAC;AACnD,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AA0BzC,MAAM,CAAC,OAAO,OAAO,WAAW;IAI5B,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IACD,IAAW,YAAY,CAAC,CAA8B;QAClD,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IAC3B,CAAC;IAEM,cAAc,CACjB,UAAkB,EAClB,KAAqC;QAErC,MAAM,MAAM,GACR,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAEpC,IAAI,MAAM,EAAE;YACR,IACI,MAAM,CAAC,IAAI,KAAK,eAAe,CAAC,QAAQ;gBACxC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,EAC1D;gBACE,KAAK,GAAG,IAAI,QAAQ,CAAC,KAA4B,CAAC,CAAC;aACtD;YAED,IACI,MAAM,CAAC,IAAI,KAAK,eAAe,CAAC,IAAI;gBACpC,OAAO,KAAK,KAAK,QAAQ,EAC3B;gBACE,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aAC3C;YAED,IACI,MAAM,CAAC,IAAI,KAAK,eAAe,CAAC,IAAI;gBACpC,OAAO,KAAK,KAAK,QAAQ,EAC3B;gBACE,IAAI;oBACA,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"CommonModel.js","sourceRoot":"","sources":["../../../AnalyticsModels/CommonModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ var ColumnType;
|
|
|
7
7
|
ColumnType["Text"] = "Text";
|
|
8
8
|
ColumnType["NestedModel"] = "Nested Model";
|
|
9
9
|
ColumnType["JSON"] = "JSON";
|
|
10
|
+
ColumnType["JSONArray"] = "JSON Array";
|
|
10
11
|
ColumnType["Decimal"] = "Decimal";
|
|
11
12
|
ColumnType["ArrayNumber"] = "Array of Numbers";
|
|
12
13
|
ColumnType["ArrayText"] = "Array of Text";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableColumnType.js","sourceRoot":"","sources":["../../../../Types/AnalyticsDatabase/TableColumnType.ts"],"names":[],"mappings":"AAAA,IAAK,
|
|
1
|
+
{"version":3,"file":"TableColumnType.js","sourceRoot":"","sources":["../../../../Types/AnalyticsDatabase/TableColumnType.ts"],"names":[],"mappings":"AAAA,IAAK,UAaJ;AAbD,WAAK,UAAU;IACX,oCAAsB,CAAA;IACtB,2BAAa,CAAA;IACb,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;IACjB,2BAAa,CAAA;IACb,0CAA4B,CAAA;IAC5B,2BAAa,CAAA;IACb,sCAAwB,CAAA;IACxB,iCAAmB,CAAA;IACnB,8CAAgC,CAAA;IAChC,yCAA2B,CAAA;IAC3B,wCAA0B,CAAA;AAC9B,CAAC,EAbI,UAAU,KAAV,UAAU,QAad;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -7,6 +7,53 @@ import SerializableObject from './SerializableObject';
|
|
|
7
7
|
import SerializableObjectDictionary from './SerializableObjectDictionary';
|
|
8
8
|
import JSON5 from 'json5';
|
|
9
9
|
export default class JSONFunctions {
|
|
10
|
+
static nestJson(obj) {
|
|
11
|
+
// obj could be in this format:
|
|
12
|
+
/**
|
|
13
|
+
* {
|
|
14
|
+
"http.url.protocol": "http",
|
|
15
|
+
"http.url.hostname": "localhost",
|
|
16
|
+
"http.host": "localhost",
|
|
17
|
+
*/
|
|
18
|
+
// we want to convert it to this format:
|
|
19
|
+
/**
|
|
20
|
+
* {
|
|
21
|
+
*
|
|
22
|
+
* "http": {
|
|
23
|
+
* "url": {
|
|
24
|
+
* "protocol": "http",
|
|
25
|
+
* "hostname": "localhost"
|
|
26
|
+
* },
|
|
27
|
+
* "host": "localhost",
|
|
28
|
+
* "method": "POST",
|
|
29
|
+
* "scheme": "http",
|
|
30
|
+
* "client_ip": "
|
|
31
|
+
* ...
|
|
32
|
+
*
|
|
33
|
+
* },
|
|
34
|
+
*/
|
|
35
|
+
const result = {};
|
|
36
|
+
for (const key in obj) {
|
|
37
|
+
const keys = key.split('.');
|
|
38
|
+
let currentObj = result;
|
|
39
|
+
for (let i = 0; i < keys.length; i++) {
|
|
40
|
+
const k = keys[i];
|
|
41
|
+
if (!k) {
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
if (i === keys.length - 1) {
|
|
45
|
+
currentObj[k] = obj[key];
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
if (!currentObj[k]) {
|
|
49
|
+
currentObj[k] = {};
|
|
50
|
+
}
|
|
51
|
+
currentObj = currentObj[k];
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
10
57
|
static isEmptyObject(obj) {
|
|
11
58
|
if (!obj) {
|
|
12
59
|
return true;
|
|
@@ -235,6 +282,9 @@ export default class JSONFunctions {
|
|
|
235
282
|
}
|
|
236
283
|
return newVal;
|
|
237
284
|
}
|
|
285
|
+
static toFormattedString(val) {
|
|
286
|
+
return JSON.stringify(val, null, 4);
|
|
287
|
+
}
|
|
238
288
|
static anyObjectToJSONObject(val) {
|
|
239
289
|
return JSON.parse(JSON.stringify(val));
|
|
240
290
|
}
|
|
@@ -253,5 +303,12 @@ export default class JSONFunctions {
|
|
|
253
303
|
flatten(val, '');
|
|
254
304
|
return returnObj;
|
|
255
305
|
}
|
|
306
|
+
static flattenArray(val) {
|
|
307
|
+
const returnArr = [];
|
|
308
|
+
for (const obj of val) {
|
|
309
|
+
returnArr.push(this.flattenObject(obj));
|
|
310
|
+
}
|
|
311
|
+
return returnArr;
|
|
312
|
+
}
|
|
256
313
|
}
|
|
257
314
|
//# sourceMappingURL=JSONFunctions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JSONFunctions.js","sourceRoot":"","sources":["../../../Types/JSONFunctions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"JSONFunctions.js","sourceRoot":"","sources":["../../../Types/JSONFunctions.ts"],"names":[],"mappings":"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"}
|