json10 13.1.44 → 16.0.46
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/assets/shared/shared_folder_info.txt +1 -1
- package/browser/{esm2020 → esm2022}/json10.mjs +4 -4
- package/{client/esm2020 → browser/esm2022}/lib/index.mjs +53 -53
- package/browser/{esm2020 → esm2022}/public-api.mjs +1 -1
- package/{client/fesm2015 → browser/fesm2022}/json10.mjs +51 -51
- package/browser/{json10.d.ts → index.d.ts} +4 -4
- package/browser/lib/index.d.ts +14 -14
- package/browser/package.json +6 -12
- package/client/{esm2020 → esm2022}/json10.mjs +4 -4
- package/{browser/esm2020 → client/esm2022}/lib/index.mjs +53 -53
- package/client/{esm2020 → esm2022}/public-api.mjs +1 -1
- package/{browser/fesm2020 → client/fesm2022}/json10.mjs +51 -51
- package/client/{json10.d.ts → index.d.ts} +4 -4
- package/client/lib/index.d.ts +14 -14
- package/client/package.json +89 -85
- package/index.d.ts +1 -1
- package/lib/index.d.ts +15 -15
- package/package.json +3 -3
- package/package.json_tnp.json5 +1 -1
- package/tmp-environment.json +94 -90
- package/websql/{esm2020 → esm2022}/json10.mjs +4 -4
- package/websql/{esm2020 → esm2022}/lib/index.mjs +53 -53
- package/websql/{esm2020 → esm2022}/public-api.mjs +1 -1
- package/websql/{fesm2015 → fesm2022}/json10.mjs +51 -51
- package/websql/{json10.d.ts → index.d.ts} +4 -4
- package/websql/lib/index.d.ts +14 -14
- package/websql/package.json +6 -12
- package/browser/fesm2015/json10.mjs +0 -61
- package/client/fesm2015/json10.mjs.map +0 -1
- package/client/fesm2020/json10.mjs +0 -61
- package/client/fesm2020/json10.mjs.map +0 -1
- package/websql/fesm2020/json10.mjs +0 -61
- package/websql/fesm2020/json10.mjs.map +0 -1
- /package/browser/{fesm2015 → fesm2022}/json10.mjs.map +0 -0
- /package/{browser/fesm2020 → client/fesm2022}/json10.mjs.map +0 -0
- /package/websql/{fesm2015 → fesm2022}/json10.mjs.map +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
THIS FILE IS GENERATED. THIS FILE IS GENERATED. THIS FILE IS GENERATED.
|
|
2
2
|
|
|
3
|
-
Assets from this folder are being shipped with this npm package (json10@
|
|
3
|
+
Assets from this folder are being shipped with this npm package (json10@16.0.46)
|
|
4
4
|
created from this project.
|
|
5
5
|
|
|
6
6
|
THIS FILE IS GENERATED.THIS FILE IS GENERATED. THIS FILE IS GENERATED.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbjEwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9qc29uMTAvcHJvamVjdHMvanNvbjEwL3NyYy9qc29uMTAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
import { _ } from 'tnp-core/browser';
|
|
2
|
-
import { walk } from 'lodash-walk-object/browser';
|
|
3
|
-
import { CLASS } from 'typescript-class-helpers/browser';
|
|
4
|
-
export class JSON10 {
|
|
5
|
-
static structureArray(anyJSON, options) {
|
|
6
|
-
let pathes = [];
|
|
7
|
-
const { include, exclude } = options || {};
|
|
8
|
-
walk.Object(anyJSON, (value, lodashPath) => {
|
|
9
|
-
if (!_.isUndefined(value)) {
|
|
10
|
-
pathes.push(lodashPath);
|
|
11
|
-
}
|
|
12
|
-
}, { include, exclude, checkCircural: true });
|
|
13
|
-
return pathes;
|
|
14
|
-
}
|
|
15
|
-
static cleaned(json, onCircs, options) {
|
|
16
|
-
const result = _.isArray(json) ? [] : {};
|
|
17
|
-
const classFN = CLASS.OBJECT(json).isClassObject && CLASS.getFromObject(json);
|
|
18
|
-
const { exclude, include, breadthWalk } = options || { exclude: [], include: [], breadthWalk: false };
|
|
19
|
-
const { circs } = walk.Object(json, (value, lodashPath, changeValueTo, options) => {
|
|
20
|
-
if (_.isObject(value) && options.isCircural) {
|
|
21
|
-
_.set(result, lodashPath, null);
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
_.set(result, lodashPath, _.cloneDeep(value));
|
|
25
|
-
}
|
|
26
|
-
}, { include, exclude, breadthWalk, checkCircural: true });
|
|
27
|
-
if (_.isFunction(onCircs)) {
|
|
28
|
-
onCircs(circs);
|
|
29
|
-
}
|
|
30
|
-
return _.isFunction(classFN) ? _.merge(new classFN(), result) : result;
|
|
31
|
-
}
|
|
32
|
-
static stringify(anyJSON, replace, spaces, onCircs) {
|
|
33
|
-
const json = this.cleaned(anyJSON, onCircs);
|
|
34
|
-
return JSON.stringify(json, replace, spaces);
|
|
35
|
-
}
|
|
36
|
-
static parse(json, circs = []) {
|
|
37
|
-
let res = JSON.parse(json);
|
|
38
|
-
if (_.isArray(circs)) {
|
|
39
|
-
circs.forEach(({ circuralTargetPath, pathToObj }) => {
|
|
40
|
-
if (circuralTargetPath === '') {
|
|
41
|
-
_.set(res, pathToObj, res);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
let v = _.get(res, circuralTargetPath);
|
|
45
|
-
_.set(res, pathToObj, v);
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
return res;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
;
|
|
53
|
-
({}); // @--end-of-file-for-module=json10 lib/index.ts
|
|
1
|
+
import { _ } from 'tnp-core/browser';
|
|
2
|
+
import { walk } from 'lodash-walk-object/browser';
|
|
3
|
+
import { CLASS } from 'typescript-class-helpers/browser';
|
|
4
|
+
export class JSON10 {
|
|
5
|
+
static structureArray(anyJSON, options) {
|
|
6
|
+
let pathes = [];
|
|
7
|
+
const { include, exclude } = options || {};
|
|
8
|
+
walk.Object(anyJSON, (value, lodashPath) => {
|
|
9
|
+
if (!_.isUndefined(value)) {
|
|
10
|
+
pathes.push(lodashPath);
|
|
11
|
+
}
|
|
12
|
+
}, { include, exclude, checkCircural: true });
|
|
13
|
+
return pathes;
|
|
14
|
+
}
|
|
15
|
+
static cleaned(json, onCircs, options) {
|
|
16
|
+
const result = _.isArray(json) ? [] : {};
|
|
17
|
+
const classFN = CLASS.OBJECT(json).isClassObject && CLASS.getFromObject(json);
|
|
18
|
+
const { exclude, include, breadthWalk } = options || { exclude: [], include: [], breadthWalk: false };
|
|
19
|
+
const { circs } = walk.Object(json, (value, lodashPath, changeValueTo, options) => {
|
|
20
|
+
if (_.isObject(value) && options.isCircural) {
|
|
21
|
+
_.set(result, lodashPath, null);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
_.set(result, lodashPath, _.cloneDeep(value));
|
|
25
|
+
}
|
|
26
|
+
}, { include, exclude, breadthWalk, checkCircural: true });
|
|
27
|
+
if (_.isFunction(onCircs)) {
|
|
28
|
+
onCircs(circs);
|
|
29
|
+
}
|
|
30
|
+
return _.isFunction(classFN) ? _.merge(new classFN(), result) : result;
|
|
31
|
+
}
|
|
32
|
+
static stringify(anyJSON, replace, spaces, onCircs) {
|
|
33
|
+
const json = this.cleaned(anyJSON, onCircs);
|
|
34
|
+
return JSON.stringify(json, replace, spaces);
|
|
35
|
+
}
|
|
36
|
+
static parse(json, circs = []) {
|
|
37
|
+
let res = JSON.parse(json);
|
|
38
|
+
if (_.isArray(circs)) {
|
|
39
|
+
circs.forEach(({ circuralTargetPath, pathToObj }) => {
|
|
40
|
+
if (circuralTargetPath === '') {
|
|
41
|
+
_.set(res, pathToObj, res);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
let v = _.get(res, circuralTargetPath);
|
|
45
|
+
_.set(res, pathToObj, v);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return res;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
;
|
|
53
|
+
({}); // @--end-of-file-for-module=json10 lib/index.ts
|
|
54
54
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL2pzb24xMC9wcm9qZWN0cy9qc29uMTAvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckMsT0FBTyxFQUFFLElBQUksRUFBVSxNQUFNLDRCQUE0QixDQUFDO0FBRTFELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQU16RCxNQUFNLE9BQU8sTUFBTTtJQUVWLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBZSxFQUFFLE9BQW9EO1FBQ2hHLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQTtRQUNmLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxJQUFJLEVBQVMsQ0FBQztRQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRTtZQUV6QyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDekIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTthQUN4QjtRQUVILENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7UUFDN0MsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUdNLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQWdDLEVBQUUsT0FLM0Q7UUFFRCxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtRQUN4QyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTlFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLE9BQU8sSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFFdEcsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFFaEYsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUU7Z0JBQzNDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQTthQUNoQztpQkFBTTtnQkFDTCxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO2FBQzlDO1FBRUgsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtTQUNmO1FBRUQsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUssT0FBZSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNsRixDQUFDO0lBRU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFlLEVBQUUsT0FBYSxFQUFFLE1BQWUsRUFBRSxPQUFnQztRQUN2RyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM1QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFZLEVBQUUsUUFBZ0IsRUFBRTtRQUNsRCxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO2dCQUVsRCxJQUFJLGtCQUFrQixLQUFLLEVBQUUsRUFBRTtvQkFDN0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFBO2lCQUMzQjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO29CQUN2QyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUE7aUJBQ3pCO1lBRUgsQ0FBQyxDQUFDLENBQUE7U0FDSDtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztDQUNGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxnREFBZ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyB3YWxrLCBNb2RlbHMgfSBmcm9tICdsb2Rhc2gtd2Fsay1vYmplY3QvYnJvd3Nlcic7XG5leHBvcnQgdHlwZSBDaXJjID0gTW9kZWxzLkNpcmM7XG5pbXBvcnQgeyBDTEFTUyB9IGZyb20gJ3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9icm93c2VyJztcblxuXG5cblxuXG5leHBvcnQgY2xhc3MgSlNPTjEwIHtcblxuICBwdWJsaWMgc3RhdGljIHN0cnVjdHVyZUFycmF5KGFueUpTT046IE9iamVjdCwgb3B0aW9ucz86IHsgaW5jbHVkZT86IHN0cmluZ1tdOyBleGNsdWRlPzogc3RyaW5nW10gfSkge1xuICAgIGxldCBwYXRoZXMgPSBbXVxuICAgIGNvbnN0IHsgaW5jbHVkZSwgZXhjbHVkZSB9ID0gb3B0aW9ucyB8fCB7fSBhcyBhbnk7XG4gICAgd2Fsay5PYmplY3QoYW55SlNPTiwgKHZhbHVlLCBsb2Rhc2hQYXRoKSA9PiB7XG5cbiAgICAgIGlmICghXy5pc1VuZGVmaW5lZCh2YWx1ZSkpIHtcbiAgICAgICAgcGF0aGVzLnB1c2gobG9kYXNoUGF0aClcbiAgICAgIH1cblxuICAgIH0sIHsgaW5jbHVkZSwgZXhjbHVkZSwgY2hlY2tDaXJjdXJhbDogdHJ1ZSB9KVxuICAgIHJldHVybiBwYXRoZXM7XG4gIH1cblxuXG4gIHB1YmxpYyBzdGF0aWMgY2xlYW5lZChqc29uLCBvbkNpcmNzPzogKGNpcmNzOiBDaXJjW10pID0+IGFueSwgb3B0aW9ucz86XG4gICAge1xuICAgICAgZXhjbHVkZT86IHN0cmluZ1tdO1xuICAgICAgaW5jbHVkZT86IHN0cmluZ1tdO1xuICAgICAgYnJlYWR0aFdhbGs/OiBib29sZWFuO1xuICAgIH0pIHtcblxuICAgIGNvbnN0IHJlc3VsdCA9IF8uaXNBcnJheShqc29uKSA/IFtdIDoge31cbiAgICBjb25zdCBjbGFzc0ZOID0gQ0xBU1MuT0JKRUNUKGpzb24pLmlzQ2xhc3NPYmplY3QgJiYgQ0xBU1MuZ2V0RnJvbU9iamVjdChqc29uKTtcblxuICAgIGNvbnN0IHsgZXhjbHVkZSwgaW5jbHVkZSwgYnJlYWR0aFdhbGsgfSA9IG9wdGlvbnMgfHwgeyBleGNsdWRlOiBbXSwgaW5jbHVkZTogW10sIGJyZWFkdGhXYWxrOiBmYWxzZSB9O1xuXG4gICAgY29uc3QgeyBjaXJjcyB9ID0gd2Fsay5PYmplY3QoanNvbiwgKHZhbHVlLCBsb2Rhc2hQYXRoLCBjaGFuZ2VWYWx1ZVRvLCBvcHRpb25zKSA9PiB7XG5cbiAgICAgIGlmIChfLmlzT2JqZWN0KHZhbHVlKSAmJiBvcHRpb25zLmlzQ2lyY3VyYWwpIHtcbiAgICAgICAgXy5zZXQocmVzdWx0LCBsb2Rhc2hQYXRoLCBudWxsKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgXy5zZXQocmVzdWx0LCBsb2Rhc2hQYXRoLCBfLmNsb25lRGVlcCh2YWx1ZSkpXG4gICAgICB9XG5cbiAgICB9LCB7IGluY2x1ZGUsIGV4Y2x1ZGUsIGJyZWFkdGhXYWxrLCBjaGVja0NpcmN1cmFsOiB0cnVlIH0pO1xuXG4gICAgaWYgKF8uaXNGdW5jdGlvbihvbkNpcmNzKSkge1xuICAgICAgb25DaXJjcyhjaXJjcylcbiAgICB9XG5cbiAgICByZXR1cm4gXy5pc0Z1bmN0aW9uKGNsYXNzRk4pID8gXy5tZXJnZShuZXcgKGNsYXNzRk4gYXMgYW55KSgpLCByZXN1bHQpIDogcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBzdHJpbmdpZnkoYW55SlNPTjogT2JqZWN0LCByZXBsYWNlPzogYW55LCBzcGFjZXM/OiBudW1iZXIsIG9uQ2lyY3M/OiAoY2lyY3M6IENpcmNbXSkgPT4gYW55KSB7XG4gICAgY29uc3QganNvbiA9IHRoaXMuY2xlYW5lZChhbnlKU09OLCBvbkNpcmNzKTtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoanNvbiwgcmVwbGFjZSwgc3BhY2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcGFyc2UoanNvbjogc3RyaW5nLCBjaXJjczogQ2lyY1tdID0gW10pIHtcbiAgICBsZXQgcmVzID0gSlNPTi5wYXJzZShqc29uKTtcbiAgICBpZiAoXy5pc0FycmF5KGNpcmNzKSkge1xuICAgICAgY2lyY3MuZm9yRWFjaCgoeyBjaXJjdXJhbFRhcmdldFBhdGgsIHBhdGhUb09iaiB9KSA9PiB7XG5cbiAgICAgICAgaWYgKGNpcmN1cmFsVGFyZ2V0UGF0aCA9PT0gJycpIHtcbiAgICAgICAgICBfLnNldChyZXMsIHBhdGhUb09iaiwgcmVzKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxldCB2ID0gXy5nZXQocmVzLCBjaXJjdXJhbFRhcmdldFBhdGgpO1xuICAgICAgICAgIF8uc2V0KHJlcywgcGF0aFRvT2JqLCB2KVxuICAgICAgICB9XG5cbiAgICAgIH0pXG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPWpzb24xMCBsaWIvaW5kZXgudHMiXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './lib';
|
|
1
|
+
export * from './lib';
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvanNvbjEwL3Byb2plY3RzL2pzb24xMC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliJztcbiJdfQ==
|
|
@@ -2,59 +2,59 @@ import { _ } from 'tnp-core/browser';
|
|
|
2
2
|
import { walk } from 'lodash-walk-object/browser';
|
|
3
3
|
import { CLASS } from 'typescript-class-helpers/browser';
|
|
4
4
|
|
|
5
|
-
class JSON10 {
|
|
6
|
-
static structureArray(anyJSON, options) {
|
|
7
|
-
let pathes = [];
|
|
8
|
-
const { include, exclude } = options || {};
|
|
9
|
-
walk.Object(anyJSON, (value, lodashPath) => {
|
|
10
|
-
if (!_.isUndefined(value)) {
|
|
11
|
-
pathes.push(lodashPath);
|
|
12
|
-
}
|
|
13
|
-
}, { include, exclude, checkCircural: true });
|
|
14
|
-
return pathes;
|
|
15
|
-
}
|
|
16
|
-
static cleaned(json, onCircs, options) {
|
|
17
|
-
const result = _.isArray(json) ? [] : {};
|
|
18
|
-
const classFN = CLASS.OBJECT(json).isClassObject && CLASS.getFromObject(json);
|
|
19
|
-
const { exclude, include, breadthWalk } = options || { exclude: [], include: [], breadthWalk: false };
|
|
20
|
-
const { circs } = walk.Object(json, (value, lodashPath, changeValueTo, options) => {
|
|
21
|
-
if (_.isObject(value) && options.isCircural) {
|
|
22
|
-
_.set(result, lodashPath, null);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
_.set(result, lodashPath, _.cloneDeep(value));
|
|
26
|
-
}
|
|
27
|
-
}, { include, exclude, breadthWalk, checkCircural: true });
|
|
28
|
-
if (_.isFunction(onCircs)) {
|
|
29
|
-
onCircs(circs);
|
|
30
|
-
}
|
|
31
|
-
return _.isFunction(classFN) ? _.merge(new classFN(), result) : result;
|
|
32
|
-
}
|
|
33
|
-
static stringify(anyJSON, replace, spaces, onCircs) {
|
|
34
|
-
const json = this.cleaned(anyJSON, onCircs);
|
|
35
|
-
return JSON.stringify(json, replace, spaces);
|
|
36
|
-
}
|
|
37
|
-
static parse(json, circs = []) {
|
|
38
|
-
let res = JSON.parse(json);
|
|
39
|
-
if (_.isArray(circs)) {
|
|
40
|
-
circs.forEach(({ circuralTargetPath, pathToObj }) => {
|
|
41
|
-
if (circuralTargetPath === '') {
|
|
42
|
-
_.set(res, pathToObj, res);
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
let v = _.get(res, circuralTargetPath);
|
|
46
|
-
_.set(res, pathToObj, v);
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
return res;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
;
|
|
5
|
+
class JSON10 {
|
|
6
|
+
static structureArray(anyJSON, options) {
|
|
7
|
+
let pathes = [];
|
|
8
|
+
const { include, exclude } = options || {};
|
|
9
|
+
walk.Object(anyJSON, (value, lodashPath) => {
|
|
10
|
+
if (!_.isUndefined(value)) {
|
|
11
|
+
pathes.push(lodashPath);
|
|
12
|
+
}
|
|
13
|
+
}, { include, exclude, checkCircural: true });
|
|
14
|
+
return pathes;
|
|
15
|
+
}
|
|
16
|
+
static cleaned(json, onCircs, options) {
|
|
17
|
+
const result = _.isArray(json) ? [] : {};
|
|
18
|
+
const classFN = CLASS.OBJECT(json).isClassObject && CLASS.getFromObject(json);
|
|
19
|
+
const { exclude, include, breadthWalk } = options || { exclude: [], include: [], breadthWalk: false };
|
|
20
|
+
const { circs } = walk.Object(json, (value, lodashPath, changeValueTo, options) => {
|
|
21
|
+
if (_.isObject(value) && options.isCircural) {
|
|
22
|
+
_.set(result, lodashPath, null);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
_.set(result, lodashPath, _.cloneDeep(value));
|
|
26
|
+
}
|
|
27
|
+
}, { include, exclude, breadthWalk, checkCircural: true });
|
|
28
|
+
if (_.isFunction(onCircs)) {
|
|
29
|
+
onCircs(circs);
|
|
30
|
+
}
|
|
31
|
+
return _.isFunction(classFN) ? _.merge(new classFN(), result) : result;
|
|
32
|
+
}
|
|
33
|
+
static stringify(anyJSON, replace, spaces, onCircs) {
|
|
34
|
+
const json = this.cleaned(anyJSON, onCircs);
|
|
35
|
+
return JSON.stringify(json, replace, spaces);
|
|
36
|
+
}
|
|
37
|
+
static parse(json, circs = []) {
|
|
38
|
+
let res = JSON.parse(json);
|
|
39
|
+
if (_.isArray(circs)) {
|
|
40
|
+
circs.forEach(({ circuralTargetPath, pathToObj }) => {
|
|
41
|
+
if (circuralTargetPath === '') {
|
|
42
|
+
_.set(res, pathToObj, res);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
let v = _.get(res, circuralTargetPath);
|
|
46
|
+
_.set(res, pathToObj, v);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return res;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
;
|
|
54
54
|
({}); // @--end-of-file-for-module=json10 lib/index.ts
|
|
55
55
|
|
|
56
|
-
/**
|
|
57
|
-
* Generated bundle index. Do not edit.
|
|
56
|
+
/**
|
|
57
|
+
* Generated bundle index. Do not edit.
|
|
58
58
|
*/
|
|
59
59
|
|
|
60
60
|
export { JSON10 };
|
package/browser/lib/index.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
|
-
import { Models } from 'lodash-walk-object/browser';
|
|
3
|
-
export
|
|
4
|
-
export declare class JSON10 {
|
|
5
|
-
static structureArray(anyJSON: Object, options?: {
|
|
6
|
-
include?: string[];
|
|
7
|
-
exclude?: string[];
|
|
8
|
-
}): any[];
|
|
9
|
-
static cleaned(json: any, onCircs?: (circs: Circ[]) => any, options?: {
|
|
10
|
-
exclude?: string[];
|
|
11
|
-
include?: string[];
|
|
12
|
-
breadthWalk?: boolean;
|
|
13
|
-
}): any;
|
|
14
|
-
static stringify(anyJSON: Object, replace?: any, spaces?: number, onCircs?: (circs: Circ[]) => any): string;
|
|
15
|
-
static parse(json: string, circs?: Circ[]): any;
|
|
2
|
+
import { Models } from 'lodash-walk-object/browser';
|
|
3
|
+
export type Circ = Models.Circ;
|
|
4
|
+
export declare class JSON10 {
|
|
5
|
+
static structureArray(anyJSON: Object, options?: {
|
|
6
|
+
include?: string[];
|
|
7
|
+
exclude?: string[];
|
|
8
|
+
}): any[];
|
|
9
|
+
static cleaned(json: any, onCircs?: (circs: Circ[]) => any, options?: {
|
|
10
|
+
exclude?: string[];
|
|
11
|
+
include?: string[];
|
|
12
|
+
breadthWalk?: boolean;
|
|
13
|
+
}): any;
|
|
14
|
+
static stringify(anyJSON: Object, replace?: any, spaces?: number, onCircs?: (circs: Circ[]) => any): string;
|
|
15
|
+
static parse(json: string, circs?: Circ[]): any;
|
|
16
16
|
}
|
package/browser/package.json
CHANGED
|
@@ -8,23 +8,17 @@
|
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"tslib": "^2.3.0"
|
|
10
10
|
},
|
|
11
|
-
"module": "
|
|
12
|
-
"
|
|
13
|
-
"esm2020": "esm2020/json10.mjs",
|
|
14
|
-
"fesm2020": "fesm2020/json10.mjs",
|
|
15
|
-
"fesm2015": "fesm2015/json10.mjs",
|
|
16
|
-
"typings": "json10.d.ts",
|
|
11
|
+
"module": "fesm2022/json10.mjs",
|
|
12
|
+
"typings": "index.d.ts",
|
|
17
13
|
"exports": {
|
|
18
14
|
"./package.json": {
|
|
19
15
|
"default": "./package.json"
|
|
20
16
|
},
|
|
21
17
|
".": {
|
|
22
|
-
"types": "./
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"node": "./fesm2015/json10.mjs",
|
|
27
|
-
"default": "./fesm2020/json10.mjs"
|
|
18
|
+
"types": "./index.d.ts",
|
|
19
|
+
"esm2022": "./esm2022/json10.mjs",
|
|
20
|
+
"esm": "./esm2022/json10.mjs",
|
|
21
|
+
"default": "./fesm2022/json10.mjs"
|
|
28
22
|
}
|
|
29
23
|
},
|
|
30
24
|
"sideEffects": false
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbjEwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9qc29uMTAvcHJvamVjdHMvanNvbjEwL3NyYy9qc29uMTAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
import { _ } from 'tnp-core/browser';
|
|
2
|
-
import { walk } from 'lodash-walk-object/browser';
|
|
3
|
-
import { CLASS } from 'typescript-class-helpers/browser';
|
|
4
|
-
export class JSON10 {
|
|
5
|
-
static structureArray(anyJSON, options) {
|
|
6
|
-
let pathes = [];
|
|
7
|
-
const { include, exclude } = options || {};
|
|
8
|
-
walk.Object(anyJSON, (value, lodashPath) => {
|
|
9
|
-
if (!_.isUndefined(value)) {
|
|
10
|
-
pathes.push(lodashPath);
|
|
11
|
-
}
|
|
12
|
-
}, { include, exclude, checkCircural: true });
|
|
13
|
-
return pathes;
|
|
14
|
-
}
|
|
15
|
-
static cleaned(json, onCircs, options) {
|
|
16
|
-
const result = _.isArray(json) ? [] : {};
|
|
17
|
-
const classFN = CLASS.OBJECT(json).isClassObject && CLASS.getFromObject(json);
|
|
18
|
-
const { exclude, include, breadthWalk } = options || { exclude: [], include: [], breadthWalk: false };
|
|
19
|
-
const { circs } = walk.Object(json, (value, lodashPath, changeValueTo, options) => {
|
|
20
|
-
if (_.isObject(value) && options.isCircural) {
|
|
21
|
-
_.set(result, lodashPath, null);
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
_.set(result, lodashPath, _.cloneDeep(value));
|
|
25
|
-
}
|
|
26
|
-
}, { include, exclude, breadthWalk, checkCircural: true });
|
|
27
|
-
if (_.isFunction(onCircs)) {
|
|
28
|
-
onCircs(circs);
|
|
29
|
-
}
|
|
30
|
-
return _.isFunction(classFN) ? _.merge(new classFN(), result) : result;
|
|
31
|
-
}
|
|
32
|
-
static stringify(anyJSON, replace, spaces, onCircs) {
|
|
33
|
-
const json = this.cleaned(anyJSON, onCircs);
|
|
34
|
-
return JSON.stringify(json, replace, spaces);
|
|
35
|
-
}
|
|
36
|
-
static parse(json, circs = []) {
|
|
37
|
-
let res = JSON.parse(json);
|
|
38
|
-
if (_.isArray(circs)) {
|
|
39
|
-
circs.forEach(({ circuralTargetPath, pathToObj }) => {
|
|
40
|
-
if (circuralTargetPath === '') {
|
|
41
|
-
_.set(res, pathToObj, res);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
let v = _.get(res, circuralTargetPath);
|
|
45
|
-
_.set(res, pathToObj, v);
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
return res;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
;
|
|
53
|
-
({}); // @--end-of-file-for-module=json10 lib/index.ts
|
|
1
|
+
import { _ } from 'tnp-core/browser';
|
|
2
|
+
import { walk } from 'lodash-walk-object/browser';
|
|
3
|
+
import { CLASS } from 'typescript-class-helpers/browser';
|
|
4
|
+
export class JSON10 {
|
|
5
|
+
static structureArray(anyJSON, options) {
|
|
6
|
+
let pathes = [];
|
|
7
|
+
const { include, exclude } = options || {};
|
|
8
|
+
walk.Object(anyJSON, (value, lodashPath) => {
|
|
9
|
+
if (!_.isUndefined(value)) {
|
|
10
|
+
pathes.push(lodashPath);
|
|
11
|
+
}
|
|
12
|
+
}, { include, exclude, checkCircural: true });
|
|
13
|
+
return pathes;
|
|
14
|
+
}
|
|
15
|
+
static cleaned(json, onCircs, options) {
|
|
16
|
+
const result = _.isArray(json) ? [] : {};
|
|
17
|
+
const classFN = CLASS.OBJECT(json).isClassObject && CLASS.getFromObject(json);
|
|
18
|
+
const { exclude, include, breadthWalk } = options || { exclude: [], include: [], breadthWalk: false };
|
|
19
|
+
const { circs } = walk.Object(json, (value, lodashPath, changeValueTo, options) => {
|
|
20
|
+
if (_.isObject(value) && options.isCircural) {
|
|
21
|
+
_.set(result, lodashPath, null);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
_.set(result, lodashPath, _.cloneDeep(value));
|
|
25
|
+
}
|
|
26
|
+
}, { include, exclude, breadthWalk, checkCircural: true });
|
|
27
|
+
if (_.isFunction(onCircs)) {
|
|
28
|
+
onCircs(circs);
|
|
29
|
+
}
|
|
30
|
+
return _.isFunction(classFN) ? _.merge(new classFN(), result) : result;
|
|
31
|
+
}
|
|
32
|
+
static stringify(anyJSON, replace, spaces, onCircs) {
|
|
33
|
+
const json = this.cleaned(anyJSON, onCircs);
|
|
34
|
+
return JSON.stringify(json, replace, spaces);
|
|
35
|
+
}
|
|
36
|
+
static parse(json, circs = []) {
|
|
37
|
+
let res = JSON.parse(json);
|
|
38
|
+
if (_.isArray(circs)) {
|
|
39
|
+
circs.forEach(({ circuralTargetPath, pathToObj }) => {
|
|
40
|
+
if (circuralTargetPath === '') {
|
|
41
|
+
_.set(res, pathToObj, res);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
let v = _.get(res, circuralTargetPath);
|
|
45
|
+
_.set(res, pathToObj, v);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return res;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
;
|
|
53
|
+
({}); // @--end-of-file-for-module=json10 lib/index.ts
|
|
54
54
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL2pzb24xMC9wcm9qZWN0cy9qc29uMTAvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckMsT0FBTyxFQUFFLElBQUksRUFBVSxNQUFNLDRCQUE0QixDQUFDO0FBRTFELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQU16RCxNQUFNLE9BQU8sTUFBTTtJQUVWLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBZSxFQUFFLE9BQW9EO1FBQ2hHLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQTtRQUNmLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxJQUFJLEVBQVMsQ0FBQztRQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRTtZQUV6QyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDekIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTthQUN4QjtRQUVILENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7UUFDN0MsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUdNLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQWdDLEVBQUUsT0FLM0Q7UUFFRCxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtRQUN4QyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTlFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLE9BQU8sSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFFdEcsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFFaEYsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUU7Z0JBQzNDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQTthQUNoQztpQkFBTTtnQkFDTCxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO2FBQzlDO1FBRUgsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtTQUNmO1FBRUQsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUssT0FBZSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNsRixDQUFDO0lBRU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFlLEVBQUUsT0FBYSxFQUFFLE1BQWUsRUFBRSxPQUFnQztRQUN2RyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM1QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFZLEVBQUUsUUFBZ0IsRUFBRTtRQUNsRCxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO2dCQUVsRCxJQUFJLGtCQUFrQixLQUFLLEVBQUUsRUFBRTtvQkFDN0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFBO2lCQUMzQjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO29CQUN2QyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUE7aUJBQ3pCO1lBRUgsQ0FBQyxDQUFDLENBQUE7U0FDSDtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztDQUNGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxnREFBZ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyB3YWxrLCBNb2RlbHMgfSBmcm9tICdsb2Rhc2gtd2Fsay1vYmplY3QvYnJvd3Nlcic7XG5leHBvcnQgdHlwZSBDaXJjID0gTW9kZWxzLkNpcmM7XG5pbXBvcnQgeyBDTEFTUyB9IGZyb20gJ3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9icm93c2VyJztcblxuXG5cblxuXG5leHBvcnQgY2xhc3MgSlNPTjEwIHtcblxuICBwdWJsaWMgc3RhdGljIHN0cnVjdHVyZUFycmF5KGFueUpTT046IE9iamVjdCwgb3B0aW9ucz86IHsgaW5jbHVkZT86IHN0cmluZ1tdOyBleGNsdWRlPzogc3RyaW5nW10gfSkge1xuICAgIGxldCBwYXRoZXMgPSBbXVxuICAgIGNvbnN0IHsgaW5jbHVkZSwgZXhjbHVkZSB9ID0gb3B0aW9ucyB8fCB7fSBhcyBhbnk7XG4gICAgd2Fsay5PYmplY3QoYW55SlNPTiwgKHZhbHVlLCBsb2Rhc2hQYXRoKSA9PiB7XG5cbiAgICAgIGlmICghXy5pc1VuZGVmaW5lZCh2YWx1ZSkpIHtcbiAgICAgICAgcGF0aGVzLnB1c2gobG9kYXNoUGF0aClcbiAgICAgIH1cblxuICAgIH0sIHsgaW5jbHVkZSwgZXhjbHVkZSwgY2hlY2tDaXJjdXJhbDogdHJ1ZSB9KVxuICAgIHJldHVybiBwYXRoZXM7XG4gIH1cblxuXG4gIHB1YmxpYyBzdGF0aWMgY2xlYW5lZChqc29uLCBvbkNpcmNzPzogKGNpcmNzOiBDaXJjW10pID0+IGFueSwgb3B0aW9ucz86XG4gICAge1xuICAgICAgZXhjbHVkZT86IHN0cmluZ1tdO1xuICAgICAgaW5jbHVkZT86IHN0cmluZ1tdO1xuICAgICAgYnJlYWR0aFdhbGs/OiBib29sZWFuO1xuICAgIH0pIHtcblxuICAgIGNvbnN0IHJlc3VsdCA9IF8uaXNBcnJheShqc29uKSA/IFtdIDoge31cbiAgICBjb25zdCBjbGFzc0ZOID0gQ0xBU1MuT0JKRUNUKGpzb24pLmlzQ2xhc3NPYmplY3QgJiYgQ0xBU1MuZ2V0RnJvbU9iamVjdChqc29uKTtcblxuICAgIGNvbnN0IHsgZXhjbHVkZSwgaW5jbHVkZSwgYnJlYWR0aFdhbGsgfSA9IG9wdGlvbnMgfHwgeyBleGNsdWRlOiBbXSwgaW5jbHVkZTogW10sIGJyZWFkdGhXYWxrOiBmYWxzZSB9O1xuXG4gICAgY29uc3QgeyBjaXJjcyB9ID0gd2Fsay5PYmplY3QoanNvbiwgKHZhbHVlLCBsb2Rhc2hQYXRoLCBjaGFuZ2VWYWx1ZVRvLCBvcHRpb25zKSA9PiB7XG5cbiAgICAgIGlmIChfLmlzT2JqZWN0KHZhbHVlKSAmJiBvcHRpb25zLmlzQ2lyY3VyYWwpIHtcbiAgICAgICAgXy5zZXQocmVzdWx0LCBsb2Rhc2hQYXRoLCBudWxsKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgXy5zZXQocmVzdWx0LCBsb2Rhc2hQYXRoLCBfLmNsb25lRGVlcCh2YWx1ZSkpXG4gICAgICB9XG5cbiAgICB9LCB7IGluY2x1ZGUsIGV4Y2x1ZGUsIGJyZWFkdGhXYWxrLCBjaGVja0NpcmN1cmFsOiB0cnVlIH0pO1xuXG4gICAgaWYgKF8uaXNGdW5jdGlvbihvbkNpcmNzKSkge1xuICAgICAgb25DaXJjcyhjaXJjcylcbiAgICB9XG5cbiAgICByZXR1cm4gXy5pc0Z1bmN0aW9uKGNsYXNzRk4pID8gXy5tZXJnZShuZXcgKGNsYXNzRk4gYXMgYW55KSgpLCByZXN1bHQpIDogcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBzdHJpbmdpZnkoYW55SlNPTjogT2JqZWN0LCByZXBsYWNlPzogYW55LCBzcGFjZXM/OiBudW1iZXIsIG9uQ2lyY3M/OiAoY2lyY3M6IENpcmNbXSkgPT4gYW55KSB7XG4gICAgY29uc3QganNvbiA9IHRoaXMuY2xlYW5lZChhbnlKU09OLCBvbkNpcmNzKTtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoanNvbiwgcmVwbGFjZSwgc3BhY2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcGFyc2UoanNvbjogc3RyaW5nLCBjaXJjczogQ2lyY1tdID0gW10pIHtcbiAgICBsZXQgcmVzID0gSlNPTi5wYXJzZShqc29uKTtcbiAgICBpZiAoXy5pc0FycmF5KGNpcmNzKSkge1xuICAgICAgY2lyY3MuZm9yRWFjaCgoeyBjaXJjdXJhbFRhcmdldFBhdGgsIHBhdGhUb09iaiB9KSA9PiB7XG5cbiAgICAgICAgaWYgKGNpcmN1cmFsVGFyZ2V0UGF0aCA9PT0gJycpIHtcbiAgICAgICAgICBfLnNldChyZXMsIHBhdGhUb09iaiwgcmVzKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxldCB2ID0gXy5nZXQocmVzLCBjaXJjdXJhbFRhcmdldFBhdGgpO1xuICAgICAgICAgIF8uc2V0KHJlcywgcGF0aFRvT2JqLCB2KVxuICAgICAgICB9XG5cbiAgICAgIH0pXG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPWpzb24xMCBsaWIvaW5kZXgudHMiXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './lib';
|
|
1
|
+
export * from './lib';
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvanNvbjEwL3Byb2plY3RzL2pzb24xMC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliJztcbiJdfQ==
|
|
@@ -2,59 +2,59 @@ import { _ } from 'tnp-core/browser';
|
|
|
2
2
|
import { walk } from 'lodash-walk-object/browser';
|
|
3
3
|
import { CLASS } from 'typescript-class-helpers/browser';
|
|
4
4
|
|
|
5
|
-
class JSON10 {
|
|
6
|
-
static structureArray(anyJSON, options) {
|
|
7
|
-
let pathes = [];
|
|
8
|
-
const { include, exclude } = options || {};
|
|
9
|
-
walk.Object(anyJSON, (value, lodashPath) => {
|
|
10
|
-
if (!_.isUndefined(value)) {
|
|
11
|
-
pathes.push(lodashPath);
|
|
12
|
-
}
|
|
13
|
-
}, { include, exclude, checkCircural: true });
|
|
14
|
-
return pathes;
|
|
15
|
-
}
|
|
16
|
-
static cleaned(json, onCircs, options) {
|
|
17
|
-
const result = _.isArray(json) ? [] : {};
|
|
18
|
-
const classFN = CLASS.OBJECT(json).isClassObject && CLASS.getFromObject(json);
|
|
19
|
-
const { exclude, include, breadthWalk } = options || { exclude: [], include: [], breadthWalk: false };
|
|
20
|
-
const { circs } = walk.Object(json, (value, lodashPath, changeValueTo, options) => {
|
|
21
|
-
if (_.isObject(value) && options.isCircural) {
|
|
22
|
-
_.set(result, lodashPath, null);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
_.set(result, lodashPath, _.cloneDeep(value));
|
|
26
|
-
}
|
|
27
|
-
}, { include, exclude, breadthWalk, checkCircural: true });
|
|
28
|
-
if (_.isFunction(onCircs)) {
|
|
29
|
-
onCircs(circs);
|
|
30
|
-
}
|
|
31
|
-
return _.isFunction(classFN) ? _.merge(new classFN(), result) : result;
|
|
32
|
-
}
|
|
33
|
-
static stringify(anyJSON, replace, spaces, onCircs) {
|
|
34
|
-
const json = this.cleaned(anyJSON, onCircs);
|
|
35
|
-
return JSON.stringify(json, replace, spaces);
|
|
36
|
-
}
|
|
37
|
-
static parse(json, circs = []) {
|
|
38
|
-
let res = JSON.parse(json);
|
|
39
|
-
if (_.isArray(circs)) {
|
|
40
|
-
circs.forEach(({ circuralTargetPath, pathToObj }) => {
|
|
41
|
-
if (circuralTargetPath === '') {
|
|
42
|
-
_.set(res, pathToObj, res);
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
let v = _.get(res, circuralTargetPath);
|
|
46
|
-
_.set(res, pathToObj, v);
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
return res;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
;
|
|
5
|
+
class JSON10 {
|
|
6
|
+
static structureArray(anyJSON, options) {
|
|
7
|
+
let pathes = [];
|
|
8
|
+
const { include, exclude } = options || {};
|
|
9
|
+
walk.Object(anyJSON, (value, lodashPath) => {
|
|
10
|
+
if (!_.isUndefined(value)) {
|
|
11
|
+
pathes.push(lodashPath);
|
|
12
|
+
}
|
|
13
|
+
}, { include, exclude, checkCircural: true });
|
|
14
|
+
return pathes;
|
|
15
|
+
}
|
|
16
|
+
static cleaned(json, onCircs, options) {
|
|
17
|
+
const result = _.isArray(json) ? [] : {};
|
|
18
|
+
const classFN = CLASS.OBJECT(json).isClassObject && CLASS.getFromObject(json);
|
|
19
|
+
const { exclude, include, breadthWalk } = options || { exclude: [], include: [], breadthWalk: false };
|
|
20
|
+
const { circs } = walk.Object(json, (value, lodashPath, changeValueTo, options) => {
|
|
21
|
+
if (_.isObject(value) && options.isCircural) {
|
|
22
|
+
_.set(result, lodashPath, null);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
_.set(result, lodashPath, _.cloneDeep(value));
|
|
26
|
+
}
|
|
27
|
+
}, { include, exclude, breadthWalk, checkCircural: true });
|
|
28
|
+
if (_.isFunction(onCircs)) {
|
|
29
|
+
onCircs(circs);
|
|
30
|
+
}
|
|
31
|
+
return _.isFunction(classFN) ? _.merge(new classFN(), result) : result;
|
|
32
|
+
}
|
|
33
|
+
static stringify(anyJSON, replace, spaces, onCircs) {
|
|
34
|
+
const json = this.cleaned(anyJSON, onCircs);
|
|
35
|
+
return JSON.stringify(json, replace, spaces);
|
|
36
|
+
}
|
|
37
|
+
static parse(json, circs = []) {
|
|
38
|
+
let res = JSON.parse(json);
|
|
39
|
+
if (_.isArray(circs)) {
|
|
40
|
+
circs.forEach(({ circuralTargetPath, pathToObj }) => {
|
|
41
|
+
if (circuralTargetPath === '') {
|
|
42
|
+
_.set(res, pathToObj, res);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
let v = _.get(res, circuralTargetPath);
|
|
46
|
+
_.set(res, pathToObj, v);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return res;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
;
|
|
54
54
|
({}); // @--end-of-file-for-module=json10 lib/index.ts
|
|
55
55
|
|
|
56
|
-
/**
|
|
57
|
-
* Generated bundle index. Do not edit.
|
|
56
|
+
/**
|
|
57
|
+
* Generated bundle index. Do not edit.
|
|
58
58
|
*/
|
|
59
59
|
|
|
60
60
|
export { JSON10 };
|
package/client/lib/index.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
|
-
import { Models } from 'lodash-walk-object/browser';
|
|
3
|
-
export
|
|
4
|
-
export declare class JSON10 {
|
|
5
|
-
static structureArray(anyJSON: Object, options?: {
|
|
6
|
-
include?: string[];
|
|
7
|
-
exclude?: string[];
|
|
8
|
-
}): any[];
|
|
9
|
-
static cleaned(json: any, onCircs?: (circs: Circ[]) => any, options?: {
|
|
10
|
-
exclude?: string[];
|
|
11
|
-
include?: string[];
|
|
12
|
-
breadthWalk?: boolean;
|
|
13
|
-
}): any;
|
|
14
|
-
static stringify(anyJSON: Object, replace?: any, spaces?: number, onCircs?: (circs: Circ[]) => any): string;
|
|
15
|
-
static parse(json: string, circs?: Circ[]): any;
|
|
2
|
+
import { Models } from 'lodash-walk-object/browser';
|
|
3
|
+
export type Circ = Models.Circ;
|
|
4
|
+
export declare class JSON10 {
|
|
5
|
+
static structureArray(anyJSON: Object, options?: {
|
|
6
|
+
include?: string[];
|
|
7
|
+
exclude?: string[];
|
|
8
|
+
}): any[];
|
|
9
|
+
static cleaned(json: any, onCircs?: (circs: Circ[]) => any, options?: {
|
|
10
|
+
exclude?: string[];
|
|
11
|
+
include?: string[];
|
|
12
|
+
breadthWalk?: boolean;
|
|
13
|
+
}): any;
|
|
14
|
+
static stringify(anyJSON: Object, replace?: any, spaces?: number, onCircs?: (circs: Circ[]) => any): string;
|
|
15
|
+
static parse(json: string, circs?: Circ[]): any;
|
|
16
16
|
}
|