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

foliage

Package Overview
Dependencies
Maintainers
1
Versions
49
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

foliage - npm Package Compare versions

Comparing version 0.21.0 to 0.22.0

src/keyPath.js

2

foliage.build.js

@@ -1,2 +0,2 @@

module.exports=function(t){function n(r){if(e[r])return e[r].exports;var i=e[r]={exports:{},id:r,loaded:!1};return t[r].call(i.exports,i,i.exports,n),i.loaded=!0,i.exports}var e={};return n.m=t,n.c=e,n.p="",n(0)}([function(t,n,e){function r(t){i(this),this._path=[],this._root=this,this._changes=this._state=a,this.commit(t)}var i=e(5),u=e(3),o=e(4),s=e(1),a={};r.prototype={getPath:function(t){return this._path.concat(t).filter(function(t){return void 0!==t})},getRoot:function(){return this._root},commit:function(){var t=void 0===arguments[0]?this._state:arguments[0],n=this.getRoot(),e=n._state;null==t&&(t=a),e!==t&&(n._state=t,this.volley(n._state))},clear:function(){this.commit(null)},get:function(t,n){return s(this._state,this.getPath(t),n)},set:function(t,n){1===arguments.length&&(n=arguments[0],t=void 0),this.commit(u(this._state,this.getPath(t),n))},update:function(t,n){1===arguments.length&&(n=arguments[0],t=void 0);for(var e in n)this.set([t,e],n[e])},remove:function(t){this.commit(o(this._state,this.getPath(t)))},refine:function(t){return Object.create(this,{_path:{value:this.getPath(t)}})},keys:function(){return Object.keys(this.valueOf()||{})},values:function(){return this.keys().map(function(t){return this.get(t)},this)},valueOf:function(){return s(this._state,this.getPath())},toJSON:function(){return this.valueOf()},is:function(t){return t.valueOf()==this.valueOf()},find:function(t,n){return this.filter(t,n)[0]},includes:function(t){return this.indexOf(t)>-1},first:function(){return this.values().shift()},last:function(){return this.values().pop()},size:function(){return this.values().length}};var c=["sort","map","reduce","filter","forEach","some","every","join","indexOf"];c.forEach(function(t){r.prototype[t]=function(){var n;return(n=this.values())[t].apply(n,arguments)}}),t.exports=r},function(t,n,e){function r(t,n){return t?t[n]:void 0}t.exports=function(t,n,e){var i=n.reduce(r,t);return void 0===i?e:i}},function(t,n,e){t.exports=function(t){if(Array.isArray(t))return t.slice();var n={};for(var e in t)n[e]=t[e];return n}},function(t,n,e){var r=e(2),i=e(1);t.exports=function u(t,n,e){if(i(t,n)===e)return t;var o=n[0],s=n.slice(1),a=r(t);return n.length>1?a[o]=u(i(a,[o])||{},s,e):o?a[o]=e:a=e,a}},function(t,n,e){var r=e(2),i=e(1);t.exports=function u(t,n){if(void 0===i(t,n))return t;var e=n[0],o=n.slice(1),s=r(t);return o.length?(s[e]=u(t[e],o),0===Object.keys(s[e]).length&&delete s[e]):delete s[e],s}},function(t,n,e){function r(t){var n=[],e=t,i=null;t=this instanceof r?this:t||{};var u=function(e){for(var r=0;r<n.length;r++)n[r].apply(t,e)},o=function(){var t=+new Date;i&&10>t-i?cancelAnimationFrame(e):i=t};return t.listen=t.subscribe=function(e){return n=n.concat(e),t},t.ignore=t.unsubscribe=function(e){return n=n.filter(function(t){return t!==e}),t},t.emit=t.publish=function(){return u(arguments),t},t.volley=function(){return n.length>0&&(o(),e=requestAnimationFrame(u.bind(void 0,arguments))),t},t}var i=1e3/120;t.exports=r(r),t.exports.decorate=r,t.exports.FRAMES=i}]);
module.exports=function(t){function n(r){if(e[r])return e[r].exports;var i=e[r]={exports:{},id:r,loaded:!1};return t[r].call(i.exports,i,i.exports,n),i.loaded=!0,i.exports}var e={};return n.m=t,n.c=e,n.p="",n(0)}([function(t,n,e){function r(t){i(this),this._path=c,this._root=this,this.state=a,this.commit(t)}var i=e(6),u=e(5),o=e(4),s=e(1),a={},c=[];r.prototype={getPath:function(t){return this._path.concat(t).filter(function(t){return void 0!==t})},getRoot:function(){return this._root},commit:function(){var t=void 0===arguments[0]?this.state:arguments[0],n=this.getRoot(),e=n.state;null==t&&(t=a),e!==t&&(n.state=t,this.volley(n.state))},clear:function(){this.commit(null)},get:function(t,n){return s(this.state,this.getPath(t),n)},set:function(t,n){1===arguments.length&&(n=arguments[0],t=void 0),this.commit(u(this.state,this.getPath(t),n))},update:function(t,n){1===arguments.length&&(n=arguments[0],t=void 0);for(var e in n)this.set([t,e],n[e])},remove:function(t){this.commit(o(this.state,this.getPath(t)))},refine:function(t){return Object.create(this,{_path:{value:this.getPath(t)}})},keys:function(){return Object.keys(this.valueOf()||{})},values:function(){return this.keys().map(function(t){return this.get(t)},this)},valueOf:function(){return s(this.state,this.getPath())},toJSON:function(){return this.valueOf()},is:function(t){return t.valueOf()==this.valueOf()},find:function(t,n){return this.filter(t,n)[0]},includes:function(t){return this.indexOf(t)>-1},first:function(){return this.values().shift()},last:function(){return this.values().pop()},size:function(){return this.values().length}};var f=["sort","map","reduce","filter","forEach","some","every","join","indexOf"];f.forEach(function(t){r.prototype[t]=function(){var n;return(n=this.values())[t].apply(n,arguments)}}),t.exports=r},function(t,n,e){var r=e(2);t.exports=function(t,n,e){n=r(n);for(var i=0;i<n.length;i++){if(void 0===t)return e;t=t[n[i]]}return void 0===t?e:t}},function(t,n,e){t.exports=function(t){return Array.isArray(t)?t:[t]}},function(t,n,e){t.exports=function(t){if(Array.isArray(t))return t.slice();var n={};for(var e in t)n[e]=t[e];return n}},function(t,n,e){var r={},i=e(3),u=e(1),o=e(2);t.exports=function s(t,n){if(void 0===u(t,n))return t;n=o(n);var e=n[0],a=n.slice(1),c=i(t);return a.length?(c[e]=s(u(t,e,r),a),0===Object.keys(u(c,e,r)).length&&delete c[e]):delete c[e],c}},function(t,n,e){var r=e(3),i=e(1),u=e(2);t.exports=function o(t,n,e){if(i(t,n)===e)return t;n=u(n);var s=n[0],a=n.slice(1);if(n.length){var c=r(t);return a.length?c[s]=o(i(c,s,{}),a,e):c[s]=e,c}return e}},function(t,n,e){function r(t){var n=[],e=t,i=null;t=this instanceof r?this:t||{};var u=function(e){for(var r=0;r<n.length;r++)n[r].apply(t,e)},o=function(){var t=+new Date;i&&10>t-i?cancelAnimationFrame(e):i=t};return t.listen=t.subscribe=function(e){return n=n.concat(e),t},t.ignore=t.unsubscribe=function(e){return n=n.filter(function(t){return t!==e}),t},t.emit=t.publish=function(){return u(arguments),t},t.volley=function(){return n.length>0&&(o(),e=requestAnimationFrame(u.bind(void 0,arguments))),t},t}var i=1e3/120;t.exports=r(r),t.exports.decorate=r,t.exports.FRAMES=i}]);
//# sourceMappingURL=foliage.build.js.map
{
"name": "foliage",
"version": "0.21.0",
"version": "0.22.0",
"description": "A cursor like tree data structure.",

@@ -5,0 +5,0 @@ "main": "src/Foliage.js",

/**
* Assoc
* Given a list of keys, non-destructively assign a value to a
* pathway
*
* @param {Object} obj - The target object
* @param {Array} keys - A list of string keys
* @param {any} value - The value to be assigned
* DEPRECATED
*/
var copy = require('./copy');
var get = require('./get');
var set = require('./set');
module.exports = function assoc(obj, keys, value) {
if (get(obj, keys) === value) {
return obj;
}
var head = keys[0];
var tail = keys.slice(1);
var clone = copy(obj);
if (keys.length > 1) {
clone[head] = assoc(get(clone, [head]) || {}, tail, value);
} else if (head) {
clone[head] = value;
} else {
clone = value;
}
return clone;
module.exports = function () {
console.warn('set has been deprecated, please use `require(foliage/src/set`)');
return set.apply(this, arguments);
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NvYy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBVUEsSUFBSSxJQUFJLEdBQUcsT0FBTyxVQUFVLENBQUE7QUFDNUIsSUFBSSxHQUFHLEdBQUksT0FBTyxTQUFTLENBQUE7O0FBRTNCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsU0FBUyxLQUFLLENBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7QUFDakQsTUFBSSxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLEtBQUssRUFBRTtBQUM1QixXQUFPLEdBQUcsQ0FBQTtHQUNYOztNQUVLLElBQUksR0FBYyxJQUFJO01BQWIsSUFBSSxHQUFLLElBQUk7O0FBQzVCLE1BQUksS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTs7QUFFckIsTUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUU7QUFDbkIsU0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFBO0dBQzNELE1BQU0sSUFBSSxJQUFJLEVBQUU7QUFDZixTQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFBO0dBQ3BCLE1BQU07QUFDTCxTQUFLLEdBQUcsS0FBSyxDQUFBO0dBQ2Q7O0FBRUQsU0FBTyxLQUFLLENBQUE7Q0FDYixDQUFBIiwiZmlsZSI6ImFzc29jLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBc3NvY1xuICogR2l2ZW4gYSBsaXN0IG9mIGtleXMsIG5vbi1kZXN0cnVjdGl2ZWx5IGFzc2lnbiBhIHZhbHVlIHRvIGFcbiAqIHBhdGh3YXlcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqICAtIFRoZSB0YXJnZXQgb2JqZWN0XG4gKiBAcGFyYW0ge0FycmF5fSBrZXlzIC0gQSBsaXN0IG9mIHN0cmluZyBrZXlzXG4gKiBAcGFyYW0ge2FueX0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gYmUgYXNzaWduZWRcbiAqL1xuXG5sZXQgY29weSA9IHJlcXVpcmUoJy4vY29weScpXG5sZXQgZ2V0ICA9IHJlcXVpcmUoJy4vZ2V0JylcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBhc3NvYyAob2JqLCBrZXlzLCB2YWx1ZSkge1xuICBpZiAoZ2V0KG9iaiwga2V5cykgPT09IHZhbHVlKSB7XG4gICAgcmV0dXJuIG9ialxuICB9XG5cbiAgbGV0IFsgaGVhZCwgLi4udGFpbCBdID0ga2V5c1xuICBsZXQgY2xvbmUgPSBjb3B5KG9iailcblxuICBpZiAoa2V5cy5sZW5ndGggPiAxKSB7XG4gICAgY2xvbmVbaGVhZF0gPSBhc3NvYyhnZXQoY2xvbmUsIFtoZWFkXSkgfHwge30sIHRhaWwsIHZhbHVlKVxuICB9IGVsc2UgaWYgKGhlYWQpIHtcbiAgICBjbG9uZVtoZWFkXSA9IHZhbHVlXG4gIH0gZWxzZSB7XG4gICAgY2xvbmUgPSB2YWx1ZVxuICB9XG5cbiAgcmV0dXJuIGNsb25lXG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NvYy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBSUEsSUFBSSxHQUFHLEdBQUcsT0FBTyxTQUFTLENBQUE7O0FBRTFCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsWUFBVztBQUMxQixTQUFPLENBQUMsSUFBSSxrRUFBa0UsQ0FBQTtBQUM5RSxTQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0NBQ2xDLENBQUEiLCJmaWxlIjoiYXNzb2MuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERFUFJFQ0FURURcbiAqL1xuXG5sZXQgc2V0ID0gcmVxdWlyZSgnLi9zZXQnKVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKCkge1xuICBjb25zb2xlLndhcm4oJ3NldCBoYXMgYmVlbiBkZXByZWNhdGVkLCBwbGVhc2UgdXNlIGByZXF1aXJlKGZvbGlhZ2Uvc3JjL3NldGApJylcbiAgcmV0dXJuIHNldC5hcHBseSh0aGlzLCBhcmd1bWVudHMpXG59XG4iXX0=
/**
* Given a list of keys, non-destructively remove a pathway from an
* object
*
* @param {Object} obj - The target object
* @param {Array} keys - A list of string keys
* DEPRECATED
*/
var copy = require('./copy');
var get = require('./get');
var remove = require('./remove');
module.exports = function dissoc(obj, keys) {
if (get(obj, keys) === void 0) {
return obj;
}
var head = keys[0];
var tail = keys.slice(1);
var clone = copy(obj);
if (tail.length) {
clone[head] = dissoc(obj[head], tail);
// Autoprune keys
if (Object.keys(clone[head]).length === 0) {
delete clone[head];
}
} else {
delete clone[head];
}
return clone;
module.exports = function () {
console.warn('dissoc has been deprecated, please use `require(foliage/src/remove`)');
return remove.apply(this, arguments);
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaXNzb2MuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFRQSxJQUFJLElBQUksR0FBRyxPQUFPLFVBQVUsQ0FBQTtBQUM1QixJQUFJLEdBQUcsR0FBSSxPQUFPLFNBQVMsQ0FBQTs7QUFFM0IsTUFBTSxDQUFDLE9BQU8sR0FBRyxTQUFTLE1BQU0sQ0FBRSxHQUFHLEVBQUUsSUFBSSxFQUFFO0FBQzNDLE1BQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBYyxFQUFFO0FBQ2hDLFdBQU8sR0FBRyxDQUFBO0dBQ1g7O01BRUssSUFBSSxHQUFjLElBQUk7TUFBYixJQUFJLEdBQUssSUFBSTs7QUFDNUIsTUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBOztBQUVyQixNQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7QUFDZixTQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQTs7O0FBR3JDLFFBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLE1BQU0sRUFBRTtBQUN6QyxhQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtLQUNuQjtHQUNGLE1BQU07QUFDTCxXQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtHQUNuQjs7QUFFRCxTQUFPLEtBQUssQ0FBQTtDQUNiLENBQUEiLCJmaWxlIjoiZGlzc29jLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHaXZlbiBhIGxpc3Qgb2Yga2V5cywgbm9uLWRlc3RydWN0aXZlbHkgcmVtb3ZlIGEgcGF0aHdheSBmcm9tIGFuXG4gKiBvYmplY3RcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqICAtIFRoZSB0YXJnZXQgb2JqZWN0XG4gKiBAcGFyYW0ge0FycmF5fSBrZXlzIC0gQSBsaXN0IG9mIHN0cmluZyBrZXlzXG4gKi9cblxubGV0IGNvcHkgPSByZXF1aXJlKCcuL2NvcHknKVxubGV0IGdldCAgPSByZXF1aXJlKCcuL2dldCcpXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZGlzc29jIChvYmosIGtleXMpIHtcbiAgaWYgKGdldChvYmosIGtleXMpID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gb2JqXG4gIH1cblxuICBsZXQgWyBoZWFkLCAuLi50YWlsIF0gPSBrZXlzXG4gIGxldCBjbG9uZSA9IGNvcHkob2JqKVxuXG4gIGlmICh0YWlsLmxlbmd0aCkge1xuICAgIGNsb25lW2hlYWRdID0gZGlzc29jKG9ialtoZWFkXSwgdGFpbClcblxuICAgIC8vIEF1dG9wcnVuZSBrZXlzXG4gICAgaWYgKE9iamVjdC5rZXlzKGNsb25lW2hlYWRdKS5sZW5ndGggPT09IDApIHtcbiAgICAgIGRlbGV0ZSBjbG9uZVtoZWFkXVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBkZWxldGUgY2xvbmVbaGVhZF1cbiAgfVxuXG4gIHJldHVybiBjbG9uZVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaXNzb2MuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUlBLElBQUksTUFBTSxHQUFHLE9BQU8sWUFBWSxDQUFBOztBQUVoQyxNQUFNLENBQUMsT0FBTyxHQUFHLFlBQVc7QUFDMUIsU0FBTyxDQUFDLElBQUksd0VBQXdFLENBQUE7QUFDcEYsU0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQTtDQUNyQyxDQUFBIiwiZmlsZSI6ImRpc3NvYy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogREVQUkVDQVRFRFxuICovXG5cbmxldCByZW1vdmUgPSByZXF1aXJlKCcuL3JlbW92ZScpXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oKSB7XG4gIGNvbnNvbGUud2FybignZGlzc29jIGhhcyBiZWVuIGRlcHJlY2F0ZWQsIHBsZWFzZSB1c2UgYHJlcXVpcmUoZm9saWFnZS9zcmMvcmVtb3ZlYCknKVxuICByZXR1cm4gcmVtb3ZlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cylcbn1cbiJdfQ==

@@ -9,7 +9,8 @@ /**

var Diode = require('diode');
var assoc = require('./assoc');
var dissoc = require('./dissoc');
var setIn = require('./set');
var removeIn = require('./remove');
var getIn = require('./get');
var EMPTY = {};
var PATH = [];

@@ -19,5 +20,5 @@ function Foliage(state) {

this._path = [];
this._path = PATH;
this._root = this;
this._changes = this._state = EMPTY;
this.state = EMPTY;

@@ -40,6 +41,6 @@ this.commit(state);

commit: function commit() {
var next = arguments[0] === void 0 ? this._state : arguments[0];
var next = arguments[0] === void 0 ? this.state : arguments[0];
var root = this.getRoot();
var current = root._state;
var current = root.state;

@@ -51,4 +52,4 @@ if (next == null) {

if (current !== next) {
root._state = next;
this.volley(root._state);
root.state = next;
this.volley(root.state);
}

@@ -62,3 +63,3 @@ },

get: function get(key, fallback) {
return getIn(this._state, this.getPath(key), fallback);
return getIn(this.state, this.getPath(key), fallback);
},

@@ -72,3 +73,3 @@

this.commit(assoc(this._state, this.getPath(key), value));
this.commit(setIn(this.state, this.getPath(key), value));
},

@@ -88,3 +89,3 @@

remove: function remove(key) {
this.commit(dissoc(this._state, this.getPath(key)));
this.commit(removeIn(this.state, this.getPath(key)));
},

@@ -112,3 +113,3 @@

valueOf: function valueOf() {
return getIn(this._state, this.getPath());
return getIn(this.state, this.getPath());
},

@@ -158,2 +159,2 @@

module.exports = Foliage;
//# sourceMappingURL=data:application/json;base64,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QUEsa0JBQUMsS0FBSyxFQUFFO0FBQ2QsV0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUE7R0FDaEM7O0FBRUQsT0FBSyxFQUFBLGlCQUFHO0FBQ04sV0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUE7R0FDN0I7O0FBRUQsTUFBSSxFQUFBLGdCQUFHO0FBQ0wsV0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUE7R0FDM0I7O0FBRUQsTUFBSSxFQUFBLGdCQUFHO0FBQ0wsV0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFBO0dBQzVCOztDQUVGLENBQUE7OztBQUdELElBQUksT0FBTyxHQUFHLGtGQUFvRixDQUFBOztBQUVsRyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVMsSUFBSSxFQUFFO0FBQzdCLFNBQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsWUFBVzs7O0FBQ25DLFdBQU8sV0FBQSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUMsSUFBSSxPQUFDLFVBQUksU0FBUyxDQUFDLENBQUE7R0FDekMsQ0FBQTtDQUNGLENBQUMsQ0FBQTs7QUFFRixNQUFNLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQSIsImZpbGUiOiJGb2xpYWdlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBIHRyZWUgZGF0YSBzdHJ1Y3R1cmUgdGhhdCBzcGF3bnMgYnJhbmNoZXMgcG9pbnRpbmcgdG9cbiAqIHZhcmlvdXMgbG9jYXRpb25zIHdpdGhpbiBpdHNlbGYuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHN0YXRlIC0gVGhlIGluaXRpYWwgc3RhdGUgb2YgdGhlIGluc3RhbmNlXG4gKi9cblxubGV0IERpb2RlICA9IHJlcXVpcmUoJ2Rpb2RlJylcbmxldCBhc3NvYyAgPSByZXF1aXJlKCcuL2Fzc29jJylcbmxldCBkaXNzb2MgPSByZXF1aXJlKCcuL2Rpc3NvYycpXG5sZXQgZ2V0SW4gID0gcmVxdWlyZSgnLi9nZXQnKVxuXG5jb25zdCBFTVBUWSA9IHt9XG5cbmZ1bmN0aW9uIEZvbGlhZ2UgKHN0YXRlKSB7XG4gIERpb2RlKHRoaXMpXG5cbiAgdGhpcy5fcGF0aCAgICA9IFtdXG4gIHRoaXMuX3Jvb3QgICAgPSB0aGlzXG4gIHRoaXMuX2NoYW5nZXMgPSB0aGlzLl9zdGF0ZSA9IEVNUFRZXG5cbiAgdGhpcy5jb21taXQoc3RhdGUpXG59XG5cbkZvbGlhZ2UucHJvdG90eXBlID0ge1xuXG4gIGdldFBhdGgoa2V5KSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhdGguY29uY2F0KGtleSkuZmlsdGVyKGkgPT4gaSAhPT0gdW5kZWZpbmVkKVxuICB9LFxuXG4gIGdldFJvb3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Jvb3RcbiAgfSxcblxuICBjb21taXQobmV4dD10aGlzLl9zdGF0ZSkge1xuICAgIGxldCByb290ICAgID0gdGhpcy5nZXRSb290KClcbiAgICBsZXQgY3VycmVudCA9IHJvb3QuX3N0YXRlXG5cbiAgICBpZiAobmV4dCA9PSBudWxsKSB7XG4gICAgICBuZXh0ID0gRU1QVFlcbiAgICB9XG5cbiAgICBpZiAoY3VycmVudCAhPT0gbmV4dCkge1xuICAgICAgcm9vdC5fc3RhdGUgPSBuZXh0XG4gICAgICB0aGlzLnZvbGxleShyb290Ll9zdGF0ZSlcbiAgICB9XG4gIH0sXG5cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5jb21taXQobnVsbClcbiAgfSxcblxuICBnZXQoa2V5LCBmYWxsYmFjaykge1xuICAgIHJldHVybiBnZXRJbih0aGlzLl9zdGF0ZSwgdGhpcy5nZXRQYXRoKGtleSksIGZhbGxiYWNrKVxuICB9LFxuXG4gIHNldChrZXksIHZhbHVlKSB7XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHZhbHVlID0gYXJndW1lbnRzWzBdXG4gICAgICBrZXkgICA9IHVuZGVmaW5lZFxuICAgIH1cblxuICAgIHRoaXMuY29tbWl0KGFzc29jKHRoaXMuX3N0YXRlLCB0aGlzLmdldFBhdGgoa2V5KSwgdmFsdWUpKVxuICB9LFxuXG4gIHVwZGF0ZShrZXksIG9iaikge1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxKSB7XG4gICAgICBvYmogPSBhcmd1bWVudHNbMF1cbiAgICAgIGtleSA9IHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGZvciAobGV0IHByb3AgaW4gb2JqKSB7XG4gICAgICB0aGlzLnNldChbIGtleSwgcHJvcCBdLCBvYmpbcHJvcF0pXG4gICAgfVxuICB9LFxuXG4gIHJlbW92ZShrZXkpIHtcbiAgICB0aGlzLmNvbW1pdChkaXNzb2ModGhpcy5fc3RhdGUsIHRoaXMuZ2V0UGF0aChrZXkpKSlcbiAgfSxcblxuICByZWZpbmUoa2V5KSB7XG4gICAgcmV0dXJuIE9iamVjdC5jcmVhdGUodGhpcywge1xuICAgICAgX3BhdGggOiB7IHZhbHVlOiB0aGlzLmdldFBhdGgoa2V5KSB9XG4gICAgfSlcbiAgfSxcblxuICBrZXlzKCkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlT2YoKSB8fCB7fSlcbiAgfSxcblxuICB2YWx1ZXMoKSB7XG4gICAgLy8gQW4gYW5vbnltb3VzIGZ1bmN0aW9uIGlzIHVzZWQgaGVyZSBpbnN0ZWFkIG9mXG4gICAgLy8gY2FsbGluZyBgdGhpcy5nZXRgIGRpcmVjdGx5IGJlY2F1c2Ugd2UgaGF2ZSBub1xuICAgIC8vIGZhbGxiYWNrIHZhbHVlLlxuICAgIHJldHVybiB0aGlzLmtleXMoKS5tYXAoZnVuY3Rpb24oa2V5KSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXQoa2V5KVxuICAgIH0sIHRoaXMpXG4gIH0sXG5cbiAgdmFsdWVPZigpIHtcbiAgICByZXR1cm4gZ2V0SW4odGhpcy5fc3RhdGUsIHRoaXMuZ2V0UGF0aCgpKVxuICB9LFxuXG4gIHRvSlNPTigpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZU9mKClcbiAgfSxcblxuICBpcyhicmFuY2gpIHtcbiAgICByZXR1cm4gYnJhbmNoLnZhbHVlT2YoKSA9PSB0aGlzLnZhbHVlT2YoKVxuICB9LFxuXG4gIGZpbmQoZm4sIHNjb3BlKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKGZuLCBzY29wZSlbMF1cbiAgfSxcblxuICBpbmNsdWRlcyh2YWx1ZSkge1xuICAgIHJldHVybiB0aGlzLmluZGV4T2YodmFsdWUpID4gLTFcbiAgfSxcblxuICBmaXJzdCgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMoKS5zaGlmdCgpXG4gIH0sXG5cbiAgbGFzdCgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMoKS5wb3AoKVxuICB9LFxuXG4gIHNpemUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzKCkubGVuZ3RoXG4gIH1cblxufVxuXG4vLyBBZGQgY29sbGVjdGlvbiBtZXRob2RzXG5sZXQgbWV0aG9kcyA9IFsgJ3NvcnQnLCAnbWFwJywgJ3JlZHVjZScsICdmaWx0ZXInLCAnZm9yRWFjaCcsICdzb21lJywgJ2V2ZXJ5JywgJ2pvaW4nLCAnaW5kZXhPZicgXVxuXG5tZXRob2RzLmZvckVhY2goZnVuY3Rpb24obmFtZSkge1xuICBGb2xpYWdlLnByb3RvdHlwZVtuYW1lXSA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcygpW25hbWVdKC4uLmFyZ3VtZW50cylcbiAgfVxufSlcblxubW9kdWxlLmV4cG9ydHMgPSBGb2xpYWdlXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Gb2xpYWdlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFPQSxJQUFJLEtBQUssR0FBTSxPQUFPLFNBQVMsQ0FBQTtBQUMvQixJQUFJLEtBQUssR0FBTSxPQUFPLFNBQVMsQ0FBQTtBQUMvQixJQUFJLFFBQVEsR0FBRyxPQUFPLFlBQVksQ0FBQTtBQUNsQyxJQUFJLEtBQUssR0FBTSxPQUFPLFNBQVMsQ0FBQTs7QUFFL0IsSUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFBO0FBQ2hCLElBQU0sSUFBSSxHQUFJLEVBQUUsQ0FBQTs7QUFFaEIsU0FBUyxPQUFPLENBQUUsS0FBSyxFQUFFO0FBQ3ZCLE9BQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTs7QUFFWCxNQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQTtBQUNqQixNQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQTtBQUNqQixNQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTs7QUFFbEIsTUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtDQUNuQjs7QUFFRCxPQUFPLENBQUMsU0FBUyxHQUFHOztBQUVsQixTQUFPLEVBQUEsaUJBQUMsR0FBRyxFQUFFO0FBQ1gsV0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBQSxDQUFDO2FBQUksQ0FBQyxXQUFjO0tBQUEsQ0FBQyxDQUFBO0dBQzNEOztBQUVELFNBQU8sRUFBQSxtQkFBRztBQUNSLFdBQU8sSUFBSSxDQUFDLEtBQUssQ0FBQTtHQUNsQjs7QUFFRCxRQUFNLEVBQUEsa0JBQWtCO1FBQWpCLElBQUksNkJBQUMsSUFBSSxDQUFDLEtBQUs7O0FBQ3BCLFFBQUksSUFBSSxHQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtBQUM1QixRQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBOztBQUV4QixRQUFJLElBQUksUUFBUSxFQUFFO0FBQ2hCLFVBQUksR0FBRyxLQUFLLENBQUE7S0FDYjs7QUFFRCxRQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUU7QUFDcEIsVUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUE7QUFDakIsVUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7S0FDeEI7R0FDRjs7QUFFRCxPQUFLLEVBQUEsaUJBQUc7QUFDTixRQUFJLENBQUMsTUFBTSxNQUFNLENBQUE7R0FDbEI7O0FBRUQsS0FBRyxFQUFBLGFBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRTtBQUNqQixXQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUE7R0FDdEQ7O0FBRUQsS0FBRyxFQUFBLGFBQUMsR0FBRyxFQUFFLEtBQUssRUFBRTtBQUNkLFFBQUksU0FBUyxDQUFDLE1BQU0sTUFBTSxFQUFFO0FBQzFCLFdBQUssR0FBRyxTQUFTLEdBQUcsQ0FBQTtBQUNwQixTQUFHLFNBQWMsQ0FBQTtLQUNsQjs7QUFFRCxRQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtHQUN6RDs7QUFFRCxRQUFNLEVBQUEsZ0JBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTtBQUNmLFFBQUksU0FBUyxDQUFDLE1BQU0sTUFBTSxFQUFFO0FBQzFCLFNBQUcsR0FBRyxTQUFTLEdBQUcsQ0FBQTtBQUNsQixTQUFHLFNBQVksQ0FBQTtLQUNoQjs7QUFFRCxTQUFLLElBQUksSUFBSSxJQUFJLEdBQUcsRUFBRTtBQUNwQixVQUFJLENBQUMsR0FBRyxDQUFDLENBQUUsR0FBRyxFQUFFLElBQUksQ0FBRSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0tBQ25DO0dBQ0Y7O0FBRUQsUUFBTSxFQUFBLGdCQUFDLEdBQUcsRUFBRTtBQUNWLFFBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7R0FDckQ7O0FBRUQsUUFBTSxFQUFBLGdCQUFDLEdBQUcsRUFBRTtBQUNWLFdBQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7QUFDekIsV0FBSyxFQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7S0FDckMsQ0FBQyxDQUFBO0dBQ0g7O0FBRUQsTUFBSSxFQUFBLGdCQUFHO0FBQ0wsV0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtHQUN6Qzs7QUFFRCxRQUFNLEVBQUEsa0JBQUc7Ozs7QUFJUCxXQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBUyxHQUFHLEVBQUU7QUFDbkMsYUFBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0tBQ3JCLEVBQUUsSUFBSSxDQUFDLENBQUE7R0FDVDs7QUFFRCxTQUFPLEVBQUEsbUJBQUc7QUFDUixXQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO0dBQ3pDOztBQUVELFFBQU0sRUFBQSxrQkFBRztBQUNQLFdBQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO0dBQ3RCOztBQUVELElBQUUsRUFBQSxZQUFDLE1BQU0sRUFBRTtBQUNULFdBQU8sTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtHQUMxQzs7QUFFRCxNQUFJLEVBQUEsY0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFO0FBQ2QsV0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFBO0dBQ2pDOztBQUVELFVBQVEsRUFBQSxrQkFBQyxLQUFLLEVBQUU7QUFDZCxXQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQTtHQUNoQzs7QUFFRCxPQUFLLEVBQUEsaUJBQUc7QUFDTixXQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtHQUM3Qjs7QUFFRCxNQUFJLEVBQUEsZ0JBQUc7QUFDTCxXQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtHQUMzQjs7QUFFRCxNQUFJLEVBQUEsZ0JBQUc7QUFDTCxXQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUE7R0FDNUI7O0NBRUYsQ0FBQTs7O0FBR0QsSUFBSSxPQUFPLEdBQUcsa0ZBQW9GLENBQUE7O0FBRWxHLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBUyxJQUFJLEVBQUU7QUFDN0IsU0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxZQUFXOzs7QUFDbkMsV0FBTyxXQUFBLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBQyxJQUFJLE9BQUMsVUFBSSxTQUFTLENBQUMsQ0FBQTtHQUN6QyxDQUFBO0NBQ0YsQ0FBQyxDQUFBOztBQUVGLE1BQU0sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBIiwiZmlsZSI6IkZvbGlhZ2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEEgdHJlZSBkYXRhIHN0cnVjdHVyZSB0aGF0IHNwYXducyBicmFuY2hlcyBwb2ludGluZyB0b1xuICogdmFyaW91cyBsb2NhdGlvbnMgd2l0aGluIGl0c2VsZi5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gc3RhdGUgLSBUaGUgaW5pdGlhbCBzdGF0ZSBvZiB0aGUgaW5zdGFuY2VcbiAqL1xuXG5sZXQgRGlvZGUgICAgPSByZXF1aXJlKCdkaW9kZScpXG5sZXQgc2V0SW4gICAgPSByZXF1aXJlKCcuL3NldCcpXG5sZXQgcmVtb3ZlSW4gPSByZXF1aXJlKCcuL3JlbW92ZScpXG5sZXQgZ2V0SW4gICAgPSByZXF1aXJlKCcuL2dldCcpXG5cbmNvbnN0IEVNUFRZID0ge31cbmNvbnN0IFBBVEggID0gW11cblxuZnVuY3Rpb24gRm9saWFnZSAoc3RhdGUpIHtcbiAgRGlvZGUodGhpcylcblxuICB0aGlzLl9wYXRoID0gUEFUSFxuICB0aGlzLl9yb290ID0gdGhpc1xuICB0aGlzLnN0YXRlID0gRU1QVFlcblxuICB0aGlzLmNvbW1pdChzdGF0ZSlcbn1cblxuRm9saWFnZS5wcm90b3R5cGUgPSB7XG5cbiAgZ2V0UGF0aChrZXkpIHtcbiAgICByZXR1cm4gdGhpcy5fcGF0aC5jb25jYXQoa2V5KS5maWx0ZXIoaSA9PiBpICE9PSB1bmRlZmluZWQpXG4gIH0sXG5cbiAgZ2V0Um9vdCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcm9vdFxuICB9LFxuXG4gIGNvbW1pdChuZXh0PXRoaXMuc3RhdGUpIHtcbiAgICBsZXQgcm9vdCAgICA9IHRoaXMuZ2V0Um9vdCgpXG4gICAgbGV0IGN1cnJlbnQgPSByb290LnN0YXRlXG5cbiAgICBpZiAobmV4dCA9PSBudWxsKSB7XG4gICAgICBuZXh0ID0gRU1QVFlcbiAgICB9XG5cbiAgICBpZiAoY3VycmVudCAhPT0gbmV4dCkge1xuICAgICAgcm9vdC5zdGF0ZSA9IG5leHRcbiAgICAgIHRoaXMudm9sbGV5KHJvb3Quc3RhdGUpXG4gICAgfVxuICB9LFxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMuY29tbWl0KG51bGwpXG4gIH0sXG5cbiAgZ2V0KGtleSwgZmFsbGJhY2spIHtcbiAgICByZXR1cm4gZ2V0SW4odGhpcy5zdGF0ZSwgdGhpcy5nZXRQYXRoKGtleSksIGZhbGxiYWNrKVxuICB9LFxuXG4gIHNldChrZXksIHZhbHVlKSB7XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHZhbHVlID0gYXJndW1lbnRzWzBdXG4gICAgICBrZXkgICA9IHVuZGVmaW5lZFxuICAgIH1cblxuICAgIHRoaXMuY29tbWl0KHNldEluKHRoaXMuc3RhdGUsIHRoaXMuZ2V0UGF0aChrZXkpLCB2YWx1ZSkpXG4gIH0sXG5cbiAgdXBkYXRlKGtleSwgb2JqKSB7XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEpIHtcbiAgICAgIG9iaiA9IGFyZ3VtZW50c1swXVxuICAgICAga2V5ID0gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgZm9yIChsZXQgcHJvcCBpbiBvYmopIHtcbiAgICAgIHRoaXMuc2V0KFsga2V5LCBwcm9wIF0sIG9ialtwcm9wXSlcbiAgICB9XG4gIH0sXG5cbiAgcmVtb3ZlKGtleSkge1xuICAgIHRoaXMuY29tbWl0KHJlbW92ZUluKHRoaXMuc3RhdGUsIHRoaXMuZ2V0UGF0aChrZXkpKSlcbiAgfSxcblxuICByZWZpbmUoa2V5KSB7XG4gICAgcmV0dXJuIE9iamVjdC5jcmVhdGUodGhpcywge1xuICAgICAgX3BhdGggOiB7IHZhbHVlOiB0aGlzLmdldFBhdGgoa2V5KSB9XG4gICAgfSlcbiAgfSxcblxuICBrZXlzKCkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlT2YoKSB8fCB7fSlcbiAgfSxcblxuICB2YWx1ZXMoKSB7XG4gICAgLy8gQW4gYW5vbnltb3VzIGZ1bmN0aW9uIGlzIHVzZWQgaGVyZSBpbnN0ZWFkIG9mXG4gICAgLy8gY2FsbGluZyBgdGhpcy5nZXRgIGRpcmVjdGx5IGJlY2F1c2Ugd2UgaGF2ZSBub1xuICAgIC8vIGZhbGxiYWNrIHZhbHVlLlxuICAgIHJldHVybiB0aGlzLmtleXMoKS5tYXAoZnVuY3Rpb24oa2V5KSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXQoa2V5KVxuICAgIH0sIHRoaXMpXG4gIH0sXG5cbiAgdmFsdWVPZigpIHtcbiAgICByZXR1cm4gZ2V0SW4odGhpcy5zdGF0ZSwgdGhpcy5nZXRQYXRoKCkpXG4gIH0sXG5cbiAgdG9KU09OKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKVxuICB9LFxuXG4gIGlzKGJyYW5jaCkge1xuICAgIHJldHVybiBicmFuY2gudmFsdWVPZigpID09IHRoaXMudmFsdWVPZigpXG4gIH0sXG5cbiAgZmluZChmbiwgc2NvcGUpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoZm4sIHNjb3BlKVswXVxuICB9LFxuXG4gIGluY2x1ZGVzKHZhbHVlKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5kZXhPZih2YWx1ZSkgPiAtMVxuICB9LFxuXG4gIGZpcnN0KCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcygpLnNoaWZ0KClcbiAgfSxcblxuICBsYXN0KCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcygpLnBvcCgpXG4gIH0sXG5cbiAgc2l6ZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMoKS5sZW5ndGhcbiAgfVxuXG59XG5cbi8vIEFkZCBjb2xsZWN0aW9uIG1ldGhvZHNcbmxldCBtZXRob2RzID0gWyAnc29ydCcsICdtYXAnLCAncmVkdWNlJywgJ2ZpbHRlcicsICdmb3JFYWNoJywgJ3NvbWUnLCAnZXZlcnknLCAnam9pbicsICdpbmRleE9mJyBdXG5cbm1ldGhvZHMuZm9yRWFjaChmdW5jdGlvbihuYW1lKSB7XG4gIEZvbGlhZ2UucHJvdG90eXBlW25hbWVdID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzKClbbmFtZV0oLi4uYXJndW1lbnRzKVxuICB9XG59KVxuXG5tb2R1bGUuZXhwb3J0cyA9IEZvbGlhZ2VcbiJdfQ==

@@ -10,11 +10,17 @@ /**

function pluck(obj, key) {
return obj ? obj[key] : void 0;
}
var keyPath = require('./keyPath');
module.exports = function (obj, keys, fallback) {
var value = keys.reduce(pluck, obj);
module.exports = function get(target, keys, fallback) {
keys = keyPath(keys);
return value === void 0 ? fallback : value;
for (var i = 0; i < keys.length; i++) {
if (target !== void 0) {
target = target[keys[i]];
} else {
return fallback;
}
}
return target === void 0 ? fallback : target;
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZXQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBU0EsU0FBUyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTtBQUN2QixTQUFPLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVksQ0FBQTtDQUNsQzs7QUFFRCxNQUFNLENBQUMsT0FBTyxHQUFHLFVBQVUsR0FBRyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7QUFDOUMsTUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUE7O0FBRW5DLFNBQU8sS0FBSyxXQUFjLEdBQUcsUUFBUSxHQUFHLEtBQUssQ0FBQTtDQUM5QyxDQUFBIiwiZmlsZSI6ImdldC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2l2ZW4gYSBsaXN0IG9mIGtleXMsIHJldHVybiBhIHZhbHVlIG9mIG91dCBhIGdpdmVuIG9iamVjdC5cbiAqIE9wdGlvbmFsbHksIGlmIGEgdmFsdWUgaXMgbm90IHByZXNlbnQsIHJldHVybiBhIGZhbGxiYWNrXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9iaiAtIFRoZSB0YXJnZXQgb2JqZWN0XG4gKiBAcGFyYW0ge0FycmF5fSBrZXlzIC0gQSBsaXN0IG9mIHN0cmluZyBrZXlzXG4gKiBAcGFyYW0ge2FueX0gZmFsbGJhY2sgLSBJZiB0aGUgdmFsdWUgaXMgdW5kZWZpbmVkLCBhIGZhbGxiYWNrXG4gKi9cblxuZnVuY3Rpb24gcGx1Y2sob2JqLCBrZXkpIHtcbiAgcmV0dXJuIG9iaiA/IG9ialtrZXldIDogdW5kZWZpbmVkXG59XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG9iaiwga2V5cywgZmFsbGJhY2spIHtcbiAgbGV0IHZhbHVlID0ga2V5cy5yZWR1Y2UocGx1Y2ssIG9iailcblxuICByZXR1cm4gdmFsdWUgPT09IHVuZGVmaW5lZCA/IGZhbGxiYWNrIDogdmFsdWVcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZXQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBU0EsSUFBSSxPQUFPLEdBQUcsT0FBTyxhQUFhLENBQUE7O0FBRWxDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsU0FBUyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7QUFDcEQsTUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTs7QUFFcEIsT0FBSyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3BDLFFBQUksTUFBTSxXQUFjLEVBQUU7QUFDeEIsWUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtLQUN6QixNQUFNO0FBQ0wsYUFBTyxRQUFRLENBQUE7S0FDaEI7R0FDRjs7QUFFRCxTQUFPLE1BQU0sV0FBYyxHQUFHLFFBQVEsR0FBRyxNQUFNLENBQUE7Q0FDaEQsQ0FBQSIsImZpbGUiOiJnZXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdpdmVuIGEgbGlzdCBvZiBrZXlzLCByZXR1cm4gYSB2YWx1ZSBvZiBvdXQgYSBnaXZlbiBvYmplY3QuXG4gKiBPcHRpb25hbGx5LCBpZiBhIHZhbHVlIGlzIG5vdCBwcmVzZW50LCByZXR1cm4gYSBmYWxsYmFja1xuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmogLSBUaGUgdGFyZ2V0IG9iamVjdFxuICogQHBhcmFtIHtBcnJheX0ga2V5cyAtIEEgbGlzdCBvZiBzdHJpbmcga2V5c1xuICogQHBhcmFtIHthbnl9IGZhbGxiYWNrIC0gSWYgdGhlIHZhbHVlIGlzIHVuZGVmaW5lZCwgYSBmYWxsYmFja1xuICovXG5cbmxldCBrZXlQYXRoID0gcmVxdWlyZSgnLi9rZXlQYXRoJylcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBnZXQodGFyZ2V0LCBrZXlzLCBmYWxsYmFjaykge1xuICBrZXlzID0ga2V5UGF0aChrZXlzKVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgIGlmICh0YXJnZXQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGFyZ2V0ID0gdGFyZ2V0W2tleXNbaV1dXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxsYmFja1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0YXJnZXQgPT09IHVuZGVmaW5lZCA/IGZhbGxiYWNrIDogdGFyZ2V0XG59XG4iXX0=

Sorry, the diff of this file is not supported yet

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