lodash-walk-object 1.0.34 → 1.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/app.d.ts +0 -0
  2. package/app.js +2 -0
  3. package/app.js.map +1 -0
  4. package/browser/README.md +24 -0
  5. package/browser/esm2020/lib/index.mjs +354 -0
  6. package/browser/esm2020/lib/models.mjs +2 -0
  7. package/browser/esm2020/lodash-walk-object.mjs +5 -0
  8. package/browser/esm2020/public-api.mjs +2 -0
  9. package/{client/index.js → browser/fesm2015/lodash-walk-object.mjs} +42 -4
  10. package/browser/fesm2015/lodash-walk-object.mjs.map +1 -0
  11. package/browser/{index.js → fesm2020/lodash-walk-object.mjs} +42 -4
  12. package/browser/fesm2020/lodash-walk-object.mjs.map +1 -0
  13. package/browser/{index.d.ts → lib/index.d.ts} +0 -0
  14. package/browser/{models.d.ts → lib/models.d.ts} +0 -0
  15. package/browser/lodash-walk-object.d.ts +5 -0
  16. package/browser/package.json +31 -0
  17. package/browser/public-api.d.ts +1 -0
  18. package/client/README.md +24 -0
  19. package/client/esm2020/lib/index.mjs +354 -0
  20. package/client/esm2020/lib/models.mjs +2 -0
  21. package/client/esm2020/lodash-walk-object.mjs +5 -0
  22. package/client/esm2020/public-api.mjs +2 -0
  23. package/client/fesm2015/lodash-walk-object.mjs +360 -0
  24. package/client/fesm2015/lodash-walk-object.mjs.map +1 -0
  25. package/client/fesm2020/lodash-walk-object.mjs +360 -0
  26. package/client/fesm2020/lodash-walk-object.mjs.map +1 -0
  27. package/client/{index.d.ts → lib/index.d.ts} +0 -0
  28. package/client/{models.d.ts → lib/models.d.ts} +0 -0
  29. package/client/lodash-walk-object.d.ts +5 -0
  30. package/client/package.json +25 -23
  31. package/client/public-api.d.ts +1 -0
  32. package/index.d.ts +1 -27
  33. package/index.js +3 -341
  34. package/index.js.map +1 -1
  35. package/lib/index.d.ts +27 -0
  36. package/lib/index.js +378 -0
  37. package/lib/index.js.map +1 -0
  38. package/{models.d.ts → lib/models.d.ts} +0 -0
  39. package/{models.js → lib/models.js} +2 -1
  40. package/{browser → lib}/models.js.map +1 -1
  41. package/package.json +3 -3
  42. package/package.json_devDependencies.json +25 -25
  43. package/package.json_tnp.json +2 -1
  44. package/package.json_tnp.json5 +30 -0
  45. package/tmp-environment.json +77 -111
  46. package/browser/es5/index.js +0 -384
  47. package/browser/es5/models.js +0 -5
  48. package/browser/index.js.map +0 -1
  49. package/browser/models.js +0 -2
  50. package/client/es5/index.js +0 -384
  51. package/client/es5/models.js +0 -5
  52. package/client/index.js.map +0 -1
  53. package/client/models.js +0 -2
  54. package/client/models.js.map +0 -1
  55. package/models.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { _ } from 'tnp-core/browser';
2
2
  import { CLASS } from 'typescript-class-helpers/browser';
