lodash-walk-object 13.0.15 → 13.0.16

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.
@@ -12,7 +12,7 @@ function findChildren(ver, lp, walkGetters) {
12
12
  const allKeys = !walkGetters ? [] : Object.getOwnPropertyNames(obj);
13
13
  const children = [];
14
14
  for (const key in obj) {
15
- if (_.isObject(obj) && obj.hasOwnProperty(key)) {
15
+ if (_.isObject(obj) && _.isFunction(obj.hasOwnProperty) && obj.hasOwnProperty(key)) {
16
16
  _.pull(allKeys, key);
17
17
  children.push({ v: obj[key], p: `${(lp === '') ? '' : `${lp}.`}${key}`, parent: ver, isGetter: false });
18
18
  }
@@ -351,4 +351,4 @@ export const walk = {
351
351
  Object: Helpers.Walk.Object,
352
352
  ObjectBy: Helpers.Walk.ObjectBy
353
353
  };
354
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL2xvZGFzaC13YWxrLW9iamVjdC9wcm9qZWN0cy9sb2Rhc2gtd2Fsay1vYmplY3Qvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBR3pELGNBQWMsVUFBVSxDQUFDO0FBRXpCLFNBQVMsWUFBWSxDQUFDLEdBQWUsRUFBRSxFQUFVLEVBQUUsV0FBb0I7SUFFckUsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUNqQixJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDbEIsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3RCLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFBO1FBQzlELENBQUMsQ0FBQyxDQUFDO0tBQ0o7U0FBTSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFFMUIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sUUFBUSxHQUFpQixFQUFFLENBQUM7UUFDbEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUU7WUFDckIsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMs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QkFDYixPQUFPLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQzthQUN2QjtTQUVGO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUVGO0FBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHO0lBQ2xCLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU07SUFDM0IsUUFBUSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUTtDQUNoQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgQ0xBU1MgfSBmcm9tICd0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvYnJvd3Nlcic7XG4vLyBsZXQgY291bnRlciA9IDBcbmltcG9ydCB7IE1vZGVscyB9IGZyb20gJy4vbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcblxuZnVuY3Rpb24gZmluZENoaWxkcmVuKHZlcjogTW9kZWxzLlZlciwgbHA6IHN0cmluZywgd2Fsa0dldHRlcnM6IGJvb2xlYW4pOiBNb2RlbHMuVmVyW10ge1xuXG4gIGNvbnN0IG9iaiA9IHZlci52XG4gIGlmIChfLmlzQXJyYXkob2JqKSkge1xuICAgIHJldHVybiBvYmoubWFwKCh2LCBpKSA9PiB7XG4gICAgICByZXR1cm4geyB2LCBwOiBgJHtscH1bJHtpfV1gLCBwYXJlbnQ6IHZlciwgaXNHZXR0ZXI6IGZhbHNlIH1cbiAgICB9KTtcbiAgfSBlbHNlIGlmIChfLmlzT2JqZWN0KG9iaikpIHtcblxuICAgIGNvbnN0IGFsbEtleXMgPSAhd2Fsa0dldHRlcnMgPyBbXSA6IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaik7XG4gICAgY29uc3QgY2hpbGRyZW46IE1vZGVscy5WZXJbXSA9IFtdO1xuICAgIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xuICAgICAgaWYgKF8uaXNPYmplY3Qob2JqKSAmJiBvYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICBfLnB1bGwoYWxsS2V5cywga2V5KVxuICAgICAgICBjaGlsZHJlbi5wdXNoKHsgdjogb2JqW2tleV0sIHA6IGAkeyhscCA9PT0gJycpID8gJycgOiBgJHtscH0uYH0ke2tleX1gLCBwYXJlbnQ6IHZlciwgaXNHZXR0ZXI6IGZhbHNlIH0pXG4gICAgICB9XG4gICAgfVxuICAgIGlmICh3YWxrR2V0dGVycykge1xuICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGFsbEtleXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGlmIChfLmlzT2JqZWN0KG9iaikpIHtcbiAgICAgICAgICBjb25zdCBrZXkgPSBhbGxLZXlzW2luZGV4XTtcbiAgICAgICAgICBjaGlsZHJlbi5wdXNoKHsgdjogb2JqW2tleV0sIHA6IGAkeyhscCA9PT0gJycpID8gJycgOiBgJHtscH0uYH0ke2tleX1gLCBwYXJlbnQ6IHZlciwgaXNHZXR0ZXI6IHRydWUgfSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY2hpbGRyZW47XG4gIH1cbiAgcmV0dXJuIFtdO1xufVxuXG5cblxuZXhwb3J0IHR5cGUgSXRlcmF0b3IgPSAodmFsdWU6IGFueSxcbiAgbG9kYXNoUGF0aDogc3RyaW5nLFxuICAvLyBAdHMtaWdub3JlXG4gIGNoYW5nZVZhbHVlVG86IChuZXdWYWx1ZSkgPT4gdm9pZCxcbiAgb3B0aW9ucz86IE1vZGVscy5BZGRpdGlvbmFsSXRlcmF0b3JPcHRpb25zXG5cbikgPT4gdm9pZFxuZXhwb3J0IGNsYXNzIEhlbHBlcnMge1xuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IFdhbGsoKSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgcmV0dXJuIHtcbiAgICAgIE9iamVjdChqc29uOiBPYmplY3QsIGl0ZXJhdG9yOiBJdGVyYXRvciwgb3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZT86IE1vZGVscy5TdGFydEl0ZXJhdG9yT3B0aW9ucykge1xuXG4gICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnNPcldhbGtHZXR0ZXJzVmFsdWUpKSB7XG4gICAgICAgICAgb3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZSA9IHt9XG4gICAgICAgIH1cblxuICAgICAgICAob3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZSBhcyBNb2RlbHMuSW50ZXJuYWxWYWx1ZXMpLmhhc0l0ZXJhdG9yID0gXy5pc0Z1bmN0aW9uKGl0ZXJhdG9yKVxuXG4gICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnNPcldhbGtHZXR0ZXJzVmFsdWUuYnJlYWR0aFdhbGspKSB7XG4gICAgICAgICAgb3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZS5icmVhZHRoV2FsayA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHtcbiAgICAgICAgICBjaXJjdXJhbFxuICAgICAgICB9ID0gc2VsZi5fd2Fsayhqc29uLCBqc29uLCBpdGVyYXRvciwgdm9pZCAwLCBvcHRpb25zT3JXYWxrR2V0dGVyc1ZhbHVlIGFzIGFueSlcblxuICAgICAgICByZXR1cm4geyBjaXJjczogY2lyY3VyYWwgfVxuICAgICAgfSxcbiAgICAgIE9iamVjdEJ5KHByb3BlcnR5OiBzdHJpbmcsIGluQ29udGV4dDogT2JqZWN0LCBpdGVyYXRvcjogSXRlcmF0b3IsIG9wdGlvbnM/OiBNb2RlbHMuU3RhcnRJdGVyYXRvck9wdGlvbnMpIHtcbiAgICAgICAgaWYgKF8uaXNGdW5jdGlvbihpdGVyYXRvcikpIHtcbiAgICAgICAgICBpdGVyYXRvcihpbkNvbnRleHQsICcnLCBzZWxmLl9jaGFuZ2VWYWx1ZShpbkNvbnRleHQsIHByb3BlcnR5LCB0cnVlKSkgLy8gVE9ETyBBZGQgb3B0b2luc1xuICAgICAgICB9XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgY29uc3QganNvbiA9IGluQ29udGV4dFtwcm9wZXJ0eV1cbiAgICAgICAgcmV0dXJuIHNlbGYuV2Fsay5PYmplY3QoanNvbiwgaXRlcmF0b3IsIG9wdGlvbnMpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2NoYW5nZVZhbHVlKGpzb246IE9iamVjdCwgbG9kYWhQYXRoOiBzdHJpbmcsIHNpbXBsZUNoYW5nZSA9IGZhbHNlLCBvcHRpb25zPzogTW9kZWxzLkludGVybmFsVmFsdWVzKSB7XG5cbiAgICB2YXIgeyBjb250ZXh0UGF0aCwgcHJvcGVydHkgfSA9IHRoaXMuX3ByZXBhcmVQYXJhbXMobG9kYWhQYXRoKTtcbiAgICB2YXIgY29udGV4dCA9IF8uZ2V0KGpzb24sIGNvbnRleHRQYXRoKTtcblxuICAgIHJldHVybiAobmV3VmFsdWU6IGFueSkgPT4ge1xuICAgICAgaWYgKGNvbnRleHRQYXRoID09PSAnJykge1xuICAgICAgICBzaW1wbGVDaGFuZ2UgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoc2ltcGxlQ2hhbmdlKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAganNvbltwcm9wZXJ0eV0gPSBuZXdWYWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGBDT05URVhUIFZBTFVFIENIQU5HRSEgIFwiJHtjb250ZXh0UGF0aH1cIiArIFwiJHtwcm9wZXJ0eX1cIiBgLCBuZXdWYWx1ZSlcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2NvbnRleHQnLCBjb250ZXh0KVxuICAgICAgICBpZiAoY29udGV4dCkge1xuICAgICAgICAgIGNvbnRleHRbcHJvcGVydHldID0gbmV3VmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgIG9wdGlvbnMuX3ZhbHVlQ2hhbmdlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX3ByZXBhcmVQYXJhbXMobG9kYXNoUGF0aDogc3RyaW5nKSB7XG4gICAgLy8gY29uc29sZS5sb2coJ2NvbnRleHRQYXRoIGJlZm9yZScsIGxvZGFzaFBhdGgpXG4gICAgY29uc3QgY29udGV4dFBhdGggPSB0aGlzLl9IZWxwZXJzLlBhdGguZ2V0Q29udGV4dFBhdGgobG9kYXNoUGF0aCk7XG4gICAgLy8gY29uc29sZS5sb2coJ2NvbnRleHRQYXRoIGFmdGVyJywgY29udGV4dFBhdGgpXG5cbiAgICBsZXQgcHJvcGVydHkgPSB0aGlzLl9IZWxwZXJzLlBhdGguZ2V0UHJvcGVydHlQYXRoKGxvZGFzaFBhdGgsIGNvbnRleHRQYXRoKTtcbiAgICAvLyBjb25zb2xlLmxvZygncHJvcGVydHkgYWZ0ZXIgcHJvY2VzcycsIHByb3BlcnR5KVxuICAgIGlmIChfLmlzU3RyaW5nKHByb3BlcnR5KSAmJiBwcm9wZXJ0eS50cmltKCkgIT09ICcnICYmICFfLmlzTmFOKE51bWJlcihwcm9wZXJ0eSkpKSB7XG4gICAgICBwcm9wZXJ0eSA9IE51bWJlcihwcm9wZXJ0eSlcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRleHRQYXRoLCBwcm9wZXJ0eVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldCBfSGVscGVycygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZ2V0IFBhdGgoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIGdldFByb3BlcnR5UGF0aChsb2RhaFBhdGgsIGNvbnRldFBhdGgpIHtcbiAgICAgICAgICAgIHJldHVybiAobG9kYWhQYXRoXG4gICAgICAgICAgICAgIC5yZXBsYWNlKGNvbnRldFBhdGgsICcnKVxuICAgICAgICAgICAgICAucmVwbGFjZSgvXlxcLi8sICcnKVxuICAgICAgICAgICAgICAucmVwbGFjZSgvXFxbLywgJycpXG4gICAgICAgICAgICAgIC5yZXBsYWNlKC9cXF0vLCAnJykpXG4gICAgICAgICAgfSxcbiAgICAgICAgICBnZXRDb250ZXh0UGF0aChwOiBzdHJpbmcpIHtcbiAgICAgICAgICAgIGxldCByZXM6IHN0cmluZztcbiAgICAgICAgICAgIGlmIChwLmVuZHNXaXRoKCddJykpIHtcbiAgICAgICAgICAgICAgcmVzID0gcC5yZXBsYWNlKC9cXFsoXFxcInxcXCcpP1swLTldKyhcXFwifFxcJyk/XFxdJC8sICcnKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzID0gcC5yZXBsYWNlKC9cXC4oW2EtekEtWjAtOV18XFwkfFxcX3xcXEB8XFwtfFxcL3xcXDopKyQvLCAnJylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXMgPT09IHAgPyAnJyA6IHJlcztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfc2hvdWRsUmV0dXJuKGluY2x1ZGUgPSBbXSwgZXhjbHVkZSA9IFtdLCBsb2Rhc2hQYXRoOiBzdHJpbmcpIHtcbiAgICBsZXQgcmVzID0gZmFsc2U7XG4gICAgaWYgKGxvZGFzaFBhdGgucmVwbGFjZSgvXlxcWyhcXCd8XFxcIik/WzAtOV0qKFxcJ3xcXFwiKT9cXF0vLCAnJykudHJpbSgpICE9PSAnJykge1xuICAgICAgbG9kYXNoUGF0aCA9IGxvZGFzaFBhdGgucmVwbGFjZSgvXlxcWyhcXCd8XFxcIik/WzAtOV0qKFxcJ3xcXFwiKT9cXF1cXC4vLCAnJylcbiAgICAgIHJlcyA9IChcbiAgICAgICAgKF8uaXNBcnJheShpbmNsdWRlKSAmJiBpbmNsdWRlLmxlbmd0aCA+IDBcbiAgICAgICAgICAmJiAhaW5jbHVkZS5maW5kKHAgPT4gbG9kYXNoUGF0aC5zdGFydHNXaXRoKHApKSlcbiAgICAgICAgfHxcbiAgICAgICAgKF8uaXNBcnJheShleGNsdWRlKSAmJiBleGNsdWRlLmxlbmd0aCA+IDBcbiAgICAgICAgICAmJiAhIWV4Y2x1ZGUuZmluZChwID0+IGxvZGFzaFBhdGguc3RhcnRzV2l0aChwKSkpXG4gICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgcHJpdmF0ZSBzdGF0aWMgcHJlcGFyZU9wdGlvbnMob3B0aW9uczogTW9kZWxzLkludGVybmFsVmFsdWVzLCBvYmosIGxvZGFzaFBhdGgpIHtcblxuICAgIGlmIChvcHRpb25zLl9leGl0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy53YWxrR2V0dGVycykpIHtcbiAgICAgIG9wdGlvbnMud2Fsa0dldHRlcnMgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuY2hlY2tDaXJjdXJhbCkpIHtcbiAgICAgIG9wdGlvbnMuY2hlY2tDaXJjdXJhbCA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuaXNHZXR0ZXIpKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBvcHRpb25zLmlzR2V0dGVyID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5fdmFsdWVDaGFuZ2VkKSkge1xuICAgICAgb3B0aW9ucy5fdmFsdWVDaGFuZ2VkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5fZXhpdCkpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG9wdGlvbnMuX2V4aXQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoXy5pc1VuZGVmaW5lZChvcHRpb25zLmV4aXQpKSB7XG4gICAgICBvcHRpb25zLmV4aXQgPSAoKSA9PiB7XG4gICAgICAgIG9wdGlvbnMuX2V4aXQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuX3NraXApKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBvcHRpb25zLl9za2lwID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5za2lwT2JqZWN0KSkge1xuICAgICAgb3B0aW9ucy5za2lwT2JqZWN0ID0gKCkgPT4ge1xuICAgICAgICBvcHRpb25zLl9za2lwID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5jaGVja0NpcmN1cmFsKSB7XG4gICAgICBpZiAoXy5pc1VuZGVmaW5lZChvcHRpb25zLmRiKSkge1xuICAgICAgICBvcHRpb25zLmRiID0ge31cbiAgICAgIH1cblxuICAgICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5zdGFjaykpIHtcbiAgICAgICAgb3B0aW9ucy5zdGFjayA9IFtdXG4gICAgICB9XG5cbiAgICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuY2lyY3VyYWwpKSB7XG4gICAgICAgIG9wdGlvbnMuY2lyY3VyYWwgPSBbXVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHsgZGIsIHN0YWNrIH0gPSBvcHRpb25zO1xuICAgIG9wdGlvbnMuaXNDaXJjdXJhbCA9IGZhbHNlO1xuXG4gICAgaWYgKG9wdGlvbnMuY2hlY2tDaXJjdXJhbCAmJiBfLmlzT2JqZWN0KG9iaikpIHtcbiAgICAgIGxldCBpbmRleFZhbHVlID0gQ0xBU1MuT0JKRUNUKG9iaikuaW5kZXhWYWx1ZVxuICAgICAgaWYgKENMQVNTLk9CSkVDVChvYmopLmlzQ2xhc3NPYmplY3QgJiYgIV8uaXNVbmRlZmluZWQoaW5kZXhWYWx1ZSkpIHtcbiAgICAgICAgbGV0IGNsYXNzTmFtZSA9IENMQVNTLmdldE5hbWVGcm9tT2JqZWN0KG9iaik7XG4gICAgICAgIGxldCBwID0gYCR7Y2xhc3NOYW1lfS5pZF8ke2luZGV4VmFsdWV9YDtcbiAgICAgICAgY29uc3QgaW5EQjogTW9kZWxzLkluREJUeXBlID0gXy5nZXQoZGIsIHApO1xuXG4gICAgICAgIGlmIChpbkRCICYmIENMQVNTLk9CSkVDVChpbkRCLnRhcmdldCkuaXNFcXVhbChvYmopKSB7XG4gICAgICAgICAgY29uc3QgY2lyYzogTW9kZWxzLkNpcmMgPSB7XG4gICAgICAgICAgICBwYXRoVG9PYmo6IGxvZGFzaFBhdGgsXG4gICAgICAgICAgICBjaXJjdXJhbFRhcmdldFBhdGg6IGluREIucGF0aFxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgb3B0aW9ucy5jaXJjdXJhbC5wdXNoKGNpcmMpXG4gICAgICAgICAgb3B0aW9ucy5pc0NpcmN1cmFsID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBfLnNldChkYiwgcCwge1xuICAgICAgICAgICAgcGF0aDogbG9kYXNoUGF0aCxcbiAgICAgICAgICAgIHRhcmdldDogb2JqXG4gICAgICAgICAgfSBhcyBNb2RlbHMuSW5EQlR5cGUpXG4gICAgICAgIH1cblxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBpblN0YWNrID0gc3RhY2suZmluZCgoYzogTW9kZWxzLkluREJUeXBlKSA9PiBjLnRhcmdldCA9PSBvYmopO1xuXG4gICAgICAgIGlmICghXy5pc1VuZGVmaW5lZChpblN0YWNrKSkge1xuICAgICAgICAgIGNvbnN0IGNpcmM6IE1vZGVscy5DaXJjID0ge1xuICAgICAgICAgICAgcGF0aFRvT2JqOiBsb2Rhc2hQYXRoLFxuICAgICAgICAgICAgY2lyY3VyYWxUYXJnZXRQYXRoOiBpblN0YWNrLnBhdGhcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIG9wdGlvbnMuY2lyY3VyYWwucHVzaChjaXJjKVxuICAgICAgICAgIG9wdGlvbnMuaXNDaXJjdXJhbCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHN0YWNrLnB1c2goe1xuICAgICAgICAgICAgcGF0aDogbG9kYXNoUGF0aCxcbiAgICAgICAgICAgIHRhcmdldDogb2JqXG4gICAgICAgICAgfSBhcyBNb2RlbHMuSW5EQlR5cGUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfd2Fsayhqc29uOiBPYmplY3QsIG9iajogT2JqZWN0LCBpdGVyYXRvcjogSXRlcmF0b3IsIGxvZGFzaFBhdGggPSAnJyxcbiAgICBvcHRpb25zPzogTW9kZWxzLkludGVybmFsVmFsdWVzLCBkZXB0aExldmVsID0gMCkge1xuXG4gICAgaWYgKCFvcHRpb25zKSB7XG4gICAgICBvcHRpb25zID0ge30gYXMgYW55O1xuICAgIH1cblxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAoIW9wdGlvbnMuYnJlYWR0aFdhbGspIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG9wdGlvbnMgPSB0aGlzLnByZXBhcmVPcHRpb25zKG9wdGlvbnMsIG9iaiwgbG9kYXNoUGF0aClcblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKHRoaXMuX3Nob3VkbFJldHVybihvcHRpb25zLmluY2x1ZGUsIG9wdGlvbnMuZXhjbHVkZSwgbG9kYXNoUGF0aCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAob3B0aW9ucy5oYXNJdGVyYXRvciAmJiBsb2Rhc2hQYXRoICE9PSAnJykge1xuICAgICAgICBpdGVyYXRvcihvYmosIGxvZGFzaFBhdGgsIHRoaXMuX2NoYW5nZVZhbHVlKGpzb24sIGxvZGFzaFBhdGgsIGZhbHNlLCBvcHRpb25zKSwgb3B0aW9ucylcbiAgICAgIH1cblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKG9wdGlvbnMuX3ZhbHVlQ2hhbmdlZCkge1xuICAgICAgICBvYmogPSBfLmdldChqc29uLCBsb2Rhc2hQYXRoKVxuICAgICAgfVxuICAgICAgb3B0aW9ucy5fdmFsdWVDaGFuZ2VkID0gZmFsc2U7XG5cbiAgICAgIGlmIChvcHRpb25zLmlzQ2lyY3VyYWwpIHtcbiAgICAgICAgb3B0aW9ucy5fc2tpcCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChvcHRpb25zLl9za2lwKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgb3B0aW9ucy5fc2tpcCA9IGZhbHNlO1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgaWYgKG9wdGlvbnMuYnJlYWR0aFdhbGspIHtcblxuICAgICAgbGV0IHF1ZXVlOiBNb2RlbHMuVmVyW10gPSBbeyB2OiBqc29uLCBwOiBsb2Rhc2hQYXRoLCBwYXJlbnQ6IHZvaWQgMCB9XTtcblxuICAgICAgLy8gY29uc3QgcGF0aGVzVG9Ta2lwID0ge307XG4gICAgICB3aGlsZSAocXVldWUubGVuZ3RoID4gMCkge1xuXG4gICAgICAgIGNvbnN0IHZlciA9IHF1ZXVlLnNoaWZ0KCk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGBwYXRoZXMgdG8gc2tpcGAsIHBhdGhlc1RvU2tpcCk7XG4gICAgICAgIC8vIGlmICghXy5pc1VuZGVmaW5lZChPYmplY3Qua2V5cyhwYXRoZXNUb1NraXApLmZpbmQoa2V5ID0+IHZlci5wLnN0YXJ0c1dpdGgocGF0aGVzVG9Ta2lwW2tleV0pKSkpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coYHNraXA6ICR7dmVyLnB9YClcbiAgICAgICAgLy8gY29udGludWU7XG4gICAgICAgIC8vIH1cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBpZiAodGhpcy5fc2hvdWRsUmV0dXJuKG9wdGlvbnMuaW5jbHVkZSwgb3B0aW9ucy5leGNsdWRlLCB2ZXIucCkpIHtcbiAgICAgICAgICAvLyBwYXRoZXNUb1NraXBbdmVyLnBdID0gdHJ1ZTtcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZyhgc2tpcDI6ICR7dmVyLnB9YClcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGBub3Qgc2tpcCB2YWx1ZSAke3Zlci5wfWApXG5cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBsZXQgeyB2LCBwIH0gPSB2ZXI7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgb3B0aW9ucyA9IHRoaXMucHJlcGFyZU9wdGlvbnMob3B0aW9ucywgdiwgcClcblxuICAgICAgICBpZiAob3B0aW9ucy5fZXhpdCkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdFWElUJylcbiAgICAgICAgICByZXR1cm4gb3B0aW9ucztcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9ucy5oYXNJdGVyYXRvciAmJiBwICE9PSAnJykge1xuICAgICAgICAgIGl0ZXJhdG9yKHYsIHAsIHRoaXMuX2NoYW5nZVZhbHVlKGpzb24sIHAsIGZhbHNlLCBvcHRpb25zKSwgb3B0aW9ucyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGlmIChvcHRpb25zLl92YWx1ZUNoYW5nZWQpIHtcbiAgICAgICAgICB2ZXIudiA9IF8uZ2V0KGpzb24sIHApO1xuICAgICAgICB9XG4gICAgICAgIG9wdGlvbnMuX3ZhbHVlQ2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgICAgIGlmIChvcHRpb25zLmlzQ2lyY3VyYWwpIHtcbiAgICAgICAgICAvLyBwYXRoZXNUb1NraXBbdmVyLnBdID0gdHJ1ZTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb25zLl9za2lwKSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIG9wdGlvbnMuX3NraXAgPSBmYWxzZTtcbiAgICAgICAgICAvLyBwYXRoZXNUb1NraXBbdmVyLnBdID0gdHJ1ZTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBjb25zb2xlLmxvZyhgTE9PSyBGT1IgQ0hJTERSRU4gT0YgJHt2ZXIucH1gKVxuICAgICAgICBpZiAoXy5pc0FycmF5KHYpKSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHF1ZXVlID0gcXVldWUuY29uY2F0KGZpbmRDaGlsZHJlbih2ZXIsIHAsIG9wdGlvbnMud2Fsa0dldHRlcnMpKVxuICAgICAgICB9IGVsc2UgaWYgKF8uaXNPYmplY3QodikpIHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgcXVldWUgPSBxdWV1ZS5jb25jYXQoZmluZENoaWxkcmVuKHZlciwgcCwgb3B0aW9ucy53YWxrR2V0dGVycykpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjb25zdCB7IHdhbGtHZXR0ZXJzIH0gPSBvcHRpb25zO1xuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgICAgIG9iai5mb3JFYWNoKChvLCBpKSA9PiB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHRoaXMuX3dhbGsoanNvbiwgb2JqW2ldLCBpdGVyYXRvciwgYCR7bG9kYXNoUGF0aH1bJHtpfV1gLCBvcHRpb25zLCBkZXB0aExldmVsICsgMSlcbiAgICAgICAgfSlcblxuICAgICAgfSBlbHNlIGlmIChfLmlzT2JqZWN0KG9iaikpIHtcbiAgICAgICAgY29uc3QgYWxsS2V5cyA9ICF3YWxrR2V0dGVycyA/IFtdIDogT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XG4gICAgICAgICAgaWYgKF8uaXNPYmplY3Qob2JqKSAmJiBvYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgXy5wdWxsKGFsbEtleXMsIGtleSlcblxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgb3B0aW9ucy5pc0dldHRlciA9IGZhbHNlO1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgdGhpcy5fd2Fsayhqc29uLCBvYmpba2V5XSwgaXRlcmF0b3IsIGAkeyhsb2Rhc2hQYXRoID09PSAnJykgPyAnJyA6IGAke2xvZGFzaFBhdGh9LmB9JHtrZXl9YCwgb3B0aW9ucywgZGVwdGhMZXZlbCArIDEpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh3YWxrR2V0dGVycykge1xuICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBhbGxLZXlzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgaWYgKF8uaXNPYmplY3Qob2JqKSkge1xuICAgICAgICAgICAgICBjb25zdCBrZXkgPSBhbGxLZXlzW2luZGV4XTtcblxuICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgIG9wdGlvbnMuaXNHZXR0ZXIgPSB0cnVlO1xuICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgIHRoaXMuX3dhbGsoanNvbiwgb2JqW2tleV0sIGl0ZXJhdG9yLCBgJHsobG9kYXNoUGF0aCA9PT0gJycpID8gJycgOiBgJHtsb2Rhc2hQYXRofS5gfSR7a2V5fWAsIG9wdGlvbnMsIGRlcHRoTGV2ZWwgKyAxKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAob3B0aW9ucy5fZXhpdCAmJiBqc29uID09PSBvYmopIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBvcHRpb25zLl9leGl0ID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG59XG5cbmV4cG9ydCBjb25zdCB3YWxrID0ge1xuICBPYmplY3Q6IEhlbHBlcnMuV2Fsay5PYmplY3QsXG4gIE9iamVjdEJ5OiBIZWxwZXJzLldhbGsuT2JqZWN0Qnlcbn1cbiJdfQ==
354
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL2xvZGFzaC13YWxrLW9iamVjdC9wcm9qZWN0cy9sb2Rhc2gtd2Fsay1vYmplY3Qvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBR3pELGNBQWMsVUFBVSxDQUFDO0FBRXpCLFNBQVMsWUFBWSxDQUFDLEdBQWUsRUFBRSxFQUFVLEVBQUUsV0FBb0I7SUFFckUsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUNqQixJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDbEIsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3RCLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFBO1FBQzlELENBQUMsQ0FBQyxDQUFDO0tBQ0o7U0FBTSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFFMUIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sUUFBUSxHQUFpQixFQUFFLENBQUM7UUFDbEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUU7WUFDckIsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMs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QyxLQUFLLElBQUksSUFBSSxLQUFLLEdBQUcsRUFBRTtnQkFDakMsYUFBYTtnQkFDYixPQUFPLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQzthQUN2QjtTQUVGO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUVGO0FBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHO0lBQ2xCLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU07SUFDM0IsUUFBUSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUTtDQUNoQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgQ0xBU1MgfSBmcm9tICd0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvYnJvd3Nlcic7XG4vLyBsZXQgY291bnRlciA9IDBcbmltcG9ydCB7IE1vZGVscyB9IGZyb20gJy4vbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcblxuZnVuY3Rpb24gZmluZENoaWxkcmVuKHZlcjogTW9kZWxzLlZlciwgbHA6IHN0cmluZywgd2Fsa0dldHRlcnM6IGJvb2xlYW4pOiBNb2RlbHMuVmVyW10ge1xuXG4gIGNvbnN0IG9iaiA9IHZlci52XG4gIGlmIChfLmlzQXJyYXkob2JqKSkge1xuICAgIHJldHVybiBvYmoubWFwKCh2LCBpKSA9PiB7XG4gICAgICByZXR1cm4geyB2LCBwOiBgJHtscH1bJHtpfV1gLCBwYXJlbnQ6IHZlciwgaXNHZXR0ZXI6IGZhbHNlIH1cbiAgICB9KTtcbiAgfSBlbHNlIGlmIChfLmlzT2JqZWN0KG9iaikpIHtcblxuICAgIGNvbnN0IGFsbEtleXMgPSAhd2Fsa0dldHRlcnMgPyBbXSA6IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaik7XG4gICAgY29uc3QgY2hpbGRyZW46IE1vZGVscy5WZXJbXSA9IFtdO1xuICAgIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xuICAgICAgaWYgKF8uaXNPYmplY3Qob2JqKSAmJiBfLmlzRnVuY3Rpb24ob2JqLmhhc093blByb3BlcnR5KSAmJiBvYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICBfLnB1bGwoYWxsS2V5cywga2V5KVxuICAgICAgICBjaGlsZHJlbi5wdXNoKHsgdjogb2JqW2tleV0sIHA6IGAkeyhscCA9PT0gJycpID8gJycgOiBgJHtscH0uYH0ke2tleX1gLCBwYXJlbnQ6IHZlciwgaXNHZXR0ZXI6IGZhbHNlIH0pXG4gICAgICB9XG4gICAgfVxuICAgIGlmICh3YWxrR2V0dGVycykge1xuICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGFsbEtleXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGlmIChfLmlzT2JqZWN0KG9iaikpIHtcbiAgICAgICAgICBjb25zdCBrZXkgPSBhbGxLZXlzW2luZGV4XTtcbiAgICAgICAgICBjaGlsZHJlbi5wdXNoKHsgdjogb2JqW2tleV0sIHA6IGAkeyhscCA9PT0gJycpID8gJycgOiBgJHtscH0uYH0ke2tleX1gLCBwYXJlbnQ6IHZlciwgaXNHZXR0ZXI6IHRydWUgfSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY2hpbGRyZW47XG4gIH1cbiAgcmV0dXJuIFtdO1xufVxuXG5cblxuZXhwb3J0IHR5cGUgSXRlcmF0b3IgPSAodmFsdWU6IGFueSxcbiAgbG9kYXNoUGF0aDogc3RyaW5nLFxuICAvLyBAdHMtaWdub3JlXG4gIGNoYW5nZVZhbHVlVG86IChuZXdWYWx1ZSkgPT4gdm9pZCxcbiAgb3B0aW9ucz86IE1vZGVscy5BZGRpdGlvbmFsSXRlcmF0b3JPcHRpb25zXG5cbikgPT4gdm9pZFxuZXhwb3J0IGNsYXNzIEhlbHBlcnMge1xuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IFdhbGsoKSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgcmV0dXJuIHtcbiAgICAgIE9iamVjdChqc29uOiBPYmplY3QsIGl0ZXJhdG9yOiBJdGVyYXRvciwgb3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZT86IE1vZGVscy5TdGFydEl0ZXJhdG9yT3B0aW9ucykge1xuXG4gICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnNPcldhbGtHZXR0ZXJzVmFsdWUpKSB7XG4gICAgICAgICAgb3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZSA9IHt9XG4gICAgICAgIH1cblxuICAgICAgICAob3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZSBhcyBNb2RlbHMuSW50ZXJuYWxWYWx1ZXMpLmhhc0l0ZXJhdG9yID0gXy5pc0Z1bmN0aW9uKGl0ZXJhdG9yKVxuXG4gICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnNPcldhbGtHZXR0ZXJzVmFsdWUuYnJlYWR0aFdhbGspKSB7XG4gICAgICAgICAgb3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZS5icmVhZHRoV2FsayA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHtcbiAgICAgICAgICBjaXJjdXJhbFxuICAgICAgICB9ID0gc2VsZi5fd2Fsayhqc29uLCBqc29uLCBpdGVyYXRvciwgdm9pZCAwLCBvcHRpb25zT3JXYWxrR2V0dGVyc1ZhbHVlIGFzIGFueSlcblxuICAgICAgICByZXR1cm4geyBjaXJjczogY2lyY3VyYWwgfVxuICAgICAgfSxcbiAgICAgIE9iamVjdEJ5KHByb3BlcnR5OiBzdHJpbmcsIGluQ29udGV4dDogT2JqZWN0LCBpdGVyYXRvcjogSXRlcmF0b3IsIG9wdGlvbnM/OiBNb2RlbHMuU3RhcnRJdGVyYXRvck9wdGlvbnMpIHtcbiAgICAgICAgaWYgKF8uaXNGdW5jdGlvbihpdGVyYXRvcikpIHtcbiAgICAgICAgICBpdGVyYXRvcihpbkNvbnRleHQsICcnLCBzZWxmLl9jaGFuZ2VWYWx1ZShpbkNvbnRleHQsIHByb3BlcnR5LCB0cnVlKSkgLy8gVE9ETyBBZGQgb3B0b2luc1xuICAgICAgICB9XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgY29uc3QganNvbiA9IGluQ29udGV4dFtwcm9wZXJ0eV1cbiAgICAgICAgcmV0dXJuIHNlbGYuV2Fsay5PYmplY3QoanNvbiwgaXRlcmF0b3IsIG9wdGlvbnMpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2NoYW5nZVZhbHVlKGpzb246IE9iamVjdCwgbG9kYWhQYXRoOiBzdHJpbmcsIHNpbXBsZUNoYW5nZSA9IGZhbHNlLCBvcHRpb25zPzogTW9kZWxzLkludGVybmFsVmFsdWVzKSB7XG5cbiAgICB2YXIgeyBjb250ZXh0UGF0aCwgcHJvcGVydHkgfSA9IHRoaXMuX3ByZXBhcmVQYXJhbXMobG9kYWhQYXRoKTtcbiAgICB2YXIgY29udGV4dCA9IF8uZ2V0KGpzb24sIGNvbnRleHRQYXRoKTtcblxuICAgIHJldHVybiAobmV3VmFsdWU6IGFueSkgPT4ge1xuICAgICAgaWYgKGNvbnRleHRQYXRoID09PSAnJykge1xuICAgICAgICBzaW1wbGVDaGFuZ2UgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoc2ltcGxlQ2hhbmdlKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAganNvbltwcm9wZXJ0eV0gPSBuZXdWYWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGBDT05URVhUIFZBTFVFIENIQU5HRSEgIFwiJHtjb250ZXh0UGF0aH1cIiArIFwiJHtwcm9wZXJ0eX1cIiBgLCBuZXdWYWx1ZSlcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2NvbnRleHQnLCBjb250ZXh0KVxuICAgICAgICBpZiAoY29udGV4dCkge1xuICAgICAgICAgIGNvbnRleHRbcHJvcGVydHldID0gbmV3VmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgIG9wdGlvbnMuX3ZhbHVlQ2hhbmdlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX3ByZXBhcmVQYXJhbXMobG9kYXNoUGF0aDogc3RyaW5nKSB7XG4gICAgLy8gY29uc29sZS5sb2coJ2NvbnRleHRQYXRoIGJlZm9yZScsIGxvZGFzaFBhdGgpXG4gICAgY29uc3QgY29udGV4dFBhdGggPSB0aGlzLl9IZWxwZXJzLlBhdGguZ2V0Q29udGV4dFBhdGgobG9kYXNoUGF0aCk7XG4gICAgLy8gY29uc29sZS5sb2coJ2NvbnRleHRQYXRoIGFmdGVyJywgY29udGV4dFBhdGgpXG5cbiAgICBsZXQgcHJvcGVydHkgPSB0aGlzLl9IZWxwZXJzLlBhdGguZ2V0UHJvcGVydHlQYXRoKGxvZGFzaFBhdGgsIGNvbnRleHRQYXRoKTtcbiAgICAvLyBjb25zb2xlLmxvZygncHJvcGVydHkgYWZ0ZXIgcHJvY2VzcycsIHByb3BlcnR5KVxuICAgIGlmIChfLmlzU3RyaW5nKHByb3BlcnR5KSAmJiBwcm9wZXJ0eS50cmltKCkgIT09ICcnICYmICFfLmlzTmFOKE51bWJlcihwcm9wZXJ0eSkpKSB7XG4gICAgICBwcm9wZXJ0eSA9IE51bWJlcihwcm9wZXJ0eSlcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRleHRQYXRoLCBwcm9wZXJ0eVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldCBfSGVscGVycygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZ2V0IFBhdGgoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIGdldFByb3BlcnR5UGF0aChsb2RhaFBhdGgsIGNvbnRldFBhdGgpIHtcbiAgICAgICAgICAgIHJldHVybiAobG9kYWhQYXRoXG4gICAgICAgICAgICAgIC5yZXBsYWNlKGNvbnRldFBhdGgsICcnKVxuICAgICAgICAgICAgICAucmVwbGFjZSgvXlxcLi8sICcnKVxuICAgICAgICAgICAgICAucmVwbGFjZSgvXFxbLywgJycpXG4gICAgICAgICAgICAgIC5yZXBsYWNlKC9cXF0vLCAnJykpXG4gICAgICAgICAgfSxcbiAgICAgICAgICBnZXRDb250ZXh0UGF0aChwOiBzdHJpbmcpIHtcbiAgICAgICAgICAgIGxldCByZXM6IHN0cmluZztcbiAgICAgICAgICAgIGlmIChwLmVuZHNXaXRoKCddJykpIHtcbiAgICAgICAgICAgICAgcmVzID0gcC5yZXBsYWNlKC9cXFsoXFxcInxcXCcpP1swLTldKyhcXFwifFxcJyk/XFxdJC8sICcnKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzID0gcC5yZXBsYWNlKC9cXC4oW2EtekEtWjAtOV18XFwkfFxcX3xcXEB8XFwtfFxcL3xcXDopKyQvLCAnJylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXMgPT09IHAgPyAnJyA6IHJlcztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfc2hvdWRsUmV0dXJuKGluY2x1ZGUgPSBbXSwgZXhjbHVkZSA9IFtdLCBsb2Rhc2hQYXRoOiBzdHJpbmcpIHtcbiAgICBsZXQgcmVzID0gZmFsc2U7XG4gICAgaWYgKGxvZGFzaFBhdGgucmVwbGFjZSgvXlxcWyhcXCd8XFxcIik/WzAtOV0qKFxcJ3xcXFwiKT9cXF0vLCAnJykudHJpbSgpICE9PSAnJykge1xuICAgICAgbG9kYXNoUGF0aCA9IGxvZGFzaFBhdGgucmVwbGFjZSgvXlxcWyhcXCd8XFxcIik/WzAtOV0qKFxcJ3xcXFwiKT9cXF1cXC4vLCAnJylcbiAgICAgIHJlcyA9IChcbiAgICAgICAgKF8uaXNBcnJheShpbmNsdWRlKSAmJiBpbmNsdWRlLmxlbmd0aCA+IDBcbiAgICAgICAgICAmJiAhaW5jbHVkZS5maW5kKHAgPT4gbG9kYXNoUGF0aC5zdGFydHNXaXRoKHApKSlcbiAgICAgICAgfHxcbiAgICAgICAgKF8uaXNBcnJheShleGNsdWRlKSAmJiBleGNsdWRlLmxlbmd0aCA+IDBcbiAgICAgICAgICAmJiAhIWV4Y2x1ZGUuZmluZChwID0+IGxvZGFzaFBhdGguc3RhcnRzV2l0aChwKSkpXG4gICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgcHJpdmF0ZSBzdGF0aWMgcHJlcGFyZU9wdGlvbnMob3B0aW9uczogTW9kZWxzLkludGVybmFsVmFsdWVzLCBvYmosIGxvZGFzaFBhdGgpIHtcblxuICAgIGlmIChvcHRpb25zLl9leGl0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy53YWxrR2V0dGVycykpIHtcbiAgICAgIG9wdGlvbnMud2Fsa0dldHRlcnMgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuY2hlY2tDaXJjdXJhbCkpIHtcbiAgICAgIG9wdGlvbnMuY2hlY2tDaXJjdXJhbCA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuaXNHZXR0ZXIpKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBvcHRpb25zLmlzR2V0dGVyID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5fdmFsdWVDaGFuZ2VkKSkge1xuICAgICAgb3B0aW9ucy5fdmFsdWVDaGFuZ2VkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5fZXhpdCkpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG9wdGlvbnMuX2V4aXQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoXy5pc1VuZGVmaW5lZChvcHRpb25zLmV4aXQpKSB7XG4gICAgICBvcHRpb25zLmV4aXQgPSAoKSA9PiB7XG4gICAgICAgIG9wdGlvbnMuX2V4aXQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuX3NraXApKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBvcHRpb25zLl9za2lwID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5za2lwT2JqZWN0KSkge1xuICAgICAgb3B0aW9ucy5za2lwT2JqZWN0ID0gKCkgPT4ge1xuICAgICAgICBvcHRpb25zLl9za2lwID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5jaGVja0NpcmN1cmFsKSB7XG4gICAgICBpZiAoXy5pc1VuZGVmaW5lZChvcHRpb25zLmRiKSkge1xuICAgICAgICBvcHRpb25zLmRiID0ge31cbiAgICAgIH1cblxuICAgICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5zdGFjaykpIHtcbiAgICAgICAgb3B0aW9ucy5zdGFjayA9IFtdXG4gICAgICB9XG5cbiAgICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuY2lyY3VyYWwpKSB7XG4gICAgICAgIG9wdGlvbnMuY2lyY3VyYWwgPSBbXVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHsgZGIsIHN0YWNrIH0gPSBvcHRpb25zO1xuICAgIG9wdGlvbnMuaXNDaXJjdXJhbCA9IGZhbHNlO1xuXG4gICAgaWYgKG9wdGlvbnMuY2hlY2tDaXJjdXJhbCAmJiBfLmlzT2JqZWN0KG9iaikpIHtcbiAgICAgIGxldCBpbmRleFZhbHVlID0gQ0xBU1MuT0JKRUNUKG9iaikuaW5kZXhWYWx1ZVxuICAgICAgaWYgKENMQVNTLk9CSkVDVChvYmopLmlzQ2xhc3NPYmplY3QgJiYgIV8uaXNVbmRlZmluZWQoaW5kZXhWYWx1ZSkpIHtcbiAgICAgICAgbGV0IGNsYXNzTmFtZSA9IENMQVNTLmdldE5hbWVGcm9tT2JqZWN0KG9iaik7XG4gICAgICAgIGxldCBwID0gYCR7Y2xhc3NOYW1lfS5pZF8ke2luZGV4VmFsdWV9YDtcbiAgICAgICAgY29uc3QgaW5EQjogTW9kZWxzLkluREJUeXBlID0gXy5nZXQoZGIsIHApO1xuXG4gICAgICAgIGlmIChpbkRCICYmIENMQVNTLk9CSkVDVChpbkRCLnRhcmdldCkuaXNFcXVhbChvYmopKSB7XG4gICAgICAgICAgY29uc3QgY2lyYzogTW9kZWxzLkNpcmMgPSB7XG4gICAgICAgICAgICBwYXRoVG9PYmo6IGxvZGFzaFBhdGgsXG4gICAgICAgICAgICBjaXJjdXJhbFRhcmdldFBhdGg6IGluREIucGF0aFxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgb3B0aW9ucy5jaXJjdXJhbC5wdXNoKGNpcmMpXG4gICAgICAgICAgb3B0aW9ucy5pc0NpcmN1cmFsID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBfLnNldChkYiwgcCwge1xuICAgICAgICAgICAgcGF0aDogbG9kYXNoUGF0aCxcbiAgICAgICAgICAgIHRhcmdldDogb2JqXG4gICAgICAgICAgfSBhcyBNb2RlbHMuSW5EQlR5cGUpXG4gICAgICAgIH1cblxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBpblN0YWNrID0gc3RhY2suZmluZCgoYzogTW9kZWxzLkluREJUeXBlKSA9PiBjLnRhcmdldCA9PSBvYmopO1xuXG4gICAgICAgIGlmICghXy5pc1VuZGVmaW5lZChpblN0YWNrKSkge1xuICAgICAgICAgIGNvbnN0IGNpcmM6IE1vZGVscy5DaXJjID0ge1xuICAgICAgICAgICAgcGF0aFRvT2JqOiBsb2Rhc2hQYXRoLFxuICAgICAgICAgICAgY2lyY3VyYWxUYXJnZXRQYXRoOiBpblN0YWNrLnBhdGhcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIG9wdGlvbnMuY2lyY3VyYWwucHVzaChjaXJjKVxuICAgICAgICAgIG9wdGlvbnMuaXNDaXJjdXJhbCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHN0YWNrLnB1c2goe1xuICAgICAgICAgICAgcGF0aDogbG9kYXNoUGF0aCxcbiAgICAgICAgICAgIHRhcmdldDogb2JqXG4gICAgICAgICAgfSBhcyBNb2RlbHMuSW5EQlR5cGUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfd2Fsayhqc29uOiBPYmplY3QsIG9iajogT2JqZWN0LCBpdGVyYXRvcjogSXRlcmF0b3IsIGxvZGFzaFBhdGggPSAnJyxcbiAgICBvcHRpb25zPzogTW9kZWxzLkludGVybmFsVmFsdWVzLCBkZXB0aExldmVsID0gMCkge1xuXG4gICAgaWYgKCFvcHRpb25zKSB7XG4gICAgICBvcHRpb25zID0ge30gYXMgYW55O1xuICAgIH1cblxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAoIW9wdGlvbnMuYnJlYWR0aFdhbGspIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG9wdGlvbnMgPSB0aGlzLnByZXBhcmVPcHRpb25zKG9wdGlvbnMsIG9iaiwgbG9kYXNoUGF0aClcblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKHRoaXMuX3Nob3VkbFJldHVybihvcHRpb25zLmluY2x1ZGUsIG9wdGlvbnMuZXhjbHVkZSwgbG9kYXNoUGF0aCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAob3B0aW9ucy5oYXNJdGVyYXRvciAmJiBsb2Rhc2hQYXRoICE9PSAnJykge1xuICAgICAgICBpdGVyYXRvcihvYmosIGxvZGFzaFBhdGgsIHRoaXMuX2NoYW5nZVZhbHVlKGpzb24sIGxvZGFzaFBhdGgsIGZhbHNlLCBvcHRpb25zKSwgb3B0aW9ucylcbiAgICAgIH1cblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKG9wdGlvbnMuX3ZhbHVlQ2hhbmdlZCkge1xuICAgICAgICBvYmogPSBfLmdldChqc29uLCBsb2Rhc2hQYXRoKVxuICAgICAgfVxuICAgICAgb3B0aW9ucy5fdmFsdWVDaGFuZ2VkID0gZmFsc2U7XG5cbiAgICAgIGlmIChvcHRpb25zLmlzQ2lyY3VyYWwpIHtcbiAgICAgICAgb3B0aW9ucy5fc2tpcCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChvcHRpb25zLl9za2lwKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgb3B0aW9ucy5fc2tpcCA9IGZhbHNlO1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgaWYgKG9wdGlvbnMuYnJlYWR0aFdhbGspIHtcblxuICAgICAgbGV0IHF1ZXVlOiBNb2RlbHMuVmVyW10gPSBbeyB2OiBqc29uLCBwOiBsb2Rhc2hQYXRoLCBwYXJlbnQ6IHZvaWQgMCB9XTtcblxuICAgICAgLy8gY29uc3QgcGF0aGVzVG9Ta2lwID0ge307XG4gICAgICB3aGlsZSAocXVldWUubGVuZ3RoID4gMCkge1xuXG4gICAgICAgIGNvbnN0IHZlciA9IHF1ZXVlLnNoaWZ0KCk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGBwYXRoZXMgdG8gc2tpcGAsIHBhdGhlc1RvU2tpcCk7XG4gICAgICAgIC8vIGlmICghXy5pc1VuZGVmaW5lZChPYmplY3Qua2V5cyhwYXRoZXNUb1NraXApLmZpbmQoa2V5ID0+IHZlci5wLnN0YXJ0c1dpdGgocGF0aGVzVG9Ta2lwW2tleV0pKSkpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coYHNraXA6ICR7dmVyLnB9YClcbiAgICAgICAgLy8gY29udGludWU7XG4gICAgICAgIC8vIH1cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBpZiAodGhpcy5fc2hvdWRsUmV0dXJuKG9wdGlvbnMuaW5jbHVkZSwgb3B0aW9ucy5leGNsdWRlLCB2ZXIucCkpIHtcbiAgICAgICAgICAvLyBwYXRoZXNUb1NraXBbdmVyLnBdID0gdHJ1ZTtcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZyhgc2tpcDI6ICR7dmVyLnB9YClcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGBub3Qgc2tpcCB2YWx1ZSAke3Zlci5wfWApXG5cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBsZXQgeyB2LCBwIH0gPSB2ZXI7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgb3B0aW9ucyA9IHRoaXMucHJlcGFyZU9wdGlvbnMob3B0aW9ucywgdiwgcClcblxuICAgICAgICBpZiAob3B0aW9ucy5fZXhpdCkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdFWElUJylcbiAgICAgICAgICByZXR1cm4gb3B0aW9ucztcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9ucy5oYXNJdGVyYXRvciAmJiBwICE9PSAnJykge1xuICAgICAgICAgIGl0ZXJhdG9yKHYsIHAsIHRoaXMuX2NoYW5nZVZhbHVlKGpzb24sIHAsIGZhbHNlLCBvcHRpb25zKSwgb3B0aW9ucyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGlmIChvcHRpb25zLl92YWx1ZUNoYW5nZWQpIHtcbiAgICAgICAgICB2ZXIudiA9IF8uZ2V0KGpzb24sIHApO1xuICAgICAgICB9XG4gICAgICAgIG9wdGlvbnMuX3ZhbHVlQ2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgICAgIGlmIChvcHRpb25zLmlzQ2lyY3VyYWwpIHtcbiAgICAgICAgICAvLyBwYXRoZXNUb1NraXBbdmVyLnBdID0gdHJ1ZTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb25zLl9za2lwKSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIG9wdGlvbnMuX3NraXAgPSBmYWxzZTtcbiAgICAgICAgICAvLyBwYXRoZXNUb1NraXBbdmVyLnBdID0gdHJ1ZTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBjb25zb2xlLmxvZyhgTE9PSyBGT1IgQ0hJTERSRU4gT0YgJHt2ZXIucH1gKVxuICAgICAgICBpZiAoXy5pc0FycmF5KHYpKSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHF1ZXVlID0gcXVldWUuY29uY2F0KGZpbmRDaGlsZHJlbih2ZXIsIHAsIG9wdGlvbnMud2Fsa0dldHRlcnMpKVxuICAgICAgICB9IGVsc2UgaWYgKF8uaXNPYmplY3QodikpIHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgcXVldWUgPSBxdWV1ZS5jb25jYXQoZmluZENoaWxkcmVuKHZlciwgcCwgb3B0aW9ucy53YWxrR2V0dGVycykpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjb25zdCB7IHdhbGtHZXR0ZXJzIH0gPSBvcHRpb25zO1xuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgICAgIG9iai5mb3JFYWNoKChvLCBpKSA9PiB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHRoaXMuX3dhbGsoanNvbiwgb2JqW2ldLCBpdGVyYXRvciwgYCR7bG9kYXNoUGF0aH1bJHtpfV1gLCBvcHRpb25zLCBkZXB0aExldmVsICsgMSlcbiAgICAgICAgfSlcblxuICAgICAgfSBlbHNlIGlmIChfLmlzT2JqZWN0KG9iaikpIHtcbiAgICAgICAgY29uc3QgYWxsS2V5cyA9ICF3YWxrR2V0dGVycyA/IFtdIDogT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XG4gICAgICAgICAgaWYgKF8uaXNPYmplY3Qob2JqKSAmJiBvYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgXy5wdWxsKGFsbEtleXMsIGtleSlcblxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgb3B0aW9ucy5pc0dldHRlciA9IGZhbHNlO1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgdGhpcy5fd2Fsayhqc29uLCBvYmpba2V5XSwgaXRlcmF0b3IsIGAkeyhsb2Rhc2hQYXRoID09PSAnJykgPyAnJyA6IGAke2xvZGFzaFBhdGh9LmB9JHtrZXl9YCwgb3B0aW9ucywgZGVwdGhMZXZlbCArIDEpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh3YWxrR2V0dGVycykge1xuICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBhbGxLZXlzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgaWYgKF8uaXNPYmplY3Qob2JqKSkge1xuICAgICAgICAgICAgICBjb25zdCBrZXkgPSBhbGxLZXlzW2luZGV4XTtcblxuICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgIG9wdGlvbnMuaXNHZXR0ZXIgPSB0cnVlO1xuICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgIHRoaXMuX3dhbGsoanNvbiwgb2JqW2tleV0sIGl0ZXJhdG9yLCBgJHsobG9kYXNoUGF0aCA9PT0gJycpID8gJycgOiBgJHtsb2Rhc2hQYXRofS5gfSR7a2V5fWAsIG9wdGlvbnMsIGRlcHRoTGV2ZWwgKyAxKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAob3B0aW9ucy5fZXhpdCAmJiBqc29uID09PSBvYmopIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBvcHRpb25zLl9leGl0ID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG59XG5cbmV4cG9ydCBjb25zdCB3YWxrID0ge1xuICBPYmplY3Q6IEhlbHBlcnMuV2Fsay5PYmplY3QsXG4gIE9iamVjdEJ5OiBIZWxwZXJzLldhbGsuT2JqZWN0Qnlcbn1cbiJdfQ==
@@ -12,7 +12,7 @@ function findChildren(ver, lp, walkGetters) {
12
12
  const allKeys = !walkGetters ? [] : Object.getOwnPropertyNames(obj);
13
13
  const children = [];
14
14
  for (const key in obj) {
15
- if (_.isObject(obj) && obj.hasOwnProperty(key)) {
15
+ if (_.isObject(obj) && _.isFunction(obj.hasOwnProperty) && obj.hasOwnProperty(key)) {
16
16
  _.pull(allKeys, key);
17
17
  children.push({ v: obj[key], p: `${(lp === '') ? '' : `${lp}.`}${key}`, parent: ver, isGetter: false });
18
18
  }
@@ -1 +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":["import { _ } 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
+ {"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":["import { _ } 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) && _.isFunction(obj.hasOwnProperty) && 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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"}
@@ -12,7 +12,7 @@ function findChildren(ver, lp, walkGetters) {
12
12
  const allKeys = !walkGetters ? [] : Object.getOwnPropertyNames(obj);
13
13
  const children = [];
14
14
  for (const key in obj) {
15
- if (_.isObject(obj) && obj.hasOwnProperty(key)) {
15
+ if (_.isObject(obj) && _.isFunction(obj.hasOwnProperty) && obj.hasOwnProperty(key)) {
16
16
  _.pull(allKeys, key);
17
17
  children.push({ v: obj[key], p: `${(lp === '') ? '' : `${lp}.`}${key}`, parent: ver, isGetter: false });
18
18
  }
@@ -1 +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":["import { _ } 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
+ {"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":["import { _ } 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) && _.isFunction(obj.hasOwnProperty) && 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":";;;AAMA,SAAS,YAAY,CAAC,GAAe,EAAE,EAAU,EAAE,WAAoB,EAAA;AAErE,IAAA,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAA;AACjB,IAAA,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAClB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACtB,YAAA,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA,EAAG,EAAE,CAAI,CAAA,EAAA,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;AAC9D,SAAC,CAAC,CAAC;AACJ,KAAA;AAAM,SAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAE1B,QAAA,MAAM,OAAO,GAAG,CAAC,WAAW,GAAG,EAAE,GAAG,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAiB,EAAE,CAAC;AAClC,QAAA,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;YACrB,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;AAClF,gBAAA,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;AACpB,gBAAA,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAG,EAAA,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE,CAAA,CAAA,CAAG,GAAG,GAAG,CAAA,CAAE,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;AACxG,aAAA;AACF,SAAA;AACD,QAAA,IAAI,WAAW,EAAE;AACf,YAAA,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;AACnD,gBAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACnB,oBAAA,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAC3B,oBAAA,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAG,EAAA,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE,CAAA,CAAA,CAAG,GAAG,GAAG,CAAA,CAAE,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;AACvG,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,QAAQ,CAAC;AACjB,KAAA;AACD,IAAA,OAAO,EAAE,CAAC;AACZ,CAAC;MAWY,OAAO,CAAA;AAEX,IAAA,WAAW,IAAI,GAAA;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO;AACL,YAAA,MAAM,CAAC,IAAY,EAAE,QAAkB,EAAE,yBAAuD,EAAA;AAE9F,gBAAA,IAAI,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC,EAAE;oBAC5C,yBAAyB,GAAG,EAAE,CAAA;AAC/B,iBAAA;gBAEA,yBAAmD,CAAC,WAAW,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;gBAEzF,IAAI,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC,WAAW,CAAC,EAAE;AACxD,oBAAA,yBAAyB,CAAC,WAAW,GAAG,KAAK,CAAC;AAC/C,iBAAA;AAED,gBAAA,IAAI,EACF,QAAQ,EACT,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,yBAAgC,CAAC,CAAA;AAE9E,gBAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;aAC3B;AACD,YAAA,QAAQ,CAAC,QAAgB,EAAE,SAAiB,EAAE,QAAkB,EAAE,OAAqC,EAAA;AACrG,gBAAA,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;AAC1B,oBAAA,QAAQ,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;AACtE,iBAAA;;AAED,gBAAA,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;AAChC,gBAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;aACjD;SACF,CAAA;KACF;IAEO,OAAO,YAAY,CAAC,IAAY,EAAE,SAAiB,EAAE,YAAY,GAAG,KAAK,EAAE,OAA+B,EAAA;AAEhH,QAAA,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAEvC,OAAO,CAAC,QAAa,KAAI;YACvB,IAAI,WAAW,KAAK,EAAE,EAAE;gBACtB,YAAY,GAAG,IAAI,CAAC;AACrB,aAAA;AAED,YAAA,IAAI,YAAY,EAAE;;AAEhB,gBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;AAC3B,aAAA;AAAM,iBAAA;;;AAGL,gBAAA,IAAI,OAAO,EAAE;AACX,oBAAA,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;AAC9B,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,OAAO,EAAE;AACX,gBAAA,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;AAC9B,aAAA;AACH,SAAC,CAAA;KACF;IAEO,OAAO,cAAc,CAAC,UAAkB,EAAA;;AAE9C,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;;AAGlE,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;;QAE3E,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE;AAChF,YAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;AAC5B,SAAA;QACD,OAAO;AACL,YAAA,WAAW,EAAE,QAAQ;SACtB,CAAA;KACF;AAEO,IAAA,WAAW,QAAQ,GAAA;QACzB,OAAO;AACL,YAAA,IAAI,IAAI,GAAA;gBACN,OAAO;;oBAEL,eAAe,CAAC,SAAS,EAAE,UAAU,EAAA;AACnC,wBAAA,QAAQ,SAAS;AACd,6BAAA,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;AACvB,6BAAA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAClB,6BAAA,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AACjB,6BAAA,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAC;qBACtB;AACD,oBAAA,cAAc,CAAC,CAAS,EAAA;AACtB,wBAAA,IAAI,GAAW,CAAC;AAChB,wBAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;4BACnB,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAA;AACnD,yBAAA;AAAM,6BAAA;4BACL,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,qCAAqC,EAAE,EAAE,CAAC,CAAA;AAC3D,yBAAA;wBACD,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;qBAC7B;iBACF,CAAA;aACF;SACF,CAAA;KACF;IAEO,OAAO,aAAa,CAAC,OAAO,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,UAAkB,EAAA;QACzE,IAAI,GAAG,GAAG,KAAK,CAAC;AAChB,QAAA,IAAI,UAAU,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACvE,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAA;AACpE,YAAA,GAAG,IACD,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;AACpC,mBAAA,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;;qBAEhD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;AACpC,2BAAA,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CACpD,CAAA;AACF,SAAA;AAED,QAAA,OAAO,GAAG,CAAC;KACZ;;AAGO,IAAA,OAAO,cAAc,CAAC,OAA8B,EAAE,GAAG,EAAE,UAAU,EAAA;QAE3E,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,OAAO;AACR,SAAA;QAED,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AACtC,YAAA,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;AAC5B,SAAA;QAED,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;AACxC,YAAA,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;AAC/B,SAAA;QAED,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;;AAEnC,YAAA,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;AAC1B,SAAA;QAED,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;AACxC,YAAA,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;AAC/B,SAAA;QAED,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;;AAEhC,YAAA,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,SAAA;QAED,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AAC/B,YAAA,OAAO,CAAC,IAAI,GAAG,MAAK;AAClB,gBAAA,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;AACvB,aAAC,CAAA;AACF,SAAA;QAED,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;;AAEhC,YAAA,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,SAAA;QAED,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AACrC,YAAA,OAAO,CAAC,UAAU,GAAG,MAAK;AACxB,gBAAA,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;AACvB,aAAC,CAAA;AACF,SAAA;QAED,IAAI,OAAO,CAAC,aAAa,EAAE;YACzB,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;AAC7B,gBAAA,OAAO,CAAC,EAAE,GAAG,EAAE,CAAA;AAChB,aAAA;YAED,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAChC,gBAAA,OAAO,CAAC,KAAK,GAAG,EAAE,CAAA;AACnB,aAAA;YAED,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AACnC,gBAAA,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAA;AACtB,aAAA;AACF,SAAA;AAED,QAAA,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;AAC9B,QAAA,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;QAE3B,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC5C,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAA;AAC7C,YAAA,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE;gBACjE,IAAI,SAAS,GAAG,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;AAC7C,gBAAA,IAAI,CAAC,GAAG,CAAA,EAAG,SAAS,CAAO,IAAA,EAAA,UAAU,EAAE,CAAC;gBACxC,MAAM,IAAI,GAAoB,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAE3C,gBAAA,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AAClD,oBAAA,MAAM,IAAI,GAAgB;AACxB,wBAAA,SAAS,EAAE,UAAU;wBACrB,kBAAkB,EAAE,IAAI,CAAC,IAAI;qBAC9B,CAAA;;AAED,oBAAA,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3B,oBAAA,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;AAC3B,iBAAA;AAAM,qBAAA;AACL,oBAAA,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;AACX,wBAAA,IAAI,EAAE,UAAU;AAChB,wBAAA,MAAM,EAAE,GAAG;AACO,qBAAA,CAAC,CAAA;AACtB,iBAAA;AAEF,aAAA;AAAM,iBAAA;;AAEL,gBAAA,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAkB,KAAK,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;AAEpE,gBAAA,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;AAC3B,oBAAA,MAAM,IAAI,GAAgB;AACxB,wBAAA,SAAS,EAAE,UAAU;wBACrB,kBAAkB,EAAE,OAAO,CAAC,IAAI;qBACjC,CAAA;;AAED,oBAAA,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3B,oBAAA,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;AAC3B,iBAAA;AAAM,qBAAA;;oBAEL,KAAK,CAAC,IAAI,CAAC;AACT,wBAAA,IAAI,EAAE,UAAU;AAChB,wBAAA,MAAM,EAAE,GAAG;AACO,qBAAA,CAAC,CAAC;AACvB,iBAAA;AAEF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,OAAO,CAAC;KAChB;AAEO,IAAA,OAAO,KAAK,CAAC,IAAY,EAAE,GAAW,EAAE,QAAkB,EAAE,UAAU,GAAG,EAAE,EACjF,OAA+B,EAAE,UAAU,GAAG,CAAC,EAAA;QAE/C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,EAAS,CAAC;AACrB,SAAA;;AAGD,QAAA,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;;YAExB,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,CAAA;;AAGvD,YAAA,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;gBACpE,OAAO;AACR,aAAA;;AAGD,YAAA,IAAI,OAAO,CAAC,WAAW,IAAI,UAAU,KAAK,EAAE,EAAE;gBAC5C,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;AACxF,aAAA;;YAGD,IAAI,OAAO,CAAC,aAAa,EAAE;gBACzB,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;AAC9B,aAAA;AACD,YAAA,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;YAE9B,IAAI,OAAO,CAAC,UAAU,EAAE;AACtB,gBAAA,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;AACtB,aAAA;YAED,IAAI,OAAO,CAAC,KAAK,EAAE;;AAEjB,gBAAA,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;gBACtB,OAAM;AACP,aAAA;AACF,SAAA;QAID,IAAI,OAAO,CAAC,WAAW,EAAE;AAEvB,YAAA,IAAI,KAAK,GAAiB,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;;AAGvE,YAAA,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAEvB,gBAAA,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;;;;;;;AAO1B,gBAAA,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE;;;oBAG/D,SAAS;AACV,iBAAA;;;AAKD,gBAAA,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC;;gBAEnB,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;gBAE5C,IAAI,OAAO,CAAC,KAAK,EAAE;AACjB,oBAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;AACnB,oBAAA,OAAO,OAAO,CAAC;AAChB,iBAAA;AACD,gBAAA,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,KAAK,EAAE,EAAE;oBACnC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AACrE,iBAAA;;gBAGD,IAAI,OAAO,CAAC,aAAa,EAAE;oBACzB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACxB,iBAAA;AACD,gBAAA,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;gBAE9B,IAAI,OAAO,CAAC,UAAU,EAAE;;oBAEtB,SAAS;AACV,iBAAA;gBAED,IAAI,OAAO,CAAC,KAAK,EAAE;;AAEjB,oBAAA,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;;oBAEtB,SAAS;AACV,iBAAA;;AAED,gBAAA,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;;AAEhB,oBAAA,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;AAChE,iBAAA;AAAM,qBAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;;AAExB,oBAAA,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;AAChE,iBAAA;AACF,aAAA;AAEF,SAAA;AAAM,aAAA;;AAEL,YAAA,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;AAEhC,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACtB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;;oBAEnB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA,CAAA,EAAI,CAAC,CAAA,CAAA,CAAG,EAAE,OAAO,EAAE,UAAU,GAAG,CAAC,CAAC,CAAA;AACpF,iBAAC,CAAC,CAAA;AAEH,aAAA;AAAM,iBAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC1B,gBAAA,MAAM,OAAO,GAAG,CAAC,WAAW,GAAG,EAAE,GAAG,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;AACpE,gBAAA,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;AACrB,oBAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;AAC9C,wBAAA,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;;AAGpB,wBAAA,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;;AAEzB,wBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAA,EAAG,CAAC,UAAU,KAAK,EAAE,IAAI,EAAE,GAAG,CAAA,EAAG,UAAU,CAAG,CAAA,CAAA,CAAA,EAAG,GAAG,CAAA,CAAE,EAAE,OAAO,EAAE,UAAU,GAAG,CAAC,CAAC,CAAA;AACtH,qBAAA;AACF,iBAAA;AACD,gBAAA,IAAI,WAAW,EAAE;AACf,oBAAA,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;AACnD,wBAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACnB,4BAAA,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;;AAG3B,4BAAA,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;;AAExB,4BAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAA,EAAG,CAAC,UAAU,KAAK,EAAE,IAAI,EAAE,GAAG,CAAA,EAAG,UAAU,CAAG,CAAA,CAAA,CAAA,EAAG,GAAG,CAAA,CAAE,EAAE,OAAO,EAAE,UAAU,GAAG,CAAC,CAAC,CAAA;AACtH,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;;AAGD,YAAA,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,KAAK,GAAG,EAAE;;AAEjC,gBAAA,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,aAAA;AAEF,SAAA;AAED,QAAA,OAAO,OAAO,CAAC;KAChB;AAEF,CAAA;AAEY,MAAA,IAAI,GAAG;AAClB,IAAA,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;AAC3B,IAAA,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ;;;AC1ajC;;AAEG;;;;"}
@@ -12,7 +12,7 @@ function findChildren(ver, lp, walkGetters) {
12
12
  const allKeys = !walkGetters ? [] : Object.getOwnPropertyNames(obj);
13
13
  const children = [];
14
14
  for (const key in obj) {
15
- if (_.isObject(obj) && obj.hasOwnProperty(key)) {
15
+ if (_.isObject(obj) && _.isFunction(obj.hasOwnProperty) && obj.hasOwnProperty(key)) {
16
16
  _.pull(allKeys, key);
17
17
  children.push({ v: obj[key], p: `${(lp === '') ? '' : `${lp}.`}${key}`, parent: ver, isGetter: false });
18
18
  }
@@ -351,4 +351,4 @@ export const walk = {
351
351
  Object: Helpers.Walk.Object,
352
352
  ObjectBy: Helpers.Walk.ObjectBy
353
353
  };
354
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL2xvZGFzaC13YWxrLW9iamVjdC9wcm9qZWN0cy9sb2Rhc2gtd2Fsay1vYmplY3Qvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBR3pELGNBQWMsVUFBVSxDQUFDO0FBRXpCLFNBQVMsWUFBWSxDQUFDLEdBQWUsRUFBRSxFQUFVLEVBQUUsV0FBb0I7SUFFckUsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUNqQixJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDbEIsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3RCLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFBO1FBQzlELENBQUMsQ0FBQyxDQUFDO0tBQ0o7U0FBTSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFFMUIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sUUFBUSxHQUFpQixFQUFFLENBQUM7UUFDbEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUU7WUFDckIsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMs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QkFDYixPQUFPLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQzthQUN2QjtTQUVGO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUVGO0FBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHO0lBQ2xCLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU07SUFDM0IsUUFBUSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUTtDQUNoQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgQ0xBU1MgfSBmcm9tICd0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvYnJvd3Nlcic7XG4vLyBsZXQgY291bnRlciA9IDBcbmltcG9ydCB7IE1vZGVscyB9IGZyb20gJy4vbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcblxuZnVuY3Rpb24gZmluZENoaWxkcmVuKHZlcjogTW9kZWxzLlZlciwgbHA6IHN0cmluZywgd2Fsa0dldHRlcnM6IGJvb2xlYW4pOiBNb2RlbHMuVmVyW10ge1xuXG4gIGNvbnN0IG9iaiA9IHZlci52XG4gIGlmIChfLmlzQXJyYXkob2JqKSkge1xuICAgIHJldHVybiBvYmoubWFwKCh2LCBpKSA9PiB7XG4gICAgICByZXR1cm4geyB2LCBwOiBgJHtscH1bJHtpfV1gLCBwYXJlbnQ6IHZlciwgaXNHZXR0ZXI6IGZhbHNlIH1cbiAgICB9KTtcbiAgfSBlbHNlIGlmIChfLmlzT2JqZWN0KG9iaikpIHtcblxuICAgIGNvbnN0IGFsbEtleXMgPSAhd2Fsa0dldHRlcnMgPyBbXSA6IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaik7XG4gICAgY29uc3QgY2hpbGRyZW46IE1vZGVscy5WZXJbXSA9IFtdO1xuICAgIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xuICAgICAgaWYgKF8uaXNPYmplY3Qob2JqKSAmJiBvYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICBfLnB1bGwoYWxsS2V5cywga2V5KVxuICAgICAgICBjaGlsZHJlbi5wdXNoKHsgdjogb2JqW2tleV0sIHA6IGAkeyhscCA9PT0gJycpID8gJycgOiBgJHtscH0uYH0ke2tleX1gLCBwYXJlbnQ6IHZlciwgaXNHZXR0ZXI6IGZhbHNlIH0pXG4gICAgICB9XG4gICAgfVxuICAgIGlmICh3YWxrR2V0dGVycykge1xuICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGFsbEtleXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGlmIChfLmlzT2JqZWN0KG9iaikpIHtcbiAgICAgICAgICBjb25zdCBrZXkgPSBhbGxLZXlzW2luZGV4XTtcbiAgICAgICAgICBjaGlsZHJlbi5wdXNoKHsgdjogb2JqW2tleV0sIHA6IGAkeyhscCA9PT0gJycpID8gJycgOiBgJHtscH0uYH0ke2tleX1gLCBwYXJlbnQ6IHZlciwgaXNHZXR0ZXI6IHRydWUgfSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY2hpbGRyZW47XG4gIH1cbiAgcmV0dXJuIFtdO1xufVxuXG5cblxuZXhwb3J0IHR5cGUgSXRlcmF0b3IgPSAodmFsdWU6IGFueSxcbiAgbG9kYXNoUGF0aDogc3RyaW5nLFxuICAvLyBAdHMtaWdub3JlXG4gIGNoYW5nZVZhbHVlVG86IChuZXdWYWx1ZSkgPT4gdm9pZCxcbiAgb3B0aW9ucz86IE1vZGVscy5BZGRpdGlvbmFsSXRlcmF0b3JPcHRpb25zXG5cbikgPT4gdm9pZFxuZXhwb3J0IGNsYXNzIEhlbHBlcnMge1xuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IFdhbGsoKSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgcmV0dXJuIHtcbiAgICAgIE9iamVjdChqc29uOiBPYmplY3QsIGl0ZXJhdG9yOiBJdGVyYXRvciwgb3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZT86IE1vZGVscy5TdGFydEl0ZXJhdG9yT3B0aW9ucykge1xuXG4gICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnNPcldhbGtHZXR0ZXJzVmFsdWUpKSB7XG4gICAgICAgICAgb3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZSA9IHt9XG4gICAgICAgIH1cblxuICAgICAgICAob3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZSBhcyBNb2RlbHMuSW50ZXJuYWxWYWx1ZXMpLmhhc0l0ZXJhdG9yID0gXy5pc0Z1bmN0aW9uKGl0ZXJhdG9yKVxuXG4gICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnNPcldhbGtHZXR0ZXJzVmFsdWUuYnJlYWR0aFdhbGspKSB7XG4gICAgICAgICAgb3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZS5icmVhZHRoV2FsayA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHtcbiAgICAgICAgICBjaXJjdXJhbFxuICAgICAgICB9ID0gc2VsZi5fd2Fsayhqc29uLCBqc29uLCBpdGVyYXRvciwgdm9pZCAwLCBvcHRpb25zT3JXYWxrR2V0dGVyc1ZhbHVlIGFzIGFueSlcblxuICAgICAgICByZXR1cm4geyBjaXJjczogY2lyY3VyYWwgfVxuICAgICAgfSxcbiAgICAgIE9iamVjdEJ5KHByb3BlcnR5OiBzdHJpbmcsIGluQ29udGV4dDogT2JqZWN0LCBpdGVyYXRvcjogSXRlcmF0b3IsIG9wdGlvbnM/OiBNb2RlbHMuU3RhcnRJdGVyYXRvck9wdGlvbnMpIHtcbiAgICAgICAgaWYgKF8uaXNGdW5jdGlvbihpdGVyYXRvcikpIHtcbiAgICAgICAgICBpdGVyYXRvcihpbkNvbnRleHQsICcnLCBzZWxmLl9jaGFuZ2VWYWx1ZShpbkNvbnRleHQsIHByb3BlcnR5LCB0cnVlKSkgLy8gVE9ETyBBZGQgb3B0b2luc1xuICAgICAgICB9XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgY29uc3QganNvbiA9IGluQ29udGV4dFtwcm9wZXJ0eV1cbiAgICAgICAgcmV0dXJuIHNlbGYuV2Fsay5PYmplY3QoanNvbiwgaXRlcmF0b3IsIG9wdGlvbnMpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2NoYW5nZVZhbHVlKGpzb246IE9iamVjdCwgbG9kYWhQYXRoOiBzdHJpbmcsIHNpbXBsZUNoYW5nZSA9IGZhbHNlLCBvcHRpb25zPzogTW9kZWxzLkludGVybmFsVmFsdWVzKSB7XG5cbiAgICB2YXIgeyBjb250ZXh0UGF0aCwgcHJvcGVydHkgfSA9IHRoaXMuX3ByZXBhcmVQYXJhbXMobG9kYWhQYXRoKTtcbiAgICB2YXIgY29udGV4dCA9IF8uZ2V0KGpzb24sIGNvbnRleHRQYXRoKTtcblxuICAgIHJldHVybiAobmV3VmFsdWU6IGFueSkgPT4ge1xuICAgICAgaWYgKGNvbnRleHRQYXRoID09PSAnJykge1xuICAgICAgICBzaW1wbGVDaGFuZ2UgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoc2ltcGxlQ2hhbmdlKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAganNvbltwcm9wZXJ0eV0gPSBuZXdWYWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGBDT05URVhUIFZBTFVFIENIQU5HRSEgIFwiJHtjb250ZXh0UGF0aH1cIiArIFwiJHtwcm9wZXJ0eX1cIiBgLCBuZXdWYWx1ZSlcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2NvbnRleHQnLCBjb250ZXh0KVxuICAgICAgICBpZiAoY29udGV4dCkge1xuICAgICAgICAgIGNvbnRleHRbcHJvcGVydHldID0gbmV3VmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgIG9wdGlvbnMuX3ZhbHVlQ2hhbmdlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX3ByZXBhcmVQYXJhbXMobG9kYXNoUGF0aDogc3RyaW5nKSB7XG4gICAgLy8gY29uc29sZS5sb2coJ2NvbnRleHRQYXRoIGJlZm9yZScsIGxvZGFzaFBhdGgpXG4gICAgY29uc3QgY29udGV4dFBhdGggPSB0aGlzLl9IZWxwZXJzLlBhdGguZ2V0Q29udGV4dFBhdGgobG9kYXNoUGF0aCk7XG4gICAgLy8gY29uc29sZS5sb2coJ2NvbnRleHRQYXRoIGFmdGVyJywgY29udGV4dFBhdGgpXG5cbiAgICBsZXQgcHJvcGVydHkgPSB0aGlzLl9IZWxwZXJzLlBhdGguZ2V0UHJvcGVydHlQYXRoKGxvZGFzaFBhdGgsIGNvbnRleHRQYXRoKTtcbiAgICAvLyBjb25zb2xlLmxvZygncHJvcGVydHkgYWZ0ZXIgcHJvY2VzcycsIHByb3BlcnR5KVxuICAgIGlmIChfLmlzU3RyaW5nKHByb3BlcnR5KSAmJiBwcm9wZXJ0eS50cmltKCkgIT09ICcnICYmICFfLmlzTmFOKE51bWJlcihwcm9wZXJ0eSkpKSB7XG4gICAgICBwcm9wZXJ0eSA9IE51bWJlcihwcm9wZXJ0eSlcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRleHRQYXRoLCBwcm9wZXJ0eVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldCBfSGVscGVycygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZ2V0IFBhdGgoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIGdldFByb3BlcnR5UGF0aChsb2RhaFBhdGgsIGNvbnRldFBhdGgpIHtcbiAgICAgICAgICAgIHJldHVybiAobG9kYWhQYXRoXG4gICAgICAgICAgICAgIC5yZXBsYWNlKGNvbnRldFBhdGgsICcnKVxuICAgICAgICAgICAgICAucmVwbGFjZSgvXlxcLi8sICcnKVxuICAgICAgICAgICAgICAucmVwbGFjZSgvXFxbLywgJycpXG4gICAgICAgICAgICAgIC5yZXBsYWNlKC9cXF0vLCAnJykpXG4gICAgICAgICAgfSxcbiAgICAgICAgICBnZXRDb250ZXh0UGF0aChwOiBzdHJpbmcpIHtcbiAgICAgICAgICAgIGxldCByZXM6IHN0cmluZztcbiAgICAgICAgICAgIGlmIChwLmVuZHNXaXRoKCddJykpIHtcbiAgICAgICAgICAgICAgcmVzID0gcC5yZXBsYWNlKC9cXFsoXFxcInxcXCcpP1swLTldKyhcXFwifFxcJyk/XFxdJC8sICcnKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzID0gcC5yZXBsYWNlKC9cXC4oW2EtekEtWjAtOV18XFwkfFxcX3xcXEB8XFwtfFxcL3xcXDopKyQvLCAnJylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXMgPT09IHAgPyAnJyA6IHJlcztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfc2hvdWRsUmV0dXJuKGluY2x1ZGUgPSBbXSwgZXhjbHVkZSA9IFtdLCBsb2Rhc2hQYXRoOiBzdHJpbmcpIHtcbiAgICBsZXQgcmVzID0gZmFsc2U7XG4gICAgaWYgKGxvZGFzaFBhdGgucmVwbGFjZSgvXlxcWyhcXCd8XFxcIik/WzAtOV0qKFxcJ3xcXFwiKT9cXF0vLCAnJykudHJpbSgpICE9PSAnJykge1xuICAgICAgbG9kYXNoUGF0aCA9IGxvZGFzaFBhdGgucmVwbGFjZSgvXlxcWyhcXCd8XFxcIik/WzAtOV0qKFxcJ3xcXFwiKT9cXF1cXC4vLCAnJylcbiAgICAgIHJlcyA9IChcbiAgICAgICAgKF8uaXNBcnJheShpbmNsdWRlKSAmJiBpbmNsdWRlLmxlbmd0aCA+IDBcbiAgICAgICAgICAmJiAhaW5jbHVkZS5maW5kKHAgPT4gbG9kYXNoUGF0aC5zdGFydHNXaXRoKHApKSlcbiAgICAgICAgfHxcbiAgICAgICAgKF8uaXNBcnJheShleGNsdWRlKSAmJiBleGNsdWRlLmxlbmd0aCA+IDBcbiAgICAgICAgICAmJiAhIWV4Y2x1ZGUuZmluZChwID0+IGxvZGFzaFBhdGguc3RhcnRzV2l0aChwKSkpXG4gICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgcHJpdmF0ZSBzdGF0aWMgcHJlcGFyZU9wdGlvbnMob3B0aW9uczogTW9kZWxzLkludGVybmFsVmFsdWVzLCBvYmosIGxvZGFzaFBhdGgpIHtcblxuICAgIGlmIChvcHRpb25zLl9leGl0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy53YWxrR2V0dGVycykpIHtcbiAgICAgIG9wdGlvbnMud2Fsa0dldHRlcnMgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuY2hlY2tDaXJjdXJhbCkpIHtcbiAgICAgIG9wdGlvbnMuY2hlY2tDaXJjdXJhbCA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuaXNHZXR0ZXIpKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBvcHRpb25zLmlzR2V0dGVyID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5fdmFsdWVDaGFuZ2VkKSkge1xuICAgICAgb3B0aW9ucy5fdmFsdWVDaGFuZ2VkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5fZXhpdCkpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG9wdGlvbnMuX2V4aXQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoXy5pc1VuZGVmaW5lZChvcHRpb25zLmV4aXQpKSB7XG4gICAgICBvcHRpb25zLmV4aXQgPSAoKSA9PiB7XG4gICAgICAgIG9wdGlvbnMuX2V4aXQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuX3NraXApKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBvcHRpb25zLl9za2lwID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5za2lwT2JqZWN0KSkge1xuICAgICAgb3B0aW9ucy5za2lwT2JqZWN0ID0gKCkgPT4ge1xuICAgICAgICBvcHRpb25zLl9za2lwID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5jaGVja0NpcmN1cmFsKSB7XG4gICAgICBpZiAoXy5pc1VuZGVmaW5lZChvcHRpb25zLmRiKSkge1xuICAgICAgICBvcHRpb25zLmRiID0ge31cbiAgICAgIH1cblxuICAgICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5zdGFjaykpIHtcbiAgICAgICAgb3B0aW9ucy5zdGFjayA9IFtdXG4gICAgICB9XG5cbiAgICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuY2lyY3VyYWwpKSB7XG4gICAgICAgIG9wdGlvbnMuY2lyY3VyYWwgPSBbXVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHsgZGIsIHN0YWNrIH0gPSBvcHRpb25zO1xuICAgIG9wdGlvbnMuaXNDaXJjdXJhbCA9IGZhbHNlO1xuXG4gICAgaWYgKG9wdGlvbnMuY2hlY2tDaXJjdXJhbCAmJiBfLmlzT2JqZWN0KG9iaikpIHtcbiAgICAgIGxldCBpbmRleFZhbHVlID0gQ0xBU1MuT0JKRUNUKG9iaikuaW5kZXhWYWx1ZVxuICAgICAgaWYgKENMQVNTLk9CSkVDVChvYmopLmlzQ2xhc3NPYmplY3QgJiYgIV8uaXNVbmRlZmluZWQoaW5kZXhWYWx1ZSkpIHtcbiAgICAgICAgbGV0IGNsYXNzTmFtZSA9IENMQVNTLmdldE5hbWVGcm9tT2JqZWN0KG9iaik7XG4gICAgICAgIGxldCBwID0gYCR7Y2xhc3NOYW1lfS5pZF8ke2luZGV4VmFsdWV9YDtcbiAgICAgICAgY29uc3QgaW5EQjogTW9kZWxzLkluREJUeXBlID0gXy5nZXQoZGIsIHApO1xuXG4gICAgICAgIGlmIChpbkRCICYmIENMQVNTLk9CSkVDVChpbkRCLnRhcmdldCkuaXNFcXVhbChvYmopKSB7XG4gICAgICAgICAgY29uc3QgY2lyYzogTW9kZWxzLkNpcmMgPSB7XG4gICAgICAgICAgICBwYXRoVG9PYmo6IGxvZGFzaFBhdGgsXG4gICAgICAgICAgICBjaXJjdXJhbFRhcmdldFBhdGg6IGluREIucGF0aFxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgb3B0aW9ucy5jaXJjdXJhbC5wdXNoKGNpcmMpXG4gICAgICAgICAgb3B0aW9ucy5pc0NpcmN1cmFsID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBfLnNldChkYiwgcCwge1xuICAgICAgICAgICAgcGF0aDogbG9kYXNoUGF0aCxcbiAgICAgICAgICAgIHRhcmdldDogb2JqXG4gICAgICAgICAgfSBhcyBNb2RlbHMuSW5EQlR5cGUpXG4gICAgICAgIH1cblxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBpblN0YWNrID0gc3RhY2suZmluZCgoYzogTW9kZWxzLkluREJUeXBlKSA9PiBjLnRhcmdldCA9PSBvYmopO1xuXG4gICAgICAgIGlmICghXy5pc1VuZGVmaW5lZChpblN0YWNrKSkge1xuICAgICAgICAgIGNvbnN0IGNpcmM6IE1vZGVscy5DaXJjID0ge1xuICAgICAgICAgICAgcGF0aFRvT2JqOiBsb2Rhc2hQYXRoLFxuICAgICAgICAgICAgY2lyY3VyYWxUYXJnZXRQYXRoOiBpblN0YWNrLnBhdGhcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIG9wdGlvbnMuY2lyY3VyYWwucHVzaChjaXJjKVxuICAgICAgICAgIG9wdGlvbnMuaXNDaXJjdXJhbCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHN0YWNrLnB1c2goe1xuICAgICAgICAgICAgcGF0aDogbG9kYXNoUGF0aCxcbiAgICAgICAgICAgIHRhcmdldDogb2JqXG4gICAgICAgICAgfSBhcyBNb2RlbHMuSW5EQlR5cGUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfd2Fsayhqc29uOiBPYmplY3QsIG9iajogT2JqZWN0LCBpdGVyYXRvcjogSXRlcmF0b3IsIGxvZGFzaFBhdGggPSAnJyxcbiAgICBvcHRpb25zPzogTW9kZWxzLkludGVybmFsVmFsdWVzLCBkZXB0aExldmVsID0gMCkge1xuXG4gICAgaWYgKCFvcHRpb25zKSB7XG4gICAgICBvcHRpb25zID0ge30gYXMgYW55O1xuICAgIH1cblxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAoIW9wdGlvbnMuYnJlYWR0aFdhbGspIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG9wdGlvbnMgPSB0aGlzLnByZXBhcmVPcHRpb25zKG9wdGlvbnMsIG9iaiwgbG9kYXNoUGF0aClcblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKHRoaXMuX3Nob3VkbFJldHVybihvcHRpb25zLmluY2x1ZGUsIG9wdGlvbnMuZXhjbHVkZSwgbG9kYXNoUGF0aCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAob3B0aW9ucy5oYXNJdGVyYXRvciAmJiBsb2Rhc2hQYXRoICE9PSAnJykge1xuICAgICAgICBpdGVyYXRvcihvYmosIGxvZGFzaFBhdGgsIHRoaXMuX2NoYW5nZVZhbHVlKGpzb24sIGxvZGFzaFBhdGgsIGZhbHNlLCBvcHRpb25zKSwgb3B0aW9ucylcbiAgICAgIH1cblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKG9wdGlvbnMuX3ZhbHVlQ2hhbmdlZCkge1xuICAgICAgICBvYmogPSBfLmdldChqc29uLCBsb2Rhc2hQYXRoKVxuICAgICAgfVxuICAgICAgb3B0aW9ucy5fdmFsdWVDaGFuZ2VkID0gZmFsc2U7XG5cbiAgICAgIGlmIChvcHRpb25zLmlzQ2lyY3VyYWwpIHtcbiAgICAgICAgb3B0aW9ucy5fc2tpcCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChvcHRpb25zLl9za2lwKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgb3B0aW9ucy5fc2tpcCA9IGZhbHNlO1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgaWYgKG9wdGlvbnMuYnJlYWR0aFdhbGspIHtcblxuICAgICAgbGV0IHF1ZXVlOiBNb2RlbHMuVmVyW10gPSBbeyB2OiBqc29uLCBwOiBsb2Rhc2hQYXRoLCBwYXJlbnQ6IHZvaWQgMCB9XTtcblxuICAgICAgLy8gY29uc3QgcGF0aGVzVG9Ta2lwID0ge307XG4gICAgICB3aGlsZSAocXVldWUubGVuZ3RoID4gMCkge1xuXG4gICAgICAgIGNvbnN0IHZlciA9IHF1ZXVlLnNoaWZ0KCk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGBwYXRoZXMgdG8gc2tpcGAsIHBhdGhlc1RvU2tpcCk7XG4gICAgICAgIC8vIGlmICghXy5pc1VuZGVmaW5lZChPYmplY3Qua2V5cyhwYXRoZXNUb1NraXApLmZpbmQoa2V5ID0+IHZlci5wLnN0YXJ0c1dpdGgocGF0aGVzVG9Ta2lwW2tleV0pKSkpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coYHNraXA6ICR7dmVyLnB9YClcbiAgICAgICAgLy8gY29udGludWU7XG4gICAgICAgIC8vIH1cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBpZiAodGhpcy5fc2hvdWRsUmV0dXJuKG9wdGlvbnMuaW5jbHVkZSwgb3B0aW9ucy5leGNsdWRlLCB2ZXIucCkpIHtcbiAgICAgICAgICAvLyBwYXRoZXNUb1NraXBbdmVyLnBdID0gdHJ1ZTtcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZyhgc2tpcDI6ICR7dmVyLnB9YClcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGBub3Qgc2tpcCB2YWx1ZSAke3Zlci5wfWApXG5cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBsZXQgeyB2LCBwIH0gPSB2ZXI7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgb3B0aW9ucyA9IHRoaXMucHJlcGFyZU9wdGlvbnMob3B0aW9ucywgdiwgcClcblxuICAgICAgICBpZiAob3B0aW9ucy5fZXhpdCkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdFWElUJylcbiAgICAgICAgICByZXR1cm4gb3B0aW9ucztcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9ucy5oYXNJdGVyYXRvciAmJiBwICE9PSAnJykge1xuICAgICAgICAgIGl0ZXJhdG9yKHYsIHAsIHRoaXMuX2NoYW5nZVZhbHVlKGpzb24sIHAsIGZhbHNlLCBvcHRpb25zKSwgb3B0aW9ucyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGlmIChvcHRpb25zLl92YWx1ZUNoYW5nZWQpIHtcbiAgICAgICAgICB2ZXIudiA9IF8uZ2V0KGpzb24sIHApO1xuICAgICAgICB9XG4gICAgICAgIG9wdGlvbnMuX3ZhbHVlQ2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgICAgIGlmIChvcHRpb25zLmlzQ2lyY3VyYWwpIHtcbiAgICAgICAgICAvLyBwYXRoZXNUb1NraXBbdmVyLnBdID0gdHJ1ZTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb25zLl9za2lwKSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIG9wdGlvbnMuX3NraXAgPSBmYWxzZTtcbiAgICAgICAgICAvLyBwYXRoZXNUb1NraXBbdmVyLnBdID0gdHJ1ZTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBjb25zb2xlLmxvZyhgTE9PSyBGT1IgQ0hJTERSRU4gT0YgJHt2ZXIucH1gKVxuICAgICAgICBpZiAoXy5pc0FycmF5KHYpKSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHF1ZXVlID0gcXVldWUuY29uY2F0KGZpbmRDaGlsZHJlbih2ZXIsIHAsIG9wdGlvbnMud2Fsa0dldHRlcnMpKVxuICAgICAgICB9IGVsc2UgaWYgKF8uaXNPYmplY3QodikpIHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgcXVldWUgPSBxdWV1ZS5jb25jYXQoZmluZENoaWxkcmVuKHZlciwgcCwgb3B0aW9ucy53YWxrR2V0dGVycykpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjb25zdCB7IHdhbGtHZXR0ZXJzIH0gPSBvcHRpb25zO1xuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgICAgIG9iai5mb3JFYWNoKChvLCBpKSA9PiB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHRoaXMuX3dhbGsoanNvbiwgb2JqW2ldLCBpdGVyYXRvciwgYCR7bG9kYXNoUGF0aH1bJHtpfV1gLCBvcHRpb25zLCBkZXB0aExldmVsICsgMSlcbiAgICAgICAgfSlcblxuICAgICAgfSBlbHNlIGlmIChfLmlzT2JqZWN0KG9iaikpIHtcbiAgICAgICAgY29uc3QgYWxsS2V5cyA9ICF3YWxrR2V0dGVycyA/IFtdIDogT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XG4gICAgICAgICAgaWYgKF8uaXNPYmplY3Qob2JqKSAmJiBvYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgXy5wdWxsKGFsbEtleXMsIGtleSlcblxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgb3B0aW9ucy5pc0dldHRlciA9IGZhbHNlO1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgdGhpcy5fd2Fsayhqc29uLCBvYmpba2V5XSwgaXRlcmF0b3IsIGAkeyhsb2Rhc2hQYXRoID09PSAnJykgPyAnJyA6IGAke2xvZGFzaFBhdGh9LmB9JHtrZXl9YCwgb3B0aW9ucywgZGVwdGhMZXZlbCArIDEpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh3YWxrR2V0dGVycykge1xuICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBhbGxLZXlzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgaWYgKF8uaXNPYmplY3Qob2JqKSkge1xuICAgICAgICAgICAgICBjb25zdCBrZXkgPSBhbGxLZXlzW2luZGV4XTtcblxuICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgIG9wdGlvbnMuaXNHZXR0ZXIgPSB0cnVlO1xuICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgIHRoaXMuX3dhbGsoanNvbiwgb2JqW2tleV0sIGl0ZXJhdG9yLCBgJHsobG9kYXNoUGF0aCA9PT0gJycpID8gJycgOiBgJHtsb2Rhc2hQYXRofS5gfSR7a2V5fWAsIG9wdGlvbnMsIGRlcHRoTGV2ZWwgKyAxKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAob3B0aW9ucy5fZXhpdCAmJiBqc29uID09PSBvYmopIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBvcHRpb25zLl9leGl0ID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG59XG5cbmV4cG9ydCBjb25zdCB3YWxrID0ge1xuICBPYmplY3Q6IEhlbHBlcnMuV2Fsay5PYmplY3QsXG4gIE9iamVjdEJ5OiBIZWxwZXJzLldhbGsuT2JqZWN0Qnlcbn1cbiJdfQ==
354
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL2xvZGFzaC13YWxrLW9iamVjdC9wcm9qZWN0cy9sb2Rhc2gtd2Fsay1vYmplY3Qvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBR3pELGNBQWMsVUFBVSxDQUFDO0FBRXpCLFNBQVMsWUFBWSxDQUFDLEdBQWUsRUFBRSxFQUFVLEVBQUUsV0FBb0I7SUFFckUsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUNqQixJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDbEIsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3RCLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFBO1FBQzlELENBQUMsQ0FBQyxDQUFDO0tBQ0o7U0FBTSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFFMUIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sUUFBUSxHQUFpQixFQUFFLENBQUM7UUFDbEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUU7WUFDckIsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMs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QyxLQUFLLElBQUksSUFBSSxLQUFLLEdBQUcsRUFBRTtnQkFDakMsYUFBYTtnQkFDYixPQUFPLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQzthQUN2QjtTQUVGO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUVGO0FBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHO0lBQ2xCLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU07SUFDM0IsUUFBUSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUTtDQUNoQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgQ0xBU1MgfSBmcm9tICd0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvYnJvd3Nlcic7XG4vLyBsZXQgY291bnRlciA9IDBcbmltcG9ydCB7IE1vZGVscyB9IGZyb20gJy4vbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcblxuZnVuY3Rpb24gZmluZENoaWxkcmVuKHZlcjogTW9kZWxzLlZlciwgbHA6IHN0cmluZywgd2Fsa0dldHRlcnM6IGJvb2xlYW4pOiBNb2RlbHMuVmVyW10ge1xuXG4gIGNvbnN0IG9iaiA9IHZlci52XG4gIGlmIChfLmlzQXJyYXkob2JqKSkge1xuICAgIHJldHVybiBvYmoubWFwKCh2LCBpKSA9PiB7XG4gICAgICByZXR1cm4geyB2LCBwOiBgJHtscH1bJHtpfV1gLCBwYXJlbnQ6IHZlciwgaXNHZXR0ZXI6IGZhbHNlIH1cbiAgICB9KTtcbiAgfSBlbHNlIGlmIChfLmlzT2JqZWN0KG9iaikpIHtcblxuICAgIGNvbnN0IGFsbEtleXMgPSAhd2Fsa0dldHRlcnMgPyBbXSA6IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaik7XG4gICAgY29uc3QgY2hpbGRyZW46IE1vZGVscy5WZXJbXSA9IFtdO1xuICAgIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xuICAgICAgaWYgKF8uaXNPYmplY3Qob2JqKSAmJiBfLmlzRnVuY3Rpb24ob2JqLmhhc093blByb3BlcnR5KSAmJiBvYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICBfLnB1bGwoYWxsS2V5cywga2V5KVxuICAgICAgICBjaGlsZHJlbi5wdXNoKHsgdjogb2JqW2tleV0sIHA6IGAkeyhscCA9PT0gJycpID8gJycgOiBgJHtscH0uYH0ke2tleX1gLCBwYXJlbnQ6IHZlciwgaXNHZXR0ZXI6IGZhbHNlIH0pXG4gICAgICB9XG4gICAgfVxuICAgIGlmICh3YWxrR2V0dGVycykge1xuICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGFsbEtleXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGlmIChfLmlzT2JqZWN0KG9iaikpIHtcbiAgICAgICAgICBjb25zdCBrZXkgPSBhbGxLZXlzW2luZGV4XTtcbiAgICAgICAgICBjaGlsZHJlbi5wdXNoKHsgdjogb2JqW2tleV0sIHA6IGAkeyhscCA9PT0gJycpID8gJycgOiBgJHtscH0uYH0ke2tleX1gLCBwYXJlbnQ6IHZlciwgaXNHZXR0ZXI6IHRydWUgfSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY2hpbGRyZW47XG4gIH1cbiAgcmV0dXJuIFtdO1xufVxuXG5cblxuZXhwb3J0IHR5cGUgSXRlcmF0b3IgPSAodmFsdWU6IGFueSxcbiAgbG9kYXNoUGF0aDogc3RyaW5nLFxuICAvLyBAdHMtaWdub3JlXG4gIGNoYW5nZVZhbHVlVG86IChuZXdWYWx1ZSkgPT4gdm9pZCxcbiAgb3B0aW9ucz86IE1vZGVscy5BZGRpdGlvbmFsSXRlcmF0b3JPcHRpb25zXG5cbikgPT4gdm9pZFxuZXhwb3J0IGNsYXNzIEhlbHBlcnMge1xuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IFdhbGsoKSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgcmV0dXJuIHtcbiAgICAgIE9iamVjdChqc29uOiBPYmplY3QsIGl0ZXJhdG9yOiBJdGVyYXRvciwgb3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZT86IE1vZGVscy5TdGFydEl0ZXJhdG9yT3B0aW9ucykge1xuXG4gICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnNPcldhbGtHZXR0ZXJzVmFsdWUpKSB7XG4gICAgICAgICAgb3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZSA9IHt9XG4gICAgICAgIH1cblxuICAgICAgICAob3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZSBhcyBNb2RlbHMuSW50ZXJuYWxWYWx1ZXMpLmhhc0l0ZXJhdG9yID0gXy5pc0Z1bmN0aW9uKGl0ZXJhdG9yKVxuXG4gICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnNPcldhbGtHZXR0ZXJzVmFsdWUuYnJlYWR0aFdhbGspKSB7XG4gICAgICAgICAgb3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZS5icmVhZHRoV2FsayA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHtcbiAgICAgICAgICBjaXJjdXJhbFxuICAgICAgICB9ID0gc2VsZi5fd2Fsayhqc29uLCBqc29uLCBpdGVyYXRvciwgdm9pZCAwLCBvcHRpb25zT3JXYWxrR2V0dGVyc1ZhbHVlIGFzIGFueSlcblxuICAgICAgICByZXR1cm4geyBjaXJjczogY2lyY3VyYWwgfVxuICAgICAgfSxcbiAgICAgIE9iamVjdEJ5KHByb3BlcnR5OiBzdHJpbmcsIGluQ29udGV4dDogT2JqZWN0LCBpdGVyYXRvcjogSXRlcmF0b3IsIG9wdGlvbnM/OiBNb2RlbHMuU3RhcnRJdGVyYXRvck9wdGlvbnMpIHtcbiAgICAgICAgaWYgKF8uaXNGdW5jdGlvbihpdGVyYXRvcikpIHtcbiAgICAgICAgICBpdGVyYXRvcihpbkNvbnRleHQsICcnLCBzZWxmLl9jaGFuZ2VWYWx1ZShpbkNvbnRleHQsIHByb3BlcnR5LCB0cnVlKSkgLy8gVE9ETyBBZGQgb3B0b2luc1xuICAgICAgICB9XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgY29uc3QganNvbiA9IGluQ29udGV4dFtwcm9wZXJ0eV1cbiAgICAgICAgcmV0dXJuIHNlbGYuV2Fsay5PYmplY3QoanNvbiwgaXRlcmF0b3IsIG9wdGlvbnMpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2NoYW5nZVZhbHVlKGpzb246IE9iamVjdCwgbG9kYWhQYXRoOiBzdHJpbmcsIHNpbXBsZUNoYW5nZSA9IGZhbHNlLCBvcHRpb25zPzogTW9kZWxzLkludGVybmFsVmFsdWVzKSB7XG5cbiAgICB2YXIgeyBjb250ZXh0UGF0aCwgcHJvcGVydHkgfSA9IHRoaXMuX3ByZXBhcmVQYXJhbXMobG9kYWhQYXRoKTtcbiAgICB2YXIgY29udGV4dCA9IF8uZ2V0KGpzb24sIGNvbnRleHRQYXRoKTtcblxuICAgIHJldHVybiAobmV3VmFsdWU6IGFueSkgPT4ge1xuICAgICAgaWYgKGNvbnRleHRQYXRoID09PSAnJykge1xuICAgICAgICBzaW1wbGVDaGFuZ2UgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoc2ltcGxlQ2hhbmdlKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAganNvbltwcm9wZXJ0eV0gPSBuZXdWYWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGBDT05URVhUIFZBTFVFIENIQU5HRSEgIFwiJHtjb250ZXh0UGF0aH1cIiArIFwiJHtwcm9wZXJ0eX1cIiBgLCBuZXdWYWx1ZSlcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2NvbnRleHQnLCBjb250ZXh0KVxuICAgICAgICBpZiAoY29udGV4dCkge1xuICAgICAgICAgIGNvbnRleHRbcHJvcGVydHldID0gbmV3VmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgIG9wdGlvbnMuX3ZhbHVlQ2hhbmdlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX3ByZXBhcmVQYXJhbXMobG9kYXNoUGF0aDogc3RyaW5nKSB7XG4gICAgLy8gY29uc29sZS5sb2coJ2NvbnRleHRQYXRoIGJlZm9yZScsIGxvZGFzaFBhdGgpXG4gICAgY29uc3QgY29udGV4dFBhdGggPSB0aGlzLl9IZWxwZXJzLlBhdGguZ2V0Q29udGV4dFBhdGgobG9kYXNoUGF0aCk7XG4gICAgLy8gY29uc29sZS5sb2coJ2NvbnRleHRQYXRoIGFmdGVyJywgY29udGV4dFBhdGgpXG5cbiAgICBsZXQgcHJvcGVydHkgPSB0aGlzLl9IZWxwZXJzLlBhdGguZ2V0UHJvcGVydHlQYXRoKGxvZGFzaFBhdGgsIGNvbnRleHRQYXRoKTtcbiAgICAvLyBjb25zb2xlLmxvZygncHJvcGVydHkgYWZ0ZXIgcHJvY2VzcycsIHByb3BlcnR5KVxuICAgIGlmIChfLmlzU3RyaW5nKHByb3BlcnR5KSAmJiBwcm9wZXJ0eS50cmltKCkgIT09ICcnICYmICFfLmlzTmFOKE51bWJlcihwcm9wZXJ0eSkpKSB7XG4gICAgICBwcm9wZXJ0eSA9IE51bWJlcihwcm9wZXJ0eSlcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRleHRQYXRoLCBwcm9wZXJ0eVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldCBfSGVscGVycygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZ2V0IFBhdGgoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIGdldFByb3BlcnR5UGF0aChsb2RhaFBhdGgsIGNvbnRldFBhdGgpIHtcbiAgICAgICAgICAgIHJldHVybiAobG9kYWhQYXRoXG4gICAgICAgICAgICAgIC5yZXBsYWNlKGNvbnRldFBhdGgsICcnKVxuICAgICAgICAgICAgICAucmVwbGFjZSgvXlxcLi8sICcnKVxuICAgICAgICAgICAgICAucmVwbGFjZSgvXFxbLywgJycpXG4gICAgICAgICAgICAgIC5yZXBsYWNlKC9cXF0vLCAnJykpXG4gICAgICAgICAgfSxcbiAgICAgICAgICBnZXRDb250ZXh0UGF0aChwOiBzdHJpbmcpIHtcbiAgICAgICAgICAgIGxldCByZXM6IHN0cmluZztcbiAgICAgICAgICAgIGlmIChwLmVuZHNXaXRoKCddJykpIHtcbiAgICAgICAgICAgICAgcmVzID0gcC5yZXBsYWNlKC9cXFsoXFxcInxcXCcpP1swLTldKyhcXFwifFxcJyk/XFxdJC8sICcnKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzID0gcC5yZXBsYWNlKC9cXC4oW2EtekEtWjAtOV18XFwkfFxcX3xcXEB8XFwtfFxcL3xcXDopKyQvLCAnJylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXMgPT09IHAgPyAnJyA6IHJlcztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfc2hvdWRsUmV0dXJuKGluY2x1ZGUgPSBbXSwgZXhjbHVkZSA9IFtdLCBsb2Rhc2hQYXRoOiBzdHJpbmcpIHtcbiAgICBsZXQgcmVzID0gZmFsc2U7XG4gICAgaWYgKGxvZGFzaFBhdGgucmVwbGFjZSgvXlxcWyhcXCd8XFxcIik/WzAtOV0qKFxcJ3xcXFwiKT9cXF0vLCAnJykudHJpbSgpICE9PSAnJykge1xuICAgICAgbG9kYXNoUGF0aCA9IGxvZGFzaFBhdGgucmVwbGFjZSgvXlxcWyhcXCd8XFxcIik/WzAtOV0qKFxcJ3xcXFwiKT9cXF1cXC4vLCAnJylcbiAgICAgIHJlcyA9IChcbiAgICAgICAgKF8uaXNBcnJheShpbmNsdWRlKSAmJiBpbmNsdWRlLmxlbmd0aCA+IDBcbiAgICAgICAgICAmJiAhaW5jbHVkZS5maW5kKHAgPT4gbG9kYXNoUGF0aC5zdGFydHNXaXRoKHApKSlcbiAgICAgICAgfHxcbiAgICAgICAgKF8uaXNBcnJheShleGNsdWRlKSAmJiBleGNsdWRlLmxlbmd0aCA+IDBcbiAgICAgICAgICAmJiAhIWV4Y2x1ZGUuZmluZChwID0+IGxvZGFzaFBhdGguc3RhcnRzV2l0aChwKSkpXG4gICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgcHJpdmF0ZSBzdGF0aWMgcHJlcGFyZU9wdGlvbnMob3B0aW9uczogTW9kZWxzLkludGVybmFsVmFsdWVzLCBvYmosIGxvZGFzaFBhdGgpIHtcblxuICAgIGlmIChvcHRpb25zLl9leGl0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy53YWxrR2V0dGVycykpIHtcbiAgICAgIG9wdGlvbnMud2Fsa0dldHRlcnMgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuY2hlY2tDaXJjdXJhbCkpIHtcbiAgICAgIG9wdGlvbnMuY2hlY2tDaXJjdXJhbCA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuaXNHZXR0ZXIpKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBvcHRpb25zLmlzR2V0dGVyID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5fdmFsdWVDaGFuZ2VkKSkge1xuICAgICAgb3B0aW9ucy5fdmFsdWVDaGFuZ2VkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5fZXhpdCkpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG9wdGlvbnMuX2V4aXQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoXy5pc1VuZGVmaW5lZChvcHRpb25zLmV4aXQpKSB7XG4gICAgICBvcHRpb25zLmV4aXQgPSAoKSA9PiB7XG4gICAgICAgIG9wdGlvbnMuX2V4aXQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuX3NraXApKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBvcHRpb25zLl9za2lwID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5za2lwT2JqZWN0KSkge1xuICAgICAgb3B0aW9ucy5za2lwT2JqZWN0ID0gKCkgPT4ge1xuICAgICAgICBvcHRpb25zLl9za2lwID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5jaGVja0NpcmN1cmFsKSB7XG4gICAgICBpZiAoXy5pc1VuZGVmaW5lZChvcHRpb25zLmRiKSkge1xuICAgICAgICBvcHRpb25zLmRiID0ge31cbiAgICAgIH1cblxuICAgICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5zdGFjaykpIHtcbiAgICAgICAgb3B0aW9ucy5zdGFjayA9IFtdXG4gICAgICB9XG5cbiAgICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuY2lyY3VyYWwpKSB7XG4gICAgICAgIG9wdGlvbnMuY2lyY3VyYWwgPSBbXVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHsgZGIsIHN0YWNrIH0gPSBvcHRpb25zO1xuICAgIG9wdGlvbnMuaXNDaXJjdXJhbCA9IGZhbHNlO1xuXG4gICAgaWYgKG9wdGlvbnMuY2hlY2tDaXJjdXJhbCAmJiBfLmlzT2JqZWN0KG9iaikpIHtcbiAgICAgIGxldCBpbmRleFZhbHVlID0gQ0xBU1MuT0JKRUNUKG9iaikuaW5kZXhWYWx1ZVxuICAgICAgaWYgKENMQVNTLk9CSkVDVChvYmopLmlzQ2xhc3NPYmplY3QgJiYgIV8uaXNVbmRlZmluZWQoaW5kZXhWYWx1ZSkpIHtcbiAgICAgICAgbGV0IGNsYXNzTmFtZSA9IENMQVNTLmdldE5hbWVGcm9tT2JqZWN0KG9iaik7XG4gICAgICAgIGxldCBwID0gYCR7Y2xhc3NOYW1lfS5pZF8ke2luZGV4VmFsdWV9YDtcbiAgICAgICAgY29uc3QgaW5EQjogTW9kZWxzLkluREJUeXBlID0gXy5nZXQoZGIsIHApO1xuXG4gICAgICAgIGlmIChpbkRCICYmIENMQVNTLk9CSkVDVChpbkRCLnRhcmdldCkuaXNFcXVhbChvYmopKSB7XG4gICAgICAgICAgY29uc3QgY2lyYzogTW9kZWxzLkNpcmMgPSB7XG4gICAgICAgICAgICBwYXRoVG9PYmo6IGxvZGFzaFBhdGgsXG4gICAgICAgICAgICBjaXJjdXJhbFRhcmdldFBhdGg6IGluREIucGF0aFxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgb3B0aW9ucy5jaXJjdXJhbC5wdXNoKGNpcmMpXG4gICAgICAgICAgb3B0aW9ucy5pc0NpcmN1cmFsID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBfLnNldChkYiwgcCwge1xuICAgICAgICAgICAgcGF0aDogbG9kYXNoUGF0aCxcbiAgICAgICAgICAgIHRhcmdldDogb2JqXG4gICAgICAgICAgfSBhcyBNb2RlbHMuSW5EQlR5cGUpXG4gICAgICAgIH1cblxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBpblN0YWNrID0gc3RhY2suZmluZCgoYzogTW9kZWxzLkluREJUeXBlKSA9PiBjLnRhcmdldCA9PSBvYmopO1xuXG4gICAgICAgIGlmICghXy5pc1VuZGVmaW5lZChpblN0YWNrKSkge1xuICAgICAgICAgIGNvbnN0IGNpcmM6IE1vZGVscy5DaXJjID0ge1xuICAgICAgICAgICAgcGF0aFRvT2JqOiBsb2Rhc2hQYXRoLFxuICAgICAgICAgICAgY2lyY3VyYWxUYXJnZXRQYXRoOiBpblN0YWNrLnBhdGhcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIG9wdGlvbnMuY2lyY3VyYWwucHVzaChjaXJjKVxuICAgICAgICAgIG9wdGlvbnMuaXNDaXJjdXJhbCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHN0YWNrLnB1c2goe1xuICAgICAgICAgICAgcGF0aDogbG9kYXNoUGF0aCxcbiAgICAgICAgICAgIHRhcmdldDogb2JqXG4gICAgICAgICAgfSBhcyBNb2RlbHMuSW5EQlR5cGUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfd2Fsayhqc29uOiBPYmplY3QsIG9iajogT2JqZWN0LCBpdGVyYXRvcjogSXRlcmF0b3IsIGxvZGFzaFBhdGggPSAnJyxcbiAgICBvcHRpb25zPzogTW9kZWxzLkludGVybmFsVmFsdWVzLCBkZXB0aExldmVsID0gMCkge1xuXG4gICAgaWYgKCFvcHRpb25zKSB7XG4gICAgICBvcHRpb25zID0ge30gYXMgYW55O1xuICAgIH1cblxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAoIW9wdGlvbnMuYnJlYWR0aFdhbGspIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG9wdGlvbnMgPSB0aGlzLnByZXBhcmVPcHRpb25zKG9wdGlvbnMsIG9iaiwgbG9kYXNoUGF0aClcblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKHRoaXMuX3Nob3VkbFJldHVybihvcHRpb25zLmluY2x1ZGUsIG9wdGlvbnMuZXhjbHVkZSwgbG9kYXNoUGF0aCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAob3B0aW9ucy5oYXNJdGVyYXRvciAmJiBsb2Rhc2hQYXRoICE9PSAnJykge1xuICAgICAgICBpdGVyYXRvcihvYmosIGxvZGFzaFBhdGgsIHRoaXMuX2NoYW5nZVZhbHVlKGpzb24sIGxvZGFzaFBhdGgsIGZhbHNlLCBvcHRpb25zKSwgb3B0aW9ucylcbiAgICAgIH1cblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKG9wdGlvbnMuX3ZhbHVlQ2hhbmdlZCkge1xuICAgICAgICBvYmogPSBfLmdldChqc29uLCBsb2Rhc2hQYXRoKVxuICAgICAgfVxuICAgICAgb3B0aW9ucy5fdmFsdWVDaGFuZ2VkID0gZmFsc2U7XG5cbiAgICAgIGlmIChvcHRpb25zLmlzQ2lyY3VyYWwpIHtcbiAgICAgICAgb3B0aW9ucy5fc2tpcCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChvcHRpb25zLl9za2lwKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgb3B0aW9ucy5fc2tpcCA9IGZhbHNlO1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgaWYgKG9wdGlvbnMuYnJlYWR0aFdhbGspIHtcblxuICAgICAgbGV0IHF1ZXVlOiBNb2RlbHMuVmVyW10gPSBbeyB2OiBqc29uLCBwOiBsb2Rhc2hQYXRoLCBwYXJlbnQ6IHZvaWQgMCB9XTtcblxuICAgICAgLy8gY29uc3QgcGF0aGVzVG9Ta2lwID0ge307XG4gICAgICB3aGlsZSAocXVldWUubGVuZ3RoID4gMCkge1xuXG4gICAgICAgIGNvbnN0IHZlciA9IHF1ZXVlLnNoaWZ0KCk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGBwYXRoZXMgdG8gc2tpcGAsIHBhdGhlc1RvU2tpcCk7XG4gICAgICAgIC8vIGlmICghXy5pc1VuZGVmaW5lZChPYmplY3Qua2V5cyhwYXRoZXNUb1NraXApLmZpbmQoa2V5ID0+IHZlci5wLnN0YXJ0c1dpdGgocGF0aGVzVG9Ta2lwW2tleV0pKSkpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coYHNraXA6ICR7dmVyLnB9YClcbiAgICAgICAgLy8gY29udGludWU7XG4gICAgICAgIC8vIH1cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBpZiAodGhpcy5fc2hvdWRsUmV0dXJuKG9wdGlvbnMuaW5jbHVkZSwgb3B0aW9ucy5leGNsdWRlLCB2ZXIucCkpIHtcbiAgICAgICAgICAvLyBwYXRoZXNUb1NraXBbdmVyLnBdID0gdHJ1ZTtcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZyhgc2tpcDI6ICR7dmVyLnB9YClcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGBub3Qgc2tpcCB2YWx1ZSAke3Zlci5wfWApXG5cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBsZXQgeyB2LCBwIH0gPSB2ZXI7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgb3B0aW9ucyA9IHRoaXMucHJlcGFyZU9wdGlvbnMob3B0aW9ucywgdiwgcClcblxuICAgICAgICBpZiAob3B0aW9ucy5fZXhpdCkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdFWElUJylcbiAgICAgICAgICByZXR1cm4gb3B0aW9ucztcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9ucy5oYXNJdGVyYXRvciAmJiBwICE9PSAnJykge1xuICAgICAgICAgIGl0ZXJhdG9yKHYsIHAsIHRoaXMuX2NoYW5nZVZhbHVlKGpzb24sIHAsIGZhbHNlLCBvcHRpb25zKSwgb3B0aW9ucyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGlmIChvcHRpb25zLl92YWx1ZUNoYW5nZWQpIHtcbiAgICAgICAgICB2ZXIudiA9IF8uZ2V0KGpzb24sIHApO1xuICAgICAgICB9XG4gICAgICAgIG9wdGlvbnMuX3ZhbHVlQ2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgICAgIGlmIChvcHRpb25zLmlzQ2lyY3VyYWwpIHtcbiAgICAgICAgICAvLyBwYXRoZXNUb1NraXBbdmVyLnBdID0gdHJ1ZTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb25zLl9za2lwKSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIG9wdGlvbnMuX3NraXAgPSBmYWxzZTtcbiAgICAgICAgICAvLyBwYXRoZXNUb1NraXBbdmVyLnBdID0gdHJ1ZTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBjb25zb2xlLmxvZyhgTE9PSyBGT1IgQ0hJTERSRU4gT0YgJHt2ZXIucH1gKVxuICAgICAgICBpZiAoXy5pc0FycmF5KHYpKSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHF1ZXVlID0gcXVldWUuY29uY2F0KGZpbmRDaGlsZHJlbih2ZXIsIHAsIG9wdGlvbnMud2Fsa0dldHRlcnMpKVxuICAgICAgICB9IGVsc2UgaWYgKF8uaXNPYmplY3QodikpIHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgcXVldWUgPSBxdWV1ZS5jb25jYXQoZmluZENoaWxkcmVuKHZlciwgcCwgb3B0aW9ucy53YWxrR2V0dGVycykpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjb25zdCB7IHdhbGtHZXR0ZXJzIH0gPSBvcHRpb25zO1xuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgICAgIG9iai5mb3JFYWNoKChvLCBpKSA9PiB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHRoaXMuX3dhbGsoanNvbiwgb2JqW2ldLCBpdGVyYXRvciwgYCR7bG9kYXNoUGF0aH1bJHtpfV1gLCBvcHRpb25zLCBkZXB0aExldmVsICsgMSlcbiAgICAgICAgfSlcblxuICAgICAgfSBlbHNlIGlmIChfLmlzT2JqZWN0KG9iaikpIHtcbiAgICAgICAgY29uc3QgYWxsS2V5cyA9ICF3YWxrR2V0dGVycyA/IFtdIDogT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XG4gICAgICAgICAgaWYgKF8uaXNPYmplY3Qob2JqKSAmJiBvYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgXy5wdWxsKGFsbEtleXMsIGtleSlcblxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgb3B0aW9ucy5pc0dldHRlciA9IGZhbHNlO1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgdGhpcy5fd2Fsayhqc29uLCBvYmpba2V5XSwgaXRlcmF0b3IsIGAkeyhsb2Rhc2hQYXRoID09PSAnJykgPyAnJyA6IGAke2xvZGFzaFBhdGh9LmB9JHtrZXl9YCwgb3B0aW9ucywgZGVwdGhMZXZlbCArIDEpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh3YWxrR2V0dGVycykge1xuICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBhbGxLZXlzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgaWYgKF8uaXNPYmplY3Qob2JqKSkge1xuICAgICAgICAgICAgICBjb25zdCBrZXkgPSBhbGxLZXlzW2luZGV4XTtcblxuICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgIG9wdGlvbnMuaXNHZXR0ZXIgPSB0cnVlO1xuICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgIHRoaXMuX3dhbGsoanNvbiwgb2JqW2tleV0sIGl0ZXJhdG9yLCBgJHsobG9kYXNoUGF0aCA9PT0gJycpID8gJycgOiBgJHtsb2Rhc2hQYXRofS5gfSR7a2V5fWAsIG9wdGlvbnMsIGRlcHRoTGV2ZWwgKyAxKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAob3B0aW9ucy5fZXhpdCAmJiBqc29uID09PSBvYmopIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBvcHRpb25zLl9leGl0ID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG59XG5cbmV4cG9ydCBjb25zdCB3YWxrID0ge1xuICBPYmplY3Q6IEhlbHBlcnMuV2Fsay5PYmplY3QsXG4gIE9iamVjdEJ5OiBIZWxwZXJzLldhbGsuT2JqZWN0Qnlcbn1cbiJdfQ==
@@ -12,7 +12,7 @@ function findChildren(ver, lp, walkGetters) {
12
12
  const allKeys = !walkGetters ? [] : Object.getOwnPropertyNames(obj);
13
13
  const children = [];
14
14
  for (const key in obj) {
15
- if (_.isObject(obj) && obj.hasOwnProperty(key)) {
15
+ if (_.isObject(obj) && _.isFunction(obj.hasOwnProperty) && obj.hasOwnProperty(key)) {
16
16
  _.pull(allKeys, key);
17
17
  children.push({ v: obj[key], p: `${(lp === '') ? '' : `${lp}.`}${key}`, parent: ver, isGetter: false });
18
18
  }
@@ -1 +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":["import { _ } 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
+ {"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":["import { _ } 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) && _.isFunction(obj.hasOwnProperty) && 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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"}
@@ -12,7 +12,7 @@ function findChildren(ver, lp, walkGetters) {
12
12
  const allKeys = !walkGetters ? [] : Object.getOwnPropertyNames(obj);
13
13
  const children = [];
14
14
  for (const key in obj) {
15
- if (_.isObject(obj) && obj.hasOwnProperty(key)) {
15
+ if (_.isObject(obj) && _.isFunction(obj.hasOwnProperty) && obj.hasOwnProperty(key)) {
16
16
  _.pull(allKeys, key);
17
17
  children.push({ v: obj[key], p: `${(lp === '') ? '' : `${lp}.`}${key}`, parent: ver, isGetter: false });
18
18
  }
@@ -1 +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":["import { _ } 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
+ {"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":["import { _ } 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) && _.isFunction(obj.hasOwnProperty) && 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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"}
package/lib/index.js CHANGED
@@ -16,7 +16,7 @@ function findChildren(ver, lp, walkGetters) {
16
16
  var allKeys = !walkGetters ? [] : Object.getOwnPropertyNames(obj);
17
17
  var children = [];
18
18
  for (var key in obj) {
19
- if (tnp_core_1._.isObject(obj) && obj.hasOwnProperty(key)) {
19
+ if (tnp_core_1._.isObject(obj) && tnp_core_1._.isFunction(obj.hasOwnProperty) && obj.hasOwnProperty(key)) {
20
20
  tnp_core_1._.pull(allKeys, key);
21
21
  children.push({ v: obj[key], p: "".concat((lp === '') ? '' : "".concat(lp, ".")).concat(key), parent: ver, isGetter: false });
22
22
  }
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "lodash-walk-object",
3
3
  "description": "Walk all properties deep in object with lodash help",
4
- "version": "13.0.15",
4
+ "version": "13.0.16",
5
5
  "scripts": {
6
6
  "test": "mocha --require ts-node/register src/**/*.spec.ts",
7
7
  "test:watch": "mocha --compilers ts-node/register src/**/*.spec.ts --watch"
@@ -21,10 +21,10 @@
21
21
  },
22
22
  "homepage": "https://github.com/darekf77/lodash-walk-object#readme",
23
23
  "dependencies": {
24
- "typescript-class-helpers": "~13.0.17"
24
+ "typescript-class-helpers": "~13.0.18"
25
25
  },
26
26
  "license": "MIT",
27
27
  "private": false,
28
- "lastBuildTagHash": "fb55fb9fd8b93e1ba9116e1c98037dbbb0723fd3",
28
+ "lastBuildTagHash": "7f6e83cca744c04a3ccf86ac61358eb3da6fe75b",
29
29
  "devDependencies": {}
30
30
  }
@@ -44,7 +44,7 @@
44
44
  },
45
45
  "name": "lodash-walk-object",
46
46
  "description": "Walk all properties deep in object with lodash help",
47
- "version": "13.0.15",
47
+ "version": "13.0.16",
48
48
  "scripts": {
49
49
  "test": "mocha --require ts-node/register src/**/*.spec.ts",
50
50
  "test:watch": "mocha --compilers ts-node/register src/**/*.spec.ts --watch"
@@ -64,11 +64,11 @@
64
64
  },
65
65
  "homepage": "https://github.com/darekf77/lodash-walk-object#readme",
66
66
  "dependencies": {
67
- "typescript-class-helpers": "~13.0.17"
67
+ "typescript-class-helpers": "~13.0.18"
68
68
  },
69
69
  "license": "MIT",
70
70
  "private": false,
71
- "lastBuildTagHash": "fb55fb9fd8b93e1ba9116e1c98037dbbb0723fd3",
71
+ "lastBuildTagHash": "7f6e83cca744c04a3ccf86ac61358eb3da6fe75b",
72
72
  "devDependencies": {
73
73
  "@angular-devkit/build-angular": "~13.2.5",
74
74
  "@angular-devkit/core": "~13.2.6",
@@ -143,12 +143,12 @@
143
143
  "babel-core": "6.25.0",
144
144
  "babel-preset-env": "1.7.0",
145
145
  "babel-preset-es2015": "6.24.1",
146
- "background-worker-process": "~13.0.17",
146
+ "background-worker-process": "~13.0.18",
147
147
  "bcryptjs": "2.4.3",
148
148
  "better-sqlite3": "7.5.1",
149
149
  "body-parser": "1.18.2",
150
150
  "bootstrap": "5.1.3",
151
- "bs4-breakpoint": "13.0.13",
151
+ "bs4-breakpoint": "13.0.26",
152
152
  "buffer-shims": "1.0.0",
153
153
  "callsite-record": "4.1.3",
154
154
  "chai": "4.2.0",
@@ -179,12 +179,13 @@
179
179
  "eslint-plugin-prefer-arrow": "1.2.2",
180
180
  "express": "4.16.3",
181
181
  "express-fileupload": "0.4.0",
182
+ "express-session": "1.17.3",
182
183
  "fbgraph": "1.4.1",
183
184
  "file-loader": "1.1.5",
184
185
  "firedev": "^13",
185
- "firedev-crud": "~13.0.23",
186
- "firedev-crud-deamon": "~13.0.16",
187
- "firedev-ports": "~13.0.17",
186
+ "firedev-crud": "~13.0.24",
187
+ "firedev-crud-deamon": "~13.0.17",
188
+ "firedev-ports": "~13.0.18",
188
189
  "firedev-storage": "~13.0.13",
189
190
  "fkill": "6.1.0",
190
191
  "font-awesome": "4.7.0",
@@ -196,7 +197,7 @@
196
197
  "http-proxy": "1.16.2",
197
198
  "http-proxy-middleware": "0.19.1",
198
199
  "http-server": "0.11.1",
199
- "incremental-compiler": "~13.0.15",
200
+ "incremental-compiler": "~13.0.16",
200
201
  "inquirer": "7.3.3",
201
202
  "inquirer-autocomplete-prompt": "1.3.0",
202
203
  "is-elevated": "3.0.0",
@@ -204,8 +205,8 @@
204
205
  "jasmine-core": "4.0.0",
205
206
  "jscodeshift": "0.6.3",
206
207
  "json-stringify-safe": "5.0.1",
207
- "json10": "~13.0.14",
208
- "json10-writer": "~13.0.14",
208
+ "json10": "~13.0.15",
209
+ "json10-writer": "~13.0.15",
209
210
  "json5": "2.1.3",
210
211
  "json5-writer": "0.2.0",
211
212
  "karma": "6.3.0",
@@ -217,7 +218,7 @@
217
218
  "lnk": "1.0.1",
218
219
  "lockfile": "1.0.4",
219
220
  "lodash": "4.17.4",
220
- "lodash-walk-object": "~13.0.14",
221
+ "lodash-walk-object": "~13.0.15",
221
222
  "lodash.get": ">= 4",
222
223
  "lodash.isequal": ">= 4",
223
224
  "lodash.merge": ">= 4",
@@ -230,11 +231,11 @@
230
231
  "mkdirp": "0.5.1",
231
232
  "mocha": "5.2.0",
232
233
  "moment": "2.22.2",
233
- "morphi": "~13.0.36",
234
+ "morphi": "~13.0.37",
234
235
  "ng-packagr": "13.0.0",
235
236
  "ng-talkback": "~13.0.13",
236
- "ng2-logger": "~13.0.15",
237
- "ng2-rest": "~13.0.18",
237
+ "ng2-logger": "~13.0.16",
238
+ "ng2-rest": "~13.0.19",
238
239
  "ng4-icons": "~13.0.15",
239
240
  "ng4-modal": "~13.0.17",
240
241
  "ngx-bootstrap": "8.0.0",
@@ -273,17 +274,17 @@
273
274
  "sloc": "0.2.0",
274
275
  "socket.io": "2.4.1",
275
276
  "sort-package-json": "1.11.0",
276
- "static-columns": "13.0.16",
277
+ "static-columns": "13.0.17",
277
278
  "string-similarity": "4.0.2",
278
279
  "sudo-block": "3.0.0",
279
280
  "systeminformation": "3.45.7",
280
281
  "task.js": "0.1.5",
281
- "tnp-cli": "~13.0.17",
282
- "tnp-config": "~13.0.20",
283
- "tnp-core": "~13.0.42",
284
- "tnp-db": "~13.0.26",
285
- "tnp-helpers": "~13.0.26",
286
- "tnp-models": "~13.0.17",
282
+ "tnp-cli": "~13.0.18",
283
+ "tnp-config": "~13.0.21",
284
+ "tnp-core": "~13.0.43",
285
+ "tnp-db": "~13.0.27",
286
+ "tnp-helpers": "~13.0.27",
287
+ "tnp-models": "~13.0.18",
287
288
  "tnp-ui": "~13.0.18",
288
289
  "ts-debug": "1.3.0",
289
290
  "ts-loader": "2.3.1",
@@ -301,9 +302,9 @@
301
302
  }
302
303
  },
303
304
  "build": {
304
- "number": 188,
305
- "date": "2022-05-06T02:57:34.000Z",
306
- "hash": "7f6e83cca744c04a3ccf86ac61358eb3da6fe75b",
305
+ "number": 191,
306
+ "date": "2022-05-15T01:17:07.000Z",
307
+ "hash": "326399db98e9aa33a4cb46ee12ee7b82fd7d3f22",
307
308
  "options": {}
308
309
  },
309
310
  "currentProjectName": "lodash-walk-object",
@@ -311,7 +312,7 @@
311
312
  "currentProjectLaunchConfiguration": "{\"version\":\"0.2.0\",\"configurations\":[{\"type\":\"node\",\"request\":\"launch\",\"name\":\"Launch Server standalone\",\"program\":\"${workspaceFolder}/run.js\",\"args\":[\"--ENVoverride=%7B%0A%20%20%20%20%22clientProjectName%22%3A%20%22lodash-walk-object%22%0A%7D\"],\"runtimeArgs\":[\"--nolazy\",\"-r\",\"ts-node/register\",\"--experimental-worker\"]},{\"name\":\"Debugger with ng serve\",\"type\":\"chrome\",\"request\":\"launch\",\"preLaunchTask\":\"Ng Serve\",\"postDebugTask\":\"terminateall\",\"sourceMaps\":true,\"webRoot\":\"${workspaceFolder}\",\"sourceMapPathOverrides\":{\"webpack:/*\":\"${webRoot}/*\",\"/./*\":\"${webRoot}/*\",\"/tmp-src/*\":\"${webRoot}/*\",\"/*\":\"*\",\"/./~/*\":\"${webRoot}/node_modules/*\"}},{\"type\":\"node\",\"request\":\"attach\",\"name\":\"Attach to global cli tool\",\"port\":9229,\"skipFiles\":[\"<node_internals>/**\"]}],\"compounds\":[{\"name\":\"Debug backend/frontend\",\"configurations\":[\"Launch Server standalone\",\"Debugger with ng serve\"]}]}",
312
313
  "currentProjectTasksConfiguration": "{\"version\":\"2.0.0\",\"tasks\":[{\"label\":\"terminateall\",\"command\":\"echo ${input:terminate}\",\"type\":\"shell\",\"problemMatcher\":[]},{\"label\":\"Ng Serve\",\"type\":\"shell\",\"command\":\"tnp build\",\"isBackground\":true,\"presentation\":{\"reveal\":\"always\"},\"group\":{\"kind\":\"build\",\"isDefault\":true},\"problemMatcher\":{\"owner\":\"typescript\",\"source\":\"ts\",\"applyTo\":\"closedDocuments\",\"fileLocation\":[\"relative\",\"${cwd}\"],\"pattern\":\"$tsc\",\"background\":{\"activeOnStart\":true,\"beginsPattern\":{\"regexp\":\"(.*?)\"},\"endsPattern\":{\"regexp\":\"Compiled |Failed to compile.\"}}}}],\"inputs\":[{\"id\":\"terminate\",\"type\":\"command\",\"command\":\"workbench.action.tasks.terminate\",\"args\":\"terminateAll\"}]}",
313
314
  "currentProjectType": "isomorphic-lib",
314
- "currentFrameworkVersion": "13.0.73",
315
+ "currentFrameworkVersion": "13.0.80",
315
316
  "currentProjectIsStrictSite": false,
316
317
  "currentProjectIsDependencySite": false,
317
318
  "currentProjectIsStatic": false,