json10 1.0.32 → 1.0.35
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/app.d.ts +0 -0
- package/app.js +2 -0
- package/app.js.map +1 -0
- package/browser/README.md +24 -0
- package/browser/esm2020/json10.mjs +5 -0
- package/browser/esm2020/lib/index.mjs +56 -0
- package/browser/esm2020/public-api.mjs +2 -0
- package/browser/{index.js → fesm2015/json10.mjs} +9 -2
- package/browser/fesm2015/json10.mjs.map +1 -0
- package/{client/index.js → browser/fesm2020/json10.mjs} +9 -2
- package/browser/fesm2020/json10.mjs.map +1 -0
- package/browser/json10.d.ts +5 -0
- package/browser/{index.d.ts → lib/index.d.ts} +0 -0
- package/browser/package.json +31 -0
- package/browser/public-api.d.ts +1 -0
- package/client/README.md +24 -0
- package/client/esm2020/json10.mjs +5 -0
- package/client/esm2020/lib/index.mjs +56 -0
- package/client/esm2020/public-api.mjs +2 -0
- package/client/fesm2015/json10.mjs +63 -0
- package/client/fesm2015/json10.mjs.map +1 -0
- package/client/fesm2020/json10.mjs +63 -0
- package/client/fesm2020/json10.mjs.map +1 -0
- package/client/json10.d.ts +5 -0
- package/client/{index.d.ts → lib/index.d.ts} +0 -0
- package/client/package.json +25 -23
- package/client/public-api.d.ts +1 -0
- package/index.d.ts +1 -15
- package/index.js +4 -63
- package/index.js.map +1 -1
- package/lib/index.d.ts +15 -0
- package/lib/index.js +66 -0
- package/lib/index.js.map +1 -0
- package/package.json +3 -3
- package/package.json_devDependencies.json +25 -25
- package/package.json_tnp.json +3 -2
- package/tmp-environment.json +68 -105
- package/browser/es5/index.js +0 -99
- package/browser/index.js.map +0 -1
- package/client/es5/index.js +0 -99
- package/client/index.js.map +0 -1
package/app.d.ts
ADDED
|
File without changes
|
package/app.js
ADDED
package/app.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# MyLib
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
|
|
8
|
+
> Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbjEwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9qc29uMTAvcHJvamVjdHMvanNvbjEwL3NyYy9qc29uMTAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { _ } from 'tnp-core/browser';
|
|
2
|
+
import { walk } from 'lodash-walk-object/browser';
|
|
3
|
+
import { CLASS } from 'typescript-class-helpers/browser';
|
|
4
|
+
// import { Log } from 'ng2-logger/browser'
|
|
5
|
+
// const log = Log.create('JSON10')
|
|
6
|
+
// let counter = 0
|
|
7
|
+
export class JSON10 {
|
|
8
|
+
static structureArray(anyJSON, options) {
|
|
9
|
+
let pathes = [];
|
|
10
|
+
const { include, exclude } = options || {};
|
|
11
|
+
walk.Object(anyJSON, (value, lodashPath) => {
|
|
12
|
+
if (!_.isUndefined(value)) {
|
|
13
|
+
pathes.push(lodashPath);
|
|
14
|
+
}
|
|
15
|
+
}, { include, exclude, checkCircural: true });
|
|
16
|
+
return pathes;
|
|
17
|
+
}
|
|
18
|
+
static cleaned(json, onCircs, options) {
|
|
19
|
+
// console.log('BETTER SRUGUB', json)
|
|
20
|
+
const result = _.isArray(json) ? [] : {};
|
|
21
|
+
const classFN = CLASS.OBJECT(json).isClassObject && CLASS.getFromObject(json);
|
|
22
|
+
const { exclude, include, breadthWalk } = options || { exclude: [], include: [], breadthWalk: false };
|
|
23
|
+
const { circs } = walk.Object(json, (value, lodashPath, changeValueTo, options) => {
|
|
24
|
+
if (_.isObject(value) && options.isCircural) {
|
|
25
|
+
_.set(result, lodashPath, null);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
_.set(result, lodashPath, _.cloneDeep(value));
|
|
29
|
+
}
|
|
30
|
+
}, { include, exclude, breadthWalk, checkCircural: true });
|
|
31
|
+
if (_.isFunction(onCircs)) {
|
|
32
|
+
onCircs(circs);
|
|
33
|
+
}
|
|
34
|
+
return _.isFunction(classFN) ? _.merge(new classFN(), result) : result;
|
|
35
|
+
}
|
|
36
|
+
static stringify(anyJSON, replace, spaces, onCircs) {
|
|
37
|
+
const json = this.cleaned(anyJSON, onCircs);
|
|
38
|
+
return JSON.stringify(json, replace, spaces);
|
|
39
|
+
}
|
|
40
|
+
static parse(json, circs = []) {
|
|
41
|
+
let res = JSON.parse(json);
|
|
42
|
+
if (_.isArray(circs)) {
|
|
43
|
+
circs.forEach(({ circuralTargetPath, pathToObj }) => {
|
|
44
|
+
if (circuralTargetPath === '') {
|
|
45
|
+
_.set(res, pathToObj, res);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
let v = _.get(res, circuralTargetPath);
|
|
49
|
+
_.set(res, pathToObj, v);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
return res;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL2pzb24xMC9wcm9qZWN0cy9qc29uMTAvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckMsT0FBTyxFQUFFLElBQUksRUFBVSxNQUFNLDRCQUE0QixDQUFDO0FBRTFELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RCwyQ0FBMkM7QUFDM0MsbUNBQW1DO0FBRW5DLGtCQUFrQjtBQUVsQixNQUFNLE9BQU8sTUFBTTtJQUVWLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBZSxFQUFFLE9BQW9EO1FBQ2hHLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQTtRQUNmLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxJQUFJLEVBQVMsQ0FBQztRQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRTtZQUV6QyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDekIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTthQUN4QjtRQUVILENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7UUFDN0MsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUdNLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQWdDLEVBQUUsT0FLM0Q7UUFDRCxxQ0FBcUM7UUFDckMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7UUFDeEMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5RSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRyxPQUFPLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBRXRHLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBRWhGLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO2dCQUMzQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUE7YUFDaEM7aUJBQU07Z0JBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTthQUM5QztRQUVILENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTNELElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN6QixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDZjtRQUVELE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFLLE9BQWUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDbEYsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBZSxFQUFFLE9BQWEsRUFBRSxNQUFlLEVBQUUsT0FBZ0M7UUFDdkcsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDNUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUU7UUFDbEQsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDcEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtnQkFFbEQsSUFBSSxrQkFBa0IsS0FBSyxFQUFFLEVBQUU7b0JBQzdCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQTtpQkFDM0I7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztvQkFDdkMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFBO2lCQUN6QjtZQUVILENBQUMsQ0FBQyxDQUFBO1NBQ0g7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyB3YWxrLCBNb2RlbHMgfSBmcm9tICdsb2Rhc2gtd2Fsay1vYmplY3QvYnJvd3Nlcic7XG5leHBvcnQgdHlwZSBDaXJjID0gTW9kZWxzLkNpcmM7XG5pbXBvcnQgeyBDTEFTUyB9IGZyb20gJ3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9icm93c2VyJztcbi8vIGltcG9ydCB7IExvZyB9IGZyb20gJ25nMi1sb2dnZXIvYnJvd3Nlcidcbi8vIGNvbnN0IGxvZyA9IExvZy5jcmVhdGUoJ0pTT04xMCcpXG5cbi8vIGxldCBjb3VudGVyID0gMFxuXG5leHBvcnQgY2xhc3MgSlNPTjEwIHtcblxuICBwdWJsaWMgc3RhdGljIHN0cnVjdHVyZUFycmF5KGFueUpTT046IE9iamVjdCwgb3B0aW9ucz86IHsgaW5jbHVkZT86IHN0cmluZ1tdOyBleGNsdWRlPzogc3RyaW5nW10gfSkge1xuICAgIGxldCBwYXRoZXMgPSBbXVxuICAgIGNvbnN0IHsgaW5jbHVkZSwgZXhjbHVkZSB9ID0gb3B0aW9ucyB8fCB7fSBhcyBhbnk7XG4gICAgd2Fsay5PYmplY3QoYW55SlNPTiwgKHZhbHVlLCBsb2Rhc2hQYXRoKSA9PiB7XG5cbiAgICAgIGlmICghXy5pc1VuZGVmaW5lZCh2YWx1ZSkpIHtcbiAgICAgICAgcGF0aGVzLnB1c2gobG9kYXNoUGF0aClcbiAgICAgIH1cblxuICAgIH0sIHsgaW5jbHVkZSwgZXhjbHVkZSwgY2hlY2tDaXJjdXJhbDogdHJ1ZSB9KVxuICAgIHJldHVybiBwYXRoZXM7XG4gIH1cblxuXG4gIHB1YmxpYyBzdGF0aWMgY2xlYW5lZChqc29uLCBvbkNpcmNzPzogKGNpcmNzOiBDaXJjW10pID0+IGFueSwgb3B0aW9ucz86XG4gICAge1xuICAgICAgZXhjbHVkZT86IHN0cmluZ1tdO1xuICAgICAgaW5jbHVkZT86IHN0cmluZ1tdO1xuICAgICAgYnJlYWR0aFdhbGs/OiBib29sZWFuO1xuICAgIH0pIHtcbiAgICAvLyBjb25zb2xlLmxvZygnQkVUVEVSIFNSVUdVQicsIGpzb24pXG4gICAgY29uc3QgcmVzdWx0ID0gXy5pc0FycmF5KGpzb24pID8gW10gOiB7fVxuICAgIGNvbnN0IGNsYXNzRk4gPSBDTEFTUy5PQkpFQ1QoanNvbikuaXNDbGFzc09iamVjdCAmJiBDTEFTUy5nZXRGcm9tT2JqZWN0KGpzb24pO1xuXG4gICAgY29uc3QgeyBleGNsdWRlLCBpbmNsdWRlLCBicmVhZHRoV2FsayB9ID0gb3B0aW9ucyB8fCB7IGV4Y2x1ZGU6IFtdLCBpbmNsdWRlOiBbXSwgYnJlYWR0aFdhbGs6IGZhbHNlIH07XG5cbiAgICBjb25zdCB7IGNpcmNzIH0gPSB3YWxrLk9iamVjdChqc29uLCAodmFsdWUsIGxvZGFzaFBhdGgsIGNoYW5nZVZhbHVlVG8sIG9wdGlvbnMpID0+IHtcblxuICAgICAgaWYgKF8uaXNPYmplY3QodmFsdWUpICYmIG9wdGlvbnMuaXNDaXJjdXJhbCkge1xuICAgICAgICBfLnNldChyZXN1bHQsIGxvZGFzaFBhdGgsIG51bGwpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBfLnNldChyZXN1bHQsIGxvZGFzaFBhdGgsIF8uY2xvbmVEZWVwKHZhbHVlKSlcbiAgICAgIH1cblxuICAgIH0sIHsgaW5jbHVkZSwgZXhjbHVkZSwgYnJlYWR0aFdhbGssIGNoZWNrQ2lyY3VyYWw6IHRydWUgfSk7XG5cbiAgICBpZiAoXy5pc0Z1bmN0aW9uKG9uQ2lyY3MpKSB7XG4gICAgICBvbkNpcmNzKGNpcmNzKVxuICAgIH1cblxuICAgIHJldHVybiBfLmlzRnVuY3Rpb24oY2xhc3NGTikgPyBfLm1lcmdlKG5ldyAoY2xhc3NGTiBhcyBhbnkpKCksIHJlc3VsdCkgOiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHN0cmluZ2lmeShhbnlKU09OOiBPYmplY3QsIHJlcGxhY2U/OiBhbnksIHNwYWNlcz86IG51bWJlciwgb25DaXJjcz86IChjaXJjczogQ2lyY1tdKSA9PiBhbnkpIHtcbiAgICBjb25zdCBqc29uID0gdGhpcy5jbGVhbmVkKGFueUpTT04sIG9uQ2lyY3MpO1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShqc29uLCByZXBsYWNlLCBzcGFjZXMpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBwYXJzZShqc29uOiBzdHJpbmcsIGNpcmNzOiBDaXJjW10gPSBbXSkge1xuICAgIGxldCByZXMgPSBKU09OLnBhcnNlKGpzb24pO1xuICAgIGlmIChfLmlzQXJyYXkoY2lyY3MpKSB7XG4gICAgICBjaXJjcy5mb3JFYWNoKCh7IGNpcmN1cmFsVGFyZ2V0UGF0aCwgcGF0aFRvT2JqIH0pID0+IHtcblxuICAgICAgICBpZiAoY2lyY3VyYWxUYXJnZXRQYXRoID09PSAnJykge1xuICAgICAgICAgIF8uc2V0KHJlcywgcGF0aFRvT2JqLCByZXMpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGV0IHYgPSBfLmdldChyZXMsIGNpcmN1cmFsVGFyZ2V0UGF0aCk7XG4gICAgICAgICAgXy5zZXQocmVzLCBwYXRoVG9PYmosIHYpXG4gICAgICAgIH1cblxuICAgICAgfSlcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './lib';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvanNvbjEwL3Byb2plY3RzL2pzb24xMC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliJztcbiJdfQ==
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
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
|
// import { Log } from 'ng2-logger/browser'
|
|
5
6
|
// const log = Log.create('JSON10')
|
|
6
7
|
// let counter = 0
|
|
7
|
-
|
|
8
|
+
class JSON10 {
|
|
8
9
|
static structureArray(anyJSON, options) {
|
|
9
10
|
let pathes = [];
|
|
10
11
|
const { include, exclude } = options || {};
|
|
@@ -53,4 +54,10 @@ export class JSON10 {
|
|
|
53
54
|
return res;
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
|
-
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Generated bundle index. Do not edit.
|
|
60
|
+
*/
|
|
61
|
+
|
|
62
|
+
export { JSON10 };
|
|
63
|
+
//# sourceMappingURL=json10.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json10.mjs","sources":["../../../tmp-libs-for-bundle/json10/projects/json10/src/lib/index.ts","../../../tmp-libs-for-bundle/json10/projects/json10/src/json10.ts"],"sourcesContent":["\n\nimport { _ } from 'tnp-core/browser';\nimport { walk, Models } from 'lodash-walk-object/browser';\nexport type Circ = Models.Circ;\nimport { CLASS } from 'typescript-class-helpers/browser';\n// import { Log } from 'ng2-logger/browser'\n// const log = Log.create('JSON10')\n\n// let counter = 0\n\nexport class JSON10 {\n\n public static structureArray(anyJSON: Object, options?: { include?: string[]; exclude?: string[] }) {\n let pathes = []\n const { include, exclude } = options || {} as any;\n walk.Object(anyJSON, (value, lodashPath) => {\n\n if (!_.isUndefined(value)) {\n pathes.push(lodashPath)\n }\n\n }, { include, exclude, checkCircural: true })\n return pathes;\n }\n\n\n public static cleaned(json, onCircs?: (circs: Circ[]) => any, options?:\n {\n exclude?: string[];\n include?: string[];\n breadthWalk?: boolean;\n }) {\n // console.log('BETTER SRUGUB', json)\n const result = _.isArray(json) ? [] : {}\n const classFN = CLASS.OBJECT(json).isClassObject && CLASS.getFromObject(json);\n\n const { exclude, include, breadthWalk } = options || { exclude: [], include: [], breadthWalk: false };\n\n const { circs } = walk.Object(json, (value, lodashPath, changeValueTo, options) => {\n\n if (_.isObject(value) && options.isCircural) {\n _.set(result, lodashPath, null)\n } else {\n _.set(result, lodashPath, _.cloneDeep(value))\n }\n\n }, { include, exclude, breadthWalk, checkCircural: true });\n\n if (_.isFunction(onCircs)) {\n onCircs(circs)\n }\n\n return _.isFunction(classFN) ? _.merge(new (classFN as any)(), result) : result;\n }\n\n public static stringify(anyJSON: Object, replace?: any, spaces?: number, onCircs?: (circs: Circ[]) => any) {\n const json = this.cleaned(anyJSON, onCircs);\n return JSON.stringify(json, replace, spaces);\n }\n\n public static parse(json: string, circs: Circ[] = []) {\n let res = JSON.parse(json);\n if (_.isArray(circs)) {\n circs.forEach(({ circuralTargetPath, pathToObj }) => {\n\n if (circuralTargetPath === '') {\n _.set(res, pathToObj, res)\n } else {\n let v = _.get(res, circuralTargetPath);\n _.set(res, pathToObj, v)\n }\n\n })\n }\n return res;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
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
|
// import { Log } from 'ng2-logger/browser'
|
|
5
6
|
// const log = Log.create('JSON10')
|
|
6
7
|
// let counter = 0
|
|
7
|
-
|
|
8
|
+
class JSON10 {
|
|
8
9
|
static structureArray(anyJSON, options) {
|
|
9
10
|
let pathes = [];
|
|
10
11
|
const { include, exclude } = options || {};
|
|
@@ -53,4 +54,10 @@ export class JSON10 {
|
|
|
53
54
|
return res;
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
|
-
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Generated bundle index. Do not edit.
|
|
60
|
+
*/
|
|
61
|
+
|
|
62
|
+
export { JSON10 };
|
|
63
|
+
//# sourceMappingURL=json10.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json10.mjs","sources":["../../../tmp-libs-for-bundle/json10/projects/json10/src/lib/index.ts","../../../tmp-libs-for-bundle/json10/projects/json10/src/json10.ts"],"sourcesContent":["\n\nimport { _ } from 'tnp-core/browser';\nimport { walk, Models } from 'lodash-walk-object/browser';\nexport type Circ = Models.Circ;\nimport { CLASS } from 'typescript-class-helpers/browser';\n// import { Log } from 'ng2-logger/browser'\n// const log = Log.create('JSON10')\n\n// let counter = 0\n\nexport class JSON10 {\n\n public static structureArray(anyJSON: Object, options?: { include?: string[]; exclude?: string[] }) {\n let pathes = []\n const { include, exclude } = options || {} as any;\n walk.Object(anyJSON, (value, lodashPath) => {\n\n if (!_.isUndefined(value)) {\n pathes.push(lodashPath)\n }\n\n }, { include, exclude, checkCircural: true })\n return pathes;\n }\n\n\n public static cleaned(json, onCircs?: (circs: Circ[]) => any, options?:\n {\n exclude?: string[];\n include?: string[];\n breadthWalk?: boolean;\n }) {\n // console.log('BETTER SRUGUB', json)\n const result = _.isArray(json) ? [] : {}\n const classFN = CLASS.OBJECT(json).isClassObject && CLASS.getFromObject(json);\n\n const { exclude, include, breadthWalk } = options || { exclude: [], include: [], breadthWalk: false };\n\n const { circs } = walk.Object(json, (value, lodashPath, changeValueTo, options) => {\n\n if (_.isObject(value) && options.isCircural) {\n _.set(result, lodashPath, null)\n } else {\n _.set(result, lodashPath, _.cloneDeep(value))\n }\n\n }, { include, exclude, breadthWalk, checkCircural: true });\n\n if (_.isFunction(onCircs)) {\n onCircs(circs)\n }\n\n return _.isFunction(classFN) ? _.merge(new (classFN as any)(), result) : result;\n }\n\n public static stringify(anyJSON: Object, replace?: any, spaces?: number, onCircs?: (circs: Circ[]) => any) {\n const json = this.cleaned(anyJSON, onCircs);\n return JSON.stringify(json, replace, spaces);\n }\n\n public static parse(json: string, circs: Circ[] = []) {\n let res = JSON.parse(json);\n if (_.isArray(circs)) {\n circs.forEach(({ circuralTargetPath, pathToObj }) => {\n\n if (circuralTargetPath === '') {\n _.set(res, pathToObj, res)\n } else {\n let v = _.get(res, circuralTargetPath);\n _.set(res, pathToObj, v)\n }\n\n })\n }\n return res;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "json10",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/common": "^13.2.0",
|
|
6
|
+
"@angular/core": "^13.2.0"
|
|
7
|
+
},
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"tslib": "^2.3.0"
|
|
10
|
+
},
|
|
11
|
+
"module": "fesm2015/json10.mjs",
|
|
12
|
+
"es2020": "fesm2020/json10.mjs",
|
|
13
|
+
"esm2020": "esm2020/json10.mjs",
|
|
14
|
+
"fesm2020": "fesm2020/json10.mjs",
|
|
15
|
+
"fesm2015": "fesm2015/json10.mjs",
|
|
16
|
+
"typings": "json10.d.ts",
|
|
17
|
+
"exports": {
|
|
18
|
+
"./package.json": {
|
|
19
|
+
"default": "./package.json"
|
|
20
|
+
},
|
|
21
|
+
".": {
|
|
22
|
+
"types": "./json10.d.ts",
|
|
23
|
+
"esm2020": "./esm2020/json10.mjs",
|
|
24
|
+
"es2020": "./fesm2020/json10.mjs",
|
|
25
|
+
"es2015": "./fesm2015/json10.mjs",
|
|
26
|
+
"node": "./fesm2015/json10.mjs",
|
|
27
|
+
"default": "./fesm2020/json10.mjs"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"sideEffects": false
|
|
31
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib';
|
package/client/README.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# MyLib
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
|
|
8
|
+
> Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbjEwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9qc29uMTAvcHJvamVjdHMvanNvbjEwL3NyYy9qc29uMTAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { _ } from 'tnp-core/browser';
|
|
2
|
+
import { walk } from 'lodash-walk-object/browser';
|
|
3
|
+
import { CLASS } from 'typescript-class-helpers/browser';
|
|
4
|
+
// import { Log } from 'ng2-logger/browser'
|
|
5
|
+
// const log = Log.create('JSON10')
|
|
6
|
+
// let counter = 0
|
|
7
|
+
export class JSON10 {
|
|
8
|
+
static structureArray(anyJSON, options) {
|
|
9
|
+
let pathes = [];
|
|
10
|
+
const { include, exclude } = options || {};
|
|
11
|
+
walk.Object(anyJSON, (value, lodashPath) => {
|
|
12
|
+
if (!_.isUndefined(value)) {
|
|
13
|
+
pathes.push(lodashPath);
|
|
14
|
+
}
|
|
15
|
+
}, { include, exclude, checkCircural: true });
|
|
16
|
+
return pathes;
|
|
17
|
+
}
|
|
18
|
+
static cleaned(json, onCircs, options) {
|
|
19
|
+
// console.log('BETTER SRUGUB', json)
|
|
20
|
+
const result = _.isArray(json) ? [] : {};
|
|
21
|
+
const classFN = CLASS.OBJECT(json).isClassObject && CLASS.getFromObject(json);
|
|
22
|
+
const { exclude, include, breadthWalk } = options || { exclude: [], include: [], breadthWalk: false };
|
|
23
|
+
const { circs } = walk.Object(json, (value, lodashPath, changeValueTo, options) => {
|
|
24
|
+
if (_.isObject(value) && options.isCircural) {
|
|
25
|
+
_.set(result, lodashPath, null);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
_.set(result, lodashPath, _.cloneDeep(value));
|
|
29
|
+
}
|
|
30
|
+
}, { include, exclude, breadthWalk, checkCircural: true });
|
|
31
|
+
if (_.isFunction(onCircs)) {
|
|
32
|
+
onCircs(circs);
|
|
33
|
+
}
|
|
34
|
+
return _.isFunction(classFN) ? _.merge(new classFN(), result) : result;
|
|
35
|
+
}
|
|
36
|
+
static stringify(anyJSON, replace, spaces, onCircs) {
|
|
37
|
+
const json = this.cleaned(anyJSON, onCircs);
|
|
38
|
+
return JSON.stringify(json, replace, spaces);
|
|
39
|
+
}
|
|
40
|
+
static parse(json, circs = []) {
|
|
41
|
+
let res = JSON.parse(json);
|
|
42
|
+
if (_.isArray(circs)) {
|
|
43
|
+
circs.forEach(({ circuralTargetPath, pathToObj }) => {
|
|
44
|
+
if (circuralTargetPath === '') {
|
|
45
|
+
_.set(res, pathToObj, res);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
let v = _.get(res, circuralTargetPath);
|
|
49
|
+
_.set(res, pathToObj, v);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
return res;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL2pzb24xMC9wcm9qZWN0cy9qc29uMTAvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckMsT0FBTyxFQUFFLElBQUksRUFBVSxNQUFNLDRCQUE0QixDQUFDO0FBRTFELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RCwyQ0FBMkM7QUFDM0MsbUNBQW1DO0FBRW5DLGtCQUFrQjtBQUVsQixNQUFNLE9BQU8sTUFBTTtJQUVWLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBZSxFQUFFLE9BQW9EO1FBQ2hHLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQTtRQUNmLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxJQUFJLEVBQVMsQ0FBQztRQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRTtZQUV6QyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDekIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTthQUN4QjtRQUVILENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7UUFDN0MsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUdNLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQWdDLEVBQUUsT0FLM0Q7UUFDRCxxQ0FBcUM7UUFDckMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7UUFDeEMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5RSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRyxPQUFPLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBRXRHLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBRWhGLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO2dCQUMzQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUE7YUFDaEM7aUJBQU07Z0JBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTthQUM5QztRQUVILENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTNELElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN6QixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDZjtRQUVELE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFLLE9BQWUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDbEYsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBZSxFQUFFLE9BQWEsRUFBRSxNQUFlLEVBQUUsT0FBZ0M7UUFDdkcsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDNUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUU7UUFDbEQsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDcEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtnQkFFbEQsSUFBSSxrQkFBa0IsS0FBSyxFQUFFLEVBQUU7b0JBQzdCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQTtpQkFDM0I7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztvQkFDdkMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFBO2lCQUN6QjtZQUVILENBQUMsQ0FBQyxDQUFBO1NBQ0g7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyB3YWxrLCBNb2RlbHMgfSBmcm9tICdsb2Rhc2gtd2Fsay1vYmplY3QvYnJvd3Nlcic7XG5leHBvcnQgdHlwZSBDaXJjID0gTW9kZWxzLkNpcmM7XG5pbXBvcnQgeyBDTEFTUyB9IGZyb20gJ3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9icm93c2VyJztcbi8vIGltcG9ydCB7IExvZyB9IGZyb20gJ25nMi1sb2dnZXIvYnJvd3Nlcidcbi8vIGNvbnN0IGxvZyA9IExvZy5jcmVhdGUoJ0pTT04xMCcpXG5cbi8vIGxldCBjb3VudGVyID0gMFxuXG5leHBvcnQgY2xhc3MgSlNPTjEwIHtcblxuICBwdWJsaWMgc3RhdGljIHN0cnVjdHVyZUFycmF5KGFueUpTT046IE9iamVjdCwgb3B0aW9ucz86IHsgaW5jbHVkZT86IHN0cmluZ1tdOyBleGNsdWRlPzogc3RyaW5nW10gfSkge1xuICAgIGxldCBwYXRoZXMgPSBbXVxuICAgIGNvbnN0IHsgaW5jbHVkZSwgZXhjbHVkZSB9ID0gb3B0aW9ucyB8fCB7fSBhcyBhbnk7XG4gICAgd2Fsay5PYmplY3QoYW55SlNPTiwgKHZhbHVlLCBsb2Rhc2hQYXRoKSA9PiB7XG5cbiAgICAgIGlmICghXy5pc1VuZGVmaW5lZCh2YWx1ZSkpIHtcbiAgICAgICAgcGF0aGVzLnB1c2gobG9kYXNoUGF0aClcbiAgICAgIH1cblxuICAgIH0sIHsgaW5jbHVkZSwgZXhjbHVkZSwgY2hlY2tDaXJjdXJhbDogdHJ1ZSB9KVxuICAgIHJldHVybiBwYXRoZXM7XG4gIH1cblxuXG4gIHB1YmxpYyBzdGF0aWMgY2xlYW5lZChqc29uLCBvbkNpcmNzPzogKGNpcmNzOiBDaXJjW10pID0+IGFueSwgb3B0aW9ucz86XG4gICAge1xuICAgICAgZXhjbHVkZT86IHN0cmluZ1tdO1xuICAgICAgaW5jbHVkZT86IHN0cmluZ1tdO1xuICAgICAgYnJlYWR0aFdhbGs/OiBib29sZWFuO1xuICAgIH0pIHtcbiAgICAvLyBjb25zb2xlLmxvZygnQkVUVEVSIFNSVUdVQicsIGpzb24pXG4gICAgY29uc3QgcmVzdWx0ID0gXy5pc0FycmF5KGpzb24pID8gW10gOiB7fVxuICAgIGNvbnN0IGNsYXNzRk4gPSBDTEFTUy5PQkpFQ1QoanNvbikuaXNDbGFzc09iamVjdCAmJiBDTEFTUy5nZXRGcm9tT2JqZWN0KGpzb24pO1xuXG4gICAgY29uc3QgeyBleGNsdWRlLCBpbmNsdWRlLCBicmVhZHRoV2FsayB9ID0gb3B0aW9ucyB8fCB7IGV4Y2x1ZGU6IFtdLCBpbmNsdWRlOiBbXSwgYnJlYWR0aFdhbGs6IGZhbHNlIH07XG5cbiAgICBjb25zdCB7IGNpcmNzIH0gPSB3YWxrLk9iamVjdChqc29uLCAodmFsdWUsIGxvZGFzaFBhdGgsIGNoYW5nZVZhbHVlVG8sIG9wdGlvbnMpID0+IHtcblxuICAgICAgaWYgKF8uaXNPYmplY3QodmFsdWUpICYmIG9wdGlvbnMuaXNDaXJjdXJhbCkge1xuICAgICAgICBfLnNldChyZXN1bHQsIGxvZGFzaFBhdGgsIG51bGwpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBfLnNldChyZXN1bHQsIGxvZGFzaFBhdGgsIF8uY2xvbmVEZWVwKHZhbHVlKSlcbiAgICAgIH1cblxuICAgIH0sIHsgaW5jbHVkZSwgZXhjbHVkZSwgYnJlYWR0aFdhbGssIGNoZWNrQ2lyY3VyYWw6IHRydWUgfSk7XG5cbiAgICBpZiAoXy5pc0Z1bmN0aW9uKG9uQ2lyY3MpKSB7XG4gICAgICBvbkNpcmNzKGNpcmNzKVxuICAgIH1cblxuICAgIHJldHVybiBfLmlzRnVuY3Rpb24oY2xhc3NGTikgPyBfLm1lcmdlKG5ldyAoY2xhc3NGTiBhcyBhbnkpKCksIHJlc3VsdCkgOiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHN0cmluZ2lmeShhbnlKU09OOiBPYmplY3QsIHJlcGxhY2U/OiBhbnksIHNwYWNlcz86IG51bWJlciwgb25DaXJjcz86IChjaXJjczogQ2lyY1tdKSA9PiBhbnkpIHtcbiAgICBjb25zdCBqc29uID0gdGhpcy5jbGVhbmVkKGFueUpTT04sIG9uQ2lyY3MpO1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShqc29uLCByZXBsYWNlLCBzcGFjZXMpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBwYXJzZShqc29uOiBzdHJpbmcsIGNpcmNzOiBDaXJjW10gPSBbXSkge1xuICAgIGxldCByZXMgPSBKU09OLnBhcnNlKGpzb24pO1xuICAgIGlmIChfLmlzQXJyYXkoY2lyY3MpKSB7XG4gICAgICBjaXJjcy5mb3JFYWNoKCh7IGNpcmN1cmFsVGFyZ2V0UGF0aCwgcGF0aFRvT2JqIH0pID0+IHtcblxuICAgICAgICBpZiAoY2lyY3VyYWxUYXJnZXRQYXRoID09PSAnJykge1xuICAgICAgICAgIF8uc2V0KHJlcywgcGF0aFRvT2JqLCByZXMpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGV0IHYgPSBfLmdldChyZXMsIGNpcmN1cmFsVGFyZ2V0UGF0aCk7XG4gICAgICAgICAgXy5zZXQocmVzLCBwYXRoVG9PYmosIHYpXG4gICAgICAgIH1cblxuICAgICAgfSlcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './lib';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvanNvbjEwL3Byb2plY3RzL2pzb24xMC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliJztcbiJdfQ==
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { _ } from 'tnp-core/browser';
|
|
2
|
+
import { walk } from 'lodash-walk-object/browser';
|
|
3
|
+
import { CLASS } from 'typescript-class-helpers/browser';
|
|
4
|
+
|
|
5
|
+
// import { Log } from 'ng2-logger/browser'
|
|
6
|
+
// const log = Log.create('JSON10')
|
|
7
|
+
// let counter = 0
|
|
8
|
+
class JSON10 {
|
|
9
|
+
static structureArray(anyJSON, options) {
|
|
10
|
+
let pathes = [];
|
|
11
|
+
const { include, exclude } = options || {};
|
|
12
|
+
walk.Object(anyJSON, (value, lodashPath) => {
|
|
13
|
+
if (!_.isUndefined(value)) {
|
|
14
|
+
pathes.push(lodashPath);
|
|
15
|
+
}
|
|
16
|
+
}, { include, exclude, checkCircural: true });
|
|
17
|
+
return pathes;
|
|
18
|
+
}
|
|
19
|
+
static cleaned(json, onCircs, options) {
|
|
20
|
+
// console.log('BETTER SRUGUB', json)
|
|
21
|
+
const result = _.isArray(json) ? [] : {};
|
|
22
|
+
const classFN = CLASS.OBJECT(json).isClassObject && CLASS.getFromObject(json);
|
|
23
|
+
const { exclude, include, breadthWalk } = options || { exclude: [], include: [], breadthWalk: false };
|
|
24
|
+
const { circs } = walk.Object(json, (value, lodashPath, changeValueTo, options) => {
|
|
25
|
+
if (_.isObject(value) && options.isCircural) {
|
|
26
|
+
_.set(result, lodashPath, null);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
_.set(result, lodashPath, _.cloneDeep(value));
|
|
30
|
+
}
|
|
31
|
+
}, { include, exclude, breadthWalk, checkCircural: true });
|
|
32
|
+
if (_.isFunction(onCircs)) {
|
|
33
|
+
onCircs(circs);
|
|
34
|
+
}
|
|
35
|
+
return _.isFunction(classFN) ? _.merge(new classFN(), result) : result;
|
|
36
|
+
}
|
|
37
|
+
static stringify(anyJSON, replace, spaces, onCircs) {
|
|
38
|
+
const json = this.cleaned(anyJSON, onCircs);
|
|
39
|
+
return JSON.stringify(json, replace, spaces);
|
|
40
|
+
}
|
|
41
|
+
static parse(json, circs = []) {
|
|
42
|
+
let res = JSON.parse(json);
|
|
43
|
+
if (_.isArray(circs)) {
|
|
44
|
+
circs.forEach(({ circuralTargetPath, pathToObj }) => {
|
|
45
|
+
if (circuralTargetPath === '') {
|
|
46
|
+
_.set(res, pathToObj, res);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
let v = _.get(res, circuralTargetPath);
|
|
50
|
+
_.set(res, pathToObj, v);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
return res;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Generated bundle index. Do not edit.
|
|
60
|
+
*/
|
|
61
|
+
|
|
62
|
+
export { JSON10 };
|
|
63
|
+
//# sourceMappingURL=json10.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json10.mjs","sources":["../../../tmp-libs-for-bundle/json10/projects/json10/src/lib/index.ts","../../../tmp-libs-for-bundle/json10/projects/json10/src/json10.ts"],"sourcesContent":["\n\nimport { _ } from 'tnp-core/browser';\nimport { walk, Models } from 'lodash-walk-object/browser';\nexport type Circ = Models.Circ;\nimport { CLASS } from 'typescript-class-helpers/browser';\n// import { Log } from 'ng2-logger/browser'\n// const log = Log.create('JSON10')\n\n// let counter = 0\n\nexport class JSON10 {\n\n public static structureArray(anyJSON: Object, options?: { include?: string[]; exclude?: string[] }) {\n let pathes = []\n const { include, exclude } = options || {} as any;\n walk.Object(anyJSON, (value, lodashPath) => {\n\n if (!_.isUndefined(value)) {\n pathes.push(lodashPath)\n }\n\n }, { include, exclude, checkCircural: true })\n return pathes;\n }\n\n\n public static cleaned(json, onCircs?: (circs: Circ[]) => any, options?:\n {\n exclude?: string[];\n include?: string[];\n breadthWalk?: boolean;\n }) {\n // console.log('BETTER SRUGUB', json)\n const result = _.isArray(json) ? [] : {}\n const classFN = CLASS.OBJECT(json).isClassObject && CLASS.getFromObject(json);\n\n const { exclude, include, breadthWalk } = options || { exclude: [], include: [], breadthWalk: false };\n\n const { circs } = walk.Object(json, (value, lodashPath, changeValueTo, options) => {\n\n if (_.isObject(value) && options.isCircural) {\n _.set(result, lodashPath, null)\n } else {\n _.set(result, lodashPath, _.cloneDeep(value))\n }\n\n }, { include, exclude, breadthWalk, checkCircural: true });\n\n if (_.isFunction(onCircs)) {\n onCircs(circs)\n }\n\n return _.isFunction(classFN) ? _.merge(new (classFN as any)(), result) : result;\n }\n\n public static stringify(anyJSON: Object, replace?: any, spaces?: number, onCircs?: (circs: Circ[]) => any) {\n const json = this.cleaned(anyJSON, onCircs);\n return JSON.stringify(json, replace, spaces);\n }\n\n public static parse(json: string, circs: Circ[] = []) {\n let res = JSON.parse(json);\n if (_.isArray(circs)) {\n circs.forEach(({ circuralTargetPath, pathToObj }) => {\n\n if (circuralTargetPath === '') {\n _.set(res, pathToObj, res)\n } else {\n let v = _.get(res, circuralTargetPath);\n _.set(res, pathToObj, v)\n }\n\n })\n }\n return res;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { _ } from 'tnp-core/browser';
|
|
2
|
+
import { walk } from 'lodash-walk-object/browser';
|
|
3
|
+
import { CLASS } from 'typescript-class-helpers/browser';
|
|
4
|
+
|
|
5
|
+
// import { Log } from 'ng2-logger/browser'
|
|
6
|
+
// const log = Log.create('JSON10')
|
|
7
|
+
// let counter = 0
|
|
8
|
+
class JSON10 {
|
|
9
|
+
static structureArray(anyJSON, options) {
|
|
10
|
+
let pathes = [];
|
|
11
|
+
const { include, exclude } = options || {};
|
|
12
|
+
walk.Object(anyJSON, (value, lodashPath) => {
|
|
13
|
+
if (!_.isUndefined(value)) {
|
|
14
|
+
pathes.push(lodashPath);
|
|
15
|
+
}
|
|
16
|
+
}, { include, exclude, checkCircural: true });
|
|
17
|
+
return pathes;
|
|
18
|
+
}
|
|
19
|
+
static cleaned(json, onCircs, options) {
|
|
20
|
+
// console.log('BETTER SRUGUB', json)
|
|
21
|
+
const result = _.isArray(json) ? [] : {};
|
|
22
|
+
const classFN = CLASS.OBJECT(json).isClassObject && CLASS.getFromObject(json);
|
|
23
|
+
const { exclude, include, breadthWalk } = options || { exclude: [], include: [], breadthWalk: false };
|
|
24
|
+
const { circs } = walk.Object(json, (value, lodashPath, changeValueTo, options) => {
|
|
25
|
+
if (_.isObject(value) && options.isCircural) {
|
|
26
|
+
_.set(result, lodashPath, null);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
_.set(result, lodashPath, _.cloneDeep(value));
|
|
30
|
+
}
|
|
31
|
+
}, { include, exclude, breadthWalk, checkCircural: true });
|
|
32
|
+
if (_.isFunction(onCircs)) {
|
|
33
|
+
onCircs(circs);
|
|
34
|
+
}
|
|
35
|
+
return _.isFunction(classFN) ? _.merge(new classFN(), result) : result;
|
|
36
|
+
}
|
|
37
|
+
static stringify(anyJSON, replace, spaces, onCircs) {
|
|
38
|
+
const json = this.cleaned(anyJSON, onCircs);
|
|
39
|
+
return JSON.stringify(json, replace, spaces);
|
|
40
|
+
}
|
|
41
|
+
static parse(json, circs = []) {
|
|
42
|
+
let res = JSON.parse(json);
|
|
43
|
+
if (_.isArray(circs)) {
|
|
44
|
+
circs.forEach(({ circuralTargetPath, pathToObj }) => {
|
|
45
|
+
if (circuralTargetPath === '') {
|
|
46
|
+
_.set(res, pathToObj, res);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
let v = _.get(res, circuralTargetPath);
|
|
50
|
+
_.set(res, pathToObj, v);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
return res;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Generated bundle index. Do not edit.
|
|
60
|
+
*/
|
|
61
|
+
|
|
62
|
+
export { JSON10 };
|
|
63
|
+
//# sourceMappingURL=json10.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json10.mjs","sources":["../../../tmp-libs-for-bundle/json10/projects/json10/src/lib/index.ts","../../../tmp-libs-for-bundle/json10/projects/json10/src/json10.ts"],"sourcesContent":["\n\nimport { _ } from 'tnp-core/browser';\nimport { walk, Models } from 'lodash-walk-object/browser';\nexport type Circ = Models.Circ;\nimport { CLASS } from 'typescript-class-helpers/browser';\n// import { Log } from 'ng2-logger/browser'\n// const log = Log.create('JSON10')\n\n// let counter = 0\n\nexport class JSON10 {\n\n public static structureArray(anyJSON: Object, options?: { include?: string[]; exclude?: string[] }) {\n let pathes = []\n const { include, exclude } = options || {} as any;\n walk.Object(anyJSON, (value, lodashPath) => {\n\n if (!_.isUndefined(value)) {\n pathes.push(lodashPath)\n }\n\n }, { include, exclude, checkCircural: true })\n return pathes;\n }\n\n\n public static cleaned(json, onCircs?: (circs: Circ[]) => any, options?:\n {\n exclude?: string[];\n include?: string[];\n breadthWalk?: boolean;\n }) {\n // console.log('BETTER SRUGUB', json)\n const result = _.isArray(json) ? [] : {}\n const classFN = CLASS.OBJECT(json).isClassObject && CLASS.getFromObject(json);\n\n const { exclude, include, breadthWalk } = options || { exclude: [], include: [], breadthWalk: false };\n\n const { circs } = walk.Object(json, (value, lodashPath, changeValueTo, options) => {\n\n if (_.isObject(value) && options.isCircural) {\n _.set(result, lodashPath, null)\n } else {\n _.set(result, lodashPath, _.cloneDeep(value))\n }\n\n }, { include, exclude, breadthWalk, checkCircural: true });\n\n if (_.isFunction(onCircs)) {\n onCircs(circs)\n }\n\n return _.isFunction(classFN) ? _.merge(new (classFN as any)(), result) : result;\n }\n\n public static stringify(anyJSON: Object, replace?: any, spaces?: number, onCircs?: (circs: Circ[]) => any) {\n const json = this.cleaned(anyJSON, onCircs);\n return JSON.stringify(json, replace, spaces);\n }\n\n public static parse(json: string, circs: Circ[] = []) {\n let res = JSON.parse(json);\n if (_.isArray(circs)) {\n circs.forEach(({ circuralTargetPath, pathToObj }) => {\n\n if (circuralTargetPath === '') {\n _.set(res, pathToObj, res)\n } else {\n let v = _.get(res, circuralTargetPath);\n _.set(res, pathToObj, v)\n }\n\n })\n }\n return res;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
File without changes
|
package/client/package.json
CHANGED
|
@@ -1,29 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "json10",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
|
|
6
|
-
"
|
|
7
|
-
"test:watch": "mocha --compilers ts-node/register src/**/*.spec.ts --watch"
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/common": "^13.2.0",
|
|
6
|
+
"@angular/core": "^13.2.0"
|
|
8
7
|
},
|
|
9
|
-
"repository": {
|
|
10
|
-
"type": "git",
|
|
11
|
-
"url": "git+https://github.com/darekf77/json10.git"
|
|
12
|
-
},
|
|
13
|
-
"keywords": [
|
|
14
|
-
"ng2-rest",
|
|
15
|
-
"docs",
|
|
16
|
-
"documentation"
|
|
17
|
-
],
|
|
18
|
-
"author": "Dariusz Filipiak",
|
|
19
|
-
"bugs": {
|
|
20
|
-
"url": "https://github.com/darekf77/json10/issues"
|
|
21
|
-
},
|
|
22
|
-
"homepage": "https://github.com/darekf77/json10#readme",
|
|
23
8
|
"dependencies": {
|
|
24
|
-
"
|
|
9
|
+
"tslib": "^2.3.0"
|
|
10
|
+
},
|
|
11
|
+
"module": "fesm2015/json10.mjs",
|
|
12
|
+
"es2020": "fesm2020/json10.mjs",
|
|
13
|
+
"esm2020": "esm2020/json10.mjs",
|
|
14
|
+
"fesm2020": "fesm2020/json10.mjs",
|
|
15
|
+
"fesm2015": "fesm2015/json10.mjs",
|
|
16
|
+
"typings": "json10.d.ts",
|
|
17
|
+
"exports": {
|
|
18
|
+
"./package.json": {
|
|
19
|
+
"default": "./package.json"
|
|
20
|
+
},
|
|
21
|
+
".": {
|
|
22
|
+
"types": "./json10.d.ts",
|
|
23
|
+
"esm2020": "./esm2020/json10.mjs",
|
|
24
|
+
"es2020": "./fesm2020/json10.mjs",
|
|
25
|
+
"es2015": "./fesm2015/json10.mjs",
|
|
26
|
+
"node": "./fesm2015/json10.mjs",
|
|
27
|
+
"default": "./fesm2020/json10.mjs"
|
|
28
|
+
}
|
|
25
29
|
},
|
|
26
|
-
"
|
|
27
|
-
"private": false,
|
|
28
|
-
"lastBuildTagHash": "547d4f88d801972715c58f98f1acbf2a9960e292"
|
|
30
|
+
"sideEffects": false
|
|
29
31
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib';
|
package/index.d.ts
CHANGED
|
@@ -1,15 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare type Circ = Models.Circ;
|
|
3
|
-
export declare class JSON10 {
|
|
4
|
-
static structureArray(anyJSON: Object, options?: {
|
|
5
|
-
include?: string[];
|
|
6
|
-
exclude?: string[];
|
|
7
|
-
}): any[];
|
|
8
|
-
static cleaned(json: any, onCircs?: (circs: Circ[]) => any, options?: {
|
|
9
|
-
exclude?: string[];
|
|
10
|
-
include?: string[];
|
|
11
|
-
breadthWalk?: boolean;
|
|
12
|
-
}): any;
|
|
13
|
-
static stringify(anyJSON: Object, replace?: any, spaces?: number, onCircs?: (circs: Circ[]) => any): string;
|
|
14
|
-
static parse(json: string, circs?: Circ[]): any;
|
|
15
|
-
}
|
|
1
|
+
export * from './lib';
|