lodash-walk-object 19.0.2 → 19.0.3
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/esm2022/lib/index.mjs +363 -0
- package/browser/esm2022/lib/models.mjs +4 -0
- package/browser/esm2022/lodash-walk-object.mjs +5 -0
- package/browser/esm2022/public-api.mjs +2 -0
- package/browser/fesm2022/lodash-walk-object.mjs.map +1 -1
- package/browser/package.json +1 -1
- package/client/esm2022/lib/index.mjs +363 -0
- package/client/esm2022/lib/models.mjs +4 -0
- package/client/esm2022/lodash-walk-object.mjs +5 -0
- package/client/esm2022/public-api.mjs +2 -0
- package/client/fesm2022/lodash-walk-object.mjs.map +1 -1
- package/client/package.json +1 -1
- package/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib/build-info._auto-generated_.js +1 -1
- package/package.json +1 -1
- package/tmp-environment.json +4 -3
- package/websql/esm2022/lib/index.mjs +363 -0
- package/websql/esm2022/lib/models.mjs +4 -0
- package/websql/esm2022/lodash-walk-object.mjs +5 -0
- package/websql/esm2022/public-api.mjs +2 -0
- package/websql/fesm2022/lodash-walk-object.mjs.map +1 -1
- package/websql/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
THIS FILE IS GENERATED - DO NOT MODIFY
|
|
2
2
|
|
|
3
|
-
Assets from this folder are being shipped with this npm package (lodash-walk-object
|
|
3
|
+
Assets from this folder are being shipped with this npm package (lodash-walk-object)
|
|
4
4
|
created from this project.
|
|
5
5
|
|
|
6
6
|
THIS FILE IS GENERATED - DO NOT MODIFY
|
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
import { _ } from 'tnp-core/browser';
|
|
2
|
+
import { CLASS } from 'typescript-class-helpers/browser';
|
|
3
|
+
export * from './models';
|
|
4
|
+
function findChildren(ver, lp, walkGetters) {
|
|
5
|
+
const obj = ver.v;
|
|
6
|
+
if (_.isArray(obj)) {
|
|
7
|
+
return obj.map((v, i) => {
|
|
8
|
+
return { v, p: `${lp}[${i}]`, parent: ver, isGetter: false };
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
else if (_.isObject(obj)) {
|
|
12
|
+
const allKeys = !walkGetters ? [] : Object.getOwnPropertyNames(obj);
|
|
13
|
+
const children = [];
|
|
14
|
+
for (const key in obj) {
|
|
15
|
+
if (_.isObject(obj) &&
|
|
16
|
+
_.isFunction(obj.hasOwnProperty) &&
|
|
17
|
+
obj.hasOwnProperty(key)) {
|
|
18
|
+
_.pull(allKeys, key);
|
|
19
|
+
children.push({
|
|
20
|
+
v: obj[key],
|
|
21
|
+
p: `${lp === '' ? '' : `${lp}.`}${key}`,
|
|
22
|
+
parent: ver,
|
|
23
|
+
isGetter: false,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
if (walkGetters) {
|
|
28
|
+
for (let index = 0; index < allKeys.length; index++) {
|
|
29
|
+
if (_.isObject(obj)) {
|
|
30
|
+
const key = allKeys[index];
|
|
31
|
+
children.push({
|
|
32
|
+
v: obj[key],
|
|
33
|
+
p: `${lp === '' ? '' : `${lp}.`}${key}`,
|
|
34
|
+
parent: ver,
|
|
35
|
+
isGetter: true,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return children;
|
|
41
|
+
}
|
|
42
|
+
return [];
|
|
43
|
+
}
|
|
44
|
+
export class Helpers {
|
|
45
|
+
static get Walk() {
|
|
46
|
+
const self = this;
|
|
47
|
+
return {
|
|
48
|
+
Object(json, iterator, optionsOrWalkGettersValue) {
|
|
49
|
+
if (_.isUndefined(optionsOrWalkGettersValue)) {
|
|
50
|
+
optionsOrWalkGettersValue = {};
|
|
51
|
+
}
|
|
52
|
+
optionsOrWalkGettersValue.hasIterator =
|
|
53
|
+
_.isFunction(iterator);
|
|
54
|
+
if (_.isUndefined(optionsOrWalkGettersValue.breadthWalk)) {
|
|
55
|
+
optionsOrWalkGettersValue.breadthWalk = false;
|
|
56
|
+
}
|
|
57
|
+
let { circural } = self._walk(json, json, iterator, void 0, optionsOrWalkGettersValue);
|
|
58
|
+
return { circs: circural };
|
|
59
|
+
},
|
|
60
|
+
ObjectBy(property, inContext, iterator, options) {
|
|
61
|
+
if (_.isFunction(iterator)) {
|
|
62
|
+
iterator(inContext, '', self._changeValue(inContext, property, true)); // TODO Add optoins
|
|
63
|
+
}
|
|
64
|
+
// @ts-ignore
|
|
65
|
+
const json = inContext[property];
|
|
66
|
+
return self.Walk.Object(json, iterator, options);
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
static _changeValue(json, lodahPath, simpleChange = false, options) {
|
|
71
|
+
var { contextPath, property } = this._prepareParams(lodahPath);
|
|
72
|
+
var context = _.get(json, contextPath);
|
|
73
|
+
return (newValue) => {
|
|
74
|
+
if (contextPath === '') {
|
|
75
|
+
simpleChange = true;
|
|
76
|
+
}
|
|
77
|
+
if (simpleChange) {
|
|
78
|
+
// @ts-ignore
|
|
79
|
+
json[property] = newValue;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
if (context) {
|
|
83
|
+
context[property] = newValue;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
if (options) {
|
|
87
|
+
options._valueChanged = true;
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
static _prepareParams(lodashPath) {
|
|
92
|
+
const contextPath = this._Helpers.Path.getContextPath(lodashPath);
|
|
93
|
+
let property = this._Helpers.Path.getPropertyPath(lodashPath, contextPath);
|
|
94
|
+
if (_.isString(property) &&
|
|
95
|
+
property.trim() !== '' &&
|
|
96
|
+
!_.isNaN(Number(property))) {
|
|
97
|
+
property = Number(property);
|
|
98
|
+
}
|
|
99
|
+
return {
|
|
100
|
+
contextPath,
|
|
101
|
+
property,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
static get _Helpers() {
|
|
105
|
+
return {
|
|
106
|
+
get Path() {
|
|
107
|
+
return {
|
|
108
|
+
// @ts-ignore
|
|
109
|
+
getPropertyPath(lodahPath, contetPath) {
|
|
110
|
+
return lodahPath
|
|
111
|
+
.replace(contetPath, '')
|
|
112
|
+
.replace(/^\./, '')
|
|
113
|
+
.replace(/\[/, '')
|
|
114
|
+
.replace(/\]/, '');
|
|
115
|
+
},
|
|
116
|
+
getContextPath(p) {
|
|
117
|
+
let res;
|
|
118
|
+
if (p.endsWith(']')) {
|
|
119
|
+
res = p.replace(/\[(\"|\')?[0-9]+(\"|\')?\]$/, '');
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
res = p.replace(/\.([a-zA-Z0-9]|\$|\_|\@|\-|\/|\:)+$/, '');
|
|
123
|
+
}
|
|
124
|
+
return res === p ? '' : res;
|
|
125
|
+
},
|
|
126
|
+
};
|
|
127
|
+
},
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
static _shoudlReturn(include = [], exclude = [], lodashPath) {
|
|
131
|
+
let res = false;
|
|
132
|
+
if (lodashPath.replace(/^\[(\'|\")?[0-9]*(\'|\")?\]/, '').trim() !== '') {
|
|
133
|
+
lodashPath = lodashPath.replace(/^\[(\'|\")?[0-9]*(\'|\")?\]\./, '');
|
|
134
|
+
res =
|
|
135
|
+
(_.isArray(include) &&
|
|
136
|
+
include.length > 0 &&
|
|
137
|
+
!include.find(p => lodashPath.startsWith(p))) ||
|
|
138
|
+
(_.isArray(exclude) &&
|
|
139
|
+
exclude.length > 0 &&
|
|
140
|
+
!!exclude.find(p => lodashPath.startsWith(p)));
|
|
141
|
+
}
|
|
142
|
+
return res;
|
|
143
|
+
}
|
|
144
|
+
// @ts-ignore
|
|
145
|
+
static prepareOptions(options, obj, lodashPath) {
|
|
146
|
+
if (options._exit) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
if (_.isUndefined(options.walkGetters)) {
|
|
150
|
+
options.walkGetters = true;
|
|
151
|
+
}
|
|
152
|
+
if (_.isUndefined(options.checkCircural)) {
|
|
153
|
+
options.checkCircural = false;
|
|
154
|
+
}
|
|
155
|
+
if (_.isUndefined(options.isGetter)) {
|
|
156
|
+
// @ts-ignore
|
|
157
|
+
options.isGetter = false;
|
|
158
|
+
}
|
|
159
|
+
if (_.isUndefined(options._valueChanged)) {
|
|
160
|
+
options._valueChanged = false;
|
|
161
|
+
}
|
|
162
|
+
if (_.isUndefined(options._exit)) {
|
|
163
|
+
// @ts-ignore
|
|
164
|
+
options._exit = false;
|
|
165
|
+
}
|
|
166
|
+
if (_.isUndefined(options.exit)) {
|
|
167
|
+
options.exit = () => {
|
|
168
|
+
options._exit = true;
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
if (_.isUndefined(options._skip)) {
|
|
172
|
+
// @ts-ignore
|
|
173
|
+
options._skip = false;
|
|
174
|
+
}
|
|
175
|
+
if (_.isUndefined(options.skipObject)) {
|
|
176
|
+
options.skipObject = () => {
|
|
177
|
+
options._skip = true;
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
if (options.checkCircural) {
|
|
181
|
+
if (_.isUndefined(options.db)) {
|
|
182
|
+
options.db = {};
|
|
183
|
+
}
|
|
184
|
+
if (_.isUndefined(options.stack)) {
|
|
185
|
+
options.stack = [];
|
|
186
|
+
}
|
|
187
|
+
if (_.isUndefined(options.circural)) {
|
|
188
|
+
options.circural = [];
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
const { db, stack } = options;
|
|
192
|
+
options.isCircural = false;
|
|
193
|
+
if (options.checkCircural && _.isObject(obj)) {
|
|
194
|
+
let indexValue = CLASS.OBJECT(obj).indexValue;
|
|
195
|
+
if (CLASS.OBJECT(obj).isClassObject && !_.isUndefined(indexValue)) {
|
|
196
|
+
let className = CLASS.getNameFromObject(obj);
|
|
197
|
+
let p = `${className}.id_${indexValue}`;
|
|
198
|
+
const inDB = _.get(db, p);
|
|
199
|
+
if (inDB && CLASS.OBJECT(inDB.target).isEqual(obj)) {
|
|
200
|
+
const circ = {
|
|
201
|
+
pathToObj: lodashPath,
|
|
202
|
+
circuralTargetPath: inDB.path,
|
|
203
|
+
};
|
|
204
|
+
// @ts-ignore
|
|
205
|
+
options.circural.push(circ);
|
|
206
|
+
options.isCircural = true;
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
_.set(db, p, {
|
|
210
|
+
path: lodashPath,
|
|
211
|
+
target: obj,
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
// @ts-ignore
|
|
217
|
+
const inStack = stack.find((c) => c.target == obj);
|
|
218
|
+
if (!_.isUndefined(inStack)) {
|
|
219
|
+
const circ = {
|
|
220
|
+
pathToObj: lodashPath,
|
|
221
|
+
circuralTargetPath: inStack.path,
|
|
222
|
+
};
|
|
223
|
+
// @ts-ignore
|
|
224
|
+
options.circural.push(circ);
|
|
225
|
+
options.isCircural = true;
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
// @ts-ignore
|
|
229
|
+
stack.push({
|
|
230
|
+
path: lodashPath,
|
|
231
|
+
target: obj,
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
return options;
|
|
237
|
+
}
|
|
238
|
+
static _walk(json, objOrWhatever, iterator, lodashPath = '', options, depthLevel = 0) {
|
|
239
|
+
if (!options) {
|
|
240
|
+
options = {};
|
|
241
|
+
}
|
|
242
|
+
// @ts-ignore
|
|
243
|
+
if (!options.breadthWalk) {
|
|
244
|
+
// @ts-ignore
|
|
245
|
+
options = this.prepareOptions(options, objOrWhatever, lodashPath);
|
|
246
|
+
// @ts-ignore
|
|
247
|
+
if (this._shoudlReturn(options.include, options.exclude, lodashPath)) {
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
// @ts-ignore
|
|
251
|
+
if (options.hasIterator && lodashPath !== '') {
|
|
252
|
+
iterator(objOrWhatever, lodashPath, this._changeValue(json, lodashPath, false, options), options);
|
|
253
|
+
}
|
|
254
|
+
// @ts-ignore
|
|
255
|
+
if (options._valueChanged) {
|
|
256
|
+
objOrWhatever = _.get(json, lodashPath);
|
|
257
|
+
}
|
|
258
|
+
options._valueChanged = false;
|
|
259
|
+
if (options.isCircural) {
|
|
260
|
+
options._skip = true;
|
|
261
|
+
}
|
|
262
|
+
if (options._skip) {
|
|
263
|
+
// @ts-ignore
|
|
264
|
+
options._skip = false;
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
if (options.breadthWalk) {
|
|
269
|
+
let queue = [{ v: json, p: lodashPath, parent: void 0 }];
|
|
270
|
+
while (queue.length > 0) {
|
|
271
|
+
const ver = queue.shift();
|
|
272
|
+
// @ts-ignore
|
|
273
|
+
if (this._shoudlReturn(options.include, options.exclude, ver.p)) {
|
|
274
|
+
continue;
|
|
275
|
+
}
|
|
276
|
+
// @ts-ignore
|
|
277
|
+
let { v, p } = ver;
|
|
278
|
+
// @ts-ignore
|
|
279
|
+
options = this.prepareOptions(options, v, p);
|
|
280
|
+
if (options._exit) {
|
|
281
|
+
console.log('EXIT');
|
|
282
|
+
return options;
|
|
283
|
+
}
|
|
284
|
+
if (options.hasIterator && p !== '') {
|
|
285
|
+
iterator(v, p, this._changeValue(json, p, false, options), options);
|
|
286
|
+
}
|
|
287
|
+
// @ts-ignore
|
|
288
|
+
if (options._valueChanged) {
|
|
289
|
+
ver.v = _.get(json, p);
|
|
290
|
+
}
|
|
291
|
+
options._valueChanged = false;
|
|
292
|
+
if (options.isCircural) {
|
|
293
|
+
continue;
|
|
294
|
+
}
|
|
295
|
+
if (options._skip) {
|
|
296
|
+
// @ts-ignore
|
|
297
|
+
options._skip = false;
|
|
298
|
+
continue;
|
|
299
|
+
}
|
|
300
|
+
if (_.isArray(v)) {
|
|
301
|
+
// @ts-ignore
|
|
302
|
+
queue = queue.concat(findChildren(ver, p, options.walkGetters));
|
|
303
|
+
}
|
|
304
|
+
else if (_.isObject(v)) {
|
|
305
|
+
// @ts-ignore
|
|
306
|
+
queue = queue.concat(findChildren(ver, p, options.walkGetters));
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
else {
|
|
311
|
+
// @ts-ignore
|
|
312
|
+
const { walkGetters } = options;
|
|
313
|
+
if (Array.isArray(objOrWhatever)) {
|
|
314
|
+
objOrWhatever.forEach((o, i) => {
|
|
315
|
+
// @ts-ignore
|
|
316
|
+
this._walk(json, objOrWhatever[i], iterator, `${lodashPath}[${i}]`, options, depthLevel + 1);
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
else if (_.isObject(objOrWhatever)) {
|
|
320
|
+
const allKeys = !walkGetters
|
|
321
|
+
? []
|
|
322
|
+
: Object.getOwnPropertyNames(objOrWhatever);
|
|
323
|
+
// @ts-ignore
|
|
324
|
+
for (const key in objOrWhatever) {
|
|
325
|
+
if (_.isObject(objOrWhatever) && objOrWhatever.hasOwnProperty(key)) {
|
|
326
|
+
_.pull(allKeys, key);
|
|
327
|
+
let newPropKey = key;
|
|
328
|
+
options.isGetter = false;
|
|
329
|
+
if (newPropKey.includes('.')) {
|
|
330
|
+
newPropKey = `['${newPropKey}']`;
|
|
331
|
+
}
|
|
332
|
+
// @ts-ignore
|
|
333
|
+
this._walk(json, objOrWhatever[newPropKey], iterator, `${lodashPath === '' ? '' : `${lodashPath}.`}${newPropKey}`, options, depthLevel + 1);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
if (walkGetters) {
|
|
337
|
+
for (let index = 0; index < allKeys.length; index++) {
|
|
338
|
+
if (_.isObject(objOrWhatever)) {
|
|
339
|
+
const key = allKeys[index];
|
|
340
|
+
// @ts-ignore
|
|
341
|
+
options.isGetter = true;
|
|
342
|
+
// @ts-ignore
|
|
343
|
+
this._walk(json, objOrWhatever[key], iterator, `${lodashPath === '' ? '' : `${lodashPath}.`}${key}`, options, depthLevel + 1);
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
// @ts-ignore
|
|
349
|
+
if (options._exit && json === objOrWhatever) {
|
|
350
|
+
// @ts-ignore
|
|
351
|
+
options._exit = false;
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
return options;
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
export const walk = {
|
|
358
|
+
Object: Helpers.Walk.Object,
|
|
359
|
+
ObjectBy: Helpers.Walk.ObjectBy,
|
|
360
|
+
};
|
|
361
|
+
;
|
|
362
|
+
({}); // @--end-of-file-for-module=lodash-walk-object lib/index.ts
|
|
363
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC9sb2Rhc2gtd2Fsay1vYmplY3QvcHJvamVjdHMvbG9kYXNoLXdhbGstb2JqZWN0L3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUd6RCxjQUFjLFVBQVUsQ0FBQztBQUV6QixTQUFTLFlBQVksQ0FDbkIsR0FBZSxFQUNmLEVBQVUsRUFDVixXQUFvQjtJQUVwQixNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ25CLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN0QixPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7U0FBTSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUMzQixNQUFNLE9BQU8sR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEUsTUFBTSxRQUFRLEdBQWlCLEVBQUUsQ0FBQztRQUNsQyxLQUFLLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLElBQ0UsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7Z0JBQ2Ys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QUFDO29CQUNoQixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNwRCxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQzs0QkFDOUIsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDOzRCQUUzQixhQUFhOzRCQUNiLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDOzRCQUN4QixhQUFhOzRCQUNiLElBQUksQ0FBQyxLQUFLLENBQ1IsSUFBSSxFQUNKLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFDbEIsUUFBUSxFQUNSLEdBQUcsVUFBVSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUNwRCxPQUFPLEVBQ1AsVUFBVSxHQUFHLENBQUMsQ0FDZixDQUFDO3dCQUNKLENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztZQUVELGFBQWE7WUFDYixJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxLQUFLLGFBQWEsRUFBRSxDQUFDO2dCQUM1QyxhQUFhO2dCQUNiLE9BQU8sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHO0lBQ2xCLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU07SUFDM0IsUUFBUSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUTtDQUNoQyxDQUFDO0FBRUQsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw0REFBNEQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgQ0xBU1MgfSBmcm9tICd0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvYnJvd3Nlcic7XG5cbmltcG9ydCB7IE1vZGVscyB9IGZyb20gJy4vbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcblxuZnVuY3Rpb24gZmluZENoaWxkcmVuKFxuICB2ZXI6IE1vZGVscy5WZXIsXG4gIGxwOiBzdHJpbmcsXG4gIHdhbGtHZXR0ZXJzOiBib29sZWFuLFxuKTogTW9kZWxzLlZlcltdIHtcbiAgY29uc3Qgb2JqID0gdmVyLnY7XG4gIGlmIChfLmlzQXJyYXkob2JqKSkge1xuICAgIHJldHVybiBvYmoubWFwKCh2LCBpKSA9PiB7XG4gICAgICByZXR1cm4geyB2LCBwOiBgJHtscH1bJHtpfV1gLCBwYXJlbnQ6IHZlciwgaXNHZXR0ZXI6IGZhbHNlIH07XG4gICAgfSk7XG4gIH0gZWxzZSBpZiAoXy5pc09iamVjdChvYmopKSB7XG4gICAgY29uc3QgYWxsS2V5cyA9ICF3YWxrR2V0dGVycyA/IFtdIDogT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTtcbiAgICBjb25zdCBjaGlsZHJlbjogTW9kZWxzLlZlcltdID0gW107XG4gICAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XG4gICAgICBpZiAoXG4gICAgICAgIF8uaXNPYmplY3Qob2JqKSAmJlxuICAgICAgICBfLmlzRnVuY3Rpb24ob2JqLmhhc093blByb3BlcnR5KSAmJlxuICAgICAgICBvYmouaGFzT3duUHJvcGVydHkoa2V5KVxuICAgICAgKSB7XG4gICAgICAgIF8ucHVsbChhbGxLZXlzLCBrZXkpO1xuICAgICAgICBjaGlsZHJlbi5wdXNoKHtcbiAgICAgICAgICB2OiBvYmpba2V5XSxcbiAgICAgICAgICBwOiBgJHtscCA9PT0gJycgPyAnJyA6IGAke2xwfS5gfSR7a2V5fWAsXG4gICAgICAgICAgcGFyZW50OiB2ZXIsXG4gICAgICAgICAgaXNHZXR0ZXI6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHdhbGtHZXR0ZXJzKSB7XG4gICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYWxsS2V5cy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgaWYgKF8uaXNPYmplY3Qob2JqKSkge1xuICAgICAgICAgIGNvbnN0IGtleSA9IGFsbEtleXNbaW5kZXhdO1xuICAgICAgICAgIGNoaWxkcmVuLnB1c2goe1xuICAgICAgICAgICAgdjogb2JqW2tleV0sXG4gICAgICAgICAgICBwOiBgJHtscCA9PT0gJycgPyAnJyA6IGAke2xwfS5gfSR7a2V5fWAsXG4gICAgICAgICAgICBwYXJlbnQ6IHZlcixcbiAgICAgICAgICAgIGlzR2V0dGVyOiB0cnVlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjaGlsZHJlbjtcbiAgfVxuICByZXR1cm4gW107XG59XG5cbmV4cG9ydCB0eXBlIEl0ZXJhdG9yID0gKFxuICB2YWx1ZTogYW55LFxuICBsb2Rhc2hQYXRoOiBzdHJpbmcsXG4gIC8vIEB0cy1pZ25vcmVcbiAgY2hhbmdlVmFsdWVUbzogKG5ld1ZhbHVlKSA9PiB2b2lkLFxuICBvcHRpb25zPzogTW9kZWxzLkFkZGl0aW9uYWxJdGVyYXRvck9wdGlvbnMsXG4pID0+IHZvaWQ7XG5leHBvcnQgY2xhc3MgSGVscGVycyB7XG4gIHB1YmxpYyBzdGF0aWMgZ2V0IFdhbGsoKSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgcmV0dXJuIHtcbiAgICAgIE9iamVjdChcbiAgICAgICAganNvbjogT2JqZWN0LFxuICAgICAgICBpdGVyYXRvcjogSXRlcmF0b3IsXG4gICAgICAgIG9wdGlvbnNPcldhbGtHZXR0ZXJzVmFsdWU/OiBNb2RlbHMuU3RhcnRJdGVyYXRvck9wdGlvbnMsXG4gICAgICApIHtcbiAgICAgICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZSkpIHtcbiAgICAgICAgICBvcHRpb25zT3JXYWxrR2V0dGVyc1ZhbHVlID0ge307XG4gICAgICAgIH1cblxuICAgICAgICAob3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZSBhcyBNb2RlbHMuSW50ZXJuYWxWYWx1ZXMpLmhhc0l0ZXJhdG9yID1cbiAgICAgICAgICBfLmlzRnVuY3Rpb24oaXRlcmF0b3IpO1xuXG4gICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnNPcldhbGtHZXR0ZXJzVmFsdWUuYnJlYWR0aFdhbGspKSB7XG4gICAgICAgICAgb3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZS5icmVhZHRoV2FsayA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHsgY2lyY3VyYWwgfSA9IHNlbGYuX3dhbGsoXG4gICAgICAgICAganNvbixcbiAgICAgICAgICBqc29uLFxuICAgICAgICAgIGl0ZXJhdG9yLFxuICAgICAgICAgIHZvaWQgMCxcbiAgICAgICAgICBvcHRpb25zT3JXYWxrR2V0dGVyc1ZhbHVlIGFzIGFueSxcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4geyBjaXJjczogY2lyY3VyYWwgfTtcbiAgICAgIH0sXG4gICAgICBPYmplY3RCeShcbiAgICAgICAgcHJvcGVydHk6IHN0cmluZyxcbiAgICAgICAgaW5Db250ZXh0OiBPYmplY3QsXG4gICAgICAgIGl0ZXJhdG9yOiBJdGVyYXRvcixcbiAgICAgICAgb3B0aW9ucz86IE1vZGVscy5TdGFydEl0ZXJhdG9yT3B0aW9ucyxcbiAgICAgICkge1xuICAgICAgICBpZiAoXy5pc0Z1bmN0aW9uKGl0ZXJhdG9yKSkge1xuICAgICAgICAgIGl0ZXJhdG9yKGluQ29udGV4dCwgJycsIHNlbGYuX2NoYW5nZVZhbHVlKGluQ29udGV4dCwgcHJvcGVydHksIHRydWUpKTsgLy8gVE9ETyBBZGQgb3B0b2luc1xuICAgICAgICB9XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgY29uc3QganNvbiA9IGluQ29udGV4dFtwcm9wZXJ0eV07XG4gICAgICAgIHJldHVybiBzZWxmLldhbGsuT2JqZWN0KGpzb24sIGl0ZXJhdG9yLCBvcHRpb25zKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIF9jaGFuZ2VWYWx1ZShcbiAgICBqc29uOiBPYmplY3QsXG4gICAgbG9kYWhQYXRoOiBzdHJpbmcsXG4gICAgc2ltcGxlQ2hhbmdlID0gZmFsc2UsXG4gICAgb3B0aW9ucz86IE1vZGVscy5JbnRlcm5hbFZhbHVlcyxcbiAgKSB7XG4gICAgdmFyIHsgY29udGV4dFBhdGgsIHByb3BlcnR5IH0gPSB0aGlzLl9wcmVwYXJlUGFyYW1zKGxvZGFoUGF0aCk7XG4gICAgdmFyIGNvbnRleHQgPSBfLmdldChqc29uLCBjb250ZXh0UGF0aCk7XG5cbiAgICByZXR1cm4gKG5ld1ZhbHVlOiBhbnkpID0+IHtcbiAgICAgIGlmIChjb250ZXh0UGF0aCA9PT0gJycpIHtcbiAgICAgICAgc2ltcGxlQ2hhbmdlID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHNpbXBsZUNoYW5nZSkge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGpzb25bcHJvcGVydHldID0gbmV3VmFsdWU7XG4gICAgICB9IGVsc2Uge1xuXG5cbiAgICAgICAgaWYgKGNvbnRleHQpIHtcbiAgICAgICAgICBjb250ZXh0W3Byb3BlcnR5XSA9IG5ld1ZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICBvcHRpb25zLl92YWx1ZUNoYW5nZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfcHJlcGFyZVBhcmFtcyhsb2Rhc2hQYXRoOiBzdHJpbmcpIHtcblxuICAgIGNvbnN0IGNvbnRleHRQYXRoID0gdGhpcy5fSGVscGVycy5QYXRoLmdldENvbnRleHRQYXRoKGxvZGFzaFBhdGgpO1xuXG5cbiAgICBsZXQgcHJvcGVydHkgPSB0aGlzLl9IZWxwZXJzLlBhdGguZ2V0UHJvcGVydHlQYXRoKGxvZGFzaFBhdGgsIGNvbnRleHRQYXRoKTtcblxuICAgIGlmIChcbiAgICAgIF8uaXNTdHJpbmcocHJvcGVydHkpICYmXG4gICAgICBwcm9wZXJ0eS50cmltKCkgIT09ICcnICYmXG4gICAgICAhXy5pc05hTihOdW1iZXIocHJvcGVydHkpKVxuICAgICkge1xuICAgICAgcHJvcGVydHkgPSBOdW1iZXIocHJvcGVydHkpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgY29udGV4dFBhdGgsXG4gICAgICBwcm9wZXJ0eSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0IF9IZWxwZXJzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBnZXQgUGF0aCgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgZ2V0UHJvcGVydHlQYXRoKGxvZGFoUGF0aCwgY29udGV0UGF0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGxvZGFoUGF0aFxuICAgICAgICAgICAgICAucmVwbGFjZShjb250ZXRQYXRoLCAnJylcbiAgICAgICAgICAgICAgLnJlcGxhY2UoL15cXC4vLCAnJylcbiAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcWy8sICcnKVxuICAgICAgICAgICAgICAucmVwbGFjZSgvXFxdLywgJycpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZ2V0Q29udGV4dFBhdGgocDogc3RyaW5nKSB7XG4gICAgICAgICAgICBsZXQgcmVzOiBzdHJpbmc7XG4gICAgICAgICAgICBpZiAocC5lbmRzV2l0aCgnXScpKSB7XG4gICAgICAgICAgICAgIHJlcyA9IHAucmVwbGFjZSgvXFxbKFxcXCJ8XFwnKT9bMC05XSsoXFxcInxcXCcpP1xcXSQvLCAnJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXMgPSBwLnJlcGxhY2UoL1xcLihbYS16QS1aMC05XXxcXCR8XFxffFxcQHxcXC18XFwvfFxcOikrJC8sICcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXMgPT09IHAgPyAnJyA6IHJlcztcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX3Nob3VkbFJldHVybihpbmNsdWRlID0gW10sIGV4Y2x1ZGUgPSBbXSwgbG9kYXNoUGF0aDogc3RyaW5nKSB7XG4gICAgbGV0IHJlcyA9IGZhbHNlO1xuICAgIGlmIChsb2Rhc2hQYXRoLnJlcGxhY2UoL15cXFsoXFwnfFxcXCIpP1swLTldKihcXCd8XFxcIik/XFxdLywgJycpLnRyaW0oKSAhPT0gJycpIHtcbiAgICAgIGxvZGFzaFBhdGggPSBsb2Rhc2hQYXRoLnJlcGxhY2UoL15cXFsoXFwnfFxcXCIpP1swLTldKihcXCd8XFxcIik/XFxdXFwuLywgJycpO1xuICAgICAgcmVzID1cbiAgICAgICAgKF8uaXNBcnJheShpbmNsdWRlKSAmJlxuICAgICAgICAgIGluY2x1ZGUubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICFpbmNsdWRlLmZpbmQocCA9PiBsb2Rhc2hQYXRoLnN0YXJ0c1dpdGgocCkpKSB8fFxuICAgICAgICAoXy5pc0FycmF5KGV4Y2x1ZGUpICYmXG4gICAgICAgICAgZXhjbHVkZS5sZW5ndGggPiAwICYmXG4gICAgICAgICAgISFleGNsdWRlLmZpbmQocCA9PiBsb2Rhc2hQYXRoLnN0YXJ0c1dpdGgocCkpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBwcml2YXRlIHN0YXRpYyBwcmVwYXJlT3B0aW9ucyhcbiAgICBvcHRpb25zOiBNb2RlbHMuSW50ZXJuYWxWYWx1ZXMsXG4gICAgb2JqLFxuICAgIGxvZGFzaFBhdGgsXG4gICkge1xuICAgIGlmIChvcHRpb25zLl9leGl0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy53YWxrR2V0dGVycykpIHtcbiAgICAgIG9wdGlvbnMud2Fsa0dldHRlcnMgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuY2hlY2tDaXJjdXJhbCkpIHtcbiAgICAgIG9wdGlvbnMuY2hlY2tDaXJjdXJhbCA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuaXNHZXR0ZXIpKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBvcHRpb25zLmlzR2V0dGVyID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5fdmFsdWVDaGFuZ2VkKSkge1xuICAgICAgb3B0aW9ucy5fdmFsdWVDaGFuZ2VkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5fZXhpdCkpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG9wdGlvbnMuX2V4aXQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoXy5pc1VuZGVmaW5lZChvcHRpb25zLmV4aXQpKSB7XG4gICAgICBvcHRpb25zLmV4aXQgPSAoKSA9PiB7XG4gICAgICAgIG9wdGlvbnMuX2V4aXQgPSB0cnVlO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoXy5pc1VuZGVmaW5lZChvcHRpb25zLl9za2lwKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgb3B0aW9ucy5fc2tpcCA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuc2tpcE9iamVjdCkpIHtcbiAgICAgIG9wdGlvbnMuc2tpcE9iamVjdCA9ICgpID0+IHtcbiAgICAgICAgb3B0aW9ucy5fc2tpcCA9IHRydWU7XG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmNoZWNrQ2lyY3VyYWwpIHtcbiAgICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuZGIpKSB7XG4gICAgICAgIG9wdGlvbnMuZGIgPSB7fTtcbiAgICAgIH1cblxuICAgICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5zdGFjaykpIHtcbiAgICAgICAgb3B0aW9ucy5zdGFjayA9IFtdO1xuICAgICAgfVxuXG4gICAgICBpZiAoXy5pc1VuZGVmaW5lZChvcHRpb25zLmNpcmN1cmFsKSkge1xuICAgICAgICBvcHRpb25zLmNpcmN1cmFsID0gW107XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgeyBkYiwgc3RhY2sgfSA9IG9wdGlvbnM7XG4gICAgb3B0aW9ucy5pc0NpcmN1cmFsID0gZmFsc2U7XG5cbiAgICBpZiAob3B0aW9ucy5jaGVja0NpcmN1cmFsICYmIF8uaXNPYmplY3Qob2JqKSkge1xuICAgICAgbGV0IGluZGV4VmFsdWUgPSBDTEFTUy5PQkpFQ1Qob2JqKS5pbmRleFZhbHVlO1xuICAgICAgaWYgKENMQVNTLk9CSkVDVChvYmopLmlzQ2xhc3NPYmplY3QgJiYgIV8uaXNVbmRlZmluZWQoaW5kZXhWYWx1ZSkpIHtcbiAgICAgICAgbGV0IGNsYXNzTmFtZSA9IENMQVNTLmdldE5hbWVGcm9tT2JqZWN0KG9iaik7XG4gICAgICAgIGxldCBwID0gYCR7Y2xhc3NOYW1lfS5pZF8ke2luZGV4VmFsdWV9YDtcbiAgICAgICAgY29uc3QgaW5EQjogTW9kZWxzLkluREJUeXBlID0gXy5nZXQoZGIsIHApO1xuXG4gICAgICAgIGlmIChpbkRCICYmIENMQVNTLk9CSkVDVChpbkRCLnRhcmdldCkuaXNFcXVhbChvYmopKSB7XG4gICAgICAgICAgY29uc3QgY2lyYzogTW9kZWxzLkNpcmMgPSB7XG4gICAgICAgICAgICBwYXRoVG9PYmo6IGxvZGFzaFBhdGgsXG4gICAgICAgICAgICBjaXJjdXJhbFRhcmdldFBhdGg6IGluREIucGF0aCxcbiAgICAgICAgICB9O1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBvcHRpb25zLmNpcmN1cmFsLnB1c2goY2lyYyk7XG4gICAgICAgICAgb3B0aW9ucy5pc0NpcmN1cmFsID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBfLnNldChkYiwgcCwge1xuICAgICAgICAgICAgcGF0aDogbG9kYXNoUGF0aCxcbiAgICAgICAgICAgIHRhcmdldDogb2JqLFxuICAgICAgICAgIH0gYXMgTW9kZWxzLkluREJUeXBlKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBpblN0YWNrID0gc3RhY2suZmluZCgoYzogTW9kZWxzLkluREJUeXBlKSA9PiBjLnRhcmdldCA9PSBvYmopO1xuXG4gICAgICAgIGlmICghXy5pc1VuZGVmaW5lZChpblN0YWNrKSkge1xuICAgICAgICAgIGNvbnN0IGNpcmM6IE1vZGVscy5DaXJjID0ge1xuICAgICAgICAgICAgcGF0aFRvT2JqOiBsb2Rhc2hQYXRoLFxuICAgICAgICAgICAgY2lyY3VyYWxUYXJnZXRQYXRoOiBpblN0YWNrLnBhdGgsXG4gICAgICAgICAgfTtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgb3B0aW9ucy5jaXJjdXJhbC5wdXNoKGNpcmMpO1xuICAgICAgICAgIG9wdGlvbnMuaXNDaXJjdXJhbCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHN0YWNrLnB1c2goe1xuICAgICAgICAgICAgcGF0aDogbG9kYXNoUGF0aCxcbiAgICAgICAgICAgIHRhcmdldDogb2JqLFxuICAgICAgICAgIH0gYXMgTW9kZWxzLkluREJUeXBlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIF93YWxrKFxuICAgIGpzb246IE9iamVjdCxcbiAgICBvYmpPcldoYXRldmVyOiB1bmtub3duLFxuICAgIGl0ZXJhdG9yOiBJdGVyYXRvcixcbiAgICBsb2Rhc2hQYXRoID0gJycsXG4gICAgb3B0aW9ucz86IE1vZGVscy5JbnRlcm5hbFZhbHVlcyxcbiAgICBkZXB0aExldmVsID0gMCxcbiAgKSB7XG4gICAgaWYgKCFvcHRpb25zKSB7XG4gICAgICBvcHRpb25zID0ge30gYXMgYW55O1xuICAgIH1cblxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAoIW9wdGlvbnMuYnJlYWR0aFdhbGspIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG9wdGlvbnMgPSB0aGlzLnByZXBhcmVPcHRpb25zKG9wdGlvbnMsIG9iak9yV2hhdGV2ZXIsIGxvZGFzaFBhdGgpO1xuXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAodGhpcy5fc2hvdWRsUmV0dXJuKG9wdGlvbnMuaW5jbHVkZSwgb3B0aW9ucy5leGNsdWRlLCBsb2Rhc2hQYXRoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGlmIChvcHRpb25zLmhhc0l0ZXJhdG9yICYmIGxvZGFzaFBhdGggIT09ICcnKSB7XG4gICAgICAgIGl0ZXJhdG9yKFxuICAgICAgICAgIG9iak9yV2hhdGV2ZXIsXG4gICAgICAgICAgbG9kYXNoUGF0aCxcbiAgICAgICAgICB0aGlzLl9jaGFuZ2VWYWx1ZShqc29uLCBsb2Rhc2hQYXRoLCBmYWxzZSwgb3B0aW9ucyksXG4gICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKG9wdGlvbnMuX3ZhbHVlQ2hhbmdlZCkge1xuICAgICAgICBvYmpPcldoYXRldmVyID0gXy5nZXQoanNvbiwgbG9kYXNoUGF0aCk7XG4gICAgICB9XG4gICAgICBvcHRpb25zLl92YWx1ZUNoYW5nZWQgPSBmYWxzZTtcblxuICAgICAgaWYgKG9wdGlvbnMuaXNDaXJjdXJhbCkge1xuICAgICAgICBvcHRpb25zLl9za2lwID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG9wdGlvbnMuX3NraXApIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBvcHRpb25zLl9za2lwID0gZmFsc2U7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5icmVhZHRoV2Fsaykge1xuICAgICAgbGV0IHF1ZXVlOiBNb2RlbHMuVmVyW10gPSBbeyB2OiBqc29uLCBwOiBsb2Rhc2hQYXRoLCBwYXJlbnQ6IHZvaWQgMCB9XTtcblxuXG4gICAgICB3aGlsZSAocXVldWUubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCB2ZXIgPSBxdWV1ZS5zaGlmdCgpO1xuXG5cblxuXG5cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBpZiAodGhpcy5fc2hvdWRsUmV0dXJuKG9wdGlvbnMuaW5jbHVkZSwgb3B0aW9ucy5leGNsdWRlLCB2ZXIucCkpIHtcblxuXG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuXG5cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBsZXQgeyB2LCBwIH0gPSB2ZXI7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgb3B0aW9ucyA9IHRoaXMucHJlcGFyZU9wdGlvbnMob3B0aW9ucywgdiwgcCk7XG5cbiAgICAgICAgaWYgKG9wdGlvbnMuX2V4aXQpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZygnRVhJVCcpO1xuICAgICAgICAgIHJldHVybiBvcHRpb25zO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zLmhhc0l0ZXJhdG9yICYmIHAgIT09ICcnKSB7XG4gICAgICAgICAgaXRlcmF0b3IodiwgcCwgdGhpcy5fY2hhbmdlVmFsdWUoanNvbiwgcCwgZmFsc2UsIG9wdGlvbnMpLCBvcHRpb25zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgaWYgKG9wdGlvbnMuX3ZhbHVlQ2hhbmdlZCkge1xuICAgICAgICAgIHZlci52ID0gXy5nZXQoanNvbiwgcCk7XG4gICAgICAgIH1cbiAgICAgICAgb3B0aW9ucy5fdmFsdWVDaGFuZ2VkID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKG9wdGlvbnMuaXNDaXJjdXJhbCkge1xuXG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0aW9ucy5fc2tpcCkge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBvcHRpb25zLl9za2lwID0gZmFsc2U7XG5cbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChfLmlzQXJyYXkodikpIHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgcXVldWUgPSBxdWV1ZS5jb25jYXQoZmluZENoaWxkcmVuKHZlciwgcCwgb3B0aW9ucy53YWxrR2V0dGVycykpO1xuICAgICAgICB9IGVsc2UgaWYgKF8uaXNPYmplY3QodikpIHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgcXVldWUgPSBxdWV1ZS5jb25jYXQoZmluZENoaWxkcmVuKHZlciwgcCwgb3B0aW9ucy53YWxrR2V0dGVycykpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGNvbnN0IHsgd2Fsa0dldHRlcnMgfSA9IG9wdGlvbnM7XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KG9iak9yV2hhdGV2ZXIpKSB7XG4gICAgICAgIG9iak9yV2hhdGV2ZXIuZm9yRWFjaCgobywgaSkgPT4ge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICB0aGlzLl93YWxrKFxuICAgICAgICAgICAganNvbixcbiAgICAgICAgICAgIG9iak9yV2hhdGV2ZXJbaV0sXG4gICAgICAgICAgICBpdGVyYXRvcixcbiAgICAgICAgICAgIGAke2xvZGFzaFBhdGh9WyR7aX1dYCxcbiAgICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgICBkZXB0aExldmVsICsgMSxcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoXy5pc09iamVjdChvYmpPcldoYXRldmVyKSkge1xuICAgICAgICBjb25zdCBhbGxLZXlzID0gIXdhbGtHZXR0ZXJzXG4gICAgICAgICAgPyBbXVxuICAgICAgICAgIDogT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqT3JXaGF0ZXZlcik7XG5cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmpPcldoYXRldmVyKSB7XG5cbiAgICAgICAgICBpZiAoXy5pc09iamVjdChvYmpPcldoYXRldmVyKSAmJiBvYmpPcldoYXRldmVyLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgIF8ucHVsbChhbGxLZXlzLCBrZXkpO1xuXG4gICAgICAgICAgICBsZXQgbmV3UHJvcEtleSA9IGtleTtcbiAgICAgICAgICAgIG9wdGlvbnMuaXNHZXR0ZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmIChuZXdQcm9wS2V5LmluY2x1ZGVzKCcuJykpIHtcbiAgICAgICAgICAgICAgbmV3UHJvcEtleSA9IGBbJyR7bmV3UHJvcEtleX0nXWA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICB0aGlzLl93YWxrKFxuICAgICAgICAgICAgICBqc29uLFxuICAgICAgICAgICAgICBvYmpPcldoYXRldmVyW25ld1Byb3BLZXldLFxuICAgICAgICAgICAgICBpdGVyYXRvcixcbiAgICAgICAgICAgICAgYCR7bG9kYXNoUGF0aCA9PT0gJycgPyAnJyA6IGAke2xvZGFzaFBhdGh9LmB9JHtuZXdQcm9wS2V5fWAsXG4gICAgICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgICAgIGRlcHRoTGV2ZWwgKyAxLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHdhbGtHZXR0ZXJzKSB7XG4gICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGFsbEtleXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICBpZiAoXy5pc09iamVjdChvYmpPcldoYXRldmVyKSkge1xuICAgICAgICAgICAgICBjb25zdCBrZXkgPSBhbGxLZXlzW2luZGV4XTtcblxuICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgIG9wdGlvbnMuaXNHZXR0ZXIgPSB0cnVlO1xuICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgIHRoaXMuX3dhbGsoXG4gICAgICAgICAgICAgICAganNvbixcbiAgICAgICAgICAgICAgICBvYmpPcldoYXRldmVyW2tleV0sXG4gICAgICAgICAgICAgICAgaXRlcmF0b3IsXG4gICAgICAgICAgICAgICAgYCR7bG9kYXNoUGF0aCA9PT0gJycgPyAnJyA6IGAke2xvZGFzaFBhdGh9LmB9JHtrZXl9YCxcbiAgICAgICAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgICAgICAgIGRlcHRoTGV2ZWwgKyAxLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAob3B0aW9ucy5fZXhpdCAmJiBqc29uID09PSBvYmpPcldoYXRldmVyKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgb3B0aW9ucy5fZXhpdCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBvcHRpb25zO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCB3YWxrID0ge1xuICBPYmplY3Q6IEhlbHBlcnMuV2Fsay5PYmplY3QsXG4gIE9iamVjdEJ5OiBIZWxwZXJzLldhbGsuT2JqZWN0QnksXG59O1xuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9bG9kYXNoLXdhbGstb2JqZWN0IGxpYi9pbmRleC50cyJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
;
|
|
2
|
+
({}); // @--end-of-file-for-module=lodash-walk-object lib/models.ts
|
|
3
|
+
export {};
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvbG9kYXNoLXdhbGstb2JqZWN0L3Byb2plY3RzL2xvZGFzaC13YWxrLW9iamVjdC9zcmMvbGliL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2Q0MsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw2REFBNkQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuZXhwb3J0IG5hbWVzcGFjZSBNb2RlbHMge1xuXG4gIGV4cG9ydCB0eXBlIEluREJUeXBlID0geyB0YXJnZXQ6IGFueTsgcGF0aDogc3RyaW5nOyB9O1xuICBleHBvcnQgdHlwZSBDaXJjID0geyBwYXRoVG9PYmo6IHN0cmluZzsgY2lyY3VyYWxUYXJnZXRQYXRoOiBzdHJpbmc7IH07XG5cblxuICAvLyBAdHMtaWdub3JlXG4gIGV4cG9ydCB0eXBlIFZlciA9IHsgdjogYW55OyBwOiBzdHJpbmc7IHBhcmVudDogVmVyOyBpc0dldHRlcj86IGJvb2xlYW47IH1cblxuICBleHBvcnQgaW50ZXJmYWNlIFN0YXJ0SXRlcmF0b3JPcHRpb25zIHtcbiAgICB3YWxrR2V0dGVycz86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBEZWZhdWx0IGluIGJyZWFkaFR3YWxrXG4gICAgICovXG4gICAgY2hlY2tDaXJjdXJhbD86IGJvb2xlYW47XG4gICAgYnJlYWR0aFdhbGs/OiBib29sZWFuO1xuICAgIGluY2x1ZGU/OiBzdHJpbmdbXTtcbiAgICBleGNsdWRlPzogc3RyaW5nW107XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIEFkZGl0aW9uYWxJdGVyYXRvck9wdGlvbnMgZXh0ZW5kcyBTdGFydEl0ZXJhdG9yT3B0aW9ucyB7XG4gICAgc2tpcE9iamVjdD86ICgpID0+IHZvaWQ7XG4gICAgaXNHZXR0ZXI/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEJyZWFkdGggd2FsayB3aWxsIHNraXAgY29udGVudCBvZiBjaXJjdXJhbCBvYmplY3RzXG4gICAgICovXG4gICAgaXNDaXJjdXJhbD86IGJvb2xlYW47XG4gICAgZXhpdD86ICgpID0+IHZvaWQ7XG5cbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgSW50ZXJuYWxWYWx1ZXMgZXh0ZW5kcyBBZGRpdGlvbmFsSXRlcmF0b3JPcHRpb25zIHtcbiAgICBkYj86IGFueTtcbiAgICBzdGFjaz86IGFueVtdO1xuICAgIGNpcmN1cmFsPzogQ2lyY1tdO1xuICAgIGhhc0l0ZXJhdG9yPzogYm9vbGVhbjtcbiAgICBfdmFsdWVDaGFuZ2VkOiBib29sZWFuO1xuICAgIF9za2lwOiBib29sZWFuO1xuICAgIF9leGl0OiBib29sZWFuO1xuICB9XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT1sb2Rhc2gtd2Fsay1vYmplY3QgbGliL21vZGVscy50cyJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9kYXNoLXdhbGstb2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvbG9kYXNoLXdhbGstb2JqZWN0L3Byb2plY3RzL2xvZGFzaC13YWxrLW9iamVjdC9zcmMvbG9kYXNoLXdhbGstb2JqZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './lib';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L2xvZGFzaC13YWxrLW9iamVjdC9wcm9qZWN0cy9sb2Rhc2gtd2Fsay1vYmplY3Qvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYic7XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lodash-walk-object.mjs","sources":["../../../tmp-libs-for-dist/lodash-walk-object/projects/lodash-walk-object/src/lib/models.ts","../../../tmp-libs-for-dist/lodash-walk-object/projects/lodash-walk-object/src/lib/index.ts","../../../tmp-libs-for-dist/lodash-walk-object/projects/lodash-walk-object/src/lodash-walk-object.ts"],"sourcesContent":["\n\nexport namespace Models {\n\n export type InDBType = { target: any; path: string; };\n export type Circ = { pathToObj: string; circuralTargetPath: string; };\n\n\n // @ts-ignore\n export type Ver = { v: any; p: string; parent: Ver; isGetter?: boolean; }\n\n export interface StartIteratorOptions {\n walkGetters?: boolean;\n\n /**\n * Default in breadhTwalk\n */\n checkCircural?: boolean;\n breadthWalk?: boolean;\n include?: string[];\n exclude?: string[];\n }\n\n export interface AdditionalIteratorOptions extends StartIteratorOptions {\n skipObject?: () => void;\n isGetter?: boolean;\n /**\n * Breadth walk will skip content of circural objects\n */\n isCircural?: boolean;\n exit?: () => void;\n\n }\n\n export interface InternalValues extends AdditionalIteratorOptions {\n db?: any;\n stack?: any[];\n circural?: Circ[];\n hasIterator?: boolean;\n _valueChanged: boolean;\n _skip: boolean;\n _exit: boolean;\n }\n}\n\n ;({}); // @--end-of-file-for-module=lodash-walk-object lib/models.ts","\n\nimport { _ } from 'tnp-core/browser';\nimport { CLASS } from 'typescript-class-helpers/browser';\n\nimport { Models } from './models';\nexport * from './models';\n\nfunction findChildren(\n ver: Models.Ver,\n lp: string,\n walkGetters: boolean,\n): Models.Ver[] {\n const obj = ver.v;\n if (_.isArray(obj)) {\n return obj.map((v, i) => {\n return { v, p: `${lp}[${i}]`, parent: ver, isGetter: false };\n });\n } else if (_.isObject(obj)) {\n const allKeys = !walkGetters ? [] : Object.getOwnPropertyNames(obj);\n const children: Models.Ver[] = [];\n for (const key in obj) {\n if (\n _.isObject(obj) &&\n _.isFunction(obj.hasOwnProperty) &&\n obj.hasOwnProperty(key)\n ) {\n _.pull(allKeys, key);\n children.push({\n v: obj[key],\n p: `${lp === '' ? '' : `${lp}.`}${key}`,\n parent: ver,\n isGetter: false,\n });\n }\n }\n if (walkGetters) {\n for (let index = 0; index < allKeys.length; index++) {\n if (_.isObject(obj)) {\n const key = allKeys[index];\n children.push({\n v: obj[key],\n p: `${lp === '' ? '' : `${lp}.`}${key}`,\n parent: ver,\n isGetter: true,\n });\n }\n }\n }\n return children;\n }\n return [];\n}\n\nexport type Iterator = (\n value: any,\n lodashPath: string,\n // @ts-ignore\n changeValueTo: (newValue) => void,\n options?: Models.AdditionalIteratorOptions,\n) => void;\nexport class Helpers {\n public static get Walk() {\n const self = this;\n return {\n Object(\n json: Object,\n iterator: Iterator,\n optionsOrWalkGettersValue?: Models.StartIteratorOptions,\n ) {\n if (_.isUndefined(optionsOrWalkGettersValue)) {\n optionsOrWalkGettersValue = {};\n }\n\n (optionsOrWalkGettersValue as Models.InternalValues).hasIterator =\n _.isFunction(iterator);\n\n if (_.isUndefined(optionsOrWalkGettersValue.breadthWalk)) {\n optionsOrWalkGettersValue.breadthWalk = false;\n }\n\n let { circural } = self._walk(\n json,\n json,\n iterator,\n void 0,\n optionsOrWalkGettersValue as any,\n );\n\n return { circs: circural };\n },\n ObjectBy(\n property: string,\n inContext: Object,\n iterator: Iterator,\n options?: Models.StartIteratorOptions,\n ) {\n if (_.isFunction(iterator)) {\n iterator(inContext, '', self._changeValue(inContext, property, true)); // TODO Add optoins\n }\n // @ts-ignore\n const json = inContext[property];\n return self.Walk.Object(json, iterator, options);\n },\n };\n }\n\n private static _changeValue(\n json: Object,\n lodahPath: string,\n simpleChange = false,\n options?: Models.InternalValues,\n ) {\n var { contextPath, property } = this._prepareParams(lodahPath);\n var context = _.get(json, contextPath);\n\n return (newValue: any) => {\n if (contextPath === '') {\n simpleChange = true;\n }\n\n if (simpleChange) {\n // @ts-ignore\n json[property] = newValue;\n } else {\n\n\n if (context) {\n context[property] = newValue;\n }\n }\n if (options) {\n options._valueChanged = true;\n }\n };\n }\n\n private static _prepareParams(lodashPath: string) {\n\n const contextPath = this._Helpers.Path.getContextPath(lodashPath);\n\n\n let property = this._Helpers.Path.getPropertyPath(lodashPath, contextPath);\n\n if (\n _.isString(property) &&\n property.trim() !== '' &&\n !_.isNaN(Number(property))\n ) {\n property = Number(property);\n }\n return {\n contextPath,\n property,\n };\n }\n\n private static get _Helpers() {\n return {\n get Path() {\n return {\n // @ts-ignore\n getPropertyPath(lodahPath, contetPath) {\n return lodahPath\n .replace(contetPath, '')\n .replace(/^\\./, '')\n .replace(/\\[/, '')\n .replace(/\\]/, '');\n },\n getContextPath(p: string) {\n let res: string;\n if (p.endsWith(']')) {\n res = p.replace(/\\[(\\\"|\\')?[0-9]+(\\\"|\\')?\\]$/, '');\n } else {\n res = p.replace(/\\.([a-zA-Z0-9]|\\$|\\_|\\@|\\-|\\/|\\:)+$/, '');\n }\n return res === p ? '' : res;\n },\n };\n },\n };\n }\n\n private static _shoudlReturn(include = [], exclude = [], lodashPath: string) {\n let res = false;\n if (lodashPath.replace(/^\\[(\\'|\\\")?[0-9]*(\\'|\\\")?\\]/, '').trim() !== '') {\n lodashPath = lodashPath.replace(/^\\[(\\'|\\\")?[0-9]*(\\'|\\\")?\\]\\./, '');\n res =\n (_.isArray(include) &&\n include.length > 0 &&\n !include.find(p => lodashPath.startsWith(p))) ||\n (_.isArray(exclude) &&\n exclude.length > 0 &&\n !!exclude.find(p => lodashPath.startsWith(p)));\n }\n\n return res;\n }\n\n // @ts-ignore\n private static prepareOptions(\n options: Models.InternalValues,\n obj,\n lodashPath,\n ) {\n if (options._exit) {\n return;\n }\n\n if (_.isUndefined(options.walkGetters)) {\n options.walkGetters = true;\n }\n\n if (_.isUndefined(options.checkCircural)) {\n options.checkCircural = false;\n }\n\n if (_.isUndefined(options.isGetter)) {\n // @ts-ignore\n options.isGetter = false;\n }\n\n if (_.isUndefined(options._valueChanged)) {\n options._valueChanged = false;\n }\n\n if (_.isUndefined(options._exit)) {\n // @ts-ignore\n options._exit = false;\n }\n\n if (_.isUndefined(options.exit)) {\n options.exit = () => {\n options._exit = true;\n };\n }\n\n if (_.isUndefined(options._skip)) {\n // @ts-ignore\n options._skip = false;\n }\n\n if (_.isUndefined(options.skipObject)) {\n options.skipObject = () => {\n options._skip = true;\n };\n }\n\n if (options.checkCircural) {\n if (_.isUndefined(options.db)) {\n options.db = {};\n }\n\n if (_.isUndefined(options.stack)) {\n options.stack = [];\n }\n\n if (_.isUndefined(options.circural)) {\n options.circural = [];\n }\n }\n\n const { db, stack } = options;\n options.isCircural = false;\n\n if (options.checkCircural && _.isObject(obj)) {\n let indexValue = CLASS.OBJECT(obj).indexValue;\n if (CLASS.OBJECT(obj).isClassObject && !_.isUndefined(indexValue)) {\n let className = CLASS.getNameFromObject(obj);\n let p = `${className}.id_${indexValue}`;\n const inDB: Models.InDBType = _.get(db, p);\n\n if (inDB && CLASS.OBJECT(inDB.target).isEqual(obj)) {\n const circ: Models.Circ = {\n pathToObj: lodashPath,\n circuralTargetPath: inDB.path,\n };\n // @ts-ignore\n options.circural.push(circ);\n options.isCircural = true;\n } else {\n _.set(db, p, {\n path: lodashPath,\n target: obj,\n } as Models.InDBType);\n }\n } else {\n // @ts-ignore\n const inStack = stack.find((c: Models.InDBType) => c.target == obj);\n\n if (!_.isUndefined(inStack)) {\n const circ: Models.Circ = {\n pathToObj: lodashPath,\n circuralTargetPath: inStack.path,\n };\n // @ts-ignore\n options.circural.push(circ);\n options.isCircural = true;\n } else {\n // @ts-ignore\n stack.push({\n path: lodashPath,\n target: obj,\n } as Models.InDBType);\n }\n }\n }\n return options;\n }\n\n private static _walk(\n json: Object,\n objOrWhatever: unknown,\n iterator: Iterator,\n lodashPath = '',\n options?: Models.InternalValues,\n depthLevel = 0,\n ) {\n if (!options) {\n options = {} as any;\n }\n\n // @ts-ignore\n if (!options.breadthWalk) {\n // @ts-ignore\n options = this.prepareOptions(options, objOrWhatever, lodashPath);\n\n // @ts-ignore\n if (this._shoudlReturn(options.include, options.exclude, lodashPath)) {\n return;\n }\n\n // @ts-ignore\n if (options.hasIterator && lodashPath !== '') {\n iterator(\n objOrWhatever,\n lodashPath,\n this._changeValue(json, lodashPath, false, options),\n options,\n );\n }\n\n // @ts-ignore\n if (options._valueChanged) {\n objOrWhatever = _.get(json, lodashPath);\n }\n options._valueChanged = false;\n\n if (options.isCircural) {\n options._skip = true;\n }\n\n if (options._skip) {\n // @ts-ignore\n options._skip = false;\n return;\n }\n }\n\n if (options.breadthWalk) {\n let queue: Models.Ver[] = [{ v: json, p: lodashPath, parent: void 0 }];\n\n\n while (queue.length > 0) {\n const ver = queue.shift();\n\n\n\n\n\n // @ts-ignore\n if (this._shoudlReturn(options.include, options.exclude, ver.p)) {\n\n\n continue;\n }\n\n\n\n // @ts-ignore\n let { v, p } = ver;\n // @ts-ignore\n options = this.prepareOptions(options, v, p);\n\n if (options._exit) {\n console.log('EXIT');\n return options;\n }\n if (options.hasIterator && p !== '') {\n iterator(v, p, this._changeValue(json, p, false, options), options);\n }\n\n // @ts-ignore\n if (options._valueChanged) {\n ver.v = _.get(json, p);\n }\n options._valueChanged = false;\n\n if (options.isCircural) {\n\n continue;\n }\n\n if (options._skip) {\n // @ts-ignore\n options._skip = false;\n\n continue;\n }\n\n if (_.isArray(v)) {\n // @ts-ignore\n queue = queue.concat(findChildren(ver, p, options.walkGetters));\n } else if (_.isObject(v)) {\n // @ts-ignore\n queue = queue.concat(findChildren(ver, p, options.walkGetters));\n }\n }\n } else {\n // @ts-ignore\n const { walkGetters } = options;\n\n if (Array.isArray(objOrWhatever)) {\n objOrWhatever.forEach((o, i) => {\n // @ts-ignore\n this._walk(\n json,\n objOrWhatever[i],\n iterator,\n `${lodashPath}[${i}]`,\n options,\n depthLevel + 1,\n );\n });\n } else if (_.isObject(objOrWhatever)) {\n const allKeys = !walkGetters\n ? []\n : Object.getOwnPropertyNames(objOrWhatever);\n\n // @ts-ignore\n for (const key in objOrWhatever) {\n\n if (_.isObject(objOrWhatever) && objOrWhatever.hasOwnProperty(key)) {\n _.pull(allKeys, key);\n\n let newPropKey = key;\n options.isGetter = false;\n if (newPropKey.includes('.')) {\n newPropKey = `['${newPropKey}']`;\n }\n // @ts-ignore\n this._walk(\n json,\n objOrWhatever[newPropKey],\n iterator,\n `${lodashPath === '' ? '' : `${lodashPath}.`}${newPropKey}`,\n options,\n depthLevel + 1,\n );\n }\n }\n if (walkGetters) {\n for (let index = 0; index < allKeys.length; index++) {\n if (_.isObject(objOrWhatever)) {\n const key = allKeys[index];\n\n // @ts-ignore\n options.isGetter = true;\n // @ts-ignore\n this._walk(\n json,\n objOrWhatever[key],\n iterator,\n `${lodashPath === '' ? '' : `${lodashPath}.`}${key}`,\n options,\n depthLevel + 1,\n );\n }\n }\n }\n }\n\n // @ts-ignore\n if (options._exit && json === objOrWhatever) {\n // @ts-ignore\n options._exit = false;\n }\n }\n\n return options;\n }\n}\n\nexport const walk = {\n Object: Helpers.Walk.Object,\n ObjectBy: Helpers.Walk.ObjectBy,\n};\n\n ;({}); // @--end-of-file-for-module=lodash-walk-object lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lodash-walk-object.mjs","sources":["../../../tmp-libs-for-dist/lodash-walk-object/projects/lodash-walk-object/src/lib/models.ts","../../../tmp-libs-for-dist/lodash-walk-object/projects/lodash-walk-object/src/lib/index.ts","../../../tmp-libs-for-dist/lodash-walk-object/projects/lodash-walk-object/src/lodash-walk-object.ts"],"sourcesContent":["\n\nexport namespace Models {\n\n export type InDBType = { target: any; path: string; };\n export type Circ = { pathToObj: string; circuralTargetPath: string; };\n\n\n // @ts-ignore\n export type Ver = { v: any; p: string; parent: Ver; isGetter?: boolean; }\n\n export interface StartIteratorOptions {\n walkGetters?: boolean;\n\n /**\n * Default in breadhTwalk\n */\n checkCircural?: boolean;\n breadthWalk?: boolean;\n include?: string[];\n exclude?: string[];\n }\n\n export interface AdditionalIteratorOptions extends StartIteratorOptions {\n skipObject?: () => void;\n isGetter?: boolean;\n /**\n * Breadth walk will skip content of circural objects\n */\n isCircural?: boolean;\n exit?: () => void;\n\n }\n\n export interface InternalValues extends AdditionalIteratorOptions {\n db?: any;\n stack?: any[];\n circural?: Circ[];\n hasIterator?: boolean;\n _valueChanged: boolean;\n _skip: boolean;\n _exit: boolean;\n }\n}\n\n ;({}); // @--end-of-file-for-module=lodash-walk-object lib/models.ts","\n\nimport { _ } from 'tnp-core/browser';\nimport { CLASS } from 'typescript-class-helpers/browser';\n\nimport { Models } from './models';\nexport * from './models';\n\nfunction findChildren(\n ver: Models.Ver,\n lp: string,\n walkGetters: boolean,\n): Models.Ver[] {\n const obj = ver.v;\n if (_.isArray(obj)) {\n return obj.map((v, i) => {\n return { v, p: `${lp}[${i}]`, parent: ver, isGetter: false };\n });\n } else if (_.isObject(obj)) {\n const allKeys = !walkGetters ? [] : Object.getOwnPropertyNames(obj);\n const children: Models.Ver[] = [];\n for (const key in obj) {\n if (\n _.isObject(obj) &&\n _.isFunction(obj.hasOwnProperty) &&\n obj.hasOwnProperty(key)\n ) {\n _.pull(allKeys, key);\n children.push({\n v: obj[key],\n p: `${lp === '' ? '' : `${lp}.`}${key}`,\n parent: ver,\n isGetter: false,\n });\n }\n }\n if (walkGetters) {\n for (let index = 0; index < allKeys.length; index++) {\n if (_.isObject(obj)) {\n const key = allKeys[index];\n children.push({\n v: obj[key],\n p: `${lp === '' ? '' : `${lp}.`}${key}`,\n parent: ver,\n isGetter: true,\n });\n }\n }\n }\n return children;\n }\n return [];\n}\n\nexport type Iterator = (\n value: any,\n lodashPath: string,\n // @ts-ignore\n changeValueTo: (newValue) => void,\n options?: Models.AdditionalIteratorOptions,\n) => void;\nexport class Helpers {\n public static get Walk() {\n const self = this;\n return {\n Object(\n json: Object,\n iterator: Iterator,\n optionsOrWalkGettersValue?: Models.StartIteratorOptions,\n ) {\n if (_.isUndefined(optionsOrWalkGettersValue)) {\n optionsOrWalkGettersValue = {};\n }\n\n (optionsOrWalkGettersValue as Models.InternalValues).hasIterator =\n _.isFunction(iterator);\n\n if (_.isUndefined(optionsOrWalkGettersValue.breadthWalk)) {\n optionsOrWalkGettersValue.breadthWalk = false;\n }\n\n let { circural } = self._walk(\n json,\n json,\n iterator,\n void 0,\n optionsOrWalkGettersValue as any,\n );\n\n return { circs: circural };\n },\n ObjectBy(\n property: string,\n inContext: Object,\n iterator: Iterator,\n options?: Models.StartIteratorOptions,\n ) {\n if (_.isFunction(iterator)) {\n iterator(inContext, '', self._changeValue(inContext, property, true)); // TODO Add optoins\n }\n // @ts-ignore\n const json = inContext[property];\n return self.Walk.Object(json, iterator, options);\n },\n };\n }\n\n private static _changeValue(\n json: Object,\n lodahPath: string,\n simpleChange = false,\n options?: Models.InternalValues,\n ) {\n var { contextPath, property } = this._prepareParams(lodahPath);\n var context = _.get(json, contextPath);\n\n return (newValue: any) => {\n if (contextPath === '') {\n simpleChange = true;\n }\n\n if (simpleChange) {\n // @ts-ignore\n json[property] = newValue;\n } else {\n\n\n if (context) {\n context[property] = newValue;\n }\n }\n if (options) {\n options._valueChanged = true;\n }\n };\n }\n\n private static _prepareParams(lodashPath: string) {\n\n const contextPath = this._Helpers.Path.getContextPath(lodashPath);\n\n\n let property = this._Helpers.Path.getPropertyPath(lodashPath, contextPath);\n\n if (\n _.isString(property) &&\n property.trim() !== '' &&\n !_.isNaN(Number(property))\n ) {\n property = Number(property);\n }\n return {\n contextPath,\n property,\n };\n }\n\n private static get _Helpers() {\n return {\n get Path() {\n return {\n // @ts-ignore\n getPropertyPath(lodahPath, contetPath) {\n return lodahPath\n .replace(contetPath, '')\n .replace(/^\\./, '')\n .replace(/\\[/, '')\n .replace(/\\]/, '');\n },\n getContextPath(p: string) {\n let res: string;\n if (p.endsWith(']')) {\n res = p.replace(/\\[(\\\"|\\')?[0-9]+(\\\"|\\')?\\]$/, '');\n } else {\n res = p.replace(/\\.([a-zA-Z0-9]|\\$|\\_|\\@|\\-|\\/|\\:)+$/, '');\n }\n return res === p ? '' : res;\n },\n };\n },\n };\n }\n\n private static _shoudlReturn(include = [], exclude = [], lodashPath: string) {\n let res = false;\n if (lodashPath.replace(/^\\[(\\'|\\\")?[0-9]*(\\'|\\\")?\\]/, '').trim() !== '') {\n lodashPath = lodashPath.replace(/^\\[(\\'|\\\")?[0-9]*(\\'|\\\")?\\]\\./, '');\n res =\n (_.isArray(include) &&\n include.length > 0 &&\n !include.find(p => lodashPath.startsWith(p))) ||\n (_.isArray(exclude) &&\n exclude.length > 0 &&\n !!exclude.find(p => lodashPath.startsWith(p)));\n }\n\n return res;\n }\n\n // @ts-ignore\n private static prepareOptions(\n options: Models.InternalValues,\n obj,\n lodashPath,\n ) {\n if (options._exit) {\n return;\n }\n\n if (_.isUndefined(options.walkGetters)) {\n options.walkGetters = true;\n }\n\n if (_.isUndefined(options.checkCircural)) {\n options.checkCircural = false;\n }\n\n if (_.isUndefined(options.isGetter)) {\n // @ts-ignore\n options.isGetter = false;\n }\n\n if (_.isUndefined(options._valueChanged)) {\n options._valueChanged = false;\n }\n\n if (_.isUndefined(options._exit)) {\n // @ts-ignore\n options._exit = false;\n }\n\n if (_.isUndefined(options.exit)) {\n options.exit = () => {\n options._exit = true;\n };\n }\n\n if (_.isUndefined(options._skip)) {\n // @ts-ignore\n options._skip = false;\n }\n\n if (_.isUndefined(options.skipObject)) {\n options.skipObject = () => {\n options._skip = true;\n };\n }\n\n if (options.checkCircural) {\n if (_.isUndefined(options.db)) {\n options.db = {};\n }\n\n if (_.isUndefined(options.stack)) {\n options.stack = [];\n }\n\n if (_.isUndefined(options.circural)) {\n options.circural = [];\n }\n }\n\n const { db, stack } = options;\n options.isCircural = false;\n\n if (options.checkCircural && _.isObject(obj)) {\n let indexValue = CLASS.OBJECT(obj).indexValue;\n if (CLASS.OBJECT(obj).isClassObject && !_.isUndefined(indexValue)) {\n let className = CLASS.getNameFromObject(obj);\n let p = `${className}.id_${indexValue}`;\n const inDB: Models.InDBType = _.get(db, p);\n\n if (inDB && CLASS.OBJECT(inDB.target).isEqual(obj)) {\n const circ: Models.Circ = {\n pathToObj: lodashPath,\n circuralTargetPath: inDB.path,\n };\n // @ts-ignore\n options.circural.push(circ);\n options.isCircural = true;\n } else {\n _.set(db, p, {\n path: lodashPath,\n target: obj,\n } as Models.InDBType);\n }\n } else {\n // @ts-ignore\n const inStack = stack.find((c: Models.InDBType) => c.target == obj);\n\n if (!_.isUndefined(inStack)) {\n const circ: Models.Circ = {\n pathToObj: lodashPath,\n circuralTargetPath: inStack.path,\n };\n // @ts-ignore\n options.circural.push(circ);\n options.isCircural = true;\n } else {\n // @ts-ignore\n stack.push({\n path: lodashPath,\n target: obj,\n } as Models.InDBType);\n }\n }\n }\n return options;\n }\n\n private static _walk(\n json: Object,\n objOrWhatever: unknown,\n iterator: Iterator,\n lodashPath = '',\n options?: Models.InternalValues,\n depthLevel = 0,\n ) {\n if (!options) {\n options = {} as any;\n }\n\n // @ts-ignore\n if (!options.breadthWalk) {\n // @ts-ignore\n options = this.prepareOptions(options, objOrWhatever, lodashPath);\n\n // @ts-ignore\n if (this._shoudlReturn(options.include, options.exclude, lodashPath)) {\n return;\n }\n\n // @ts-ignore\n if (options.hasIterator && lodashPath !== '') {\n iterator(\n objOrWhatever,\n lodashPath,\n this._changeValue(json, lodashPath, false, options),\n options,\n );\n }\n\n // @ts-ignore\n if (options._valueChanged) {\n objOrWhatever = _.get(json, lodashPath);\n }\n options._valueChanged = false;\n\n if (options.isCircural) {\n options._skip = true;\n }\n\n if (options._skip) {\n // @ts-ignore\n options._skip = false;\n return;\n }\n }\n\n if (options.breadthWalk) {\n let queue: Models.Ver[] = [{ v: json, p: lodashPath, parent: void 0 }];\n\n\n while (queue.length > 0) {\n const ver = queue.shift();\n\n\n\n\n\n // @ts-ignore\n if (this._shoudlReturn(options.include, options.exclude, ver.p)) {\n\n\n continue;\n }\n\n\n\n // @ts-ignore\n let { v, p } = ver;\n // @ts-ignore\n options = this.prepareOptions(options, v, p);\n\n if (options._exit) {\n console.log('EXIT');\n return options;\n }\n if (options.hasIterator && p !== '') {\n iterator(v, p, this._changeValue(json, p, false, options), options);\n }\n\n // @ts-ignore\n if (options._valueChanged) {\n ver.v = _.get(json, p);\n }\n options._valueChanged = false;\n\n if (options.isCircural) {\n\n continue;\n }\n\n if (options._skip) {\n // @ts-ignore\n options._skip = false;\n\n continue;\n }\n\n if (_.isArray(v)) {\n // @ts-ignore\n queue = queue.concat(findChildren(ver, p, options.walkGetters));\n } else if (_.isObject(v)) {\n // @ts-ignore\n queue = queue.concat(findChildren(ver, p, options.walkGetters));\n }\n }\n } else {\n // @ts-ignore\n const { walkGetters } = options;\n\n if (Array.isArray(objOrWhatever)) {\n objOrWhatever.forEach((o, i) => {\n // @ts-ignore\n this._walk(\n json,\n objOrWhatever[i],\n iterator,\n `${lodashPath}[${i}]`,\n options,\n depthLevel + 1,\n );\n });\n } else if (_.isObject(objOrWhatever)) {\n const allKeys = !walkGetters\n ? []\n : Object.getOwnPropertyNames(objOrWhatever);\n\n // @ts-ignore\n for (const key in objOrWhatever) {\n\n if (_.isObject(objOrWhatever) && objOrWhatever.hasOwnProperty(key)) {\n _.pull(allKeys, key);\n\n let newPropKey = key;\n options.isGetter = false;\n if (newPropKey.includes('.')) {\n newPropKey = `['${newPropKey}']`;\n }\n // @ts-ignore\n this._walk(\n json,\n objOrWhatever[newPropKey],\n iterator,\n `${lodashPath === '' ? '' : `${lodashPath}.`}${newPropKey}`,\n options,\n depthLevel + 1,\n );\n }\n }\n if (walkGetters) {\n for (let index = 0; index < allKeys.length; index++) {\n if (_.isObject(objOrWhatever)) {\n const key = allKeys[index];\n\n // @ts-ignore\n options.isGetter = true;\n // @ts-ignore\n this._walk(\n json,\n objOrWhatever[key],\n iterator,\n `${lodashPath === '' ? '' : `${lodashPath}.`}${key}`,\n options,\n depthLevel + 1,\n );\n }\n }\n }\n }\n\n // @ts-ignore\n if (options._exit && json === objOrWhatever) {\n // @ts-ignore\n options._exit = false;\n }\n }\n\n return options;\n }\n}\n\nexport const walk = {\n Object: Helpers.Walk.Object,\n ObjectBy: Helpers.Walk.ObjectBy,\n};\n\n ;({}); // @--end-of-file-for-module=lodash-walk-object lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|