object-rewrite
Advanced tools
Comparing version 2.1.6 to 2.1.7
@@ -1,3 +0,1 @@ | ||
const assert = require('assert'); | ||
const objectScan = require('object-scan'); | ||
@@ -43,30 +41,22 @@ | ||
joined: false, | ||
callbackFn: (key, value, { | ||
breakFn: (key, value, { | ||
isMatch, | ||
matchedBy, | ||
traversedBy, | ||
parents | ||
}) => { | ||
assert(isMatch === true); | ||
if (matchedBy.some(n => filter[n] !== undefined && filter[n](key, value, parents) === false)) { | ||
// mark as removed if: | ||
// - not targeting array and | ||
// - it's filtered | ||
if (!Array.isArray(value) && matchedBy.some(n => filter[n] !== undefined && filter[n](key, value, parents) === false)) { | ||
toRemove.push(key); | ||
} | ||
return true; | ||
} // mark as retained if: | ||
// - targeted by retain or | ||
// - we retain empty parents, targeting array, and traversed by a retain | ||
if (matchedBy.some(n => retain.includes(n))) { | ||
if (matchedBy.some(n => retain.includes(n)) || retainEmptyParents === true && Array.isArray(value) && traversedBy.some(n => retain.includes(n))) { | ||
toRetain.push(key); | ||
} | ||
}, | ||
arrayCallbackFn: (key, value, { | ||
matchedBy | ||
}) => { | ||
if (matchedBy.some(n => retain.includes(n))) { | ||
toRetain.push(key); | ||
} | ||
}, | ||
breakFn: (key, value, { | ||
traversedBy | ||
}) => { | ||
if (retainEmptyParents === true && traversedBy.some(n => retain.includes(n))) { | ||
toRetain.push(key); | ||
} | ||
@@ -84,2 +74,2 @@ return false; | ||
}; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJhc3NlcnQiLCJyZXF1aXJlIiwib2JqZWN0U2NhbiIsInRyZWUiLCJtb2R1bGUiLCJleHBvcnRzIiwiZmlsdGVyIiwiaW5qZWN0Iiwib3ZlcndyaXRlIiwicmV0YWluIiwicmV0YWluRW1wdHlQYXJlbnRzIiwic2Nhbm5lckluamVjdEFuZE92ZXJ3cml0ZSIsIk9iamVjdCIsImtleXMiLCJjb25jYXQiLCJ1c2VBcnJheVNlbGVjdG9yIiwiam9pbmVkIiwiY2FsbGJhY2tGbiIsImtleSIsInZhbHVlIiwiaXNNYXRjaCIsIm1hdGNoZWRCeSIsInBhcmVudHMiLCJzb3J0IiwiZm9yRWFjaCIsIm4iLCJ1bmRlZmluZWQiLCJhc3NpZ24iLCJsYXN0U3RyaW5nSW5kZXgiLCJyZWR1Y2UiLCJwIiwiYyIsImlkeCIsImRpcmVjdFBhcmVudCIsInNsaWNlIiwidG9SZW1vdmUiLCJ0b1JldGFpbiIsInNjYW5uZXJSZW1vdmVBbmRSZXRhaW4iLCJzb21lIiwicHVzaCIsImluY2x1ZGVzIiwiYXJyYXlDYWxsYmFja0ZuIiwiYnJlYWtGbiIsInRyYXZlcnNlZEJ5IiwiaW5wdXQiLCJwcnVuZSIsImxlbmd0aCJdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTUEsTUFBTSxHQUFHQyxPQUFPLENBQUMsUUFBRCxDQUF0Qjs7QUFDQSxNQUFNQyxVQUFVLEdBQUdELE9BQU8sQ0FBQyxhQUFELENBQTFCOztBQUNBLE1BQU1FLElBQUksR0FBR0YsT0FBTyxDQUFDLGFBQUQsQ0FBcEI7O0FBRUFHLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQixDQUFDO0FBQ2hCQyxFQUFBQSxNQUFNLEdBQUcsRUFETztBQUVoQkMsRUFBQUEsTUFBTSxHQUFHLEVBRk87QUFHaEJDLEVBQUFBLFNBQVMsR0FBRyxFQUhJO0FBSWhCQyxFQUFBQSxNQUFNLEdBQUcsQ0FBQyxJQUFELENBSk87QUFLaEJDLEVBQUFBLGtCQUFrQixHQUFHO0FBTEwsQ0FBRCxLQU1YO0FBQ0osUUFBTUMseUJBQXlCLEdBQUdULFVBQVUsQ0FBQ1UsTUFBTSxDQUFDQyxJQUFQLENBQVlOLE1BQVosRUFBb0JPLE1BQXBCLENBQTJCRixNQUFNLENBQUNDLElBQVAsQ0FBWUwsU0FBWixDQUEzQixDQUFELEVBQXFEO0FBQy9GTyxJQUFBQSxnQkFBZ0IsRUFBRSxLQUQ2RTtBQUUvRkMsSUFBQUEsTUFBTSxFQUFFLEtBRnVGO0FBRy9GQyxJQUFBQSxVQUFVLEVBQUUsQ0FBQ0MsR0FBRCxFQUFNQyxLQUFOLEVBQWE7QUFBRUMsTUFBQUEsT0FBRjtBQUFXQyxNQUFBQSxTQUFYO0FBQXNCQyxNQUFBQTtBQUF0QixLQUFiLEtBQWlEO0FBQzNERCxNQUFBQSxTQUFTLENBQUNFLElBQVY7QUFDQUYsTUFBQUEsU0FBUyxDQUFDRyxPQUFWLENBQW1CQyxDQUFELElBQU87QUFDdkIsWUFBSWxCLE1BQU0sQ0FBQ2tCLENBQUQsQ0FBTixLQUFjQyxTQUFsQixFQUE2QjtBQUMzQmQsVUFBQUEsTUFBTSxDQUFDZSxNQUFQLENBQWNSLEtBQWQsRUFBcUJaLE1BQU0sQ0FBQ2tCLENBQUQsQ0FBTixDQUFVUCxHQUFWLEVBQWVDLEtBQWYsRUFBc0JHLE9BQXRCLENBQXJCO0FBQ0Q7QUFDRixPQUpEO0FBS0FELE1BQUFBLFNBQVMsQ0FBQ0csT0FBVixDQUFtQkMsQ0FBRCxJQUFPO0FBQ3ZCLFlBQUlqQixTQUFTLENBQUNpQixDQUFELENBQVQsS0FBaUJDLFNBQXJCLEVBQWdDO0FBQzlCLGdCQUFNRSxlQUFlLEdBQUdWLEdBQUcsQ0FBQ1csTUFBSixDQUFXLENBQUNDLENBQUQsRUFBSUMsQ0FBSixFQUFPQyxHQUFQLEtBQWdCLE9BQU9ELENBQVAsS0FBYSxRQUFiLEdBQXdCQyxHQUF4QixHQUE4QkYsQ0FBekQsRUFBNkQsQ0FBN0QsQ0FBeEI7QUFDQSxnQkFBTUcsWUFBWSxHQUFHZixHQUFHLENBQUNnQixLQUFKLENBQVVOLGVBQVYsRUFBMkIsQ0FBQyxDQUE1QixFQUErQkMsTUFBL0IsQ0FBc0MsQ0FBQ0MsQ0FBRCxFQUFJQyxDQUFKLEtBQVVELENBQUMsQ0FBQ0MsQ0FBRCxDQUFqRCxFQUFzRFQsT0FBTyxDQUFDLENBQUQsQ0FBN0QsQ0FBckIsQ0FGOEIsQ0FHOUI7O0FBQ0FXLFVBQUFBLFlBQVksQ0FBQ2YsR0FBRyxDQUFDZ0IsS0FBSixDQUFVLENBQUMsQ0FBWCxFQUFjLENBQWQsQ0FBRCxDQUFaLEdBQWlDMUIsU0FBUyxDQUFDaUIsQ0FBRCxDQUFULENBQWFQLEdBQWIsRUFBa0JlLFlBQVksQ0FBQ2YsR0FBRyxDQUFDZ0IsS0FBSixDQUFVLENBQUMsQ0FBWCxFQUFjLENBQWQsQ0FBRCxDQUE5QixFQUFrRFosT0FBbEQsQ0FBakM7QUFDRDtBQUNGLE9BUEQ7QUFRRDtBQWxCOEYsR0FBckQsQ0FBNUM7QUFxQkEsUUFBTWEsUUFBUSxHQUFHLEVBQWpCO0FBQ0EsUUFBTUMsUUFBUSxHQUFHLEVBQWpCO0FBQ0EsUUFBTUMsc0JBQXNCLEdBQUduQyxVQUFVLENBQUNVLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZUCxNQUFaLEVBQW9CUSxNQUFwQixDQUEyQkwsTUFBM0IsQ0FBRCxFQUFxQztBQUM1RU0sSUFBQUEsZ0JBQWdCLEVBQUUsS0FEMEQ7QUFFNUVDLElBQUFBLE1BQU0sRUFBRSxLQUZvRTtBQUc1RUMsSUFBQUEsVUFBVSxFQUFFLENBQUNDLEdBQUQsRUFBTUMsS0FBTixFQUFhO0FBQUVDLE1BQUFBLE9BQUY7QUFBV0MsTUFBQUEsU0FBWDtBQUFzQkMsTUFBQUE7QUFBdEIsS0FBYixLQUFpRDtBQUMzRHRCLE1BQUFBLE1BQU0sQ0FBQ29CLE9BQU8sS0FBSyxJQUFiLENBQU47O0FBQ0EsVUFBSUMsU0FBUyxDQUFDaUIsSUFBVixDQUFlYixDQUFDLElBQUluQixNQUFNLENBQUNtQixDQUFELENBQU4sS0FBY0MsU0FBZCxJQUEyQnBCLE1BQU0sQ0FBQ21CLENBQUQsQ0FBTixDQUFVUCxHQUFWLEVBQWVDLEtBQWYsRUFBc0JHLE9BQXRCLE1BQW1DLEtBQWxGLENBQUosRUFBOEY7QUFDNUZhLFFBQUFBLFFBQVEsQ0FBQ0ksSUFBVCxDQUFjckIsR0FBZDtBQUNEOztBQUNELFVBQUlHLFNBQVMsQ0FBQ2lCLElBQVYsQ0FBZWIsQ0FBQyxJQUFJaEIsTUFBTSxDQUFDK0IsUUFBUCxDQUFnQmYsQ0FBaEIsQ0FBcEIsQ0FBSixFQUE2QztBQUMzQ1csUUFBQUEsUUFBUSxDQUFDRyxJQUFULENBQWNyQixHQUFkO0FBQ0Q7QUFDRixLQVgyRTtBQVk1RXVCLElBQUFBLGVBQWUsRUFBRSxDQUFDdkIsR0FBRCxFQUFNQyxLQUFOLEVBQWE7QUFBRUUsTUFBQUE7QUFBRixLQUFiLEtBQStCO0FBQzlDLFVBQUlBLFNBQVMsQ0FBQ2lCLElBQVYsQ0FBZWIsQ0FBQyxJQUFJaEIsTUFBTSxDQUFDK0IsUUFBUCxDQUFnQmYsQ0FBaEIsQ0FBcEIsQ0FBSixFQUE2QztBQUMzQ1csUUFBQUEsUUFBUSxDQUFDRyxJQUFULENBQWNyQixHQUFkO0FBQ0Q7QUFDRixLQWhCMkU7QUFpQjVFd0IsSUFBQUEsT0FBTyxFQUFFLENBQUN4QixHQUFELEVBQU1DLEtBQU4sRUFBYTtBQUFFd0IsTUFBQUE7QUFBRixLQUFiLEtBQWlDO0FBQ3hDLFVBQUlqQyxrQkFBa0IsS0FBSyxJQUF2QixJQUErQmlDLFdBQVcsQ0FBQ0wsSUFBWixDQUFpQmIsQ0FBQyxJQUFJaEIsTUFBTSxDQUFDK0IsUUFBUCxDQUFnQmYsQ0FBaEIsQ0FBdEIsQ0FBbkMsRUFBOEU7QUFDNUVXLFFBQUFBLFFBQVEsQ0FBQ0csSUFBVCxDQUFjckIsR0FBZDtBQUNEOztBQUNELGFBQU8sS0FBUDtBQUNEO0FBdEIyRSxHQUFyQyxDQUF6QztBQXlCQSxTQUFRMEIsS0FBRCxJQUFXO0FBQ2hCakMsSUFBQUEseUJBQXlCLENBQUNpQyxLQUFELENBQXpCO0FBQ0FQLElBQUFBLHNCQUFzQixDQUFDTyxLQUFELENBQXRCO0FBQ0F6QyxJQUFBQSxJQUFJLENBQUMwQyxLQUFMLENBQVdELEtBQVgsRUFBa0JULFFBQWxCLEVBQTRCQyxRQUE1QjtBQUNBRCxJQUFBQSxRQUFRLENBQUNXLE1BQVQsR0FBa0IsQ0FBbEI7QUFDQVYsSUFBQUEsUUFBUSxDQUFDVSxNQUFULEdBQWtCLENBQWxCO0FBQ0QsR0FORDtBQU9ELENBOUREIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgYXNzZXJ0ID0gcmVxdWlyZSgnYXNzZXJ0Jyk7XG5jb25zdCBvYmplY3RTY2FuID0gcmVxdWlyZSgnb2JqZWN0LXNjYW4nKTtcbmNvbnN0IHRyZWUgPSByZXF1aXJlKCcuL3V0aWwvdHJlZScpO1xuXG5tb2R1bGUuZXhwb3J0cyA9ICh7XG4gIGZpbHRlciA9IHt9LFxuICBpbmplY3QgPSB7fSxcbiAgb3ZlcndyaXRlID0ge30sXG4gIHJldGFpbiA9IFsnKionXSxcbiAgcmV0YWluRW1wdHlQYXJlbnRzID0gdHJ1ZVxufSkgPT4ge1xuICBjb25zdCBzY2FubmVySW5qZWN0QW5kT3ZlcndyaXRlID0gb2JqZWN0U2NhbihPYmplY3Qua2V5cyhpbmplY3QpLmNvbmNhdChPYmplY3Qua2V5cyhvdmVyd3JpdGUpKSwge1xuICAgIHVzZUFycmF5U2VsZWN0b3I6IGZhbHNlLFxuICAgIGpvaW5lZDogZmFsc2UsXG4gICAgY2FsbGJhY2tGbjogKGtleSwgdmFsdWUsIHsgaXNNYXRjaCwgbWF0Y2hlZEJ5LCBwYXJlbnRzIH0pID0+IHtcbiAgICAgIG1hdGNoZWRCeS5zb3J0KCk7XG4gICAgICBtYXRjaGVkQnkuZm9yRWFjaCgobikgPT4ge1xuICAgICAgICBpZiAoaW5qZWN0W25dICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBPYmplY3QuYXNzaWduKHZhbHVlLCBpbmplY3Rbbl0oa2V5LCB2YWx1ZSwgcGFyZW50cykpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIG1hdGNoZWRCeS5mb3JFYWNoKChuKSA9PiB7XG4gICAgICAgIGlmIChvdmVyd3JpdGVbbl0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGNvbnN0IGxhc3RTdHJpbmdJbmRleCA9IGtleS5yZWR1Y2UoKHAsIGMsIGlkeCkgPT4gKHR5cGVvZiBjID09PSAnc3RyaW5nJyA/IGlkeCA6IHApLCAwKTtcbiAgICAgICAgICBjb25zdCBkaXJlY3RQYXJlbnQgPSBrZXkuc2xpY2UobGFzdFN0cmluZ0luZGV4LCAtMSkucmVkdWNlKChwLCBjKSA9PiBwW2NdLCBwYXJlbnRzWzBdKTtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgICAgICBkaXJlY3RQYXJlbnRba2V5LnNsaWNlKC0xKVswXV0gPSBvdmVyd3JpdGVbbl0oa2V5LCBkaXJlY3RQYXJlbnRba2V5LnNsaWNlKC0xKVswXV0sIHBhcmVudHMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0IHRvUmVtb3ZlID0gW107XG4gIGNvbnN0IHRvUmV0YWluID0gW107XG4gIGNvbnN0IHNjYW5uZXJSZW1vdmVBbmRSZXRhaW4gPSBvYmplY3RTY2FuKE9iamVjdC5rZXlzKGZpbHRlcikuY29uY2F0KHJldGFpbiksIHtcbiAgICB1c2VBcnJheVNlbGVjdG9yOiBmYWxzZSxcbiAgICBqb2luZWQ6IGZhbHNlLFxuICAgIGNhbGxiYWNrRm46IChrZXksIHZhbHVlLCB7IGlzTWF0Y2gsIG1hdGNoZWRCeSwgcGFyZW50cyB9KSA9PiB7XG4gICAgICBhc3NlcnQoaXNNYXRjaCA9PT0gdHJ1ZSk7XG4gICAgICBpZiAobWF0Y2hlZEJ5LnNvbWUobiA9PiBmaWx0ZXJbbl0gIT09IHVuZGVmaW5lZCAmJiBmaWx0ZXJbbl0oa2V5LCB2YWx1ZSwgcGFyZW50cykgPT09IGZhbHNlKSkge1xuICAgICAgICB0b1JlbW92ZS5wdXNoKGtleSk7XG4gICAgICB9XG4gICAgICBpZiAobWF0Y2hlZEJ5LnNvbWUobiA9PiByZXRhaW4uaW5jbHVkZXMobikpKSB7XG4gICAgICAgIHRvUmV0YWluLnB1c2goa2V5KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGFycmF5Q2FsbGJhY2tGbjogKGtleSwgdmFsdWUsIHsgbWF0Y2hlZEJ5IH0pID0+IHtcbiAgICAgIGlmIChtYXRjaGVkQnkuc29tZShuID0+IHJldGFpbi5pbmNsdWRlcyhuKSkpIHtcbiAgICAgICAgdG9SZXRhaW4ucHVzaChrZXkpO1xuICAgICAgfVxuICAgIH0sXG4gICAgYnJlYWtGbjogKGtleSwgdmFsdWUsIHsgdHJhdmVyc2VkQnkgfSkgPT4ge1xuICAgICAgaWYgKHJldGFpbkVtcHR5UGFyZW50cyA9PT0gdHJ1ZSAmJiB0cmF2ZXJzZWRCeS5zb21lKG4gPT4gcmV0YWluLmluY2x1ZGVzKG4pKSkge1xuICAgICAgICB0b1JldGFpbi5wdXNoKGtleSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gKGlucHV0KSA9PiB7XG4gICAgc2Nhbm5lckluamVjdEFuZE92ZXJ3cml0ZShpbnB1dCk7XG4gICAgc2Nhbm5lclJlbW92ZUFuZFJldGFpbihpbnB1dCk7XG4gICAgdHJlZS5wcnVuZShpbnB1dCwgdG9SZW1vdmUsIHRvUmV0YWluKTtcbiAgICB0b1JlbW92ZS5sZW5ndGggPSAwO1xuICAgIHRvUmV0YWluLmxlbmd0aCA9IDA7XG4gIH07XG59O1xuIl19 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJvYmplY3RTY2FuIiwicmVxdWlyZSIsInRyZWUiLCJtb2R1bGUiLCJleHBvcnRzIiwiZmlsdGVyIiwiaW5qZWN0Iiwib3ZlcndyaXRlIiwicmV0YWluIiwicmV0YWluRW1wdHlQYXJlbnRzIiwic2Nhbm5lckluamVjdEFuZE92ZXJ3cml0ZSIsIk9iamVjdCIsImtleXMiLCJjb25jYXQiLCJ1c2VBcnJheVNlbGVjdG9yIiwiam9pbmVkIiwiY2FsbGJhY2tGbiIsImtleSIsInZhbHVlIiwiaXNNYXRjaCIsIm1hdGNoZWRCeSIsInBhcmVudHMiLCJzb3J0IiwiZm9yRWFjaCIsIm4iLCJ1bmRlZmluZWQiLCJhc3NpZ24iLCJsYXN0U3RyaW5nSW5kZXgiLCJyZWR1Y2UiLCJwIiwiYyIsImlkeCIsImRpcmVjdFBhcmVudCIsInNsaWNlIiwidG9SZW1vdmUiLCJ0b1JldGFpbiIsInNjYW5uZXJSZW1vdmVBbmRSZXRhaW4iLCJicmVha0ZuIiwidHJhdmVyc2VkQnkiLCJBcnJheSIsImlzQXJyYXkiLCJzb21lIiwicHVzaCIsImluY2x1ZGVzIiwiaW5wdXQiLCJwcnVuZSIsImxlbmd0aCJdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTUEsVUFBVSxHQUFHQyxPQUFPLENBQUMsYUFBRCxDQUExQjs7QUFDQSxNQUFNQyxJQUFJLEdBQUdELE9BQU8sQ0FBQyxhQUFELENBQXBCOztBQUVBRSxNQUFNLENBQUNDLE9BQVAsR0FBaUIsQ0FBQztBQUNoQkMsRUFBQUEsTUFBTSxHQUFHLEVBRE87QUFFaEJDLEVBQUFBLE1BQU0sR0FBRyxFQUZPO0FBR2hCQyxFQUFBQSxTQUFTLEdBQUcsRUFISTtBQUloQkMsRUFBQUEsTUFBTSxHQUFHLENBQUMsSUFBRCxDQUpPO0FBS2hCQyxFQUFBQSxrQkFBa0IsR0FBRztBQUxMLENBQUQsS0FNWDtBQUNKLFFBQU1DLHlCQUF5QixHQUFHVixVQUFVLENBQUNXLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZTixN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UDtBQUNELE9BVkcsQ0FXSjtBQUNBO0FBQ0E7OztBQUNBLFVBQ0VHLFNBQVMsQ0FBQ3FCLElBQVYsQ0FBZWpCLENBQUMsSUFBSWhCLE1BQU0sQ0FBQ21DLFFBQVAsQ0FBZ0JuQixDQUFoQixDQUFwQixLQUVFZixrQkFBa0IsS0FBSyxJQUF2QixJQUNHOEIsS0FBSyxDQUFDQyxPQUFOLENBQWN0QixLQUFkLENBREgsSUFFR29CLFdBQVcsQ0FBQ0csSUFBWixDQUFpQmpCLENBQUMsSUFBSWhCLE1BQU0sQ0FBQ21DLFFBQVAsQ0FBZ0JuQixDQUFoQixDQUF0QixDQUxQLEVBT0U7QUFDQVcsUUFBQUEsUUFBUSxDQUFDTyxJQUFULENBQWN6QixHQUFkO0FBQ0Q7O0FBQ0QsYUFBTyxLQUFQO0FBQ0Q7QUE5QjJFLEdBQXJDLENBQXpDO0FBaUNBLFNBQVEyQixLQUFELElBQVc7QUFDaEJsQyxJQUFBQSx5QkFBeUIsQ0FBQ2tDLEtBQUQsQ0FBekI7QUFDQVIsSUFBQUEsc0JBQXNCLENBQUNRLEtBQUQsQ0FBdEI7QUFDQTFDLElBQUFBLElBQUksQ0FBQzJDLEtBQUwsQ0FBV0QsS0FBWCxFQUFrQlYsUUFBbEIsRUFBNEJDLFFBQTVCO0FBQ0FELElBQUFBLFFBQVEsQ0FBQ1ksTUFBVCxHQUFrQixDQUFsQjtBQUNBWCxJQUFBQSxRQUFRLENBQUNXLE1BQVQsR0FBa0IsQ0FBbEI7QUFDRCxHQU5EO0FBT0QsQ0F0RUQiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBvYmplY3RTY2FuID0gcmVxdWlyZSgnb2JqZWN0LXNjYW4nKTtcbmNvbnN0IHRyZWUgPSByZXF1aXJlKCcuL3V0aWwvdHJlZScpO1xuXG5tb2R1bGUuZXhwb3J0cyA9ICh7XG4gIGZpbHRlciA9IHt9LFxuICBpbmplY3QgPSB7fSxcbiAgb3ZlcndyaXRlID0ge30sXG4gIHJldGFpbiA9IFsnKionXSxcbiAgcmV0YWluRW1wdHlQYXJlbnRzID0gdHJ1ZVxufSkgPT4ge1xuICBjb25zdCBzY2FubmVySW5qZWN0QW5kT3ZlcndyaXRlID0gb2JqZWN0U2NhbihPYmplY3Qua2V5cyhpbmplY3QpLmNvbmNhdChPYmplY3Qua2V5cyhvdmVyd3JpdGUpKSwge1xuICAgIHVzZUFycmF5U2VsZWN0b3I6IGZhbHNlLFxuICAgIGpvaW5lZDogZmFsc2UsXG4gICAgY2FsbGJhY2tGbjogKGtleSwgdmFsdWUsIHsgaXNNYXRjaCwgbWF0Y2hlZEJ5LCBwYXJlbnRzIH0pID0+IHtcbiAgICAgIG1hdGNoZWRCeS5zb3J0KCk7XG4gICAgICBtYXRjaGVkQnkuZm9yRWFjaCgobikgPT4ge1xuICAgICAgICBpZiAoaW5qZWN0W25dICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBPYmplY3QuYXNzaWduKHZhbHVlLCBpbmplY3Rbbl0oa2V5LCB2YWx1ZSwgcGFyZW50cykpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIG1hdGNoZWRCeS5mb3JFYWNoKChuKSA9PiB7XG4gICAgICAgIGlmIChvdmVyd3JpdGVbbl0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGNvbnN0IGxhc3RTdHJpbmdJbmRleCA9IGtleS5yZWR1Y2UoKHAsIGMsIGlkeCkgPT4gKHR5cGVvZiBjID09PSAnc3RyaW5nJyA/IGlkeCA6IHApLCAwKTtcbiAgICAgICAgICBjb25zdCBkaXJlY3RQYXJlbnQgPSBrZXkuc2xpY2UobGFzdFN0cmluZ0luZGV4LCAtMSkucmVkdWNlKChwLCBjKSA9PiBwW2NdLCBwYXJlbnRzWzBdKTtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgICAgICBkaXJlY3RQYXJlbnRba2V5LnNsaWNlKC0xKVswXV0gPSBvdmVyd3JpdGVbbl0oa2V5LCBkaXJlY3RQYXJlbnRba2V5LnNsaWNlKC0xKVswXV0sIHBhcmVudHMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0IHRvUmVtb3ZlID0gW107XG4gIGNvbnN0IHRvUmV0YWluID0gW107XG4gIGNvbnN0IHNjYW5uZXJSZW1vdmVBbmRSZXRhaW4gPSBvYmplY3RTY2FuKE9iamVjdC5rZXlzKGZpbHRlcikuY29uY2F0KHJldGFpbiksIHtcbiAgICB1c2VBcnJheVNlbGVjdG9yOiBmYWxzZSxcbiAgICBqb2luZWQ6IGZhbHNlLFxuICAgIGJyZWFrRm46IChrZXksIHZhbHVlLCB7XG4gICAgICBpc01hdGNoLCBtYXRjaGVkQnksIHRyYXZlcnNlZEJ5LCBwYXJlbnRzXG4gICAgfSkgPT4ge1xuICAgICAgLy8gbWFyayBhcyByZW1vdmVkIGlmOlxuICAgICAgLy8gLSBub3QgdGFyZ2V0aW5nIGFycmF5IGFuZFxuICAgICAgLy8gLSBpdCdzIGZpbHRlcmVkXG4gICAgICBpZiAoXG4gICAgICAgICFBcnJheS5pc0FycmF5KHZhbHVlKVxuICAgICAgICAmJiBtYXRjaGVkQnkuc29tZShuID0+IGZpbHRlcltuXSAhPT0gdW5kZWZpbmVkICYmIGZpbHRlcltuXShrZXksIHZhbHVlLCBwYXJlbnRzKSA9PT0gZmFsc2UpXG4gICAgICApIHtcbiAgICAgICAgdG9SZW1vdmUucHVzaChrZXkpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIC8vIG1hcmsgYXMgcmV0YWluZWQgaWY6XG4gICAgICAvLyAtIHRhcmdldGVkIGJ5IHJldGFpbiBvclxuICAgICAgLy8gLSB3ZSByZXRhaW4gZW1wdHkgcGFyZW50cywgdGFyZ2V0aW5nIGFycmF5LCBhbmQgdHJhdmVyc2VkIGJ5IGEgcmV0YWluXG4gICAgICBpZiAoXG4gICAgICAgIG1hdGNoZWRCeS5zb21lKG4gPT4gcmV0YWluLmluY2x1ZGVzKG4pKVxuICAgICAgICB8fCAoXG4gICAgICAgICAgcmV0YWluRW1wdHlQYXJlbnRzID09PSB0cnVlXG4gICAgICAgICAgJiYgQXJyYXkuaXNBcnJheSh2YWx1ZSlcbiAgICAgICAgICAmJiB0cmF2ZXJzZWRCeS5zb21lKG4gPT4gcmV0YWluLmluY2x1ZGVzKG4pKVxuICAgICAgICApXG4gICAgICApIHtcbiAgICAgICAgdG9SZXRhaW4ucHVzaChrZXkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIChpbnB1dCkgPT4ge1xuICAgIHNjYW5uZXJJbmplY3RBbmRPdmVyd3JpdGUoaW5wdXQpO1xuICAgIHNjYW5uZXJSZW1vdmVBbmRSZXRhaW4oaW5wdXQpO1xuICAgIHRyZWUucHJ1bmUoaW5wdXQsIHRvUmVtb3ZlLCB0b1JldGFpbik7XG4gICAgdG9SZW1vdmUubGVuZ3RoID0gMDtcbiAgICB0b1JldGFpbi5sZW5ndGggPSAwO1xuICB9O1xufTtcbiJdfQ== |
{ | ||
"name": "object-rewrite", | ||
"version": "2.1.6", | ||
"version": "2.1.7", | ||
"description": "Rewrite an Object", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
23682
111