3
- export * from './models';
3
+
4
4
  function findChildren(ver, lp, walkGetters) {
5
5
  const obj = ver.v;
6
6
  if (_.isArray(obj)) {
@@ -29,7 +29,7 @@ function findChildren(ver, lp, walkGetters) {
29
29
  }
30
30
  return [];
31
31
  }
32
- export class Helpers {
32
+ class Helpers {
33
33
  static get Walk() {
34
34
  const self = this;
35
35
  return {
@@ -48,6 +48,7 @@ export class Helpers {
48
48
  if (_.isFunction(iterator)) {
49
49
  iterator(inContext, '', self._changeValue(inContext, property, true)); // TODO Add optoins
50
50
  }
51
+ // @ts-ignore
51
52
  const json = inContext[property];
52
53
  return self.Walk.Object(json, iterator, options);
53
54
  }
@@ -61,6 +62,7 @@ export class Helpers {
61
62
  simpleChange = true;
62
63
  }
63
64
  if (simpleChange) {
65
+ // @ts-ignore
64
66
  json[property] = newValue;
65
67
  }
66
68
  else {
@@ -92,6 +94,7 @@ export class Helpers {
92
94
  return {
93
95
  get Path() {
94
96
  return {
97
+ // @ts-ignore
95
98
  getPropertyPath(lodahPath, contetPath) {
96
99
  return (lodahPath
97
100
  .replace(contetPath, '')
@@ -125,6 +128,7 @@ export class Helpers {
125
128
  }
126
129
  return res;
127
130
  }
131
+ // @ts-ignore
128
132
  static prepareOptions(options, obj, lodashPath) {
129
133
  if (options._exit) {
130
134
  return;
@@ -136,12 +140,14 @@ export class Helpers {
136
140
  options.checkCircural = false;
137
141
  }
138
142
  if (_.isUndefined(options.isGetter)) {
143
+ // @ts-ignore
139
144
  options.isGetter = false;
140
145
  }
141
146
  if (_.isUndefined(options._valueChanged)) {
142
147
  options._valueChanged = false;
143
148
  }
144
149
  if (_.isUndefined(options._exit)) {
150
+ // @ts-ignore
145
151
  options._exit = false;
146
152
  }
147
153
  if (_.isUndefined(options.exit)) {
@@ -150,6 +156,7 @@ export class Helpers {
150
156
  };
151
157
  }
152
158
  if (_.isUndefined(options._skip)) {
159
+ // @ts-ignore
153
160
  options._skip = false;
154
161
  }
155
162
  if (_.isUndefined(options.skipObject)) {
@@ -181,6 +188,7 @@ export class Helpers {
181
188
  pathToObj: lodashPath,
182
189
  circuralTargetPath: inDB.path
183
190
  };
191
+ // @ts-ignore
184
192
  options.circural.push(circ);
185
193
  options.isCircural = true;
186
194
  }
@@ -192,16 +200,19 @@ export class Helpers {
192
200
  }
193
201
  }
194
202
  else {
203
+ // @ts-ignore
195
204
  const inStack = stack.find((c) => c.target == obj);
196
205
  if (!_.isUndefined(inStack)) {
197
206
  const circ = {
198
207
  pathToObj: lodashPath,
199
208
  circuralTargetPath: inStack.path
200
209
  };
210
+ // @ts-ignore
201
211
  options.circural.push(circ);
202
212
  options.isCircural = true;
203
213
  }
204
214
  else {
215
+ // @ts-ignore
205
216
  stack.push({
206
217
  path: lodashPath,
207
218
  target: obj
@@ -215,14 +226,19 @@ export class Helpers {
215
226
  if (!options) {
216
227
  options = {};
217
228
  }
229
+ // @ts-ignore
218
230
  if (!options.breadthWalk) {
231
+ // @ts-ignore
219
232
  options = this.prepareOptions(options, obj, lodashPath);
233
+ // @ts-ignore
220
234
  if (this._shoudlReturn(options.include, options.exclude, lodashPath)) {
221
235
  return;
222
236
  }
237
+ // @ts-ignore
223
238
  if (options.hasIterator && lodashPath !== '') {
224
239
  iterator(obj, lodashPath, this._changeValue(json, lodashPath, false, options), options);
225
240
  }
241
+ // @ts-ignore
226
242
  if (options._valueChanged) {
227
243
  obj = _.get(json, lodashPath);
228
244
  }
@@ -231,6 +247,7 @@ export class Helpers {
231
247
  options._skip = true;
232
248
  }
233
249
  if (options._skip) {
250
+ // @ts-ignore
234
251
  options._skip = false;
235
252
  return;
236
253
  }
@@ -245,13 +262,16 @@ export class Helpers {
245
262
  // console.log(`skip: ${ver.p}`)
246
263
  // continue;
247
264
  // }
265
+ // @ts-ignore
248
266
  if (this._shoudlReturn(options.include, options.exclude, ver.p)) {
249
267
  // pathesToSkip[ver.p] = true;
250
268
  // console.log(`skip2: ${ver.p}`)
251
269
  continue;
252
270
  }
253
271
  // console.log(`not skip value ${ver.p}`)
272
+ // @ts-ignore
254
273
  let { v, p } = ver;
274
+ // @ts-ignore
255
275
  options = this.prepareOptions(options, v, p);
256
276
  if (options._exit) {
257
277
  console.log('EXIT');
@@ -260,6 +280,7 @@ export class Helpers {
260
280
  if (options.hasIterator && p !== '') {
261
281
  iterator(v, p, this._changeValue(json, p, false, options), options);
262
282
  }
283
+ // @ts-ignore
263
284
  if (options._valueChanged) {
264
285
  ver.v = _.get(json, p);
265
286
  }
@@ -269,23 +290,28 @@ export class Helpers {
269
290
  continue;
270
291
  }
271
292
  if (options._skip) {
293
+ // @ts-ignore
272
294
  options._skip = false;
273
295
  // pathesToSkip[ver.p] = true;
274
296
  continue;
275
297
  }
276
298
  // console.log(`LOOK FOR CHILDREN OF ${ver.p}`)
277
299
  if (_.isArray(v)) {
300
+ // @ts-ignore
278
301
  queue = queue.concat(findChildren(ver, p, options.walkGetters));
279
302
  }
280
303
  else if (_.isObject(v)) {
304
+ // @ts-ignore
281
305
  queue = queue.concat(findChildren(ver, p, options.walkGetters));
282
306
  }
283
307
  }
284
308
  }
285
309
  else {
310
+ // @ts-ignore
286
311
  const { walkGetters } = options;
287
312
  if (Array.isArray(obj)) {
288
313
  obj.forEach((o, i) => {
314
+ // @ts-ignore
289
315
  this._walk(json, obj[i], iterator, `${lodashPath}[${i}]`, options, depthLevel + 1);
290
316
  });
291
317
  }
@@ -294,7 +320,9 @@ export class Helpers {
294
320
  for (const key in obj) {
295
321
  if (_.isObject(obj) && obj.hasOwnProperty(key)) {
296
322
  _.pull(allKeys, key);
323
+ // @ts-ignore
297
324
  options.isGetter = false;
325
+ // @ts-ignore
298
326
  this._walk(json, obj[key], iterator, `${(lodashPath === '') ? '' : `${lodashPath}.`}${key}`, options, depthLevel + 1);
299
327
  }
300
328
  }
@@ -302,21 +330,31 @@ export class Helpers {
302
330
  for (let index = 0; index < allKeys.length; index++) {
303
331
  if (_.isObject(obj)) {
304
332
  const key = allKeys[index];
333
+ // @ts-ignore
305
334
  options.isGetter = true;
335
+ // @ts-ignore
306
336
  this._walk(json, obj[key], iterator, `${(lodashPath === '') ? '' : `${lodashPath}.`}${key}`, options, depthLevel + 1);
307
337
  }
308
338
  }
309
339
  }
310
340
  }
341
+ // @ts-ignore
311
342
  if (options._exit && json === obj) {
343
+ // @ts-ignore
312
344
  options._exit = false;
313
345
  }
314
346
  }
315
347
  return options;
316
348
  }
317
349
  }
318
- export const walk = {
350
+ const walk = {
319
351
  Object: Helpers.Walk.Object,
320
352
  ObjectBy: Helpers.Walk.ObjectBy
321
353
  };
322
- //# sourceMappingURL=index.js.map
354
+
355
+ /**
356
+ * Generated bundle index. Do not edit.
357
+ */
358
+
359
+ export { Helpers, walk };
360
+ //# sourceMappingURL=lodash-walk-object.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lodash-walk-object.mjs","sources":["../../../tmp-libs-for-bundle/lodash-walk-object/projects/lodash-walk-object/src/lib/index.ts","../../../tmp-libs-for-bundle/lodash-walk-object/projects/lodash-walk-object/src/lodash-walk-object.ts"],"sourcesContent":["\n\nimport { _ } from 'tnp-core/browser';\nimport { CLASS } from 'typescript-class-helpers/browser';\n// let counter = 0\nimport { Models } from './models';\nexport * from './models';\n\nfunction findChildren(ver: Models.Ver, lp: string, walkGetters: boolean): Models.Ver[] {\n\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\n const allKeys = !walkGetters ? [] : Object.getOwnPropertyNames(obj);\n const children: Models.Ver[] = [];\n for (const key in obj) {\n if (_.isObject(obj) && obj.hasOwnProperty(key)) {\n _.pull(allKeys, key)\n children.push({ v: obj[key], p: `${(lp === '') ? '' : `${lp}.`}${key}`, parent: ver, isGetter: false })\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({ v: obj[key], p: `${(lp === '') ? '' : `${lp}.`}${key}`, parent: ver, isGetter: true })\n }\n }\n }\n return children;\n }\n return [];\n}\n\n\n\nexport type Iterator = (value: any,\n lodashPath: string,\n // @ts-ignore\n changeValueTo: (newValue) => void,\n options?: Models.AdditionalIteratorOptions\n\n) => void\nexport class Helpers {\n\n public static get Walk() {\n const self = this;\n return {\n Object(json: Object, iterator: Iterator, optionsOrWalkGettersValue?: Models.StartIteratorOptions) {\n\n if (_.isUndefined(optionsOrWalkGettersValue)) {\n optionsOrWalkGettersValue = {}\n }\n\n (optionsOrWalkGettersValue as Models.InternalValues).hasIterator = _.isFunction(iterator)\n\n if (_.isUndefined(optionsOrWalkGettersValue.breadthWalk)) {\n optionsOrWalkGettersValue.breadthWalk = false;\n }\n\n let {\n circural\n } = self._walk(json, json, iterator, void 0, optionsOrWalkGettersValue as any)\n\n return { circs: circural }\n },\n ObjectBy(property: string, inContext: Object, iterator: Iterator, options?: Models.StartIteratorOptions) {\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(json: Object, lodahPath: string, simpleChange = false, 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 // console.log(`CONTEXT VALUE CHANGE! \"${contextPath}\" + \"${property}\" `, newValue)\n // console.log('context', context)\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 // console.log('contextPath before', lodashPath)\n const contextPath = this._Helpers.Path.getContextPath(lodashPath);\n // console.log('contextPath after', contextPath)\n\n let property = this._Helpers.Path.getPropertyPath(lodashPath, contextPath);\n // console.log('property after process', property)\n if (_.isString(property) && property.trim() !== '' && !_.isNaN(Number(property))) {\n property = Number(property)\n }\n return {\n contextPath, 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) && include.length > 0\n && !include.find(p => lodashPath.startsWith(p)))\n ||\n (_.isArray(exclude) && exclude.length > 0\n && !!exclude.find(p => lodashPath.startsWith(p)))\n )\n }\n\n return res;\n }\n\n // @ts-ignore\n private static prepareOptions(options: Models.InternalValues, obj, 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\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 }\n return options;\n }\n\n private static _walk(json: Object, obj: Object, iterator: Iterator, lodashPath = '',\n options?: Models.InternalValues, 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, obj, 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(obj, lodashPath, this._changeValue(json, lodashPath, false, options), options)\n }\n\n // @ts-ignore\n if (options._valueChanged) {\n obj = _.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\n\n if (options.breadthWalk) {\n\n let queue: Models.Ver[] = [{ v: json, p: lodashPath, parent: void 0 }];\n\n // const pathesToSkip = {};\n while (queue.length > 0) {\n\n const ver = queue.shift();\n // console.log(`pathes to skip`, pathesToSkip);\n // if (!_.isUndefined(Object.keys(pathesToSkip).find(key => ver.p.startsWith(pathesToSkip[key])))) {\n // console.log(`skip: ${ver.p}`)\n // continue;\n // }\n // @ts-ignore\n if (this._shoudlReturn(options.include, options.exclude, ver.p)) {\n // pathesToSkip[ver.p] = true;\n // console.log(`skip2: ${ver.p}`)\n continue;\n }\n\n // console.log(`not skip value ${ver.p}`)\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 // pathesToSkip[ver.p] = true;\n continue;\n }\n\n if (options._skip) {\n // @ts-ignore\n options._skip = false;\n // pathesToSkip[ver.p] = true;\n continue;\n }\n // console.log(`LOOK FOR CHILDREN OF ${ver.p}`)\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\n } else {\n // @ts-ignore\n const { walkGetters } = options;\n\n if (Array.isArray(obj)) {\n obj.forEach((o, i) => {\n // @ts-ignore\n this._walk(json, obj[i], iterator, `${lodashPath}[${i}]`, options, depthLevel + 1)\n })\n\n } else if (_.isObject(obj)) {\n const allKeys = !walkGetters ? [] : Object.getOwnPropertyNames(obj);\n for (const key in obj) {\n if (_.isObject(obj) && obj.hasOwnProperty(key)) {\n _.pull(allKeys, key)\n\n // @ts-ignore\n options.isGetter = false;\n // @ts-ignore\n this._walk(json, obj[key], iterator, `${(lodashPath === '') ? '' : `${lodashPath}.`}${key}`, options, depthLevel + 1)\n }\n }\n if (walkGetters) {\n for (let index = 0; index < allKeys.length; index++) {\n if (_.isObject(obj)) {\n const key = allKeys[index];\n\n // @ts-ignore\n options.isGetter = true;\n // @ts-ignore\n this._walk(json, obj[key], iterator, `${(lodashPath === '') ? '' : `${lodashPath}.`}${key}`, options, depthLevel + 1)\n }\n }\n }\n }\n\n // @ts-ignore\n if (options._exit && json === obj) {\n // @ts-ignore\n options._exit = false;\n }\n\n }\n\n return options;\n }\n\n}\n\nexport const walk = {\n Object: Helpers.Walk.Object,\n ObjectBy: Helpers.Walk.ObjectBy\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { _ } from 'tnp-core/browser';
2
2
  import { CLASS } from 'typescript-class-helpers/browser';
3
- export * from './models';
3
+
4
4
  function findChildren(ver, lp, walkGetters) {
5
5
  const obj = ver.v;
6
6
  if (_.isArray(obj)) {
@@ -29,7 +29,7 @@ function findChildren(ver, lp, walkGetters) {
29
29
  }
30
30
  return [];
31
31
  }
32
- export class Helpers {
32
+ class Helpers {
33
33
  static get Walk() {
34
34
  const self = this;
35
35
  return {
@@ -48,6 +48,7 @@ export class Helpers {
48
48
  if (_.isFunction(iterator)) {
49
49
  iterator(inContext, '', self._changeValue(inContext, property, true)); // TODO Add optoins
50
50
  }
51
+ // @ts-ignore
51
52
  const json = inContext[property];
52
53
  return self.Walk.Object(json, iterator, options);
53
54
  }
@@ -61,6 +62,7 @@ export class Helpers {
61
62
  simpleChange = true;
62
63
  }
63
64
  if (simpleChange) {
65
+ // @ts-ignore
64
66
  json[property] = newValue;
65
67
  }
66
68
  else {
@@ -92,6 +94,7 @@ export class Helpers {
92
94
  return {
93
95
  get Path() {
94
96
  return {
97
+ // @ts-ignore
95
98
  getPropertyPath(lodahPath, contetPath) {
96
99
  return (lodahPath
97
100
  .replace(contetPath, '')
@@ -125,6 +128,7 @@ export class Helpers {
125
128
  }
126
129
  return res;
127
130
  }
131
+ // @ts-ignore
128
132
  static prepareOptions(options, obj, lodashPath) {
129
133
  if (options._exit) {
130
134
  return;
@@ -136,12 +140,14 @@ export class Helpers {
136
140
  options.checkCircural = false;
137
141
  }
138
142
  if (_.isUndefined(options.isGetter)) {
143
+ // @ts-ignore
139
144
  options.isGetter = false;
140
145
  }
141
146
  if (_.isUndefined(options._valueChanged)) {
142
147
  options._valueChanged = false;
143
148
  }
144
149
  if (_.isUndefined(options._exit)) {
150
+ // @ts-ignore
145
151
  options._exit = false;
146
152
  }
147
153
  if (_.isUndefined(options.exit)) {
@@ -150,6 +156,7 @@ export class Helpers {
150
156
  };
151
157
  }
152
158
  if (_.isUndefined(options._skip)) {
159
+ // @ts-ignore
153
160
  options._skip = false;
154
161
  }
155
162
  if (_.isUndefined(options.skipObject)) {
@@ -181,6 +188,7 @@ export class Helpers {
181
188
  pathToObj: lodashPath,
182
189
  circuralTargetPath: inDB.path
183
190
  };
191
+ // @ts-ignore
184
192
  options.circural.push(circ);
185
193
  options.isCircural = true;
186
194
  }
@@ -192,16 +200,19 @@ export class Helpers {
192
200
  }
193
201
  }
194
202
  else {
203
+ // @ts-ignore
195
204
  const inStack = stack.find((c) => c.target == obj);
196
205
  if (!_.isUndefined(inStack)) {
197
206
  const circ = {
198
207
  pathToObj: lodashPath,
199
208
  circuralTargetPath: inStack.path
200
209
  };
210
+ // @ts-ignore
201
211
  options.circural.push(circ);
202
212
  options.isCircural = true;
203
213
  }
204
214
  else {
215
+ // @ts-ignore
205
216
  stack.push({
206
217
  path: lodashPath,
207
218
  target: obj
@@ -215,14 +226,19 @@ export class Helpers {
215
226
  if (!options) {
216
227
  options = {};
217
228
  }
229
+ // @ts-ignore
218
230
  if (!options.breadthWalk) {
231
+ // @ts-ignore
219
232
  options = this.prepareOptions(options, obj, lodashPath);
233
+ // @ts-ignore
220
234
  if (this._shoudlReturn(options.include, options.exclude, lodashPath)) {
221
235
  return;
222
236
  }
237
+ // @ts-ignore
223
238
  if (options.hasIterator && lodashPath !== '') {
224
239
  iterator(obj, lodashPath, this._changeValue(json, lodashPath, false, options), options);
225
240
  }
241
+ // @ts-ignore
226
242
  if (options._valueChanged) {
227
243
  obj = _.get(json, lodashPath);
228
244
  }
@@ -231,6 +247,7 @@ export class Helpers {
231
247
  options._skip = true;
232
248
  }
233
249
  if (options._skip) {
250
+ // @ts-ignore
234
251
  options._skip = false;
235
252
  return;
236
253
  }
@@ -245,13 +262,16 @@ export class Helpers {
245
262
  // console.log(`skip: ${ver.p}`)
246
263
  // continue;
247
264
  // }
265
+ // @ts-ignore
248
266
  if (this._shoudlReturn(options.include, options.exclude, ver.p)) {
249
267
  // pathesToSkip[ver.p] = true;
250
268
  // console.log(`skip2: ${ver.p}`)
251
269
  continue;
252
270
  }
253
271
  // console.log(`not skip value ${ver.p}`)
272
+ // @ts-ignore
254
273
  let { v, p } = ver;
274
+ // @ts-ignore
255
275
  options = this.prepareOptions(options, v, p);
256
276
  if (options._exit) {
257
277
  console.log('EXIT');
@@ -260,6 +280,7 @@ export class Helpers {
260
280
  if (options.hasIterator && p !== '') {
261
281
  iterator(v, p, this._changeValue(json, p, false, options), options);
262
282
  }
283
+ // @ts-ignore
263
284
  if (options._valueChanged) {
264
285
  ver.v = _.get(json, p);
265
286
  }
@@ -269,23 +290,28 @@ export class Helpers {
269
290
  continue;
270
291
  }
271
292
  if (options._skip) {
293
+ // @ts-ignore
272
294
  options._skip = false;
273
295
  // pathesToSkip[ver.p] = true;
274
296
  continue;
275
297
  }
276
298
  // console.log(`LOOK FOR CHILDREN OF ${ver.p}`)
277
299
  if (_.isArray(v)) {
300
+ // @ts-ignore
278
301
  queue = queue.concat(findChildren(ver, p, options.walkGetters));
279
302
  }
280
303
  else if (_.isObject(v)) {
304
+ // @ts-ignore
281
305
  queue = queue.concat(findChildren(ver, p, options.walkGetters));
282
306
  }
283
307
  }
284
308
  }
285
309
  else {
310
+ // @ts-ignore
286
311
  const { walkGetters } = options;
287
312
  if (Array.isArray(obj)) {
288
313
  obj.forEach((o, i) => {
314
+ // @ts-ignore
289
315
  this._walk(json, obj[i], iterator, `${lodashPath}[${i}]`, options, depthLevel + 1);
290
316
  });
291
317
  }
@@ -294,7 +320,9 @@ export class Helpers {
294
320
  for (const key in obj) {
295
321
  if (_.isObject(obj) && obj.hasOwnProperty(key)) {
296
322
  _.pull(allKeys, key);
323
+ // @ts-ignore
297
324
  options.isGetter = false;
325
+ // @ts-ignore
298
326
  this._walk(json, obj[key], iterator, `${(lodashPath === '') ? '' : `${lodashPath}.`}${key}`, options, depthLevel + 1);
299
327
  }
300
328
  }
@@ -302,21 +330,31 @@ export class Helpers {
302
330
  for (let index = 0; index < allKeys.length; index++) {
303
331
  if (_.isObject(obj)) {
304
332
  const key = allKeys[index];
333
+ // @ts-ignore
305
334
  options.isGetter = true;
335
+ // @ts-ignore
306
336
  this._walk(json, obj[key], iterator, `${(lodashPath === '') ? '' : `${lodashPath}.`}${key}`, options, depthLevel + 1);
307
337
  }
308
338
  }
309
339
  }
310
340
  }
341
+ // @ts-ignore
311
342
  if (options._exit && json === obj) {
343
+ // @ts-ignore
312
344
  options._exit = false;
313
345
  }
314
346
  }
315
347
  return options;
316
348
  }
317
349
  }
318
- export const walk = {
350
+ const walk = {
319
351
  Object: Helpers.Walk.Object,
320
352
  ObjectBy: Helpers.Walk.ObjectBy
321
353
  };
322
- //# sourceMappingURL=index.js.map
354
+
355
+ /**
356
+ * Generated bundle index. Do not edit.
357
+ */
358
+
359
+ export { Helpers, walk };
360
+ //# sourceMappingURL=lodash-walk-object.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lodash-walk-object.mjs","sources":["../../../tmp-libs-for-bundle/lodash-walk-object/projects/lodash-walk-object/src/lib/index.ts","../../../tmp-libs-for-bundle/lodash-walk-object/projects/lodash-walk-object/src/lodash-walk-object.ts"],"sourcesContent":["\n\nimport { _ } from 'tnp-core/browser';\nimport { CLASS } from 'typescript-class-helpers/browser';\n// let counter = 0\nimport { Models } from './models';\nexport * from './models';\n\nfunction findChildren(ver: Models.Ver, lp: string, walkGetters: boolean): Models.Ver[] {\n\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\n const allKeys = !walkGetters ? [] : Object.getOwnPropertyNames(obj);\n const children: Models.Ver[] = [];\n for (const key in obj) {\n if (_.isObject(obj) && obj.hasOwnProperty(key)) {\n _.pull(allKeys, key)\n children.push({ v: obj[key], p: `${(lp === '') ? '' : `${lp}.`}${key}`, parent: ver, isGetter: false })\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({ v: obj[key], p: `${(lp === '') ? '' : `${lp}.`}${key}`, parent: ver, isGetter: true })\n }\n }\n }\n return children;\n }\n return [];\n}\n\n\n\nexport type Iterator = (value: any,\n lodashPath: string,\n // @ts-ignore\n changeValueTo: (newValue) => void,\n options?: Models.AdditionalIteratorOptions\n\n) => void\nexport class Helpers {\n\n public static get Walk() {\n const self = this;\n return {\n Object(json: Object, iterator: Iterator, optionsOrWalkGettersValue?: Models.StartIteratorOptions) {\n\n if (_.isUndefined(optionsOrWalkGettersValue)) {\n optionsOrWalkGettersValue = {}\n }\n\n (optionsOrWalkGettersValue as Models.InternalValues).hasIterator = _.isFunction(iterator)\n\n if (_.isUndefined(optionsOrWalkGettersValue.breadthWalk)) {\n optionsOrWalkGettersValue.breadthWalk = false;\n }\n\n let {\n circural\n } = self._walk(json, json, iterator, void 0, optionsOrWalkGettersValue as any)\n\n return { circs: circural }\n },\n ObjectBy(property: string, inContext: Object, iterator: Iterator, options?: Models.StartIteratorOptions) {\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(json: Object, lodahPath: string, simpleChange = false, 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 // console.log(`CONTEXT VALUE CHANGE! \"${contextPath}\" + \"${property}\" `, newValue)\n // console.log('context', context)\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 // console.log('contextPath before', lodashPath)\n const contextPath = this._Helpers.Path.getContextPath(lodashPath);\n // console.log('contextPath after', contextPath)\n\n let property = this._Helpers.Path.getPropertyPath(lodashPath, contextPath);\n // console.log('property after process', property)\n if (_.isString(property) && property.trim() !== '' && !_.isNaN(Number(property))) {\n property = Number(property)\n }\n return {\n contextPath, 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) && include.length > 0\n && !include.find(p => lodashPath.startsWith(p)))\n ||\n (_.isArray(exclude) && exclude.length > 0\n && !!exclude.find(p => lodashPath.startsWith(p)))\n )\n }\n\n return res;\n }\n\n // @ts-ignore\n private static prepareOptions(options: Models.InternalValues, obj, 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\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 }\n return options;\n }\n\n private static _walk(json: Object, obj: Object, iterator: Iterator, lodashPath = '',\n options?: Models.InternalValues, 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, obj, 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(obj, lodashPath, this._changeValue(json, lodashPath, false, options), options)\n }\n\n // @ts-ignore\n if (options._valueChanged) {\n obj = _.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\n\n if (options.breadthWalk) {\n\n let queue: Models.Ver[] = [{ v: json, p: lodashPath, parent: void 0 }];\n\n // const pathesToSkip = {};\n while (queue.length > 0) {\n\n const ver = queue.shift();\n // console.log(`pathes to skip`, pathesToSkip);\n // if (!_.isUndefined(Object.keys(pathesToSkip).find(key => ver.p.startsWith(pathesToSkip[key])))) {\n // console.log(`skip: ${ver.p}`)\n // continue;\n // }\n // @ts-ignore\n if (this._shoudlReturn(options.include, options.exclude, ver.p)) {\n // pathesToSkip[ver.p] = true;\n // console.log(`skip2: ${ver.p}`)\n continue;\n }\n\n // console.log(`not skip value ${ver.p}`)\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 // pathesToSkip[ver.p] = true;\n continue;\n }\n\n if (options._skip) {\n // @ts-ignore\n options._skip = false;\n // pathesToSkip[ver.p] = true;\n continue;\n }\n // console.log(`LOOK FOR CHILDREN OF ${ver.p}`)\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\n } else {\n // @ts-ignore\n const { walkGetters } = options;\n\n if (Array.isArray(obj)) {\n obj.forEach((o, i) => {\n // @ts-ignore\n this._walk(json, obj[i], iterator, `${lodashPath}[${i}]`, options, depthLevel + 1)\n })\n\n } else if (_.isObject(obj)) {\n const allKeys = !walkGetters ? [] : Object.getOwnPropertyNames(obj);\n for (const key in obj) {\n if (_.isObject(obj) && obj.hasOwnProperty(key)) {\n _.pull(allKeys, key)\n\n // @ts-ignore\n options.isGetter = false;\n // @ts-ignore\n this._walk(json, obj[key], iterator, `${(lodashPath === '') ? '' : `${lodashPath}.`}${key}`, options, depthLevel + 1)\n }\n }\n if (walkGetters) {\n for (let index = 0; index < allKeys.length; index++) {\n if (_.isObject(obj)) {\n const key = allKeys[index];\n\n // @ts-ignore\n options.isGetter = true;\n // @ts-ignore\n this._walk(json, obj[key], iterator, `${(lodashPath === '') ? '' : `${lodashPath}.`}${key}`, options, depthLevel + 1)\n }\n }\n }\n }\n\n // @ts-ignore\n if (options._exit && json === obj) {\n // @ts-ignore\n options._exit = false;\n }\n\n }\n\n return options;\n }\n\n}\n\nexport const walk = {\n Object: Helpers.Walk.Object,\n ObjectBy: Helpers.Walk.ObjectBy\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
File without changes
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="lodash-walk-object" />
5
+ export * from './public-api';
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "lodash-walk-object",
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/lodash-walk-object.mjs",
12
+ "es2020": "fesm2020/lodash-walk-object.mjs",
13
+ "esm2020": "esm2020/lodash-walk-object.mjs",
14
+ "fesm2020": "fesm2020/lodash-walk-object.mjs",
15
+ "fesm2015": "fesm2015/lodash-walk-object.mjs",
16
+ "typings": "lodash-walk-object.d.ts",
17
+ "exports": {
18
+ "./package.json": {
19
+ "default": "./package.json"
20
+ },
21
+ ".": {
22
+ "types": "./lodash-walk-object.d.ts",
23
+ "esm2020": "./esm2020/lodash-walk-object.mjs",
24
+ "es2020": "./fesm2020/lodash-walk-object.mjs",
25
+ "es2015": "./fesm2015/lodash-walk-object.mjs",
26
+ "node": "./fesm2015/lodash-walk-object.mjs",
27
+ "default": "./fesm2020/lodash-walk-object.mjs"
28
+ }
29
+ },
30
+ "sideEffects": false
31
+ }
@@ -0,0 +1 @@
1
+ export * from './lib';
@@ -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.