Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

dodos

Package Overview
Dependencies
Maintainers
1
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dodos - npm Package Compare versions

Comparing version 2.4.1 to 2.5.0

8

lib/dodo.js

@@ -310,2 +310,8 @@ 'use strict';

}, {
key: 'flock',
value: function flock(fn) {
(0, _invariant2.default)((0, _helpers.isfunc)(fn), 'Dodo#flock(fn) — fn not a function');
return Flock(fn(this));
}
}, {
key: meta,

@@ -441,2 +447,2 @@ get: function get() {

}
//# sourceMappingURL=data:application/json;base64,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LEdBQUosQ0FBUSxHQUFSLEVBQWEsS0FBSyxPQUFMLGdDQUFnQixLQUFoQixDQUFiO09BREY7Ozs7Ozs7Ozs7Ozs7OztHQURGO0FBSmdDLE1BUzVCLElBQUksTUFBSixHQUFhLElBQWIsR0FBb0IsS0FBcEIsWUFBcUMsSUFBckM7Ozs7Ozs7WUFDUzs7QUFDVCxZQUFJLE1BQUosSUFBYzs2Q0FBSTs7OztpQkFBUyxNQUFNLEdBQU4sRUFBVyxNQUFYLEVBQW1CLElBQW5CO1NBQWI7OztBQURoQiw0QkFBcUIsc0NBQXJCOzs7Ozs7Ozs7Ozs7Ozs7OztHQURGO0FBVGdDLEtBY2hDLENBQUksVUFBSixHQUFpQixVQUFqQixDQWRnQzs7QUFnQmhDLFNBQU8sR0FBUCxDQWhCZ0M7Q0FBbEM7O0FBbUJBLFNBQVMsVUFBVCxDQUFvQixFQUFwQixFQUF3QjtBQUN0QixNQUFNLHVDQUFjLEtBQUssT0FBTCxJQUFkLENBRGdCO0FBRXRCLE1BQUksSUFBSSxLQUFLLElBQUwsQ0FGYztBQUd0QixTQUFPLEdBQVAsRUFBWTtBQUNWLFFBQUksUUFBUSxRQUFRLENBQVIsQ0FBUixDQURNO0FBRVYsWUFBUSxDQUFSLElBQWEsR0FBRyxNQUFNLENBQU4sQ0FBSCxFQUFhLE1BQU0sQ0FBTixDQUFiLEVBQXVCLElBQXZCLENBQWIsQ0FGVTtHQUFaO0FBSUEsU0FBTyxPQUFQLENBUHNCO0NBQXhCIiwiZmlsZSI6ImRvZG8uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaW52YXJpYW50IGZyb20gJ2ludmFyaWFudCdcbmltcG9ydCB6aXAgZnJvbSAnbG9kYXNoL3ppcCdcbmltcG9ydCB6aXBPYmplY3QgZnJvbSAnbG9kYXNoL3ppcE9iamVjdCdcbmltcG9ydCB1bnppcCBmcm9tICdsb2Rhc2gvdW56aXAnXG5pbXBvcnQgZmxhdHRlbiBmcm9tICdsb2Rhc2gvZmxhdHRlbidcbmltcG9ydCB7bWFwLCBmaWx0ZXIsIGRyb3AsIHRha2UsIHRyYW5zZHVjZX0gZnJvbSAndHJhbnNkdWNlcnMuanMnXG5cbmltcG9ydCB7XG4gIGlkZW50aXR5LCBjb21iaW5lUmVkdWNlcnMsIFJFRFVDRVJTLCBzcHJlYWQsIGNyZWF0ZUdyb3VwZXIsIGlzZnVuYyxcbiAgYXJyYXlUb0luZGV4LCBjb21wb3NlLCB0cmFuc2R1Y2VOb0JyZWFrLCBhcnJheVJlZHVjZXJcbn0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5jb25zdCBhY3Rpb24gPSBTeW1ib2woJ2FjdGlvbicpXG5jb25zdCBpbmRleCA9IFN5bWJvbCgnaW5kZXgnKVxuY29uc3QgbmFtZXMgPSBTeW1ib2woJ25hbWVzJylcbmNvbnN0IG1ldGEgPSBTeW1ib2woJ21ldGEnKVxuY29uc3QgZGlzcGF0Y2hSZWR1Y2UgPSBTeW1ib2woJ2Rpc3BhdGNoUmVkdWNlJylcbmNvbnN0IG5vQWN0aW9ucyA9IFtdXG5cbmNvbnN0IEFycmF5cyA9IG5ldyBXZWFrTWFwKClcbmNvbnN0IE1ldGFkYXRhID0gbmV3IFdlYWtNYXAoKVxuXG5jb25zdCBuZWVkU2xvd0Nhc2UgPSBhID0+XG4gIGEudG9TdHJpbmcoKS5pbmNsdWRlcygnbmV3IFRha2UnKSB8fCBhLnRvU3RyaW5nKCkuaW5jbHVkZXMoJ25ldyBEcm9wJylcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRG9kbyB7XG4gIGNvbnN0cnVjdG9yKGFycmF5LCBpbmRleCwgYWN0aW9ucz1ub0FjdGlvbnMpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShpbmRleCkpXG4gICAgICBpbmRleCA9IGFycmF5VG9JbmRleChpbmRleClcblxuICAgIGludmFyaWFudChBcnJheS5pc0FycmF5KGFycmF5KSwgYG5ldyBEb2RvKGFyciwgaW5kZXgpIC0gYXJyIGlzIHJlcXVpcmVkYClcbiAgICBpbnZhcmlhbnQoaW5kZXggJiYgT2JqZWN0LmtleXMoaW5kZXgpLmxlbmd0aCA9PSBhcnJheVswXS5sZW5ndGgsXG4gICAgICBgbmV3IERvZG8oYXJyLCBpbmRleCkgLSBpbmRleCBpcyBtaXNzaW5nIG9yIG1hbGZvcm1lZGApXG5cbiAgICBBcnJheXMuc2V0KHRoaXMsIGFycmF5KVxuICAgIGlmICghTWV0YWRhdGEuaGFzKGFycmF5KSlcbiAgICAgIE1ldGFkYXRhLnNldChhcnJheSwge1xuICAgICAgICBpbmRleDogaW5kZXgsXG4gICAgICAgIGNvbHVtbnM6IG5ldyBTZXQoT2JqZWN0LmtleXMoaW5kZXgpKSxcbiAgICAgIH0pXG4gICAgdGhpcy5hY3Rpb25zID0gYWN0aW9uc1xuICB9XG5cbiAgZ2V0IFttZXRhXSgpIHsgcmV0dXJuIE1ldGFkYXRhLmdldChBcnJheXMuZ2V0KHRoaXMpKSB9XG5cbiAgZ2V0IFtpbmRleF0oKSB7XG4gICAgY29uc3QgbGFzdE1hcFdpdGhJbmRleCA9IHRoaXMuYWN0aW9ucy5maWx0ZXIoYWN0ID0+ICEhYWN0LkkpLnNsaWNlKC0xKVxuXG4gICAgaWYgKGxhc3RNYXBXaXRoSW5kZXgubGVuZ3RoKVxuICAgICAgcmV0dXJuIGxhc3RNYXBXaXRoSW5kZXhbMF0uSVxuICAgIGVsc2VcbiAgICAgIHJldHVybiB0aGlzW21ldGFdLmluZGV4XG4gIH1cblxuICBnZXQgW25hbWVzXSgpIHtcbiAgICBjb25zdCBJID0gdGhpc1tpbmRleF1cbiAgICByZXR1cm4gT2JqZWN0LmtleXMoSSkuc29ydCgoYSwgYikgPT4gSVthXSAtIElbYl0pXG4gIH1cblxuICBbU3ltYm9sLml0ZXJhdG9yXSgpIHsgcmV0dXJuIHRoaXMudG9BcnJheSgpLnZhbHVlcygpIH1cblxuICB0b0FycmF5KCkge1xuICAgIGlmICh0aGlzLmFjdGlvbnMubGVuZ3RoKVxuICAgICAgcmV0dXJuICh0aGlzLmFjdGlvbnMuc29tZShuZWVkU2xvd0Nhc2UpID8gdHJhbnNkdWNlIDogdHJhbnNkdWNlTm9CcmVhaykoXG4gICAgICAgIEFycmF5cy5nZXQodGhpcyksXG4gICAgICAgIGNvbXBvc2UodGhpcy5hY3Rpb25zKSxcbiAgICAgICAgYXJyYXlSZWR1Y2VyLFxuICAgICAgICBbXVxuICAgICAgKVxuICAgIGVsc2VcbiAgICAgIHJldHVybiBBcnJheXMuZ2V0KHRoaXMpXG4gIH1cblxuICBnZXQgbGVuZ3RoKCkgeyByZXR1cm4gdGhpcy50b0FycmF5KCkubGVuZ3RoIH1cblxuICB1bmlxKCkgeyByZXR1cm4gWy4uLm5ldyBTZXQodGhpcyldIH1cblxuICBbYWN0aW9uXShhY3Rpb24pIHtcbiAgICByZXR1cm4gbmV3IERvZG8oXG4gICAgICBBcnJheXMuZ2V0KHRoaXMpLCB0aGlzW21ldGFdLmluZGV4LCBbLi4udGhpcy5hY3Rpb25zLCBhY3Rpb25dKVxuICB9XG5cbiAgZmlsdGVyKGZuKSB7XG4gICAgaW52YXJpYW50KGlzZnVuYyhmbiksIGBEb2RvI2ZpbHRlcihmbikg4oCUIGZuIG5vdCBhIGZ1bmN0aW9uYClcbiAgICBpZiAodGhpc1tuYW1lc10ubGVuZ3RoID09IDEpIHtcbiAgICAgIHJldHVybiB0aGlzW2FjdGlvbl0oZmlsdGVyKGZuKSlcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgSSA9IHRoaXNbaW5kZXhdXG4gICAgICByZXR1cm4gdGhpc1thY3Rpb25dKGZpbHRlcihyb3cgPT4gZm4ocm93LCBJKSkpXG4gICAgfVxuICB9XG5cbiAgZmlsdGVyQnkobmFtZSwgZm4pIHtcbiAgICBpbnZhcmlhbnQobmFtZSwgYERvZG8jZmlsdGVyQnkobmFtZSwgZm4pIC0gY29sIGlzIHJlcXVpcmVkYClcbiAgICBpbnZhcmlhbnQoaXNmdW5jKGZuKSwgYERvZG8jZmlsdGVyQnkobmFtZSwgZm4pIC0gZm4gbm90IGEgZnVuY3Rpb25gKVxuICAgIGNvbnN0IGNvbCA9IHRoaXNbaW5kZXhdW25hbWVdXG4gICAgcmV0dXJuIHRoaXNbYWN0aW9uXSggZmlsdGVyKHJvdyA9PiBmbihyb3dbY29sXSkpIClcbiAgfVxuXG4gIG1hcChmbikge1xuICAgIGludmFyaWFudChpc2Z1bmMoZm4pLCBgRG9kbyNtYXAoZm4pIOKAlCBmbiBub3QgYSBmdW5jdGlvbmApXG4gICAgaWYgKHRoaXNbbmFtZXNdLmxlbmd0aCA9PSAxKSB7XG4gICAgICByZXR1cm4gdGhpc1thY3Rpb25dKG1hcChmbikpXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IEkgPSB0aGlzW2luZGV4XVxuICAgICAgcmV0dXJuIHRoaXNbYWN0aW9uXShtYXAocm93ID0+IGZuKHJvdywgSSkpKVxuICAgIH1cbiAgfVxuXG4gIGNvbChuYW1lKSB7XG4gICAgaW52YXJpYW50KG5hbWUsIGBEb2RvI2ZpbHRlckJ5KG5hbWUsIGZuKSAtIGNvbCBpcyByZXF1aXJlZGApXG4gICAgaW52YXJpYW50KHRoaXNbbWV0YV0uY29sdW1ucy5oYXMobmFtZSksXG4gICAgICBgRG9kbyNjb2wobmFtZSkg4oCUIG5hbWUgJHtuYW1lfSBub3QgaW4gaW5kZXhgKVxuICAgIGNvbnN0IGNvbCA9IHRoaXNbaW5kZXhdW25hbWVdXG4gICAgY29uc3QgZm4gPSBtYXAocm93ID0+IHJvd1tjb2xdKVxuICAgIGZuLkkgPSBhcnJheVRvSW5kZXgoW25hbWVdKVxuICAgIHJldHVybiB0aGlzW2FjdGlvbl0oZm4pXG4gIH1cblxuICBjb2xzKC4uLm5hbWVzKSB7XG4gICAgbmFtZXMgPSBuYW1lcy5sZW5ndGggPyBmbGF0dGVuKG5hbWVzKSA6IHVuZGVmaW5lZFxuICAgIGludmFyaWFudChuYW1lcywgYERvZG8jY29scyhuYW1lcykgLSBuYW1lcyBpcyByZXF1aXJlZGApXG4gICAgbmFtZXMuZm9yRWFjaChuID0+IGludmFyaWFudChcbiAgICAgIHRoaXNbbWV0YV0uY29sdW1ucy5oYXMobiksIGBEb2RvI2NvbHMobmFtZXMpIC0gbmFtZSAke259IG5vdCBpbiBpbmRleGApKVxuXG4gICAgY29uc3QgaW5kaWNlcyA9IG5hbWVzLm1hcChuYW1lID0+IHRoaXNbaW5kZXhdW25hbWVdKVxuICAgIGNvbnN0IGlubmVyID0gbmV3IEZ1bmN0aW9uKCdyb3cnLCBgXG4gICAgICByZXR1cm4gWyR7aW5kaWNlcy5tYXAoaSA9PiBgcm93WyR7aX1dYCkuam9pbignLCcpfV1cbiAgICBgKVxuICAgIGNvbnN0IGZuID0gbWFwKGlubmVyKVxuICAgIGZuLkkgPSBhcnJheVRvSW5kZXgobmFtZXMpXG4gICAgcmV0dXJuIHRoaXNbYWN0aW9uXShmbilcbiAgfVxuXG4gIHNraXAoYW1vdW50KSB7XG4gICAgaW52YXJpYW50KGFtb3VudCwgYERvZG8jc2tpcChhbW91bnQpIC0gYW1vdW50IGlzIHJlcXVpcmVkYClcbiAgICBpbnZhcmlhbnQoYW1vdW50ID4gMCwgYERvZG8jc2tpcChhbW91bnQpIOKAlCBhbW91bnQgc21hbGxlciB0aGFuIDBgKVxuICAgIHJldHVybiB0aGlzW2FjdGlvbl0oZHJvcChhbW91bnQpKVxuICB9XG5cbiAgdGFrZShhbW91bnQpIHtcbiAgICBpbnZhcmlhbnQoYW1vdW50LCBgRG9kbyN0YWtlKGFtb3VudCkgLSBhbW91bnQgaXMgcmVxdWlyZWRgKVxuICAgIGludmFyaWFudChhbW91bnQgPiAwLCBgRG9kbyN0YWtlKGFtb3VudCkg4oCUIGFtb3VudCBzbWFsbGVyIHRoYW4gMGApXG4gICAgcmV0dXJuIHRoaXNbYWN0aW9uXSh0YWtlKGFtb3VudCkpXG4gIH1cblxuICBbZGlzcGF0Y2hSZWR1Y2VdKGZuLCBpbml0RmFjdG9yeSwgZmluYWwpIHtcbiAgICBpZiAodGhpc1tuYW1lc10ubGVuZ3RoID09IDEpXG4gICAgICByZXR1cm4gdGhpcy5yZWR1Y2UoZm4sIGluaXRGYWN0b3J5KCksIGZpbmFsKVxuICAgIGVsc2VcbiAgICAgIHJldHVybiB0aGlzLnJlZHVjZUVhY2goZm4sIGluaXRGYWN0b3J5LCBmaW5hbClcbiAgfVxuXG4gIHJlZHVjZShmbiwgaW5pdCwgZmluYWw9aWRlbnRpdHkpIHtcbiAgICBpbnZhcmlhbnQoaW5pdCAhPSBudWxsLCBgRG9kbyNyZWR1Y2UoZm4sIGluaXQsIGZpbmFsKSAtIGluaXQgaXMgcmVxdWlyZWRgKVxuICAgIGludmFyaWFudChpc2Z1bmMoZm4pLCBgRG9kbyNyZWR1Y2UoZm4sIGluaXQsIGZpbmFsKSDigJQgZm4gbm90IGEgZnVuY3Rpb25gKVxuICAgIGludmFyaWFudChpc2Z1bmMoZmluYWwpLFxuICAgICAgYERvZG8jcmVkdWNlKGZuLCBpbml0LCBmaW5hbCkg4oCUIGZpbmFsIG5vdCBhIGZ1bmN0aW9uYClcbiAgICByZXR1cm4gKHRoaXMuYWN0aW9ucy5zb21lKG5lZWRTbG93Q2FzZSkgPyB0cmFuc2R1Y2UgOiB0cmFuc2R1Y2VOb0JyZWFrKShcbiAgICAgIEFycmF5cy5nZXQodGhpcyksXG4gICAgICBjb21wb3NlKHRoaXMuYWN0aW9ucyksXG4gICAgICB7XG4gICAgICAgIFsnQEB0cmFuc2R1Y2VyL3N0ZXAnXTogZm4sXG4gICAgICAgIFsnQEB0cmFuc2R1Y2VyL3Jlc3VsdCddOiBmaW5hbFxuICAgICAgfSxcbiAgICAgIGluaXRcbiAgICApXG4gIH1cblxuICByZWR1Y2VFYWNoKGZuLCBpbml0RmFjdG9yeSwgZmluYWw9aWRlbnRpdHkpIHtcbiAgICBpbnZhcmlhbnQoaXNmdW5jKGluaXRGYWN0b3J5KSxcbiAgICAgIGBEb2RvI3JlZHVjZUVhY2goZm4sIGluaXRGYWN0b3J5LCBmaW5hbCkgLSBpbml0RmFjdG9yeSBub3QgYSBmdW5jdGlvbmApXG4gICAgaW52YXJpYW50KGlzZnVuYyhmbiksXG4gICAgICBgRG9kbyNyZWR1Y2VFYWNoKGZuLCBpbml0LCBmaW5hbCkg4oCUIGZuIG5vdCBhIGZ1bmN0aW9uYClcbiAgICBpbnZhcmlhbnQoaXNmdW5jKGZpbmFsKSxcbiAgICAgIGBEb2RvI3JlZHVjZUVhY2goZm4sIGluaXQsIGZpbmFsKSDigJQgZmluYWwgbm90IGEgZnVuY3Rpb25gKVxuICAgIGNvbnN0IFtmbnMsIGluaXRzLCBmaW5hbHNdID0gdW56aXAoXG4gICAgICB0aGlzW25hbWVzXS5tYXAoKCkgPT4gW2ZuLCBpbml0RmFjdG9yeSgpLCBmaW5hbF0pXG4gICAgKVxuICAgIHJldHVybiB6aXBPYmplY3QoXG4gICAgICB0aGlzW25hbWVzXSxcbiAgICAgIHRoaXMucmVkdWNlKGNvbWJpbmVSZWR1Y2VycyhmbnMsIHRydWUpLCBpbml0cywgc3ByZWFkKGZpbmFscykpXG4gICAgKVxuICB9XG5cbiAgc3RhdHMoLi4ubWV0aG9kcykge1xuICAgIGNvbnN0IFtmbnMsIGluaXRzLCBmaW5hbHNdID0gemlwKC4uLm1ldGhvZHMubWFwKG0gPT4gUkVEVUNFUlNbbV0pKVxuICAgIHJldHVybiB0aGlzW2Rpc3BhdGNoUmVkdWNlXShcbiAgICAgIGNvbWJpbmVSZWR1Y2VycyhmbnMpLFxuICAgICAgKCkgPT4gaW5pdHMubWFwKGkgPT4gaSgpKSxcbiAgICAgIHNwcmVhZChmaW5hbHMpXG4gICAgKVxuICB9XG5cbiAgY291bnQoKSB7IHJldHVybiB0aGlzW2Rpc3BhdGNoUmVkdWNlXSguLi5SRURVQ0VSUy5jb3VudCkgfVxuXG4gIHN1bSgpIHsgcmV0dXJuIHRoaXNbZGlzcGF0Y2hSZWR1Y2VdKC4uLlJFRFVDRVJTLnN1bSkgfVxuXG4gIG1pbigpIHsgcmV0dXJuIHRoaXNbZGlzcGF0Y2hSZWR1Y2VdKC4uLlJFRFVDRVJTLm1pbikgfVxuXG4gIG1heCgpIHsgcmV0dXJuIHRoaXNbZGlzcGF0Y2hSZWR1Y2VdKC4uLlJFRFVDRVJTLm1heCkgfVxuXG4gIGNvdW50VW5pcSgpIHsgcmV0dXJuIHRoaXNbZGlzcGF0Y2hSZWR1Y2VdKC4uLlJFRFVDRVJTLmNvdW50VW5pcSkgfVxuXG4gIG1lYW4oKSB7IHJldHVybiB0aGlzW2Rpc3BhdGNoUmVkdWNlXSguLi5SRURVQ0VSUy5tZWFuKSB9XG5cbiAgZ3JvdXBCeShuYW1lLCBmbikge1xuICAgIGludmFyaWFudChuYW1lLCBgRG9kbyNncm91cEJ5KG5hbWUsIGZuKSAtIG5hbWUgaXMgcmVxdWlyZWRgKVxuICAgIGludmFyaWFudCh0aGlzW21ldGFdLmNvbHVtbnMuaGFzKG5hbWUpLFxuICAgICAgYERvZG8jZ3JvdXAobmFtZSkg4oCUIG5hbWUgJHtuYW1lfSBub3QgaW4gaW5kZXhgKVxuXG4gICAgY29uc3QgbWFwID0gbmV3IE1hcCgpXG4gICAgY29uc3QgZ3JvdXBlciA9IGNyZWF0ZUdyb3VwZXIobWFwLCBmbiwgdGhpc1tpbmRleF1bbmFtZV0pXG4gICAgY29uc3QgYXJyYXkgPSB0aGlzLnRvQXJyYXkoKVxuICAgIGNvbnN0IGxlbiA9IGFycmF5Lmxlbmd0aFxuICAgIGxldCBpID0gLTFcbiAgICB3aGlsZSAoKytpIDwgbGVuKSB7XG4gICAgICBncm91cGVyKGFycmF5W2ldKVxuICAgIH1cbiAgICBtYXAuZm9yRWFjaChhcnJheVRvRG9kbyh0aGlzW2luZGV4XSkpXG4gICAgcmV0dXJuIEZsb2NrKG1hcClcbiAgfVxufVxuXG5mdW5jdGlvbiBhcnJheVRvRG9kbyhJbmRleCkge1xuICByZXR1cm4gZnVuY3Rpb24oYXJyYXksIGtleSwgbWFwKSB7XG4gICAgbWFwLnNldChrZXksIG5ldyBEb2RvKGFycmF5LCBJbmRleCkpXG4gIH1cbn1cblxuRG9kby5wcm90b3R5cGUuZHJvcCA9IERvZG8ucHJvdG90eXBlLnNraXBcblxuY29uc3QgZG9kb01ldGhvZHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhEb2RvLnByb3RvdHlwZSlcbmRvZG9NZXRob2RzLmZpbHRlcihtZXRob2QgPT4gbWV0aG9kICE9ICdjb25zdHJ1Y3RvcicpXG5cbmZ1bmN0aW9uIEZsb2NrKG1hcCwgbWV0aG9kLCBhcmdzKSB7XG4gIG1hcCA9IG5ldyBNYXAobWFwKVxuXG4gIC8vIGlmIGNhbGxlZCB3aXRoIG1ldGhvZCBhcmcgY2FsbCB0aGF0IG1ldGhvZCBvbiBhbGwgRG9kb3NcbiAgaWYgKG1ldGhvZClcbiAgICBmb3IgKGNvbnN0IFtrZXksIGRvZG9dIG9mIG1hcC5lbnRyaWVzKCkpXG4gICAgICBtYXAuc2V0KGtleSwgZG9kb1ttZXRob2RdKC4uLmFyZ3MpKVxuXG4gIC8vIGlmIHRoZSB2YWx1ZXMgYXJlIERvZG9zIGFkZCB0aGUgRG9kbyBtZXRob2RzIHRvIHRoZSByZXR1cm5lZCBNYXBcbiAgaWYgKG1hcC52YWx1ZXMoKS5uZXh0KCkudmFsdWUgaW5zdGFuY2VvZiBEb2RvKVxuICAgIGZvciAoY29uc3QgbWV0aG9kIG9mIGRvZG9NZXRob2RzKVxuICAgICAgbWFwW21ldGhvZF0gPSAoLi4uYXJncykgPT4gRmxvY2sobWFwLCBtZXRob2QsIGFyZ3MpXG5cbiAgLy8gbWFwRW50cmllcyBtZXRob2Qgd2l0aCBzYW1lIHNpZ25hdHVyZSBhcyBuYXRpdmUgTWFwI2ZvckVhY2goKVxuICBtYXAubWFwRW50cmllcyA9IG1hcEVudHJpZXNcblxuICByZXR1cm4gbWFwXG59XG5cbmZ1bmN0aW9uIG1hcEVudHJpZXMoZm4pIHtcbiAgY29uc3QgZW50cmllcyA9IFsuLi50aGlzLmVudHJpZXMoKV1cbiAgbGV0IGkgPSB0aGlzLnNpemVcbiAgd2hpbGUgKGktLSkge1xuICAgIGxldCBlbnRyeSA9IGVudHJpZXNbaV1cbiAgICBlbnRyaWVzW2ldID0gZm4oZW50cnlbMV0sIGVudHJ5WzBdLCB0aGlzKVxuICB9XG4gIHJldHVybiBlbnRyaWVzXG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,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QVEsR0FBUixDQUFOOzs7QUFEZ0MsTUFJNUIsTUFBSjs7Ozs7O0FBQ0UsMkJBQTBCLElBQUksT0FBSiw0QkFBMUI7OztZQUFZO1lBQUs7O0FBQ2YsWUFBSSxHQUFKLENBQVEsR0FBUixFQUFhLEtBQUssT0FBTCxnQ0FBZ0IsS0FBaEIsQ0FBYjtPQURGOzs7Ozs7Ozs7Ozs7Ozs7R0FERjtBQUpnQyxNQVM1QixJQUFJLE1BQUosR0FBYSxJQUFiLEdBQW9CLEtBQXBCLFlBQXFDLElBQXJDOzs7Ozs7O1lBQ1M7O0FBQ1QsWUFBSSxNQUFKLElBQWM7NkNBQUk7Ozs7aUJBQVMsTUFBTSxHQUFOLEVBQVcsTUFBWCxFQUFtQixJQUFuQjtTQUFiOzs7QUFEaEIsNEJBQXFCLHNDQUFyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FERjtBQVRnQyxLQWNoQyxDQUFJLFVBQUosR0FBaUIsVUFBakIsQ0FkZ0M7O0FBZ0JoQyxTQUFPLEdBQVAsQ0FoQmdDO0NBQWxDOztBQW1CQSxTQUFTLFVBQVQsQ0FBb0IsRUFBcEIsRUFBd0I7QUFDdEIsTUFBTSx1Q0FBYyxLQUFLLE9BQUwsSUFBZCxDQURnQjtBQUV0QixNQUFJLElBQUksS0FBSyxJQUFMLENBRmM7QUFHdEIsU0FBTyxHQUFQLEVBQVk7QUFDVixRQUFJLFFBQVEsUUFBUSxDQUFSLENBQVIsQ0FETTtBQUVWLFlBQVEsQ0FBUixJQUFhLEdBQUcsTUFBTSxDQUFOLENBQUgsRUFBYSxNQUFNLENBQU4sQ0FBYixFQUF1QixJQUF2QixDQUFiLENBRlU7R0FBWjtBQUlBLFNBQU8sT0FBUCxDQVBzQjtDQUF4QiIsImZpbGUiOiJkb2RvLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGludmFyaWFudCBmcm9tICdpbnZhcmlhbnQnXG5pbXBvcnQgemlwIGZyb20gJ2xvZGFzaC96aXAnXG5pbXBvcnQgemlwT2JqZWN0IGZyb20gJ2xvZGFzaC96aXBPYmplY3QnXG5pbXBvcnQgdW56aXAgZnJvbSAnbG9kYXNoL3VuemlwJ1xuaW1wb3J0IGZsYXR0ZW4gZnJvbSAnbG9kYXNoL2ZsYXR0ZW4nXG5pbXBvcnQge21hcCwgZmlsdGVyLCBkcm9wLCB0YWtlLCB0cmFuc2R1Y2V9IGZyb20gJ3RyYW5zZHVjZXJzLmpzJ1xuXG5pbXBvcnQge1xuICBpZGVudGl0eSwgY29tYmluZVJlZHVjZXJzLCBSRURVQ0VSUywgc3ByZWFkLCBjcmVhdGVHcm91cGVyLCBpc2Z1bmMsXG4gIGFycmF5VG9JbmRleCwgY29tcG9zZSwgdHJhbnNkdWNlTm9CcmVhaywgYXJyYXlSZWR1Y2VyXG59IGZyb20gJy4vaGVscGVycydcblxuY29uc3QgYWN0aW9uID0gU3ltYm9sKCdhY3Rpb24nKVxuY29uc3QgaW5kZXggPSBTeW1ib2woJ2luZGV4JylcbmNvbnN0IG5hbWVzID0gU3ltYm9sKCduYW1lcycpXG5jb25zdCBtZXRhID0gU3ltYm9sKCdtZXRhJylcbmNvbnN0IGRpc3BhdGNoUmVkdWNlID0gU3ltYm9sKCdkaXNwYXRjaFJlZHVjZScpXG5jb25zdCBub0FjdGlvbnMgPSBbXVxuXG5jb25zdCBBcnJheXMgPSBuZXcgV2Vha01hcCgpXG5jb25zdCBNZXRhZGF0YSA9IG5ldyBXZWFrTWFwKClcblxuY29uc3QgbmVlZFNsb3dDYXNlID0gYSA9PlxuICBhLnRvU3RyaW5nKCkuaW5jbHVkZXMoJ25ldyBUYWtlJykgfHwgYS50b1N0cmluZygpLmluY2x1ZGVzKCduZXcgRHJvcCcpXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERvZG8ge1xuICBjb25zdHJ1Y3RvcihhcnJheSwgaW5kZXgsIGFjdGlvbnM9bm9BY3Rpb25zKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoaW5kZXgpKVxuICAgICAgaW5kZXggPSBhcnJheVRvSW5kZXgoaW5kZXgpXG5cbiAgICBpbnZhcmlhbnQoQXJyYXkuaXNBcnJheShhcnJheSksIGBuZXcgRG9kbyhhcnIsIGluZGV4KSAtIGFyciBpcyByZXF1aXJlZGApXG4gICAgaW52YXJpYW50KGluZGV4ICYmIE9iamVjdC5rZXlzKGluZGV4KS5sZW5ndGggPT0gYXJyYXlbMF0ubGVuZ3RoLFxuICAgICAgYG5ldyBEb2RvKGFyciwgaW5kZXgpIC0gaW5kZXggaXMgbWlzc2luZyBvciBtYWxmb3JtZWRgKVxuXG4gICAgQXJyYXlzLnNldCh0aGlzLCBhcnJheSlcbiAgICBpZiAoIU1ldGFkYXRhLmhhcyhhcnJheSkpXG4gICAgICBNZXRhZGF0YS5zZXQoYXJyYXksIHtcbiAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICBjb2x1bW5zOiBuZXcgU2V0KE9iamVjdC5rZXlzKGluZGV4KSksXG4gICAgICB9KVxuICAgIHRoaXMuYWN0aW9ucyA9IGFjdGlvbnNcbiAgfVxuXG4gIGdldCBbbWV0YV0oKSB7IHJldHVybiBNZXRhZGF0YS5nZXQoQXJyYXlzLmdldCh0aGlzKSkgfVxuXG4gIGdldCBbaW5kZXhdKCkge1xuICAgIGNvbnN0IGxhc3RNYXBXaXRoSW5kZXggPSB0aGlzLmFjdGlvbnMuZmlsdGVyKGFjdCA9PiAhIWFjdC5JKS5zbGljZSgtMSlcblxuICAgIGlmIChsYXN0TWFwV2l0aEluZGV4Lmxlbmd0aClcbiAgICAgIHJldHVybiBsYXN0TWFwV2l0aEluZGV4WzBdLklcbiAgICBlbHNlXG4gICAgICByZXR1cm4gdGhpc1ttZXRhXS5pbmRleFxuICB9XG5cbiAgZ2V0IFtuYW1lc10oKSB7XG4gICAgY29uc3QgSSA9IHRoaXNbaW5kZXhdXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKEkpLnNvcnQoKGEsIGIpID0+IElbYV0gLSBJW2JdKVxuICB9XG5cbiAgW1N5bWJvbC5pdGVyYXRvcl0oKSB7IHJldHVybiB0aGlzLnRvQXJyYXkoKS52YWx1ZXMoKSB9XG5cbiAgdG9BcnJheSgpIHtcbiAgICBpZiAodGhpcy5hY3Rpb25zLmxlbmd0aClcbiAgICAgIHJldHVybiAodGhpcy5hY3Rpb25zLnNvbWUobmVlZFNsb3dDYXNlKSA/IHRyYW5zZHVjZSA6IHRyYW5zZHVjZU5vQnJlYWspKFxuICAgICAgICBBcnJheXMuZ2V0KHRoaXMpLFxuICAgICAgICBjb21wb3NlKHRoaXMuYWN0aW9ucyksXG4gICAgICAgIGFycmF5UmVkdWNlcixcbiAgICAgICAgW11cbiAgICAgIClcbiAgICBlbHNlXG4gICAgICByZXR1cm4gQXJyYXlzLmdldCh0aGlzKVxuICB9XG5cbiAgZ2V0IGxlbmd0aCgpIHsgcmV0dXJuIHRoaXMudG9BcnJheSgpLmxlbmd0aCB9XG5cbiAgdW5pcSgpIHsgcmV0dXJuIFsuLi5uZXcgU2V0KHRoaXMpXSB9XG5cbiAgW2FjdGlvbl0oYWN0aW9uKSB7XG4gICAgcmV0dXJuIG5ldyBEb2RvKFxuICAgICAgQXJyYXlzLmdldCh0aGlzKSwgdGhpc1ttZXRhXS5pbmRleCwgWy4uLnRoaXMuYWN0aW9ucywgYWN0aW9uXSlcbiAgfVxuXG4gIGZpbHRlcihmbikge1xuICAgIGludmFyaWFudChpc2Z1bmMoZm4pLCBgRG9kbyNmaWx0ZXIoZm4pIOKAlCBmbiBub3QgYSBmdW5jdGlvbmApXG4gICAgaWYgKHRoaXNbbmFtZXNdLmxlbmd0aCA9PSAxKSB7XG4gICAgICByZXR1cm4gdGhpc1thY3Rpb25dKGZpbHRlcihmbikpXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IEkgPSB0aGlzW2luZGV4XVxuICAgICAgcmV0dXJuIHRoaXNbYWN0aW9uXShmaWx0ZXIocm93ID0+IGZuKHJvdywgSSkpKVxuICAgIH1cbiAgfVxuXG4gIGZpbHRlckJ5KG5hbWUsIGZuKSB7XG4gICAgaW52YXJpYW50KG5hbWUsIGBEb2RvI2ZpbHRlckJ5KG5hbWUsIGZuKSAtIGNvbCBpcyByZXF1aXJlZGApXG4gICAgaW52YXJpYW50KGlzZnVuYyhmbiksIGBEb2RvI2ZpbHRlckJ5KG5hbWUsIGZuKSAtIGZuIG5vdCBhIGZ1bmN0aW9uYClcbiAgICBjb25zdCBjb2wgPSB0aGlzW2luZGV4XVtuYW1lXVxuICAgIHJldHVybiB0aGlzW2FjdGlvbl0oIGZpbHRlcihyb3cgPT4gZm4ocm93W2NvbF0pKSApXG4gIH1cblxuICBtYXAoZm4pIHtcbiAgICBpbnZhcmlhbnQoaXNmdW5jKGZuKSwgYERvZG8jbWFwKGZuKSDigJQgZm4gbm90IGEgZnVuY3Rpb25gKVxuICAgIGlmICh0aGlzW25hbWVzXS5sZW5ndGggPT0gMSkge1xuICAgICAgcmV0dXJuIHRoaXNbYWN0aW9uXShtYXAoZm4pKVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBJID0gdGhpc1tpbmRleF1cbiAgICAgIHJldHVybiB0aGlzW2FjdGlvbl0obWFwKHJvdyA9PiBmbihyb3csIEkpKSlcbiAgICB9XG4gIH1cblxuICBjb2wobmFtZSkge1xuICAgIGludmFyaWFudChuYW1lLCBgRG9kbyNmaWx0ZXJCeShuYW1lLCBmbikgLSBjb2wgaXMgcmVxdWlyZWRgKVxuICAgIGludmFyaWFudCh0aGlzW21ldGFdLmNvbHVtbnMuaGFzKG5hbWUpLFxuICAgICAgYERvZG8jY29sKG5hbWUpIOKAlCBuYW1lICR7bmFtZX0gbm90IGluIGluZGV4YClcbiAgICBjb25zdCBjb2wgPSB0aGlzW2luZGV4XVtuYW1lXVxuICAgIGNvbnN0IGZuID0gbWFwKHJvdyA9PiByb3dbY29sXSlcbiAgICBmbi5JID0gYXJyYXlUb0luZGV4KFtuYW1lXSlcbiAgICByZXR1cm4gdGhpc1thY3Rpb25dKGZuKVxuICB9XG5cbiAgY29scyguLi5uYW1lcykge1xuICAgIG5hbWVzID0gbmFtZXMubGVuZ3RoID8gZmxhdHRlbihuYW1lcykgOiB1bmRlZmluZWRcbiAgICBpbnZhcmlhbnQobmFtZXMsIGBEb2RvI2NvbHMobmFtZXMpIC0gbmFtZXMgaXMgcmVxdWlyZWRgKVxuICAgIG5hbWVzLmZvckVhY2gobiA9PiBpbnZhcmlhbnQoXG4gICAgICB0aGlzW21ldGFdLmNvbHVtbnMuaGFzKG4pLCBgRG9kbyNjb2xzKG5hbWVzKSAtIG5hbWUgJHtufSBub3QgaW4gaW5kZXhgKSlcblxuICAgIGNvbnN0IGluZGljZXMgPSBuYW1lcy5tYXAobmFtZSA9PiB0aGlzW2luZGV4XVtuYW1lXSlcbiAgICBjb25zdCBpbm5lciA9IG5ldyBGdW5jdGlvbigncm93JywgYFxuICAgICAgcmV0dXJuIFske2luZGljZXMubWFwKGkgPT4gYHJvd1ske2l9XWApLmpvaW4oJywnKX1dXG4gICAgYClcbiAgICBjb25zdCBmbiA9IG1hcChpbm5lcilcbiAgICBmbi5JID0gYXJyYXlUb0luZGV4KG5hbWVzKVxuICAgIHJldHVybiB0aGlzW2FjdGlvbl0oZm4pXG4gIH1cblxuICBza2lwKGFtb3VudCkge1xuICAgIGludmFyaWFudChhbW91bnQsIGBEb2RvI3NraXAoYW1vdW50KSAtIGFtb3VudCBpcyByZXF1aXJlZGApXG4gICAgaW52YXJpYW50KGFtb3VudCA+IDAsIGBEb2RvI3NraXAoYW1vdW50KSDigJQgYW1vdW50IHNtYWxsZXIgdGhhbiAwYClcbiAgICByZXR1cm4gdGhpc1thY3Rpb25dKGRyb3AoYW1vdW50KSlcbiAgfVxuXG4gIHRha2UoYW1vdW50KSB7XG4gICAgaW52YXJpYW50KGFtb3VudCwgYERvZG8jdGFrZShhbW91bnQpIC0gYW1vdW50IGlzIHJlcXVpcmVkYClcbiAgICBpbnZhcmlhbnQoYW1vdW50ID4gMCwgYERvZG8jdGFrZShhbW91bnQpIOKAlCBhbW91bnQgc21hbGxlciB0aGFuIDBgKVxuICAgIHJldHVybiB0aGlzW2FjdGlvbl0odGFrZShhbW91bnQpKVxuICB9XG5cbiAgW2Rpc3BhdGNoUmVkdWNlXShmbiwgaW5pdEZhY3RvcnksIGZpbmFsKSB7XG4gICAgaWYgKHRoaXNbbmFtZXNdLmxlbmd0aCA9PSAxKVxuICAgICAgcmV0dXJuIHRoaXMucmVkdWNlKGZuLCBpbml0RmFjdG9yeSgpLCBmaW5hbClcbiAgICBlbHNlXG4gICAgICByZXR1cm4gdGhpcy5yZWR1Y2VFYWNoKGZuLCBpbml0RmFjdG9yeSwgZmluYWwpXG4gIH1cblxuICByZWR1Y2UoZm4sIGluaXQsIGZpbmFsPWlkZW50aXR5KSB7XG4gICAgaW52YXJpYW50KGluaXQgIT0gbnVsbCwgYERvZG8jcmVkdWNlKGZuLCBpbml0LCBmaW5hbCkgLSBpbml0IGlzIHJlcXVpcmVkYClcbiAgICBpbnZhcmlhbnQoaXNmdW5jKGZuKSwgYERvZG8jcmVkdWNlKGZuLCBpbml0LCBmaW5hbCkg4oCUIGZuIG5vdCBhIGZ1bmN0aW9uYClcbiAgICBpbnZhcmlhbnQoaXNmdW5jKGZpbmFsKSxcbiAgICAgIGBEb2RvI3JlZHVjZShmbiwgaW5pdCwgZmluYWwpIOKAlCBmaW5hbCBub3QgYSBmdW5jdGlvbmApXG4gICAgcmV0dXJuICh0aGlzLmFjdGlvbnMuc29tZShuZWVkU2xvd0Nhc2UpID8gdHJhbnNkdWNlIDogdHJhbnNkdWNlTm9CcmVhaykoXG4gICAgICBBcnJheXMuZ2V0KHRoaXMpLFxuICAgICAgY29tcG9zZSh0aGlzLmFjdGlvbnMpLFxuICAgICAge1xuICAgICAgICBbJ0BAdHJhbnNkdWNlci9zdGVwJ106IGZuLFxuICAgICAgICBbJ0BAdHJhbnNkdWNlci9yZXN1bHQnXTogZmluYWxcbiAgICAgIH0sXG4gICAgICBpbml0XG4gICAgKVxuICB9XG5cbiAgcmVkdWNlRWFjaChmbiwgaW5pdEZhY3RvcnksIGZpbmFsPWlkZW50aXR5KSB7XG4gICAgaW52YXJpYW50KGlzZnVuYyhpbml0RmFjdG9yeSksXG4gICAgICBgRG9kbyNyZWR1Y2VFYWNoKGZuLCBpbml0RmFjdG9yeSwgZmluYWwpIC0gaW5pdEZhY3Rvcnkgbm90IGEgZnVuY3Rpb25gKVxuICAgIGludmFyaWFudChpc2Z1bmMoZm4pLFxuICAgICAgYERvZG8jcmVkdWNlRWFjaChmbiwgaW5pdCwgZmluYWwpIOKAlCBmbiBub3QgYSBmdW5jdGlvbmApXG4gICAgaW52YXJpYW50KGlzZnVuYyhmaW5hbCksXG4gICAgICBgRG9kbyNyZWR1Y2VFYWNoKGZuLCBpbml0LCBmaW5hbCkg4oCUIGZpbmFsIG5vdCBhIGZ1bmN0aW9uYClcbiAgICBjb25zdCBbZm5zLCBpbml0cywgZmluYWxzXSA9IHVuemlwKFxuICAgICAgdGhpc1tuYW1lc10ubWFwKCgpID0+IFtmbiwgaW5pdEZhY3RvcnkoKSwgZmluYWxdKVxuICAgIClcbiAgICByZXR1cm4gemlwT2JqZWN0KFxuICAgICAgdGhpc1tuYW1lc10sXG4gICAgICB0aGlzLnJlZHVjZShjb21iaW5lUmVkdWNlcnMoZm5zLCB0cnVlKSwgaW5pdHMsIHNwcmVhZChmaW5hbHMpKVxuICAgIClcbiAgfVxuXG4gIHN0YXRzKC4uLm1ldGhvZHMpIHtcbiAgICBjb25zdCBbZm5zLCBpbml0cywgZmluYWxzXSA9IHppcCguLi5tZXRob2RzLm1hcChtID0+IFJFRFVDRVJTW21dKSlcbiAgICByZXR1cm4gdGhpc1tkaXNwYXRjaFJlZHVjZV0oXG4gICAgICBjb21iaW5lUmVkdWNlcnMoZm5zKSxcbiAgICAgICgpID0+IGluaXRzLm1hcChpID0+IGkoKSksXG4gICAgICBzcHJlYWQoZmluYWxzKVxuICAgIClcbiAgfVxuXG4gIGNvdW50KCkgeyByZXR1cm4gdGhpc1tkaXNwYXRjaFJlZHVjZV0oLi4uUkVEVUNFUlMuY291bnQpIH1cblxuICBzdW0oKSB7IHJldHVybiB0aGlzW2Rpc3BhdGNoUmVkdWNlXSguLi5SRURVQ0VSUy5zdW0pIH1cblxuICBtaW4oKSB7IHJldHVybiB0aGlzW2Rpc3BhdGNoUmVkdWNlXSguLi5SRURVQ0VSUy5taW4pIH1cblxuICBtYXgoKSB7IHJldHVybiB0aGlzW2Rpc3BhdGNoUmVkdWNlXSguLi5SRURVQ0VSUy5tYXgpIH1cblxuICBjb3VudFVuaXEoKSB7IHJldHVybiB0aGlzW2Rpc3BhdGNoUmVkdWNlXSguLi5SRURVQ0VSUy5jb3VudFVuaXEpIH1cblxuICBtZWFuKCkgeyByZXR1cm4gdGhpc1tkaXNwYXRjaFJlZHVjZV0oLi4uUkVEVUNFUlMubWVhbikgfVxuXG4gIGdyb3VwQnkobmFtZSwgZm4pIHtcbiAgICBpbnZhcmlhbnQobmFtZSwgYERvZG8jZ3JvdXBCeShuYW1lLCBmbikgLSBuYW1lIGlzIHJlcXVpcmVkYClcbiAgICBpbnZhcmlhbnQodGhpc1ttZXRhXS5jb2x1bW5zLmhhcyhuYW1lKSxcbiAgICAgIGBEb2RvI2dyb3VwKG5hbWUpIOKAlCBuYW1lICR7bmFtZX0gbm90IGluIGluZGV4YClcblxuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXAoKVxuICAgIGNvbnN0IGdyb3VwZXIgPSBjcmVhdGVHcm91cGVyKG1hcCwgZm4sIHRoaXNbaW5kZXhdW25hbWVdKVxuICAgIGNvbnN0IGFycmF5ID0gdGhpcy50b0FycmF5KClcbiAgICBjb25zdCBsZW4gPSBhcnJheS5sZW5ndGhcbiAgICBsZXQgaSA9IC0xXG4gICAgd2hpbGUgKCsraSA8IGxlbikge1xuICAgICAgZ3JvdXBlcihhcnJheVtpXSlcbiAgICB9XG4gICAgbWFwLmZvckVhY2goYXJyYXlUb0RvZG8odGhpc1tpbmRleF0pKVxuICAgIHJldHVybiBGbG9jayhtYXApXG4gIH1cblxuICBmbG9jayhmbikge1xuICAgIGludmFyaWFudChpc2Z1bmMoZm4pLCBgRG9kbyNmbG9jayhmbikg4oCUIGZuIG5vdCBhIGZ1bmN0aW9uYClcbiAgICByZXR1cm4gRmxvY2soZm4odGhpcykpXG4gIH1cbn1cblxuZnVuY3Rpb24gYXJyYXlUb0RvZG8oSW5kZXgpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKGFycmF5LCBrZXksIG1hcCkge1xuICAgIG1hcC5zZXQoa2V5LCBuZXcgRG9kbyhhcnJheSwgSW5kZXgpKVxuICB9XG59XG5cbkRvZG8ucHJvdG90eXBlLmRyb3AgPSBEb2RvLnByb3RvdHlwZS5za2lwXG5cbmNvbnN0IGRvZG9NZXRob2RzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoRG9kby5wcm90b3R5cGUpXG5kb2RvTWV0aG9kcy5maWx0ZXIobWV0aG9kID0+IG1ldGhvZCAhPSAnY29uc3RydWN0b3InKVxuXG5mdW5jdGlvbiBGbG9jayhtYXAsIG1ldGhvZCwgYXJncykge1xuICBtYXAgPSBuZXcgTWFwKG1hcClcblxuICAvLyBpZiBjYWxsZWQgd2l0aCBtZXRob2QgYXJnIGNhbGwgdGhhdCBtZXRob2Qgb24gYWxsIERvZG9zXG4gIGlmIChtZXRob2QpXG4gICAgZm9yIChjb25zdCBba2V5LCBkb2RvXSBvZiBtYXAuZW50cmllcygpKVxuICAgICAgbWFwLnNldChrZXksIGRvZG9bbWV0aG9kXSguLi5hcmdzKSlcblxuICAvLyBpZiB0aGUgdmFsdWVzIGFyZSBEb2RvcyBhZGQgdGhlIERvZG8gbWV0aG9kcyB0byB0aGUgcmV0dXJuZWQgTWFwXG4gIGlmIChtYXAudmFsdWVzKCkubmV4dCgpLnZhbHVlIGluc3RhbmNlb2YgRG9kbylcbiAgICBmb3IgKGNvbnN0IG1ldGhvZCBvZiBkb2RvTWV0aG9kcylcbiAgICAgIG1hcFttZXRob2RdID0gKC4uLmFyZ3MpID0+IEZsb2NrKG1hcCwgbWV0aG9kLCBhcmdzKVxuXG4gIC8vIG1hcEVudHJpZXMgbWV0aG9kIHdpdGggc2FtZSBzaWduYXR1cmUgYXMgbmF0aXZlIE1hcCNmb3JFYWNoKClcbiAgbWFwLm1hcEVudHJpZXMgPSBtYXBFbnRyaWVzXG5cbiAgcmV0dXJuIG1hcFxufVxuXG5mdW5jdGlvbiBtYXBFbnRyaWVzKGZuKSB7XG4gIGNvbnN0IGVudHJpZXMgPSBbLi4udGhpcy5lbnRyaWVzKCldXG4gIGxldCBpID0gdGhpcy5zaXplXG4gIHdoaWxlIChpLS0pIHtcbiAgICBsZXQgZW50cnkgPSBlbnRyaWVzW2ldXG4gICAgZW50cmllc1tpXSA9IGZuKGVudHJ5WzFdLCBlbnRyeVswXSwgdGhpcylcbiAgfVxuICByZXR1cm4gZW50cmllc1xufVxuIl19

2

package.json
{
"name": "dodos",
"version": "2.4.1",
"version": "2.5.0",
"description": "Pandas-inspired iterator-based data wrangling library for js",

@@ -5,0 +5,0 @@ "main": "lib/dodo.js",

@@ -223,2 +223,7 @@ import invariant from 'invariant'

}
flock(fn) {
invariant(isfunc(fn), `Dodo#flock(fn) — fn not a function`)
return Flock(fn(this))
}
}

@@ -225,0 +230,0 @@

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc