Comparing version 2.12.2 to 2.12.3
@@ -12,2 +12,9 @@ # Changelog | ||
## 2.12.1 | ||
- **Internal** | ||
- Updated tests to be compatible with React 0.13. Should be ready for final 0.13 release. | ||
- Lint with eslint and babel-eslint. | ||
- **Polish** | ||
- Wrapped warnings in environment checks so they can be stripped in production, like React. [#52](https://github.com/acdlite/flummox/issues/52) | ||
## 2.12.2 | ||
@@ -47,11 +54,11 @@ - **Bug Fix** | ||
- [Documentation] | ||
- Add sections clarifying how to access flux instance (e.g. to perform actions) using FluxMixin/FluxComponent | ||
- Add sections clarifying how to access flux instance (e.g. to perform actions) using fluxMixin/FluxComponent | ||
## 2.8.0 | ||
- **New Feature** | ||
- `getStoreState()` in FluxMixin returns current combined state of connected stores. | ||
- `getStoreState()` in fluxMixin returns current combined state of connected stores. | ||
- **Bug Fix** | ||
- FluxMixin/FluxComponent will now updated when a prop change is detected, but not state. [#29](https://github.com/acdlite/flummox/issues/29) | ||
- fluxMixin/FluxComponent will now updated when a prop change is detected, but not state. [#29](https://github.com/acdlite/flummox/issues/29) | ||
- **Documentation** | ||
- Add API docs for FluxMixin and FluxComponent. Included section explaining why a "key" prop should be passed to components that implement FluxMixin. | ||
- Add API docs for fluxMixin and FluxComponent. Included section explaining why a "key" prop should be passed to components that implement fluxMixin. | ||
@@ -75,3 +82,3 @@ ## 2.7.2 | ||
- `Store#registerAsync()` for doing optimistic updates in response to asynchronous actions | ||
- FluxComponent and FluxMixin for easy React integration | ||
- FluxComponent and fluxMixin for easy React integration | ||
- **Documentation** | ||
@@ -78,0 +85,0 @@ - React integration guide |
@@ -71,2 +71,3 @@ var Flummox = | ||
var Dispatcher = __webpack_require__(3).Dispatcher; | ||
var EventEmitter = _interopRequire(__webpack_require__(4)); | ||
@@ -175,3 +176,3 @@ | ||
dispatch: { | ||
value: function dispatch(actionId, body, actionArgs) { | ||
value: function dispatch(actionId, body) { | ||
this._dispatch({ actionId: actionId, body: body }); | ||
@@ -185,2 +186,3 @@ }, | ||
var _this = this; | ||
var payload = { | ||
@@ -228,2 +230,3 @@ actionId: actionId, | ||
value: function waitFor(tokensOrStores) { | ||
if (!Array.isArray(tokensOrStores)) tokensOrStores = [tokensOrStores]; | ||
@@ -273,3 +276,5 @@ | ||
console.warn("The store with key '" + key + "' was not serialized because the static " + ("method `" + className + ".serialize()` returned a non-string with type ") + ("'" + typeof serializedStoreState + "'.")); | ||
if ((undefined) !== "production") { | ||
console.warn("The store with key '" + key + "' was not serialized because the static " + ("method `" + className + ".serialize()` returned a non-string with type ") + ("'" + typeof serializedStoreState + "'.")); | ||
} | ||
} | ||
@@ -282,3 +287,5 @@ | ||
console.warn("The class `" + className + "` has a `serialize()` method, but no " + "corresponding `deserialize()` method."); | ||
if ((undefined) !== "production") { | ||
console.warn("The class `" + className + "` has a `serialize()` method, but no " + "corresponding `deserialize()` method."); | ||
} | ||
} | ||
@@ -301,3 +308,5 @@ } | ||
throw new Error("Invalid value passed to `" + className + "#deserialize()`: " + ("" + serializedState)); | ||
if ((undefined) !== "production") { | ||
throw new Error("Invalid value passed to `" + className + "#deserialize()`: " + ("" + serializedState)); | ||
} | ||
} | ||
@@ -322,3 +331,5 @@ | ||
console.warn("The class `" + className + "` has a `deserialize()` method, but no " + "corresponding `serialize()` method."); | ||
if ((undefined) !== "production") { | ||
console.warn("The class `" + className + "` has a `deserialize()` method, but no " + "corresponding `serialize()` method."); | ||
} | ||
} | ||
@@ -337,3 +348,2 @@ } | ||
function getClassName(Class) { | ||
@@ -378,5 +388,6 @@ return Class.prototype.constructor.name; | ||
var assign = _interopRequire(__webpack_require__(7)); | ||
var assign = _interopRequire(__webpack_require__(6)); | ||
var Store = (function (EventEmitter) { | ||
/** | ||
@@ -386,2 +397,3 @@ * Stores are initialized with a reference | ||
*/ | ||
function Store() { | ||
@@ -406,2 +418,3 @@ _classCallCheck(this, Store); | ||
*/ | ||
value: function getState() { | ||
@@ -421,4 +434,7 @@ return assign({}, this.state); | ||
} else { | ||
console.warn("Store#setState() called from outside an action handler. This is likely " + "a mistake. Flux stores should manage their own state."); | ||
if ((undefined) !== "production") { | ||
console.warn("Store#setState() called from outside an action handler. This is likely " + "a mistake. Flux stores should manage their own state."); | ||
} | ||
this.state = assign({}, this.state, newState); | ||
@@ -498,3 +514,2 @@ this.emit("change"); | ||
var _handler = this._handlers[actionId]; | ||
@@ -565,3 +580,2 @@ var _asyncHandler = this._asyncHandlers[actionId] && this._asyncHandlers[actionId][_async]; | ||
function ensureActionId(actionOrActionId) { | ||
@@ -597,3 +611,3 @@ return typeof actionOrActionId === "function" ? actionOrActionId._id : actionOrActionId; | ||
var uniqueId = _interopRequire(__webpack_require__(6)); | ||
var uniqueId = _interopRequire(__webpack_require__(7)); | ||
@@ -619,2 +633,3 @@ var Actions = (function () { | ||
var _this = this; | ||
return this._getActionMethodNames().reduce(function (result, actionName) { | ||
@@ -631,2 +646,3 @@ result[actionName] = _this[actionName]._id; | ||
var _this = this; | ||
return Object.getOwnPropertyNames(this.constructor.prototype).filter(function (name) { | ||
@@ -642,2 +658,3 @@ return name !== "constructor" && typeof _this[name] === "function"; | ||
var _this = this; | ||
var originalMethod = this[methodName]; | ||
@@ -674,2 +691,3 @@ var actionId = this._createActionId(methodName); | ||
*/ | ||
value: function _createActionId(methodName) { | ||
@@ -688,3 +706,5 @@ return "" + this._baseId + "-" + methodName; | ||
} else { | ||
console.warn("You've attempted to perform the action " + ("" + this.constructor.name + "#" + methodName + ", but it hasn't been added ") + "to a Flux instance."); | ||
if ((undefined) !== "production") { | ||
console.warn("You've attempted to perform the action " + ("" + this.constructor.name + "#" + methodName + ", but it hasn't been added ") + "to a Flux instance."); | ||
} | ||
} | ||
@@ -702,3 +722,5 @@ | ||
} else { | ||
console.warn("You've attempted to perform the asynchronous action " + ("" + this.constructor.name + "#" + methodName + ", but it hasn't been added ") + "to a Flux instance."); | ||
if ((undefined) !== "production") { | ||
console.warn("You've attempted to perform the asynchronous action " + ("" + this.constructor.name + "#" + methodName + ", but it hasn't been added ") + "to a Flux instance."); | ||
} | ||
@@ -718,3 +740,2 @@ return promise; | ||
function isPromise(value) { | ||
@@ -1237,3 +1258,35 @@ return value && typeof value.then === "function"; | ||
function ToObject(val) { | ||
if (val == null) { | ||
throw new TypeError('Object.assign cannot be called with null or undefined'); | ||
} | ||
return Object(val); | ||
} | ||
module.exports = Object.assign || function (target, source) { | ||
var from; | ||
var keys; | ||
var to = ToObject(target); | ||
for (var s = 1; s < arguments.length; s++) { | ||
from = arguments[s]; | ||
keys = Object.keys(Object(from)); | ||
for (var i = 0; i < keys.length; i++) { | ||
to[keys[i]] = from[keys[i]]; | ||
} | ||
} | ||
return to; | ||
}; | ||
/***/ }, | ||
/* 7 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
var count = 0; | ||
@@ -1292,34 +1345,2 @@ | ||
/***/ }, | ||
/* 7 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
function ToObject(val) { | ||
if (val == null) { | ||
throw new TypeError('Object.assign cannot be called with null or undefined'); | ||
} | ||
return Object(val); | ||
} | ||
module.exports = Object.assign || function (target, source) { | ||
var from; | ||
var keys; | ||
var to = ToObject(target); | ||
for (var s = 1; s < arguments.length; s++) { | ||
from = arguments[s]; | ||
keys = Object.keys(Object(from)); | ||
for (var i = 0; i < keys.length; i++) { | ||
to[keys[i]] = from[keys[i]]; | ||
} | ||
} | ||
return to; | ||
}; | ||
/***/ }, | ||
/* 8 */ | ||
@@ -1326,0 +1347,0 @@ /***/ function(module, exports, __webpack_require__) { |
@@ -1,1 +0,1 @@ | ||
var Flummox=function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={exports:{},id:i,loaded:!1};return t[i].call(r.exports,r,r.exports,e),r.loaded=!0,r.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";function i(t){return t.prototype.constructor.name}var r=function(t){return t&&t.__esModule?t["default"]:t},s=function(t,e){var n=Object.create(t.prototype),i=t.apply(n,e);return null==i||"object"!=typeof i&&"function"!=typeof i?n:i},a=function(t,e,n){e&&Object.defineProperties(t,e),n&&Object.defineProperties(t.prototype,n)},o=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},c=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},h=r(n(1)),u=r(n(2)),l=n(3).Dispatcher,f=r(n(4)),p=function(t){function e(){c(this,e),this.dispatcher=new l,this._stores={},this._actions={},this.getConstants=this.getActionIds,this.dehydrate=this.serialize,this.hydrate=this.deserialize}return o(e,t),a(e,null,{createStore:{value:function(t,e){for(var n=arguments.length,r=Array(n>2?n-2:0),a=2;n>a;a++)r[a-2]=arguments[a];if(!(e.prototype instanceof h)){var o=i(e);throw new Error("You've attempted to create a store from the class "+o+", which does not have the base Store class in its prototype chain. Make sure "+("you're using the `extends` keyword: `class "+o+" extends ")+"Store { ... }`")}if(this._stores.hasOwnProperty(t)&&this._stores[t])throw new Error("You've attempted to create multiple stores with key "+t+". Keys must be unique.");var c=s(e,r),u=this.dispatcher.register(c.handler.bind(c));return c._waitFor=this.waitFor.bind(this),c._token=u,this._stores[t]=c,c},writable:!0,configurable:!0},getStore:{value:function(t){return this._stores.hasOwnProperty(t)?this._stores[t]:void 0},writable:!0,configurable:!0},createActions:{value:function(t,e){for(var n=arguments.length,r=Array(n>2?n-2:0),a=2;n>a;a++)r[a-2]=arguments[a];if(!(e.prototype instanceof u)&&e!==u){var o=i(e);throw new Error("You've attempted to create actions from the class "+o+", which does not have the base Actions class in its prototype chain. Make "+("sure you're using the `extends` keyword: `class "+o+" ")+"extends Actions { ... }`")}if(this._actions.hasOwnProperty(t)&&this._actions[t])throw new Error("You've attempted to create multiple actions with key "+t+". Keys must be unique.");var c=s(e,r);return c.dispatch=this.dispatch.bind(this),c.dispatchAsync=this.dispatchAsync.bind(this),this._actions[t]=c,c},writable:!0,configurable:!0},getActions:{value:function(t){return this._actions.hasOwnProperty(t)?this._actions[t]:void 0},writable:!0,configurable:!0},getActionIds:{value:function(t){var e=this.getActions(t);if(e)return e.getConstants()},writable:!0,configurable:!0},dispatch:{value:function(t,e){this._dispatch({actionId:t,body:e})},writable:!0,configurable:!0},dispatchAsync:{value:function(t,e,n){var i=this,r={actionId:t,async:"begin"};return n&&(r.actionArgs=n),this._dispatch(r),e.then(function(e){return i._dispatch({actionId:t,body:e,async:"success"}),e},function(e){return i._dispatch({actionId:t,error:e,async:"failure"}),Promise.reject(e)})["catch"](function(t){return i.emit("error",t),Promise.reject(t)})},writable:!0,configurable:!0},_dispatch:{value:function(t){this.dispatcher.dispatch(t),this.emit("dispatch",t)},writable:!0,configurable:!0},waitFor:{value:function(t){Array.isArray(t)||(t=[t]);var e=function(t){return t instanceof h?t._token:t},n=t.map(e);this.dispatcher.waitFor(n)},writable:!0,configurable:!0},removeAllStoreListeners:{value:function(t){for(var e in this._stores)if(this._stores.hasOwnProperty(e)){var n=this._stores[e];n.removeAllListeners(t)}},writable:!0,configurable:!0},serialize:{value:function n(){var t={};for(var e in this._stores)if(this._stores.hasOwnProperty(e)){var i=this._stores[e],n=i.constructor.serialize;if("function"==typeof n){var r=n(i.state);if("string"!=typeof r){var s=i.constructor.name;console.warn("The store with key '"+e+"' was not serialized because the static "+("method `"+s+".serialize()` returned a non-string with type ")+("'"+typeof r+"'."))}if(t[e]=r,"function"!=typeof i.constructor.deserialize){var s=i.constructor.name;console.warn("The class `"+s+"` has a `serialize()` method, but no corresponding `deserialize()` method.")}}}return JSON.stringify(t)},writable:!0,configurable:!0},deserialize:{value:function r(t){var e=void 0;try{e=JSON.parse(t)}catch(n){var i=this.constructor.name;throw new Error("Invalid value passed to `"+i+"#deserialize()`: "+t)}for(var s in this._stores)if(this._stores.hasOwnProperty(s)){var a=this._stores[s],r=a.constructor.deserialize;if("function"==typeof r){var o=e[s],c=r(o);if(a.replaceState(c),"function"!=typeof a.constructor.serialize){var i=a.constructor.name;console.warn("The class `"+i+"` has a `deserialize()` method, but no corresponding `serialize()` method.")}}}},writable:!0,configurable:!0}}),e}(f);e["default"]=p;var d=p;e.Flux=p,e.Flummox=d,e.Store=h,e.Actions=u,Object.defineProperty(e,"__esModule",{value:!0})},function(t,e,n){"use strict";function i(t){return"function"==typeof t?t._id:t}var r=function(t){return t&&t.__esModule?t["default"]:t},s=function(t,e,n){e&&Object.defineProperties(t,e),n&&Object.defineProperties(t.prototype,n)},a=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},c=r(n(4)),h=r(n(7)),u=function(t){function e(){o(this,e),this.state=void 0,this._handlers={},this._asyncHandlers={}}return a(e,t),s(e,null,{getState:{value:function(){return h({},this.state)},writable:!0,configurable:!0},setState:{value:function(t){"undefined"==typeof this.state&&(this.state={}),this._isHandlingDispatch?(this._pendingState=h(this._pendingState,t),this._emitChangeAfterHandlingDispatch=!0):(console.warn("Store#setState() called from outside an action handler. This is likely a mistake. Flux stores should manage their own state."),this.state=h({},this.state,t),this.emit("change"))},writable:!0,configurable:!0},replaceState:{value:function(t){"undefined"==typeof this.state&&(this.state={}),this._isHandlingDispatch?(this._pendingState=h({},t),this._emitChangeAfterHandlingDispatch=!0):(this.state=h({},t),this.emit("change"))},writable:!0,configurable:!0},register:{value:function(t,e){t=i(t),"function"==typeof e&&(this._handlers[t]=e.bind(this))},writable:!0,configurable:!0},registerAsync:{value:function(t,e,n,r){t=i(t);var s={begin:e,success:n,failure:r};for(var a in s)if(s.hasOwnProperty(a)){var o=s[a];"function"==typeof o?s[a]=o.bind(this):delete s[a]}this._asyncHandlers[t]=s},writable:!0,configurable:!0},waitFor:{value:function(t){this._waitFor(t)},writable:!0,configurable:!0},handler:{value:function(t){var e=t.body,n=t.actionId,i=t.async,r=t.actionArgs,s=t.error,a=this._handlers[n],o=this._asyncHandlers[n]&&this._asyncHandlers[n][i];if(i)switch(i){case"begin":return void("function"==typeof o&&this._performHandler.apply(this,[o].concat(r)));case"failure":return void("function"==typeof o&&this._performHandler(o,s));case"success":"function"==typeof o&&(a=o);break;default:return}"function"==typeof a&&this._performHandler(a,e)},writable:!0,configurable:!0},_performHandler:{value:function(t){for(var e=arguments.length,n=Array(e>1?e-1:0),i=1;e>i;i++)n[i-1]=arguments[i];this._isHandlingDispatch=!0,this._pendingState=h({},this.state),this._emitChangeAfterHandlingDispatch=!1;try{t.apply(this,n)}finally{this._emitChangeAfterHandlingDispatch&&(this.state=this._pendingState,this.emit("change")),this._isHandlingDispatch=!1,this._pendingState={},this._emitChangeAfterHandlingDispatch=!1}},writable:!0,configurable:!0}}),e}(c);t.exports=u},function(t,e,n){"use strict";function i(t){return t&&"function"==typeof t.then}var r=function(t){return t&&t.__esModule?t["default"]:t},s=function(t,e,n){e&&Object.defineProperties(t,e),n&&Object.defineProperties(t.prototype,n)},a=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},o=r(n(6)),c=function(){function t(){a(this,t),this._baseId=o();for(var e=this._getActionMethodNames(),n=0;n<e.length;n++){var i=e[n];this._wrapAction(i)}this.getConstants=this.getActionIds}return s(t,null,{getActionIds:{value:function(){var t=this;return this._getActionMethodNames().reduce(function(e,n){return e[n]=t[n]._id,e},{})},writable:!0,configurable:!0},_getActionMethodNames:{value:function(){var t=this;return Object.getOwnPropertyNames(this.constructor.prototype).filter(function(e){return"constructor"!==e&&"function"==typeof t[e]})},writable:!0,configurable:!0},_wrapAction:{value:function(t){var e=this,n=this[t],r=this._createActionId(t),s=function(){for(var s=arguments.length,a=Array(s),o=0;s>o;o++)a[o]=arguments[o];var c=n.apply(e,a);if(i(c)){var h=c;return e._dispatchAsync(r,h,a,t)}return e._dispatch(r,c,a,t)};s._id=r,this[t]=s},writable:!0,configurable:!0},_createActionId:{value:function(t){return""+this._baseId+"-"+t},writable:!0,configurable:!0},_dispatch:{value:function(t,e,n,i){return"function"==typeof this.dispatch?"undefined"!=typeof e&&this.dispatch(t,e,n):console.warn("You've attempted to perform the action "+(""+this.constructor.name+"#"+i+", but it hasn't been added ")+"to a Flux instance."),e},writable:!0,configurable:!0},_dispatchAsync:{value:function(t,e,n,i){return"function"==typeof this.dispatchAsync?this.dispatchAsync(t,e,n):(console.warn("You've attempted to perform the asynchronous action "+(""+this.constructor.name+"#"+i+", but it hasn't been added ")+"to a Flux instance."),e)},writable:!0,configurable:!0}}),t}();t.exports=c},function(t,e,n){t.exports.Dispatcher=n(5)},function(t){"use strict";function e(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function n(){}n.prototype._events=void 0,n.prototype.listeners=function(t){if(!this._events||!this._events[t])return[];if(this._events[t].fn)return[this._events[t].fn];for(var e=0,n=this._events[t].length,i=new Array(n);n>e;e++)i[e]=this._events[t][e].fn;return i},n.prototype.emit=function(t,e,n,i,r,s){if(!this._events||!this._events[t])return!1;var a,o,c=this._events[t],h=arguments.length;if("function"==typeof c.fn){switch(c.once&&this.removeListener(t,c.fn,!0),h){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,e),!0;case 3:return c.fn.call(c.context,e,n),!0;case 4:return c.fn.call(c.context,e,n,i),!0;case 5:return c.fn.call(c.context,e,n,i,r),!0;case 6:return c.fn.call(c.context,e,n,i,r,s),!0}for(o=1,a=new Array(h-1);h>o;o++)a[o-1]=arguments[o];c.fn.apply(c.context,a)}else{var u,l=c.length;for(o=0;l>o;o++)switch(c[o].once&&this.removeListener(t,c[o].fn,!0),h){case 1:c[o].fn.call(c[o].context);break;case 2:c[o].fn.call(c[o].context,e);break;case 3:c[o].fn.call(c[o].context,e,n);break;default:if(!a)for(u=1,a=new Array(h-1);h>u;u++)a[u-1]=arguments[u];c[o].fn.apply(c[o].context,a)}}return!0},n.prototype.on=function(t,n,i){var r=new e(n,i||this);return this._events||(this._events={}),this._events[t]?this._events[t].fn?this._events[t]=[this._events[t],r]:this._events[t].push(r):this._events[t]=r,this},n.prototype.once=function(t,n,i){var r=new e(n,i||this,!0);return this._events||(this._events={}),this._events[t]?this._events[t].fn?this._events[t]=[this._events[t],r]:this._events[t].push(r):this._events[t]=r,this},n.prototype.removeListener=function(t,e,n){if(!this._events||!this._events[t])return this;var i=this._events[t],r=[];if(e&&(i.fn&&(i.fn!==e||n&&!i.once)&&r.push(i),!i.fn))for(var s=0,a=i.length;a>s;s++)(i[s].fn!==e||n&&!i[s].once)&&r.push(i[s]);return r.length?this._events[t]=1===r.length?r[0]:r:delete this._events[t],this},n.prototype.removeAllListeners=function(t){return this._events?(t?delete this._events[t]:this._events={},this):this},n.prototype.off=n.prototype.removeListener,n.prototype.addListener=n.prototype.on,n.prototype.setMaxListeners=function(){return this},n.EventEmitter=n,n.EventEmitter2=n,n.EventEmitter3=n,t.exports=n},function(t,e,n){"use strict";function i(){this.$Dispatcher_callbacks={},this.$Dispatcher_isPending={},this.$Dispatcher_isHandled={},this.$Dispatcher_isDispatching=!1,this.$Dispatcher_pendingPayload=null}var r=n(8),s=1,a="ID_";i.prototype.register=function(t){var e=a+s++;return this.$Dispatcher_callbacks[e]=t,e},i.prototype.unregister=function(t){r(this.$Dispatcher_callbacks[t],"Dispatcher.unregister(...): `%s` does not map to a registered callback.",t),delete this.$Dispatcher_callbacks[t]},i.prototype.waitFor=function(t){r(this.$Dispatcher_isDispatching,"Dispatcher.waitFor(...): Must be invoked while dispatching.");for(var e=0;e<t.length;e++){var n=t[e];this.$Dispatcher_isPending[n]?r(this.$Dispatcher_isHandled[n],"Dispatcher.waitFor(...): Circular dependency detected while waiting for `%s`.",n):(r(this.$Dispatcher_callbacks[n],"Dispatcher.waitFor(...): `%s` does not map to a registered callback.",n),this.$Dispatcher_invokeCallback(n))}},i.prototype.dispatch=function(t){r(!this.$Dispatcher_isDispatching,"Dispatch.dispatch(...): Cannot dispatch in the middle of a dispatch."),this.$Dispatcher_startDispatching(t);try{for(var e in this.$Dispatcher_callbacks)this.$Dispatcher_isPending[e]||this.$Dispatcher_invokeCallback(e)}finally{this.$Dispatcher_stopDispatching()}},i.prototype.isDispatching=function(){return this.$Dispatcher_isDispatching},i.prototype.$Dispatcher_invokeCallback=function(t){this.$Dispatcher_isPending[t]=!0,this.$Dispatcher_callbacks[t](this.$Dispatcher_pendingPayload),this.$Dispatcher_isHandled[t]=!0},i.prototype.$Dispatcher_startDispatching=function(t){for(var e in this.$Dispatcher_callbacks)this.$Dispatcher_isPending[e]=!1,this.$Dispatcher_isHandled[e]=!1;this.$Dispatcher_pendingPayload=t,this.$Dispatcher_isDispatching=!0},i.prototype.$Dispatcher_stopDispatching=function(){this.$Dispatcher_pendingPayload=null,this.$Dispatcher_isDispatching=!1},t.exports=i},function(t){"use strict";var e=0,n=t.exports=function(t){t=t||{};var n=t.prefix,i=t.suffix,r=++e*(t.multiplier||1);return null==n&&(n=""),null==i&&(i=""),String(n)+r+String(i)};n.reset=function(){return e=0}},function(t){"use strict";function e(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}t.exports=Object.assign||function(t){for(var n,i,r=e(t),s=1;s<arguments.length;s++){n=arguments[s],i=Object.keys(Object(n));for(var a=0;a<i.length;a++)r[i[a]]=n[i[a]]}return r}},function(t){"use strict";var e=function(t,e,n,i,r,s,a,o){if(!t){var c;if(void 0===e)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var h=[n,i,r,s,a,o],u=0;c=new Error("Invariant Violation: "+e.replace(/%s/g,function(){return h[u++]}))}throw c.framesToPop=1,c}};t.exports=e}]); | ||
var Flummox=function(t){function e(n){if(i[n])return i[n].exports;var r=i[n]={exports:{},id:n,loaded:!1};return t[n].call(r.exports,r,r.exports,e),r.loaded=!0,r.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){"use strict";function n(t){return t.prototype.constructor.name}var r=function(t){return t&&t.__esModule?t["default"]:t},s=function(t,e){var i=Object.create(t.prototype),n=t.apply(i,e);return null==n||"object"!=typeof n&&"function"!=typeof n?i:n},a=function(t,e,i){e&&Object.defineProperties(t,e),i&&Object.defineProperties(t.prototype,i)},o=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},c=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},h=r(i(1)),u=r(i(2)),f=i(3).Dispatcher,l=r(i(4)),p=function(t){function e(){c(this,e),this.dispatcher=new f,this._stores={},this._actions={},this.getConstants=this.getActionIds,this.dehydrate=this.serialize,this.hydrate=this.deserialize}return o(e,t),a(e,null,{createStore:{value:function(t,e){for(var i=arguments.length,r=Array(i>2?i-2:0),a=2;i>a;a++)r[a-2]=arguments[a];if(!(e.prototype instanceof h)){var o=n(e);throw new Error("You've attempted to create a store from the class "+o+", which does not have the base Store class in its prototype chain. Make sure "+("you're using the `extends` keyword: `class "+o+" extends ")+"Store { ... }`")}if(this._stores.hasOwnProperty(t)&&this._stores[t])throw new Error("You've attempted to create multiple stores with key "+t+". Keys must be unique.");var c=s(e,r),u=this.dispatcher.register(c.handler.bind(c));return c._waitFor=this.waitFor.bind(this),c._token=u,this._stores[t]=c,c},writable:!0,configurable:!0},getStore:{value:function(t){return this._stores.hasOwnProperty(t)?this._stores[t]:void 0},writable:!0,configurable:!0},createActions:{value:function(t,e){for(var i=arguments.length,r=Array(i>2?i-2:0),a=2;i>a;a++)r[a-2]=arguments[a];if(!(e.prototype instanceof u)&&e!==u){var o=n(e);throw new Error("You've attempted to create actions from the class "+o+", which does not have the base Actions class in its prototype chain. Make "+("sure you're using the `extends` keyword: `class "+o+" ")+"extends Actions { ... }`")}if(this._actions.hasOwnProperty(t)&&this._actions[t])throw new Error("You've attempted to create multiple actions with key "+t+". Keys must be unique.");var c=s(e,r);return c.dispatch=this.dispatch.bind(this),c.dispatchAsync=this.dispatchAsync.bind(this),this._actions[t]=c,c},writable:!0,configurable:!0},getActions:{value:function(t){return this._actions.hasOwnProperty(t)?this._actions[t]:void 0},writable:!0,configurable:!0},getActionIds:{value:function(t){var e=this.getActions(t);if(e)return e.getConstants()},writable:!0,configurable:!0},dispatch:{value:function(t,e){this._dispatch({actionId:t,body:e})},writable:!0,configurable:!0},dispatchAsync:{value:function(t,e,i){var n=this,r={actionId:t,async:"begin"};return i&&(r.actionArgs=i),this._dispatch(r),e.then(function(e){return n._dispatch({actionId:t,body:e,async:"success"}),e},function(e){return n._dispatch({actionId:t,error:e,async:"failure"}),Promise.reject(e)})["catch"](function(t){return n.emit("error",t),Promise.reject(t)})},writable:!0,configurable:!0},_dispatch:{value:function(t){this.dispatcher.dispatch(t),this.emit("dispatch",t)},writable:!0,configurable:!0},waitFor:{value:function(t){Array.isArray(t)||(t=[t]);var e=function(t){return t instanceof h?t._token:t},i=t.map(e);this.dispatcher.waitFor(i)},writable:!0,configurable:!0},removeAllStoreListeners:{value:function(t){for(var e in this._stores)if(this._stores.hasOwnProperty(e)){var i=this._stores[e];i.removeAllListeners(t)}},writable:!0,configurable:!0},serialize:{value:function i(){var t={};for(var e in this._stores)if(this._stores.hasOwnProperty(e)){var n=this._stores[e],i=n.constructor.serialize;if("function"==typeof i){var r=i(n.state);if("string"!=typeof r){n.constructor.name}if(t[e]=r,"function"!=typeof n.constructor.deserialize){n.constructor.name}}}return JSON.stringify(t)},writable:!0,configurable:!0},deserialize:{value:function r(t){var e=void 0;try{e=JSON.parse(t)}catch(i){{this.constructor.name}}for(var n in this._stores)if(this._stores.hasOwnProperty(n)){var s=this._stores[n],r=s.constructor.deserialize;if("function"==typeof r){var a=e[n],o=r(a);if(s.replaceState(o),"function"!=typeof s.constructor.serialize){s.constructor.name}}}},writable:!0,configurable:!0}}),e}(l);e["default"]=p;var d=p;e.Flux=p,e.Flummox=d,e.Store=h,e.Actions=u,Object.defineProperty(e,"__esModule",{value:!0})},function(t,e,i){"use strict";function n(t){return"function"==typeof t?t._id:t}var r=function(t){return t&&t.__esModule?t["default"]:t},s=function(t,e,i){e&&Object.defineProperties(t,e),i&&Object.defineProperties(t.prototype,i)},a=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},c=r(i(4)),h=r(i(7)),u=function(t){function e(){o(this,e),this.state=void 0,this._handlers={},this._asyncHandlers={}}return a(e,t),s(e,null,{getState:{value:function(){return h({},this.state)},writable:!0,configurable:!0},setState:{value:function(t){"undefined"==typeof this.state&&(this.state={}),this._isHandlingDispatch?(this._pendingState=h(this._pendingState,t),this._emitChangeAfterHandlingDispatch=!0):(this.state=h({},this.state,t),this.emit("change"))},writable:!0,configurable:!0},replaceState:{value:function(t){"undefined"==typeof this.state&&(this.state={}),this._isHandlingDispatch?(this._pendingState=h({},t),this._emitChangeAfterHandlingDispatch=!0):(this.state=h({},t),this.emit("change"))},writable:!0,configurable:!0},register:{value:function(t,e){t=n(t),"function"==typeof e&&(this._handlers[t]=e.bind(this))},writable:!0,configurable:!0},registerAsync:{value:function(t,e,i,r){t=n(t);var s={begin:e,success:i,failure:r};for(var a in s)if(s.hasOwnProperty(a)){var o=s[a];"function"==typeof o?s[a]=o.bind(this):delete s[a]}this._asyncHandlers[t]=s},writable:!0,configurable:!0},waitFor:{value:function(t){this._waitFor(t)},writable:!0,configurable:!0},handler:{value:function(t){var e=t.body,i=t.actionId,n=t.async,r=t.actionArgs,s=t.error,a=this._handlers[i],o=this._asyncHandlers[i]&&this._asyncHandlers[i][n];if(n)switch(n){case"begin":return void("function"==typeof o&&this._performHandler.apply(this,[o].concat(r)));case"failure":return void("function"==typeof o&&this._performHandler(o,s));case"success":"function"==typeof o&&(a=o);break;default:return}"function"==typeof a&&this._performHandler(a,e)},writable:!0,configurable:!0},_performHandler:{value:function(t){for(var e=arguments.length,i=Array(e>1?e-1:0),n=1;e>n;n++)i[n-1]=arguments[n];this._isHandlingDispatch=!0,this._pendingState=h({},this.state),this._emitChangeAfterHandlingDispatch=!1;try{t.apply(this,i)}finally{this._emitChangeAfterHandlingDispatch&&(this.state=this._pendingState,this.emit("change")),this._isHandlingDispatch=!1,this._pendingState={},this._emitChangeAfterHandlingDispatch=!1}},writable:!0,configurable:!0}}),e}(c);t.exports=u},function(t,e,i){"use strict";function n(t){return t&&"function"==typeof t.then}var r=function(t){return t&&t.__esModule?t["default"]:t},s=function(t,e,i){e&&Object.defineProperties(t,e),i&&Object.defineProperties(t.prototype,i)},a=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},o=r(i(6)),c=function(){function t(){a(this,t),this._baseId=o();for(var e=this._getActionMethodNames(),i=0;i<e.length;i++){var n=e[i];this._wrapAction(n)}this.getConstants=this.getActionIds}return s(t,null,{getActionIds:{value:function(){var t=this;return this._getActionMethodNames().reduce(function(e,i){return e[i]=t[i]._id,e},{})},writable:!0,configurable:!0},_getActionMethodNames:{value:function(){var t=this;return Object.getOwnPropertyNames(this.constructor.prototype).filter(function(e){return"constructor"!==e&&"function"==typeof t[e]})},writable:!0,configurable:!0},_wrapAction:{value:function(t){var e=this,i=this[t],r=this._createActionId(t),s=function(){for(var s=arguments.length,a=Array(s),o=0;s>o;o++)a[o]=arguments[o];var c=i.apply(e,a);if(n(c)){var h=c;return e._dispatchAsync(r,h,a,t)}return e._dispatch(r,c,a,t)};s._id=r,this[t]=s},writable:!0,configurable:!0},_createActionId:{value:function(t){return""+this._baseId+"-"+t},writable:!0,configurable:!0},_dispatch:{value:function(t,e,i,n){return"function"==typeof this.dispatch&&"undefined"!=typeof e&&this.dispatch(t,e,i),e},writable:!0,configurable:!0},_dispatchAsync:{value:function(t,e,i,n){return"function"==typeof this.dispatchAsync?this.dispatchAsync(t,e,i):e},writable:!0,configurable:!0}}),t}();t.exports=c},function(t,e,i){t.exports.Dispatcher=i(5)},function(t){"use strict";function e(t,e,i){this.fn=t,this.context=e,this.once=i||!1}function i(){}i.prototype._events=void 0,i.prototype.listeners=function(t){if(!this._events||!this._events[t])return[];if(this._events[t].fn)return[this._events[t].fn];for(var e=0,i=this._events[t].length,n=new Array(i);i>e;e++)n[e]=this._events[t][e].fn;return n},i.prototype.emit=function(t,e,i,n,r,s){if(!this._events||!this._events[t])return!1;var a,o,c=this._events[t],h=arguments.length;if("function"==typeof c.fn){switch(c.once&&this.removeListener(t,c.fn,!0),h){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,e),!0;case 3:return c.fn.call(c.context,e,i),!0;case 4:return c.fn.call(c.context,e,i,n),!0;case 5:return c.fn.call(c.context,e,i,n,r),!0;case 6:return c.fn.call(c.context,e,i,n,r,s),!0}for(o=1,a=new Array(h-1);h>o;o++)a[o-1]=arguments[o];c.fn.apply(c.context,a)}else{var u,f=c.length;for(o=0;f>o;o++)switch(c[o].once&&this.removeListener(t,c[o].fn,!0),h){case 1:c[o].fn.call(c[o].context);break;case 2:c[o].fn.call(c[o].context,e);break;case 3:c[o].fn.call(c[o].context,e,i);break;default:if(!a)for(u=1,a=new Array(h-1);h>u;u++)a[u-1]=arguments[u];c[o].fn.apply(c[o].context,a)}}return!0},i.prototype.on=function(t,i,n){var r=new e(i,n||this);return this._events||(this._events={}),this._events[t]?this._events[t].fn?this._events[t]=[this._events[t],r]:this._events[t].push(r):this._events[t]=r,this},i.prototype.once=function(t,i,n){var r=new e(i,n||this,!0);return this._events||(this._events={}),this._events[t]?this._events[t].fn?this._events[t]=[this._events[t],r]:this._events[t].push(r):this._events[t]=r,this},i.prototype.removeListener=function(t,e,i){if(!this._events||!this._events[t])return this;var n=this._events[t],r=[];if(e&&(n.fn&&(n.fn!==e||i&&!n.once)&&r.push(n),!n.fn))for(var s=0,a=n.length;a>s;s++)(n[s].fn!==e||i&&!n[s].once)&&r.push(n[s]);return r.length?this._events[t]=1===r.length?r[0]:r:delete this._events[t],this},i.prototype.removeAllListeners=function(t){return this._events?(t?delete this._events[t]:this._events={},this):this},i.prototype.off=i.prototype.removeListener,i.prototype.addListener=i.prototype.on,i.prototype.setMaxListeners=function(){return this},i.EventEmitter=i,i.EventEmitter2=i,i.EventEmitter3=i,t.exports=i},function(t,e,i){"use strict";function n(){this.$Dispatcher_callbacks={},this.$Dispatcher_isPending={},this.$Dispatcher_isHandled={},this.$Dispatcher_isDispatching=!1,this.$Dispatcher_pendingPayload=null}var r=i(8),s=1,a="ID_";n.prototype.register=function(t){var e=a+s++;return this.$Dispatcher_callbacks[e]=t,e},n.prototype.unregister=function(t){r(this.$Dispatcher_callbacks[t],"Dispatcher.unregister(...): `%s` does not map to a registered callback.",t),delete this.$Dispatcher_callbacks[t]},n.prototype.waitFor=function(t){r(this.$Dispatcher_isDispatching,"Dispatcher.waitFor(...): Must be invoked while dispatching.");for(var e=0;e<t.length;e++){var i=t[e];this.$Dispatcher_isPending[i]?r(this.$Dispatcher_isHandled[i],"Dispatcher.waitFor(...): Circular dependency detected while waiting for `%s`.",i):(r(this.$Dispatcher_callbacks[i],"Dispatcher.waitFor(...): `%s` does not map to a registered callback.",i),this.$Dispatcher_invokeCallback(i))}},n.prototype.dispatch=function(t){r(!this.$Dispatcher_isDispatching,"Dispatch.dispatch(...): Cannot dispatch in the middle of a dispatch."),this.$Dispatcher_startDispatching(t);try{for(var e in this.$Dispatcher_callbacks)this.$Dispatcher_isPending[e]||this.$Dispatcher_invokeCallback(e)}finally{this.$Dispatcher_stopDispatching()}},n.prototype.isDispatching=function(){return this.$Dispatcher_isDispatching},n.prototype.$Dispatcher_invokeCallback=function(t){this.$Dispatcher_isPending[t]=!0,this.$Dispatcher_callbacks[t](this.$Dispatcher_pendingPayload),this.$Dispatcher_isHandled[t]=!0},n.prototype.$Dispatcher_startDispatching=function(t){for(var e in this.$Dispatcher_callbacks)this.$Dispatcher_isPending[e]=!1,this.$Dispatcher_isHandled[e]=!1;this.$Dispatcher_pendingPayload=t,this.$Dispatcher_isDispatching=!0},n.prototype.$Dispatcher_stopDispatching=function(){this.$Dispatcher_pendingPayload=null,this.$Dispatcher_isDispatching=!1},t.exports=n},function(t){"use strict";var e=0,i=t.exports=function(t){t=t||{};var i=t.prefix,n=t.suffix,r=++e*(t.multiplier||1);return null==i&&(i=""),null==n&&(n=""),String(i)+r+String(n)};i.reset=function(){return e=0}},function(t){"use strict";function e(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}t.exports=Object.assign||function(t){for(var i,n,r=e(t),s=1;s<arguments.length;s++){i=arguments[s],n=Object.keys(Object(i));for(var a=0;a<n.length;a++)r[n[a]]=i[n[a]]}return r}},function(t){"use strict";var e=function(t,e,i,n,r,s,a,o){if(!t){var c;if(void 0===e)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var h=[i,n,r,s,a,o],u=0;c=new Error("Invariant Violation: "+e.replace(/%s/g,function(){return h[u++]}))}throw c.framesToPop=1,c}};t.exports=e}]); |
@@ -13,3 +13,3 @@ API: `Actions` | ||
// The return value from the action is sent to the dispatcher. | ||
// To enforce unidirectional data flow, it is *not* returned to the caller. | ||
// It is also returned to the caller. | ||
return content; | ||
@@ -31,7 +31,21 @@ } | ||
Enforce unidirectional data flow | ||
-------------------------------- | ||
Testing | ||
------- | ||
Actions are "wrapped" upon instantiation. When you fire an action, the return value isn't sent to the caller, but instead to the dispatcher. In other words, calling an action always returns undefined (or if the action is asynchronous, a promise that resolves to undefined — more below). This may seem weird, but it's designed this way to enforce unidirectional data flow. If this absolutely doesn't work for you, you can always use a helper function that calls the action internally while also returning a value to the original caller — just know this is an anti-pattern. | ||
The return value of an action is dispatched automatically. It's also returned to the caller. This means it's possible to test actions completely independently from a Flux or Store instance. Here's how you'd test the example MessageActions from above: | ||
```js | ||
// Using mocha and chai-as-promised | ||
let actions = new MessageActions(); | ||
expect(actions.newMessage('Hello world!')).to.equal('Hello world'); | ||
// Assuming `serverCreateMessage()` has been mocked | ||
expect(actions.createMessage('Hello world!')).to.eventually.deep.equal({ | ||
id: 1, | ||
content: 'Hello world!', | ||
}); | ||
``` | ||
Asynchronous actions | ||
@@ -42,4 +56,2 @@ -------------------- | ||
The reason that asynchronous actions return a promises that resolve to undefined is so the caller can know when the action is complete and it's safe to continue. On the server, you can use this feature to wait for data fetching operations to finish before rendering your app. | ||
Methods | ||
@@ -46,0 +58,0 @@ ------- |
@@ -1,2 +0,2 @@ | ||
API: `FluxMixin` | ||
API: `fluxMixin` | ||
=============== | ||
@@ -6,10 +6,10 @@ | ||
Note that FluxMixin is actually a function that returns a mixin, as the example below shows. The parameters are the same as those for `connectToStores()`, described below. On component initialization, `connectToStores()` is called and used to set the initial state of the component. | ||
Note that fluxMixin is actually a function that returns a mixin, as the example below shows. The parameters are the same as those for `connectToStores()`, described below. On component initialization, `connectToStores()` is called and used to set the initial state of the component. | ||
```js | ||
import FluxMixin from 'flummox/mixin'; | ||
import fluxMixin from 'flummox/mixin'; | ||
let MyComponent = React.createClass({ | ||
mixins[FluxMixin(['storeA', 'storeB'])], | ||
mixins[fluxMixin(['storeA', 'storeB'])], | ||
@@ -20,3 +20,3 @@ ... | ||
In general, [it's recommended to use FluxComponent instead of FluxMixin](../why-flux-component-is-better-than-flux-mixin.md). | ||
In general, [it's recommended to use FluxComponent instead of fluxMixin](../why-flux-component-is-better-than-flux-mixin.md). | ||
@@ -26,3 +26,3 @@ State getters | ||
When connecting to stores with FluxMixin (and FluxComponent), you'll usually want to specify custom state getters. | ||
When connecting to stores with fluxMixin (and FluxComponent), you'll usually want to specify custom state getters. | ||
@@ -33,6 +33,6 @@ A state getter is a function which returns a state object for a given store. The state object is merged into the component state using `setState()`. | ||
Here's an example of a state getter map you would pass to either `FluxMixin()` or `connectToStores()`. The keys are store keys, and the values are state getter functions. | ||
Here's an example of a state getter map you would pass to either `fluxMixin()` or `connectToStores()`. The keys are store keys, and the values are state getter functions. | ||
```js | ||
FluxMixin({ | ||
fluxMixin({ | ||
// Can't use arrow functions because we need `this` to be bound to component | ||
@@ -90,3 +90,3 @@ // Yet another reason FluxComponent is better :) | ||
**Usage note**: Generally, you should avoid calling this directly and instead pass arguments to `FluxMixin()`, which calls this internally. | ||
**Usage note**: Generally, you should avoid calling this directly and instead pass arguments to `fluxMixin()`, which calls this internally. | ||
@@ -93,0 +93,0 @@ ### getStoreState |
@@ -159,3 +159,3 @@ Quick start | ||
However, manually passing your Flux instance as props down the component tree isn't the best solution. Instead, use FluxMixin and/or FluxComponent. Under the hood, they use React context to expose your Flux instance to arbitrarily nested views. They also make it stupidly easy to subscribe to store updates: | ||
However, manually passing your Flux instance as props down the component tree isn't the best solution. Instead, use fluxMixin and/or FluxComponent. Under the hood, they use React context to expose your Flux instance to arbitrarily nested views. They also make it stupidly easy to subscribe to store updates: | ||
@@ -162,0 +162,0 @@ ```js |
# React integration guide | ||
If you're using Flummox, you're probably also using React. To make React integration incredibly simple, Flummox comes with some optional goodies: [FluxComponent](api/FluxComponent.md) and [FluxMixin](api/FluxMixin.md). Both have essentially the same functionality — in fact, the component is mostly just a wrapper around the mixin. However, in the spirit of React, the component form is preferred. (Read more about [why FluxComponent is preferred](why-flux-component-is-better-than-flux-mixin.md).) | ||
If you're using Flummox, you're probably also using React. To make React integration incredibly simple, Flummox comes with some optional goodies: [FluxComponent](api/FluxComponent.md) and [fluxMixin](api/fluxMixin.md). Both have essentially the same functionality — in fact, the component is mostly just a wrapper around the mixin. However, in the spirit of React, the component form is preferred. (Read more about [why FluxComponent is preferred](why-flux-component-is-better-than-flux-mixin.md).) | ||
```js | ||
import FluxComponent from 'flummox/component'; | ||
import FluxMixin from 'flummox/mixin'; | ||
import fluxMixin from 'flummox/mixin'; | ||
``` | ||
@@ -94,3 +94,3 @@ | ||
## Using FluxMixin | ||
## Using fluxMixin | ||
@@ -101,15 +101,15 @@ **tl;dr** Just use FluxComponent. (Unless you don't want to. Up to you.) Read a longer explanation for [why FluxComponent is preferred](why-flux-component-is-better-than-flux-mixin.md). | ||
FluxComponent is really just a wrapper around FluxMixin. (Seriously, check out the source.) But if you want to use FluxMixin directly, you can. | ||
FluxComponent is really just a wrapper around fluxMixin. (Seriously, check out the source.) But if you want to use fluxMixin directly, you can. | ||
Like FluxComponent, FluxMixin expects that the component you're mixing it into has access to a Flux instance via either a prop or context. It adds the Flux instance to the child context. | ||
Like FluxComponent, fluxMixin expects that the component you're mixing it into has access to a Flux instance via either a prop or context. It adds the Flux instance to the child context. | ||
Unlike FluxComponent, it does not inject props into its children. You can, however, access the instance with `this.flux`. | ||
FluxMixin adds a single method, `connectToStores()`. This is exactly like the `connectToStores` prop of FluxComponent. You can pass a single store key, an array of store keys, or a map of store keys to getter functions. In the single store key form, you can also pass a getter function as the second argument. (This form is not available to FluxComponent because props are single values.) | ||
fluxMixin adds a single method, `connectToStores()`. This is exactly like the `connectToStores` prop of FluxComponent. You can pass a single store key, an array of store keys, or a map of store keys to getter functions. In the single store key form, you can also pass a getter function as the second argument. (This form is not available to FluxComponent because props are single values.) | ||
FluxMixin does not inject store state as props into its children. Instead, it merges it into component state using `setState()`. | ||
fluxMixin does not inject store state as props into its children. Instead, it merges it into component state using `setState()`. | ||
When you call `connectToStores()`, it returns the current combined state of the stores (as specified by the getters). This is so you can use it within `getInitialState()`. | ||
However, there is a better way. FluxMixin is actually a function that returns a mixin object. Arguments passed to `FluxMixin()` are automatically sent to `connectToStores()` and used to set the initial state of the component. | ||
However, there is a better way. fluxMixin is actually a function that returns a mixin object. Arguments passed to `fluxMixin()` are automatically sent to `connectToStores()` and used to set the initial state of the component. | ||
@@ -121,3 +121,3 @@ ```js | ||
// Remember, you can also use the single key or object forms | ||
mixins[FluxMixin(['storeA', 'storeB'])], | ||
mixins[fluxMixin(['storeA', 'storeB'])], | ||
@@ -124,0 +124,0 @@ ... |
@@ -1,5 +0,5 @@ | ||
Why FluxComponent > FluxMixin | ||
Why FluxComponent > fluxMixin | ||
============================= | ||
In the [React integration guide](react-integration.md), I suggest that using [FluxComponent](api/FluxComponent.md) is better than using [FluxMixin](api/FluxMixin.md), even though they do essentially the same thing. A few people have told me they like the mixin form more, so allow me to explain. | ||
In the [React integration guide](react-integration.md), I suggest that using [FluxComponent](api/FluxComponent.md) is better than using [fluxMixin](api/fluxMixin.md), even though they do essentially the same thing. A few people have told me they like the mixin form more, so allow me to explain. | ||
@@ -17,3 +17,3 @@ My argument can be broken down into three basic points. Note that these aren't my original ideas, nor are they unique to Flummox — they are the "React Way": | ||
You might feel like FluxMixin and FluxComponent are equally declarative. They do have similar interfaces: a single argument/prop, that does (almost) the same thing. Still, as nice as FluxMixin's interface is, there's no beating a component in terms of clarity. A good rule of thumb in React is that everything that can be expressed as a component, should be. | ||
You might feel like fluxMixin and FluxComponent are equally declarative. They do have similar interfaces: a single argument/prop, that does (almost) the same thing. Still, as nice as fluxMixin's interface is, there's no beating a component in terms of clarity. A good rule of thumb in React is that everything that can be expressed as a component, should be. | ||
@@ -28,3 +28,3 @@ | ||
However, when you use FluxMixin, you're introducing data into your component that comes not from the owner, but from an external source — your stores. (This is also true of FluxComponent, but to a lesser extent, as we'll see later.) This can easily lead to trouble. | ||
However, when you use fluxMixin, you're introducing data into your component that comes not from the owner, but from an external source — your stores. (This is also true of FluxComponent, but to a lesser extent, as we'll see later.) This can easily lead to trouble. | ||
@@ -35,3 +35,3 @@ For instance, here's a component that renders a single blog post, based on the id of the post. | ||
let BlogPost = React.createClass({ | ||
mixins: [FluxMixin({ | ||
mixins: [fluxMixin({ | ||
posts: function(store) ({ | ||
@@ -74,3 +74,3 @@ post: store.getPost(this.props.id), | ||
let BlogPostPage = React.createClass({ | ||
mixins: [FluxMixin({ | ||
mixins: [fluxMixin({ | ||
posts: function(store) ({ | ||
@@ -96,3 +96,3 @@ post: store.getPost(this.props.id), | ||
There's another problem, though. Every time the store changes, FluxMixin calls `setState()` on BlogPostPage, triggering a re-render of the *entire* component. | ||
There's another problem, though. Every time the store changes, fluxMixin calls `setState()` on BlogPostPage, triggering a re-render of the *entire* component. | ||
@@ -108,7 +108,7 @@ Which brings us to the final point... | ||
Alright, so we need to refactor once again so that FluxMixin is only updating what needs to be updated. We already learned that we shouldn't put the mixin inside BlogPost itself, because that makes the component less reusable. Our remaining option is to create a new component that wraps around BlogPost: | ||
Alright, so we need to refactor once again so that fluxMixin is only updating what needs to be updated. We already learned that we shouldn't put the mixin inside BlogPost itself, because that makes the component less reusable. Our remaining option is to create a new component that wraps around BlogPost: | ||
```js | ||
let BlogPostWrapper = React.createClass({ | ||
mixins: [FluxMixin({ | ||
mixins: [fluxMixin({ | ||
posts: function(store) ({ | ||
@@ -157,4 +157,4 @@ post: store.getPost(this.props.id), | ||
Either way, both FluxMixin and FluxComponent are available for you to use, and both are pretty great :) | ||
Either way, both fluxMixin and FluxComponent are available for you to use, and both are pretty great :) | ||
If you have any suggestions for how they could be improved, please let me know by submitting an issue. |
@@ -200,2 +200,2 @@ "use strict"; | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vQWN0aW9ucy10ZXN0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7b0JBQThCLFNBQVM7O0lBQTlCLElBQUksU0FBSixJQUFJO0lBQUUsT0FBTyxTQUFQLE9BQU87SUFDZixLQUFLLDJCQUFNLE9BQU87O0FBRXpCLFFBQVEsQ0FBQyxTQUFTLEVBQUUsWUFBTTtNQUVsQixXQUFXLGNBQVMsT0FBTzthQUEzQixXQUFXOzRCQUFYLFdBQVc7O1VBQVMsT0FBTztBQUFQLGVBQU87Ozs7Y0FBM0IsV0FBVyxFQUFTLE9BQU87O3lCQUEzQixXQUFXO0FBQ2YsWUFBTTtlQUFBLGtCQUFHO0FBQ1AsaUJBQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUM7U0FDdkI7Ozs7QUFFRCxZQUFNO2VBQUEsa0JBQUc7QUFDUCxpQkFBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUN2Qjs7OztBQUVELFlBQU07ZUFBQSxrQkFBRztBQUNQLGlCQUFPO1NBQ1I7Ozs7QUFFSyxpQkFBVztlQUFBLHFCQUFDLFdBQVc7Ozs7b0RBQ3BCLFdBQVc7Ozs7OztTQUNuQjs7OztBQUVELG9CQUFjO2VBQUEsMEJBQUc7QUFDZixpQkFBTyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7U0FDaEQ7Ozs7OztXQW5CRyxXQUFXO0tBQVMsT0FBTzs7QUFzQmpDLFVBQVEsQ0FBQywrQkFBK0IsRUFBRSxZQUFNO0FBQzlDLE1BQUUsQ0FBQyxzREFBc0QsRUFBRSxZQUFNO0FBQy9ELFVBQUksT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7O0FBRWhDLFVBQUksU0FBUyxHQUFHLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQzs7QUFFdkMsWUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUMzQyxZQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDOztBQUUzQyxZQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzNDLFlBQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDNUMsQ0FBQyxDQUFDO0dBRUosQ0FBQyxDQUFDOztBQUVILFVBQVEsQ0FBQyxlQUFlLEVBQUUsWUFBTTtBQUM5QixNQUFFLENBQUMsdUJBQXVCLEVBQUUsWUFBTTtBQUNoQyxVQUFJLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDOzs7QUFHaEMsVUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQzNCLGFBQU8sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDOztBQUU1QixhQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7QUFDakIsWUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUNsRSxDQUFDLENBQUM7O0FBRUgsTUFBRSxDQUFDLHlEQUF5RCxFQUFFLFlBQU07QUFDbEUsVUFBSSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztBQUNoQyxVQUFJLElBQUksR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQzs7QUFFdEMsYUFBTyxDQUFDLE1BQU0sRUFBRSxDQUFDOztBQUVqQixZQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUNyQyxvRUFBcUUsR0FDckUsdUNBQXdDLENBQ3pDLENBQUM7O0FBRUYsYUFBTyxDQUFDLFdBQVcsRUFBRSxDQUFDOztBQUV0QixZQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUN0Qyw2R0FDb0Qsd0JBQy9CLENBQ3RCLENBQUM7O0FBRUYsYUFBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztLQUN4QixDQUFDLENBQUM7O0FBRUgsTUFBRSxDQUFDLHFDQUFxQyxFQUFFLFlBQU07QUFDOUMsVUFBSSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztBQUNoQyxVQUFJLFFBQVEsR0FBRyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsTUFBTSxDQUFDO0FBQzdDLFVBQUksUUFBUSxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUMzQixhQUFPLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQzs7QUFFNUIsYUFBTyxDQUFDLE1BQU0sRUFBRSxDQUFDOztBQUVqQixZQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3RELFlBQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7S0FDbEUsQ0FBQyxDQUFDOztBQUVILE1BQUUsQ0FBQywrQ0FBK0MsRUFBRTtVQUM5QyxPQUFPLEVBQ1AsUUFBUSxFQUNSLFFBQVEsRUFHUixRQUFROzs7O0FBTFIsbUJBQU8sR0FBRyxJQUFJLFdBQVcsRUFBRTtBQUMzQixvQkFBUSxHQUFHLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxXQUFXO0FBQzdDLG9CQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDdEQsbUJBQU8sQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDOztBQUU3QixvQkFBUSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDOzs7QUFFNUMsa0JBQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7OzttQkFFcEMsUUFBUTs7OztBQUVkLGtCQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3RELGtCQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7Ozs7OztLQUNqRSxDQUFDLENBQUM7O0FBRUgsTUFBRSxDQUFDLDZDQUE2QyxFQUFFLFlBQU07QUFDdEQsVUFBSSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztBQUNoQyxVQUFJLFFBQVEsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDM0IsYUFBTyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7O0FBRTVCLGFBQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQzs7QUFFakIsWUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxTQUFNLENBQUM7S0FDckMsQ0FBQyxDQUFDOztBQUVILE1BQUUsQ0FBQyxtRUFBbUUsRUFBRSxZQUFNO0FBQzVFLFVBQUksT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7QUFDaEMsVUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQzNCLGFBQU8sQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDOztBQUVqQyxhQUFPLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDOztBQUUvQixZQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQUssQ0FBQztLQUNwQyxDQUFDLENBQUM7O0FBRUgsTUFBRSxDQUFDLG1DQUFtQyxFQUFFO1VBQ2xDLElBQUksRUFDSixPQUFPOzs7O0FBRFAsZ0JBQUksR0FBRyxJQUFJLElBQUksRUFBQTtBQUNmLG1CQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDOzs7QUFFckQsa0JBQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDOzttQkFDakQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FDOUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDOzs7Ozs7S0FDdkMsQ0FBQyxDQUFDO0dBQ0osQ0FBQyxDQUFDO0NBRUosQ0FBQyxDQUFDIiwiZmlsZSI6InNyYy9fX3Rlc3RzX18vQWN0aW9ucy10ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmx1eCwgQWN0aW9ucyB9IGZyb20gJy4uL0ZsdXgnO1xuaW1wb3J0IHNpbm9uIGZyb20gJ3Npbm9uJztcblxuZGVzY3JpYmUoJ0FjdGlvbnMnLCAoKSA9PiB7XG5cbiAgY2xhc3MgVGVzdEFjdGlvbnMgZXh0ZW5kcyBBY3Rpb25zIHtcbiAgICBnZXRGb28oKSB7XG4gICAgICByZXR1cm4geyBmb286ICdiYXInIH07XG4gICAgfVxuXG4gICAgZ2V0QmFyKCkge1xuICAgICAgcmV0dXJuIHsgYmFyOiAnYmF6JyB9O1xuICAgIH1cblxuICAgIGdldEJheigpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBhc3luYyBhc3luY0FjdGlvbihyZXR1cm5WYWx1ZSkge1xuICAgICAgcmV0dXJuIHJldHVyblZhbHVlO1xuICAgIH1cblxuICAgIGJhZEFzeW5jQWN0aW9uKCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignc29tZSBlcnJvcicpKTtcbiAgICB9XG4gIH1cblxuICBkZXNjcmliZSgnI2dldEFjdGlvbklkcyAvICNnZXRDb25zdGFudHMnLCAoKSA9PiB7XG4gICAgaXQoJ3JldHVybnMgc3RyaW5ncyBjb3JyZXNwb25kaW5nIHRvIGFjdGlvbiBtZXRob2QgbmFtZXMnLCAoKSA9PiB7XG4gICAgICBsZXQgYWN0aW9ucyA9IG5ldyBUZXN0QWN0aW9ucygpO1xuXG4gICAgICBsZXQgYWN0aW9uSWRzID0gYWN0aW9ucy5nZXRBY3Rpb25JZHMoKTtcblxuICAgICAgZXhwZWN0KGFjdGlvbklkcy5nZXRGb28pLnRvLmJlLmEoJ3N0cmluZycpO1xuICAgICAgZXhwZWN0KGFjdGlvbklkcy5nZXRCYXIpLnRvLmJlLmEoJ3N0cmluZycpO1xuXG4gICAgICBleHBlY3QoYWN0aW9uSWRzLmdldEZvbykudG8uYmUuYSgnc3RyaW5nJyk7XG4gICAgICBleHBlY3QoYWN0aW9uSWRzLmdldEJhcikudG8uYmUuYSgnc3RyaW5nJyk7XG4gICAgfSk7XG5cbiAgfSk7XG5cbiAgZGVzY3JpYmUoJyNbbWV0aG9kTmFtZV0nLCAoKSA9PiB7XG4gICAgaXQoJ2NhbGxzIEZsdXggZGlzcGF0Y2hlcicsICgpID0+IHtcbiAgICAgIGxldCBhY3Rpb25zID0gbmV3IFRlc3RBY3Rpb25zKCk7XG5cbiAgICAgIC8vIEF0dGFjaCBtb2NrIGZsdXggaW5zdGFuY2VcbiAgICAgIGxldCBkaXNwYXRjaCA9IHNpbm9uLnNweSgpO1xuICAgICAgYWN0aW9ucy5kaXNwYXRjaCA9IGRpc3BhdGNoO1xuXG4gICAgICBhY3Rpb25zLmdldEZvbygpO1xuICAgICAgZXhwZWN0KGRpc3BhdGNoLmZpcnN0Q2FsbC5hcmdzWzFdKS50by5kZWVwLmVxdWFsKHsgZm9vOiAnYmFyJyB9KTtcbiAgICB9KTtcblxuICAgIGl0KCd3YXJucyBpZiBhY3Rpb25zIGhhdmUgbm90IGJlZW4gYWRkZWQgdG8gYSBGbHV4IGluc3RhbmNlJywgKCkgPT4ge1xuICAgICAgbGV0IGFjdGlvbnMgPSBuZXcgVGVzdEFjdGlvbnMoKTtcbiAgICAgIGxldCB3YXJuID0gc2lub24uc3B5KGNvbnNvbGUsICd3YXJuJyk7XG5cbiAgICAgIGFjdGlvbnMuZ2V0Rm9vKCk7XG5cbiAgICAgIGV4cGVjdCh3YXJuLmZpcnN0Q2FsbC5hcmdzWzBdKS50by5lcXVhbChcbiAgICAgICAgJ1lvdVxcJ3ZlIGF0dGVtcHRlZCB0byBwZXJmb3JtIHRoZSBhY3Rpb24gVGVzdEFjdGlvbnMjZ2V0Rm9vLCBidXQgaXQgJ1xuICAgICAgKyAnaGFzblxcJ3QgYmVlbiBhZGRlZCB0byBhIEZsdXggaW5zdGFuY2UuJ1xuICAgICAgKTtcblxuICAgICAgYWN0aW9ucy5hc3luY0FjdGlvbigpO1xuXG4gICAgICBleHBlY3Qod2Fybi5zZWNvbmRDYWxsLmFyZ3NbMF0pLnRvLmVxdWFsKFxuICAgICAgICBgWW91J3ZlIGF0dGVtcHRlZCB0byBwZXJmb3JtIHRoZSBhc3luY2hyb25vdXMgYWN0aW9uIGBcbiAgICAgICsgYFRlc3RBY3Rpb25zI2FzeW5jQWN0aW9uLCBidXQgaXQgaGFzbid0IGJlZW4gYWRkZWQgYFxuICAgICAgKyBgdG8gYSBGbHV4IGluc3RhbmNlLmBcbiAgICAgICk7XG5cbiAgICAgIGNvbnNvbGUud2Fybi5yZXN0b3JlKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2VuZHMgcmV0dXJuIHZhbHVlIHRvIEZsdXggZGlzcGF0Y2gnLCAoKSA9PiB7XG4gICAgICBsZXQgYWN0aW9ucyA9IG5ldyBUZXN0QWN0aW9ucygpO1xuICAgICAgbGV0IGFjdGlvbklkID0gYWN0aW9ucy5nZXRBY3Rpb25JZHMoKS5nZXRGb287XG4gICAgICBsZXQgZGlzcGF0Y2ggPSBzaW5vbi5zcHkoKTtcbiAgICAgIGFjdGlvbnMuZGlzcGF0Y2ggPSBkaXNwYXRjaDtcblxuICAgICAgYWN0aW9ucy5nZXRGb28oKTtcblxuICAgICAgZXhwZWN0KGRpc3BhdGNoLmZpcnN0Q2FsbC5hcmdzWzBdKS50by5lcXVhbChhY3Rpb25JZCk7XG4gICAgICBleHBlY3QoZGlzcGF0Y2guZmlyc3RDYWxsLmFyZ3NbMV0pLnRvLmRlZXAuZXF1YWwoeyBmb286ICdiYXInIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3NlbmQgYXN5bmMgcmV0dXJuIHZhbHVlIHRvIEZsdXgjZGlzcGF0Y2hBc3luYycsIGFzeW5jIGZ1bmN0aW9uKCkge1xuICAgICAgbGV0IGFjdGlvbnMgPSBuZXcgVGVzdEFjdGlvbnMoKTtcbiAgICAgIGxldCBhY3Rpb25JZCA9IGFjdGlvbnMuZ2V0QWN0aW9uSWRzKCkuYXN5bmNBY3Rpb247XG4gICAgICBsZXQgZGlzcGF0Y2ggPSBzaW5vbi5zdHViKCkucmV0dXJucyhQcm9taXNlLnJlc29sdmUoKSk7XG4gICAgICBhY3Rpb25zLmRpc3BhdGNoQXN5bmMgPSBkaXNwYXRjaDtcblxuICAgICAgbGV0IHJlc3BvbnNlID0gYWN0aW9ucy5hc3luY0FjdGlvbignZm9vYmFyJyk7XG5cbiAgICAgIGV4cGVjdChyZXNwb25zZS50aGVuKS50by5iZS5hKCdmdW5jdGlvbicpO1xuXG4gICAgICBhd2FpdCByZXNwb25zZTtcblxuICAgICAgZXhwZWN0KGRpc3BhdGNoLmZpcnN0Q2FsbC5hcmdzWzBdKS50by5lcXVhbChhY3Rpb25JZCk7XG4gICAgICBleHBlY3QoZGlzcGF0Y2guZmlyc3RDYWxsLmFyZ3NbMV0pLnRvLmJlLmFuLmluc3RhbmNlT2YoUHJvbWlzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2tpcHMgZGlzcHRhY2ggaWYgcmV0dXJuIHZhbHVlIGlzIHVuZGVmaW5lZCcsICgpID0+IHtcbiAgICAgIGxldCBhY3Rpb25zID0gbmV3IFRlc3RBY3Rpb25zKCk7XG4gICAgICBsZXQgZGlzcGF0Y2ggPSBzaW5vbi5zcHkoKTtcbiAgICAgIGFjdGlvbnMuZGlzcGF0Y2ggPSBkaXNwYXRjaDtcblxuICAgICAgYWN0aW9ucy5nZXRCYXooKTtcblxuICAgICAgZXhwZWN0KGRpc3BhdGNoLmNhbGxlZCkudG8uYmUuZmFsc2U7XG4gICAgfSk7XG5cbiAgICBpdCgnZG9lcyBub3Qgc2tpcCBhc3luYyBkaXNwYXRjaCwgZXZlbiBpZiByZXNvbHZlZCB2YWx1ZSBpcyB1bmRlZmluZWQnLCAoKSA9PiB7XG4gICAgICBsZXQgYWN0aW9ucyA9IG5ldyBUZXN0QWN0aW9ucygpO1xuICAgICAgbGV0IGRpc3BhdGNoID0gc2lub24uc3B5KCk7XG4gICAgICBhY3Rpb25zLmRpc3BhdGNoQXN5bmMgPSBkaXNwYXRjaDtcblxuICAgICAgYWN0aW9ucy5hc3luY0FjdGlvbih1bmRlZmluZWQpO1xuXG4gICAgICBleHBlY3QoZGlzcGF0Y2guY2FsbGVkKS50by5iZS50cnVlO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JldHVybnMgdmFsdWUgZnJvbSB3cmFwcGVkIGFjdGlvbicsIGFzeW5jIGZ1bmN0aW9uKCkge1xuICAgICAgbGV0IGZsdXggPSBuZXcgRmx1eDtcbiAgICAgIGxldCBhY3Rpb25zID0gZmx1eC5jcmVhdGVBY3Rpb25zKCd0ZXN0JywgVGVzdEFjdGlvbnMpO1xuXG4gICAgICBleHBlY3QoYWN0aW9ucy5nZXRGb28oKSkudG8uZGVlcC5lcXVhbCh7IGZvbzogJ2JhcicgfSk7XG4gICAgICBhd2FpdCBleHBlY3QoYWN0aW9ucy5hc3luY0FjdGlvbignYXN5bmMgcmVzdWx0JykpXG4gICAgICAgIC50by5ldmVudHVhbGx5LmVxdWFsKCdhc3luYyByZXN1bHQnKTtcbiAgICB9KTtcbiAgfSk7XG5cbn0pO1xuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vQWN0aW9ucy10ZXN0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7b0JBQThCLFNBQVM7O0lBQTlCLElBQUksU0FBSixJQUFJO0lBQUUsT0FBTyxTQUFQLE9BQU87SUFDZixLQUFLLDJCQUFNLE9BQU87O0FBRXpCLFFBQVEsQ0FBQyxTQUFTLEVBQUUsWUFBTTtNQUVsQixXQUFXLGNBQVMsT0FBTzthQUEzQixXQUFXOzRCQUFYLFdBQVc7O1VBQVMsT0FBTztBQUFQLGVBQU87Ozs7Y0FBM0IsV0FBVyxFQUFTLE9BQU87O3lCQUEzQixXQUFXO0FBQ2YsWUFBTTtlQUFBLGtCQUFHO0FBQ1AsaUJBQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUM7U0FDdkI7Ozs7QUFFRCxZQUFNO2VBQUEsa0JBQUc7QUFDUCxpQkFBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUN2Qjs7OztBQUVELFlBQU07ZUFBQSxrQkFBRztBQUNQLGlCQUFPO1NBQ1I7Ozs7QUFFSyxpQkFBVztlQUFBLHFCQUFDLFdBQVc7Ozs7b0RBQ3BCLFdBQVc7Ozs7OztTQUNuQjs7OztBQUVELG9CQUFjO2VBQUEsMEJBQUc7QUFDZixpQkFBTyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7U0FDaEQ7Ozs7OztXQW5CRyxXQUFXO0tBQVMsT0FBTzs7QUFzQmpDLFVBQVEsQ0FBQywrQkFBK0IsRUFBRSxZQUFNO0FBQzlDLE1BQUUsQ0FBQyxzREFBc0QsRUFBRSxZQUFNO0FBQy9ELFVBQUksT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7O0FBRWhDLFVBQUksU0FBUyxHQUFHLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQzs7QUFFdkMsWUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMs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O0FBQzNCLGFBQU8sQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDOztBQUVqQyxhQUFPLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDOztBQUUvQixZQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQUssQ0FBQztLQUNwQyxDQUFDLENBQUM7O0FBRUgsTUFBRSxDQUFDLG1DQUFtQyxFQUFFO1VBQ2xDLElBQUksRUFDSixPQUFPOzs7O0FBRFAsZ0JBQUksR0FBRyxJQUFJLElBQUksRUFBRTtBQUNqQixtQkFBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQzs7O0FBRXJELGtCQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQzs7bUJBQ2pELE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQzlDLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQzs7Ozs7O0tBQ3ZDLENBQUMsQ0FBQztHQUNKLENBQUMsQ0FBQztDQUVKLENBQUMsQ0FBQyIsImZpbGUiOiJzcmMvX190ZXN0c19fL0FjdGlvbnMtdGVzdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZsdXgsIEFjdGlvbnMgfSBmcm9tICcuLi9GbHV4JztcbmltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5cbmRlc2NyaWJlKCdBY3Rpb25zJywgKCkgPT4ge1xuXG4gIGNsYXNzIFRlc3RBY3Rpb25zIGV4dGVuZHMgQWN0aW9ucyB7XG4gICAgZ2V0Rm9vKCkge1xuICAgICAgcmV0dXJuIHsgZm9vOiAnYmFyJyB9O1xuICAgIH1cblxuICAgIGdldEJhcigpIHtcbiAgICAgIHJldHVybiB7IGJhcjogJ2JheicgfTtcbiAgICB9XG5cbiAgICBnZXRCYXooKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYXN5bmMgYXN5bmNBY3Rpb24ocmV0dXJuVmFsdWUpIHtcbiAgICAgIHJldHVybiByZXR1cm5WYWx1ZTtcbiAgICB9XG5cbiAgICBiYWRBc3luY0FjdGlvbigpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoJ3NvbWUgZXJyb3InKSk7XG4gICAgfVxuICB9XG5cbiAgZGVzY3JpYmUoJyNnZXRBY3Rpb25JZHMgLyAjZ2V0Q29uc3RhbnRzJywgKCkgPT4ge1xuICAgIGl0KCdyZXR1cm5zIHN0cmluZ3MgY29ycmVzcG9uZGluZyB0byBhY3Rpb24gbWV0aG9kIG5hbWVzJywgKCkgPT4ge1xuICAgICAgbGV0IGFjdGlvbnMgPSBuZXcgVGVzdEFjdGlvbnMoKTtcblxuICAgICAgbGV0IGFjdGlvbklkcyA9IGFjdGlvbnMuZ2V0QWN0aW9uSWRzKCk7XG5cbiAgICAgIGV4cGVjdChhY3Rpb25JZHMuZ2V0Rm9vKS50by5iZS5hKCdzdHJpbmcnKTtcbiAgICAgIGV4cGVjdChhY3Rpb25JZHMuZ2V0QmFyKS50by5iZS5hKCdzdHJpbmcnKTtcblxuICAgICAgZXhwZWN0KGFjdGlvbklkcy5nZXRGb28pLnRvLmJlLmEoJ3N0cmluZycpO1xuICAgICAgZXhwZWN0KGFjdGlvbklkcy5nZXRCYXIpLnRvLmJlLmEoJ3N0cmluZycpO1xuICAgIH0pO1xuXG4gIH0pO1xuXG4gIGRlc2NyaWJlKCcjW21ldGhvZE5hbWVdJywgKCkgPT4ge1xuICAgIGl0KCdjYWxscyBGbHV4IGRpc3BhdGNoZXInLCAoKSA9PiB7XG4gICAgICBsZXQgYWN0aW9ucyA9IG5ldyBUZXN0QWN0aW9ucygpO1xuXG4gICAgICAvLyBBdHRhY2ggbW9jayBmbHV4IGluc3RhbmNlXG4gICAgICBsZXQgZGlzcGF0Y2ggPSBzaW5vbi5zcHkoKTtcbiAgICAgIGFjdGlvbnMuZGlzcGF0Y2ggPSBkaXNwYXRjaDtcblxuICAgICAgYWN0aW9ucy5nZXRGb28oKTtcbiAgICAgIGV4cGVjdChkaXNwYXRjaC5maXJzdENhbGwuYXJnc1sxXSkudG8uZGVlcC5lcXVhbCh7IGZvbzogJ2JhcicgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnd2FybnMgaWYgYWN0aW9ucyBoYXZlIG5vdCBiZWVuIGFkZGVkIHRvIGEgRmx1eCBpbnN0YW5jZScsICgpID0+IHtcbiAgICAgIGxldCBhY3Rpb25zID0gbmV3IFRlc3RBY3Rpb25zKCk7XG4gICAgICBsZXQgd2FybiA9IHNpbm9uLnNweShjb25zb2xlLCAnd2FybicpO1xuXG4gICAgICBhY3Rpb25zLmdldEZvbygpO1xuXG4gICAgICBleHBlY3Qod2Fybi5maXJzdENhbGwuYXJnc1swXSkudG8uZXF1YWwoXG4gICAgICAgICdZb3VcXCd2ZSBhdHRlbXB0ZWQgdG8gcGVyZm9ybSB0aGUgYWN0aW9uIFRlc3RBY3Rpb25zI2dldEZvbywgYnV0IGl0ICdcbiAgICAgICsgJ2hhc25cXCd0IGJlZW4gYWRkZWQgdG8gYSBGbHV4IGluc3RhbmNlLidcbiAgICAgICk7XG5cbiAgICAgIGFjdGlvbnMuYXN5bmNBY3Rpb24oKTtcblxuICAgICAgZXhwZWN0KHdhcm4uc2Vjb25kQ2FsbC5hcmdzWzBdKS50by5lcXVhbChcbiAgICAgICAgYFlvdSd2ZSBhdHRlbXB0ZWQgdG8gcGVyZm9ybSB0aGUgYXN5bmNocm9ub3VzIGFjdGlvbiBgXG4gICAgICArIGBUZXN0QWN0aW9ucyNhc3luY0FjdGlvbiwgYnV0IGl0IGhhc24ndCBiZWVuIGFkZGVkIGBcbiAgICAgICsgYHRvIGEgRmx1eCBpbnN0YW5jZS5gXG4gICAgICApO1xuXG4gICAgICBjb25zb2xlLndhcm4ucmVzdG9yZSgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3NlbmRzIHJldHVybiB2YWx1ZSB0byBGbHV4IGRpc3BhdGNoJywgKCkgPT4ge1xuICAgICAgbGV0IGFjdGlvbnMgPSBuZXcgVGVzdEFjdGlvbnMoKTtcbiAgICAgIGxldCBhY3Rpb25JZCA9IGFjdGlvbnMuZ2V0QWN0aW9uSWRzKCkuZ2V0Rm9vO1xuICAgICAgbGV0IGRpc3BhdGNoID0gc2lub24uc3B5KCk7XG4gICAgICBhY3Rpb25zLmRpc3BhdGNoID0gZGlzcGF0Y2g7XG5cbiAgICAgIGFjdGlvbnMuZ2V0Rm9vKCk7XG5cbiAgICAgIGV4cGVjdChkaXNwYXRjaC5maXJzdENhbGwuYXJnc1swXSkudG8uZXF1YWwoYWN0aW9uSWQpO1xuICAgICAgZXhwZWN0KGRpc3BhdGNoLmZpcnN0Q2FsbC5hcmdzWzFdKS50by5kZWVwLmVxdWFsKHsgZm9vOiAnYmFyJyB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzZW5kIGFzeW5jIHJldHVybiB2YWx1ZSB0byBGbHV4I2Rpc3BhdGNoQXN5bmMnLCBhc3luYyBmdW5jdGlvbigpIHtcbiAgICAgIGxldCBhY3Rpb25zID0gbmV3IFRlc3RBY3Rpb25zKCk7XG4gICAgICBsZXQgYWN0aW9uSWQgPSBhY3Rpb25zLmdldEFjdGlvbklkcygpLmFzeW5jQWN0aW9uO1xuICAgICAgbGV0IGRpc3BhdGNoID0gc2lub24uc3R1YigpLnJldHVybnMoUHJvbWlzZS5yZXNvbHZlKCkpO1xuICAgICAgYWN0aW9ucy5kaXNwYXRjaEFzeW5jID0gZGlzcGF0Y2g7XG5cbiAgICAgIGxldCByZXNwb25zZSA9IGFjdGlvbnMuYXN5bmNBY3Rpb24oJ2Zvb2JhcicpO1xuXG4gICAgICBleHBlY3QocmVzcG9uc2UudGhlbikudG8uYmUuYSgnZnVuY3Rpb24nKTtcblxuICAgICAgYXdhaXQgcmVzcG9uc2U7XG5cbiAgICAgIGV4cGVjdChkaXNwYXRjaC5maXJzdENhbGwuYXJnc1swXSkudG8uZXF1YWwoYWN0aW9uSWQpO1xuICAgICAgZXhwZWN0KGRpc3BhdGNoLmZpcnN0Q2FsbC5hcmdzWzFdKS50by5iZS5hbi5pbnN0YW5jZU9mKFByb21pc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3NraXBzIGRpc3B0YWNoIGlmIHJldHVybiB2YWx1ZSBpcyB1bmRlZmluZWQnLCAoKSA9PiB7XG4gICAgICBsZXQgYWN0aW9ucyA9IG5ldyBUZXN0QWN0aW9ucygpO1xuICAgICAgbGV0IGRpc3BhdGNoID0gc2lub24uc3B5KCk7XG4gICAgICBhY3Rpb25zLmRpc3BhdGNoID0gZGlzcGF0Y2g7XG5cbiAgICAgIGFjdGlvbnMuZ2V0QmF6KCk7XG5cbiAgICAgIGV4cGVjdChkaXNwYXRjaC5jYWxsZWQpLnRvLmJlLmZhbHNlO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RvZXMgbm90IHNraXAgYXN5bmMgZGlzcGF0Y2gsIGV2ZW4gaWYgcmVzb2x2ZWQgdmFsdWUgaXMgdW5kZWZpbmVkJywgKCkgPT4ge1xuICAgICAgbGV0IGFjdGlvbnMgPSBuZXcgVGVzdEFjdGlvbnMoKTtcbiAgICAgIGxldCBkaXNwYXRjaCA9IHNpbm9uLnNweSgpO1xuICAgICAgYWN0aW9ucy5kaXNwYXRjaEFzeW5jID0gZGlzcGF0Y2g7XG5cbiAgICAgIGFjdGlvbnMuYXN5bmNBY3Rpb24odW5kZWZpbmVkKTtcblxuICAgICAgZXhwZWN0KGRpc3BhdGNoLmNhbGxlZCkudG8uYmUudHJ1ZTtcbiAgICB9KTtcblxuICAgIGl0KCdyZXR1cm5zIHZhbHVlIGZyb20gd3JhcHBlZCBhY3Rpb24nLCBhc3luYyBmdW5jdGlvbigpIHtcbiAgICAgIGxldCBmbHV4ID0gbmV3IEZsdXgoKTtcbiAgICAgIGxldCBhY3Rpb25zID0gZmx1eC5jcmVhdGVBY3Rpb25zKCd0ZXN0JywgVGVzdEFjdGlvbnMpO1xuXG4gICAgICBleHBlY3QoYWN0aW9ucy5nZXRGb28oKSkudG8uZGVlcC5lcXVhbCh7IGZvbzogJ2JhcicgfSk7XG4gICAgICBhd2FpdCBleHBlY3QoYWN0aW9ucy5hc3luY0FjdGlvbignYXN5bmMgcmVzdWx0JykpXG4gICAgICAgIC50by5ldmVudHVhbGx5LmVxdWFsKCdhc3luYyByZXN1bHQnKTtcbiAgICB9KTtcbiAgfSk7XG5cbn0pO1xuIl19 |
@@ -141,7 +141,7 @@ "use strict"; | ||
value: function getFoo(message) { | ||
var success = arguments[1] === undefined ? true : arguments[1]; | ||
var _success = arguments[1] === undefined ? true : arguments[1]; | ||
return regeneratorRuntime.async(function getFoo$(context$5$0) { | ||
while (1) switch (context$5$0.prev = context$5$0.next) { | ||
case 0: | ||
if (success) { | ||
if (_success) { | ||
context$5$0.next = 2; | ||
@@ -220,13 +220,7 @@ break; | ||
context$3$0.prev = 23; | ||
context$3$0.next = 26; | ||
return actions.getFoo("bar", false); | ||
case 26: | ||
context$3$0.next = 30; | ||
break; | ||
case 28: | ||
context$3$0.prev = 28; | ||
context$3$0.t1 = context$3$0["catch"](23); | ||
case 30: | ||
context$3$0.prev = 30; | ||
context$3$0.next = 25; | ||
return expect(actions.getFoo("bar", false)).to.be.rejected; | ||
case 25: | ||
expect(begin.calledTwice).to.be["true"]; | ||
@@ -236,8 +230,7 @@ expect(success.calledOnce).to.be["true"]; | ||
expect(failure.firstCall.args[0]).to.equal(error); | ||
return context$3$0.finish(30); | ||
case 36: | ||
case 29: | ||
case "end": | ||
return context$3$0.stop(); | ||
} | ||
}, null, this, [[23, 28, 30, 36]]); | ||
}, null, this); | ||
}); | ||
@@ -270,2 +263,4 @@ | ||
var store2 = undefined; | ||
var Store1 = (function (Store) { | ||
@@ -307,3 +302,3 @@ function Store1() { | ||
var store2 = flux.getStore("store2"); | ||
store2 = flux.getStore("store2"); | ||
@@ -413,2 +408,2 @@ flux.dispatch(actionId, "foobar"); | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vU3RvcmUtdGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7b0JBQXFDLFNBQVM7O0lBQXJDLEtBQUssU0FBTCxLQUFLO0lBQUUsSUFBSSxTQUFKLElBQUk7SUFBRSxPQUFPLFNBQVAsT0FBTztJQUN0QixLQUFLLDJCQUFNLE9BQU87O0FBRXpCLFFBQVEsQ0FBQyxPQUFPLEVBQUUsWUFBTTtNQUNoQixZQUFZLGNBQVMsS0FBSztBQUNuQixhQURQLFlBQVk7NEJBQVosWUFBWTs7QUFFZCxpQ0FGRSxZQUFZLDZDQUVOO0FBQ1IsVUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQztLQUM3Qjs7Y0FKRyxZQUFZLEVBQVMsS0FBSzs7V0FBMUIsWUFBWTtLQUFTLEtBQUs7O0FBT2hDLE1BQUksUUFBUSxHQUFHLFVBQVUsQ0FBQzs7QUFFMUIsVUFBUSxDQUFDLGFBQWEsRUFBRSxZQUFNO0FBRTVCLFFBQUksQ0FBQyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7O0FBRTNCLE1BQUUsQ0FBQyxzQkFBc0IsRUFBRSxZQUFNO0FBQy9CLFlBQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0tBQ3BELENBQUMsQ0FBQzs7QUFFSCxNQUFFLENBQUMsb0NBQW9DLEVBQUUsWUFBTTtBQUM3QyxVQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDekIsV0FBSyxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUM7O0FBRXRCLFlBQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0tBQ25ELENB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LEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFDOUIsWUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO09BQ25DLENBQUMsQ0FBQzs7O0FBR0gsV0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFFBQVEsRUFBUixRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7O0FBRTVDLFlBQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBSyxDQUFDO0FBQ3ZDLFlBQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUNuRCxDQUFDLENBQUM7O0FBRUgsTUFBRSxDQUFDLG9CQUFvQixFQUFFLFlBQU07QUFDN0IsVUFBSSxLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztBQUMvQixVQUFJLFFBQVEsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDM0IsV0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7O0FBRXRDLFdBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQzs7QUFFbkMsWUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxRQUFLLENBQUM7S0FDeEMsQ0FBQyxDQUFDO0dBQ0osQ0FBQyxDQUFDO0NBRUosQ0FBQyxDQUFDIiwiZmlsZSI6InNyYy9fX3Rlc3RzX18vU3RvcmUtdGVzdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0b3JlLCBGbHV4LCBBY3Rpb25zIH0gZnJvbSAnLi4vRmx1eCc7XG5pbXBvcnQgc2lub24gZnJvbSAnc2lub24nO1xuXG5kZXNjcmliZSgnU3RvcmUnLCAoKSA9PiB7XG4gIGNsYXNzIEV4YW1wbGVTdG9yZSBleHRlbmRzIFN0b3JlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgIHN1cGVyKCk7XG4gICAgICB0aGlzLnN0YXRlID0geyBmb286ICdiYXInIH07XG4gICAgfVxuICB9XG5cbiAgbGV0IGFjdGlvbklkID0gJ2FjdGlvbklkJztcblxuICBkZXNjcmliZSgnI2dldFN0YXRlKCknLCAoKSA9PiB7XG5cbiAgICBsZXQgcyA9IG5ldyBFeGFtcGxlU3RvcmUoKTtcblxuICAgIGl0KCdyZXR1cm5zIHN0YXRlIG9iamVjdCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChzLmdldFN0YXRlKCkpLnRvLmRlZXAuZXF1YWwoeyBmb286ICdiYXInIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3ByZXZlbnRzIG11dGF0aW9ucyBvZiBzdGF0ZSBvYmplY3QnLCAoKSA9PiB7XG4gICAgICBsZXQgc3RhdGUgPSBzLmdldFN0YXRlKCk7XG4gICAgICBzdGF0ZS5mb28gPSAnY2hhbmdlZCc7XG5cbiAgICAgIGV4cGVjdChzLmdldFN0YXRlKCkpLnRvLmRlZXAuZXF1YWwoeyBmb286ICdiYXInIH0pXG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCcjcmVnaXN0ZXIoKScsICgpID0+IHtcbiAgICBpdCgnYWRkcyBoYW5kbGVyIHRvIGludGVybmFsIGNvbGxlY3Rpb24gb2YgaGFuZGxlcnMnLCAoKSA9PiB7XG4gICAgICBsZXQgc3RvcmUgPSBuZXcgRXhhbXBsZVN0b3JlKCk7XG4gICAgICBsZXQgaGFuZGxlciA9IHNpbm9uLnNweSgpO1xuICAgICAgc3RvcmUucmVnaXN0ZXIoYWN0aW9uSWQsIGhhbmRsZXIpO1xuXG4gICAgICBsZXQgbW9ja0FyZ3MgPSBbJ2ZvbycsICdiYXInXTtcbiAgICAgIHN0b3JlLl9oYW5kbGVyc1thY3Rpb25JZF0oLi4ubW9ja0FyZ3MpO1xuXG4gICAgICBleHBlY3QoaGFuZGxlci5jYWxsZWRXaXRoKC4uLm1vY2tBcmdzKSkudG8uYmUudHJ1ZTtcbiAgICB9KTtcblxuICAgIGl0KCdiaW5kcyBoYW5kbGVyIHRvIHN0b3JlJywgKCkgPT4ge1xuICAgICAgbGV0IHN0b3JlID0gbmV3IEV4YW1wbGVTdG9yZSgpO1xuICAgICAgc3RvcmUuZm9vID0gJ2Jhcic7XG5cbiAgICAgIGZ1bmN0aW9uIGhhbmRsZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvbztcbiAgICAgIH1cblxuICAgICAgc3RvcmUucmVnaXN0ZXIoYWN0aW9uSWQsIGhhbmRsZXIpO1xuXG4gICAgICBleHBlY3Qoc3RvcmUuX2hhbmRsZXJzW2FjdGlvbklkXSgpKS50by5lcXVhbCgnYmFyJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnYWNjZXB0cyBhY3Rpb25zIGluc3RlYWQgb2YgYWN0aW9uIGlkcycsICgpID0+IHtcbiAgICAgIGNsYXNzIEV4YW1wbGVBY3Rpb25zIGV4dGVuZHMgQWN0aW9ucyB7XG4gICAgICAgIGdldEZvbygpIHtcbiAgICAgICAgICByZXR1cm4gJ2Zvbyc7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGV0IGFjdGlvbnMgPSBuZXcgRXhhbXBsZUFjdGlvbnMoKTtcbiAgICAgIGxldCBzdG9yZSA9IG5ldyBFeGFtcGxlU3RvcmUoKTtcbiAgICAgIGxldCBoYW5kbGVyID0gc2lub24uc3B5KCk7XG4gICAgICBzdG9yZS5yZWdpc3RlcihhY3Rpb25zLmdldEZvbywgaGFuZGxlcik7XG5cbiAgICAgIGxldCBtb2NrQXJncyA9IFsnZm9vJywgJ2JhciddO1xuICAgICAgc3RvcmUuX2hhbmRsZXJzW2FjdGlvbnMuZ2V0Rm9vLl9pZF0oLi4ubW9ja0FyZ3MpO1xuXG4gICAgICBleHBlY3QoaGFuZGxlci5jYWxsZWRXaXRoKC4uLm1vY2tBcmdzKSkudG8uYmUudHJ1ZTtcbiAgICB9KTtcblxuICAgIGl0KCdpZ25vcmVzIG5vbi1mdW5jdGlvbiBoYW5kbGVycycsICgpID0+IHtcbiAgICAgIGxldCBzdG9yZSA9IG5ldyBFeGFtcGxlU3RvcmUoKTtcbiAgICAgIGV4cGVjdChzdG9yZS5yZWdpc3Rlci5iaW5kKHN0b3JlLCBudWxsKSkubm90LnRvLnRocm93KCk7XG4gICAgfSk7XG5cbiAgfSk7XG5cbiAgZGVzY3JpYmUoJyNyZWdpc3RlckFzeW5jKCknLCAoKSA9PiB7XG4gICAgaXQoJ3JlZ2lzdGVycyBoYW5kbGVycyBmb3IgYmVnaW4sIHN1Y2Nlc3MsIGFuZCBmYWlsdXJlIG9mIGFzeW5jIGFjdGlvbicsIGFzeW5jIGZ1bmN0aW9uKCkge1xuICAgICAgbGV0IGVycm9yID0gbmV3IEVycm9yKCk7XG5cbiAgICAgIGNsYXNzIEV4YW1wbGVBY3Rpb25zIGV4dGVuZHMgQWN0aW9ucyB7XG4gICAgICAgIGFzeW5jIGdldEZvbyhtZXNzYWdlLCBzdWNjZXNzID0gdHJ1ZSkge1xuICAgICAgICAgIGlmICghc3VjY2VzcykgdGhyb3cgZXJyb3I7XG5cbiAgICAgICAgICByZXR1cm4gbWVzc2FnZSArICcgc3VjY2Vzcyc7XG4gICAgICAgIH1cblxuICAgICAgICBhc3luYyBnZXRCYXIobWVzc2FnZSkge1xuICAgICAgICAgIHJldHVybiBtZXNzYWdlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNsYXNzIEV4YW1wbGVGbHV4IGV4dGVuZHMgRmx1eCB7XG4gICAgICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICAgIHN1cGVyKCk7XG4gICAgICAgICAgdGhpcy5jcmVhdGVBY3Rpb25zKCdleGFtcGxlJywgRXhhbXBsZUFjdGlvbnMpO1xuICAgICAgICAgIHRoaXMuY3JlYXRlU3RvcmUoJ2V4YW1wbGUnLCBFeGFtcGxlU3RvcmUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxldCBmbHV4ID0gbmV3IEV4YW1wbGVGbHV4KCk7XG4gICAgICBsZXQgYWN0aW9ucyA9IGZsdXguZ2V0QWN0aW9ucygnZXhhbXBsZScpO1xuICAgICAgbGV0IHN0b3JlID0gZmx1eC5nZXRTdG9yZSgnZXhhbXBsZScpO1xuXG4gICAgICBsZXQgaGFuZGxlciA9IHNpbm9uLnNweSgpO1xuICAgICAgc3RvcmUucmVnaXN0ZXIoYWN0aW9ucy5nZXRCYXIsIGhhbmRsZXIpO1xuXG4gICAgICBhd2FpdCBhY3Rpb25zLmdldEJhcignYmFyJyk7XG4gICAgICBleHBlY3QoaGFuZGxlci5jYWxsZWRPbmNlKS50by5iZS50cnVlO1xuICAgICAgZXhwZWN0KGhhbmRsZXIuZmlyc3RDYWxsLmFyZ3MpLnRvLmRlZXAuZXF1YWwoWydiYXInXSk7XG5cbiAgICAgIGxldCBiZWdpbiA9IHNpbm9uLnNweSgpO1xuICAgICAgbGV0IHN1Y2Nlc3MgPSBzaW5vbi5zcHkoKTtcbiAgICAgIGxldCBmYWlsdXJlID0gc2lub24uc3B5KCk7XG4gICAgICBzdG9yZS5yZWdpc3RlckFzeW5jKGFjdGlvbnMuZ2V0Rm9vLCBiZWdpbiwgc3VjY2VzcywgZmFpbHVyZSk7XG5cbiAgICAgIGF3YWl0IGFjdGlvbnMuZ2V0Rm9vKCdmb28nLCB0cnVlKTtcbiAgICAgIGV4cGVjdChiZWdpbi5jYWxsZWRPbmNlKS50by5iZS50cnVlO1xuICAgICAgZXhwZWN0KGJlZ2luLmZpcnN0Q2FsbC5hcmdzKS50by5kZWVwLmVxdWFsKFsnZm9vJywgdHJ1ZV0pO1xuICAgICAgZXhwZWN0KHN1Y2Nlc3MuY2FsbGVkT25jZSkudG8uYmUudHJ1ZTtcbiAgICAgIGV4cGVjdChzdWNjZXNzLmZpcnN0Q2FsbC5hcmdzWzBdKS50by5lcXVhbCgnZm9vIHN1Y2Nlc3MnKTtcbiAgICAgIGV4cGVjdChmYWlsdXJlLmNhbGxlZCkudG8uYmUuZmFsc2U7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IGFjdGlvbnMuZ2V0Rm9vKCdiYXInLCBmYWxzZSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG5cbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIGV4cGVjdChiZWdpbi5jYWxsZWRUd2ljZSkudG8uYmUudHJ1ZTtcbiAgICAgICAgZXhwZWN0KHN1Y2Nlc3MuY2FsbGVkT25jZSkudG8uYmUudHJ1ZTtcbiAgICAgICAgZXhwZWN0KGZhaWx1cmUuY2FsbGVkT25jZSkudG8uYmUudHJ1ZTtcbiAgICAgICAgZXhwZWN0KGZhaWx1cmUuZmlyc3RDYWxsLmFyZ3NbMF0pLnRvLmVxdWFsKGVycm9yKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGl0KCdpZ25vcmVzIG5vbi1mdW5jdGlvbiBoYW5kbGVycycsICgpID0+IHtcbiAgICAgIGxldCBzdG9yZSA9IG5ldyBFeGFtcGxlU3RvcmUoKTtcbiAgICAgIGV4cGVjdChzdG9yZS5yZWdpc3RlckFzeW5jLmJpbmQoc3RvcmUsIG51bGwpKS5ub3QudG8udGhyb3coKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJyNoYW5kbGVyKCknLCAoKSA9PiB7XG4gICAgaXQoJ2RlbGVnYXRlcyBkaXNwYXRjaGVzIHRvIHJlZ2lzdGVyZWQgaGFuZGxlcnMnLCAoKSA9PiB7XG4gICAgICBsZXQgc3RvcmUgPSBuZXcgRXhhbXBsZVN0b3JlKCk7XG4gICAgICBsZXQgaGFuZGxlciA9IHNpbm9uLnNweSgpO1xuICAgICAgc3RvcmUucmVnaXN0ZXIoYWN0aW9uSWQsIGhhbmRsZXIpO1xuXG4gICAgICAvLyBTaW11bGF0ZSBkaXNwYXRjaFxuICAgICAgbGV0IGJvZHkgPSB7IGZvbzogJ2JhcicgfTtcbiAgICAgIHN0b3JlLmhhbmRsZXIoeyBib2R5LCBhY3Rpb25JZCB9KTtcblxuICAgICAgZXhwZWN0KGhhbmRsZXIuY2FsbGVkV2l0aChib2R5KSkudG8uYmUudHJ1ZTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJyN3YWl0Rm9yKCknLCAoKSA9PiB7XG4gICAgaXQoJ3dhaXRzIGZvciBvdGhlciBzdG9yZXMnLCAoKSA9PiB7XG4gICAgICBsZXQgZmx1eCA9IG5ldyBGbHV4KCk7XG4gICAgICBsZXQgcmVzdWx0ID0gW107XG5cbiAgICAgIGNsYXNzIFN0b3JlMSBleHRlbmRzIFN0b3JlIHtcbiAgICAgICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICAgIHRoaXMucmVnaXN0ZXIoYWN0aW9uSWQsIGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgdGhpcy53YWl0Rm9yKHN0b3JlMik7XG4gICAgICAgICAgICByZXN1bHQucHVzaCgxKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjbGFzcyBTdG9yZTIgZXh0ZW5kcyBTdG9yZSB7XG4gICAgICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgICB0aGlzLnJlZ2lzdGVyKGFjdGlvbklkLCAoKSA9PiB7XG4gICAgICAgICAgICByZXN1bHQucHVzaCgyKTtcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZsdXguY3JlYXRlU3RvcmUoJ3N0b3JlMScsIFN0b3JlMSk7XG4gICAgICBmbHV4LmNyZWF0ZVN0b3JlKCdzdG9yZTInLCBTdG9yZTIpO1xuXG4gICAgICBsZXQgc3RvcmUyID0gZmx1eC5nZXRTdG9yZSgnc3RvcmUyJyk7XG5cbiAgICAgIGZsdXguZGlzcGF0Y2goYWN0aW9uSWQsICdmb29iYXInKTtcblxuICAgICAgZXhwZWN0KHJlc3VsdCkudG8uZGVlcC5lcXVhbChbMiwgMV0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnI3NldFN0YXRlKCknLCAoKSA9PiB7XG4gICAgaXQoJ3NoYWxsb3cgbWVyZ2VzIG9sZCBzdGF0ZSB3aXRoIG5ldyBzdGF0ZScsICgpID0+IHtcbiAgICAgIGxldCBzdG9yZSA9IG5ldyBFeGFtcGxlU3RvcmUoKTtcblxuICAgICAgc3RvcmUuc2V0U3RhdGUoeyBiYXI6ICdiYXonIH0pO1xuXG4gICAgICBleHBlY3Qoc3RvcmUuc3RhdGUpLnRvLmRlZXAuZXF1YWwoe1xuICAgICAgICBmb286ICdiYXInLFxuICAgICAgICBiYXI6ICdiYXonLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnZW1pdHMgY2hhbmdlIGV2ZW50JywgKCkgPT4ge1xuICAgICAgbGV0IHN0b3JlID0gbmV3IEV4YW1wbGVTdG9yZSgpO1xuICAgICAgbGV0IGxpc3RlbmVyID0gc2lub24uc3B5KCk7XG4gICAgICBzdG9yZS5hZGRMaXN0ZW5lcignY2hhbmdlJywgbGlzdGVuZXIpO1xuXG4gICAgICBzdG9yZS5zZXRTdGF0ZSh7IGZvbzogJ2JhcicgfSk7XG5cbiAgICAgIGV4cGVjdChsaXN0ZW5lci5jYWxsZWRPbmNlKS50by5iZS50cnVlO1xuICAgIH0pO1xuXG4gICAgaXQoJ2JhdGNoZXMgbXVsdGlwbGUgc3RhdGUgdXBkYXRlcyB3aXRoaW4gYWN0aW9uIGhhbmRsZXInLCAoKSA9PiB7XG4gICAgICBsZXQgc3RvcmUgPSBuZXcgRXhhbXBsZVN0b3JlKCk7XG4gICAgICBsZXQgbGlzdGVuZXIgPSBzaW5vbi5zcHkoKTtcbiAgICAgIHN0b3JlLmFkZExpc3RlbmVyKCdjaGFuZ2UnLCBsaXN0ZW5lcik7XG5cbiAgICAgIHN0b3JlLnJlZ2lzdGVyKGFjdGlvbklkLCBmdW5jdGlvbigpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGJhcjogJ2JheicgfSk7XG5cbiAgICAgICAgZXhwZWN0KHRoaXMuc3RhdGUpLnRvLmRlZXAuZXF1YWwoeyBmb286ICdiYXInIH0pO1xuICAgICAgICBleHBlY3QobGlzdGVuZXIuY2FsbGVkKS50by5iZS5mYWxzZTtcblxuICAgICAgICB0aGlzLnNldFN0YXRlKHsgYmF6OiAnZm9vJyB9KTtcbiAgICAgIH0pO1xuXG4gICAgICAvLyBTaW11bGF0ZSBkaXNwYXRjaFxuICAgICAgc3RvcmUuaGFuZGxlcih7IGFjdGlvbklkLCBib2R5OiAnZm9vYmFyJyB9KTtcblxuICAgICAgZXhwZWN0KGxpc3RlbmVyLmNhbGxlZE9uY2UpLnRvLmJlLnRydWU7XG4gICAgICBleHBlY3Qoc3RvcmUuc3RhdGUpLnRvLmRlZXAuZXF1YWwoeyBmb286ICdiYXInLCBiYXI6ICdiYXonLCBiYXo6ICdmb28nIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3dhcm5zIGlmIGNhbGxlZCBmcm9tIG91dHNpZGUgYW4gYWN0aW9uIGhhbmRsZXInLCAoKSA9PiB7XG4gICAgICBsZXQgc3RvcmUgPSBuZXcgRXhhbXBsZVN0b3JlKCk7XG4gICAgICBsZXQgd2FybiA9IHNpbm9uLnNweShjb25zb2xlLCAnd2FybicpO1xuXG4gICAgICBzdG9yZS5zZXRTdGF0ZSh7IGZvbzogJ2JhcicgfSk7XG5cbiAgICAgIGV4cGVjdCh3YXJuLmZpcnN0Q2FsbC5hcmdzWzBdKS50by5lcXVhbChcbiAgICAgICAgJ1N0b3JlI3NldFN0YXRlKCkgY2FsbGVkIGZyb20gb3V0c2lkZSBhbiBhY3Rpb24gaGFuZGxlci4gVGhpcyBpcyAnXG4gICAgICArICdsaWtlbHkgYSBtaXN0YWtlLiBGbHV4IHN0b3JlcyBzaG91bGQgbWFuYWdlIHRoZWlyIG93biBzdGF0ZS4nXG4gICAgICApO1xuXG4gICAgICBjb25zb2xlLndhcm4ucmVzdG9yZSgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnI3JlcGxhY2VTdGF0ZSgpJywgKCkgPT4ge1xuICAgIGl0KCdyZXBsYWNlcyBvbGQgc3RhdGUgd2l0aCBuZXcgc3RhdGUnLCAoKSA9PiB7XG4gICAgICBsZXQgc3RvcmUgPSBuZXcgRXhhbXBsZVN0b3JlKCk7XG5cbiAgICAgIHN0b3JlLnJlcGxhY2VTdGF0ZSh7IGJhcjogJ2JheicgfSk7XG5cbiAgICAgIGV4cGVjdChzdG9yZS5zdGF0ZSkudG8uZGVlcC5lcXVhbCh7XG4gICAgICAgIGJhcjogJ2JheicsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdiYXRjaGVzIG11bHRpcGxlIHN0YXRlIHVwZGF0ZXMgd2l0aGluIGFjdGlvbiBoYW5kbGVyJywgKCkgPT4ge1xuICAgICAgbGV0IHN0b3JlID0gbmV3IEV4YW1wbGVTdG9yZSgpO1xuICAgICAgbGV0IGxpc3RlbmVyID0gc2lub24uc3B5KCk7XG4gICAgICBzdG9yZS5hZGRMaXN0ZW5lcignY2hhbmdlJywgbGlzdGVuZXIpO1xuXG4gICAgICBzdG9yZS5yZWdpc3RlcihhY3Rpb25JZCwgZnVuY3Rpb24oKSB7XG4gICAgICAgIHRoaXMucmVwbGFjZVN0YXRlKHsgYmFyOiAnYmF6JyB9KTtcblxuICAgICAgICBleHBlY3QodGhpcy5zdGF0ZSkudG8uZGVlcC5lcXVhbCh7IGZvbzogJ2JhcicgfSk7XG4gICAgICAgIGV4cGVjdChsaXN0ZW5lci5jYWxsZWQpLnRvLmJlLmZhbHNlO1xuXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBmb286ICdiYXInIH0pO1xuICAgICAgICB0aGlzLnJlcGxhY2VTdGF0ZSh7IGJhejogJ2ZvbycgfSk7XG4gICAgICB9KTtcblxuICAgICAgLy8gU2ltdWxhdGUgZGlzcGF0Y2hcbiAgICAgIHN0b3JlLmhhbmRsZXIoeyBhY3Rpb25JZCwgYm9keTogJ2Zvb2JhcicgfSk7XG5cbiAgICAgIGV4cGVjdChsaXN0ZW5lci5jYWxsZWRPbmNlKS50by5iZS50cnVlO1xuICAgICAgZXhwZWN0KHN0b3JlLnN0YXRlKS50by5kZWVwLmVxdWFsKHsgYmF6OiAnZm9vJyB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdlbWl0cyBjaGFuZ2UgZXZlbnQnLCAoKSA9PiB7XG4gICAgICBsZXQgc3RvcmUgPSBuZXcgRXhhbXBsZVN0b3JlKCk7XG4gICAgICBsZXQgbGlzdGVuZXIgPSBzaW5vbi5zcHkoKTtcbiAgICAgIHN0b3JlLmFkZExpc3RlbmVyKCdjaGFuZ2UnLCBsaXN0ZW5lcik7XG5cbiAgICAgIHN0b3JlLnJlcGxhY2VTdGF0ZSh7IGZvbzogJ2JhcicgfSk7XG5cbiAgICAgIGV4cGVjdChsaXN0ZW5lci5jYWxsZWRPbmNlKS50by5iZS50cnVlO1xuICAgIH0pO1xuICB9KTtcblxufSk7XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vU3RvcmUtdGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7b0JBQXFDLFNBQVM7O0lBQXJDLEtBQUssU0FBTCxLQUFLO0lBQUUsSUFBSSxTQUFKLElBQUk7SUFBRSxPQUFPLFNBQVAsT0FBTztJQUN0QixLQUFLLDJCQUFNLE9BQU87O0FBRXpCLFFBQVEsQ0FBQyxPQUFPLEVBQUUsWUFBTTtNQUNoQixZQUFZLGNBQVMsS0FBSztBQUNuQixhQURQLFlBQVk7NEJBQVosWUFBWTs7QUFFZCxpQ0FGRSxZQUFZLDZDQUVOO0FBQ1IsVUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQztLQUM3Qjs7Y0FKRyxZQUFZLEVBQVMsS0FBSzs7V0FBMUIsWUFBWTtLQUFTLEtBQUs7O0FBT2hDLE1BQUksUUFBUSxHQUFHLFVBQVUsQ0FBQzs7QUFFMUIsVUFBUSxDQUFDLGFBQWEsRUFBRSxZQUFNO0FBRTVCLFFBQUksQ0FBQyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7O0FBRTNCLE1BQUUsQ0FBQyxzQkFBc0IsRUFBRSxZQUFNO0FBQy9CLFlBQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0tBQ3BELENBQUMsQ0FBQzs7QUFFSCxNQUFFLENBQUMsb0NBQW9DLEVBQUUsWUFBTTtBQUM3QyxVQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDekIsV0FBSyxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUM7O0FBRXRCLFlBQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0tBQ3BELENB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QUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsU0FBTSxDQUFDOztBQUVwQyxZQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFDOUIsWUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO09BQ25DLENBQUMsQ0FBQzs7O0FBR0gsV0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFFBQVEsRUFBUixRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7O0FBRTVDLFlBQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBSyxDQUFDO0FBQ3ZDLFlBQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUNuRCxDQUFDLENBQUM7O0FBRUgsTUFBRSxDQUFDLG9CQUFvQixFQUFFLFlBQU07QUFDN0IsVUFBSSxLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztBQUMvQixVQUFJLFFBQVEsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDM0IsV0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7O0FBRXRDLFdBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQzs7QUFFbkMsWUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxRQUFLLENBQUM7S0FDeEMsQ0FBQyxDQUFDO0dBQ0osQ0FBQyxDQUFDO0NBRUosQ0FBQyxDQUFDIiwiZmlsZSI6InNyYy9fX3Rlc3RzX18vU3RvcmUtdGVzdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0b3JlLCBGbHV4LCBBY3Rpb25zIH0gZnJvbSAnLi4vRmx1eCc7XG5pbXBvcnQgc2lub24gZnJvbSAnc2lub24nO1xuXG5kZXNjcmliZSgnU3RvcmUnLCAoKSA9PiB7XG4gIGNsYXNzIEV4YW1wbGVTdG9yZSBleHRlbmRzIFN0b3JlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgIHN1cGVyKCk7XG4gICAgICB0aGlzLnN0YXRlID0geyBmb286ICdiYXInIH07XG4gICAgfVxuICB9XG5cbiAgbGV0IGFjdGlvbklkID0gJ2FjdGlvbklkJztcblxuICBkZXNjcmliZSgnI2dldFN0YXRlKCknLCAoKSA9PiB7XG5cbiAgICBsZXQgcyA9IG5ldyBFeGFtcGxlU3RvcmUoKTtcblxuICAgIGl0KCdyZXR1cm5zIHN0YXRlIG9iamVjdCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChzLmdldFN0YXRlKCkpLnRvLmRlZXAuZXF1YWwoeyBmb286ICdiYXInIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3ByZXZlbnRzIG11dGF0aW9ucyBvZiBzdGF0ZSBvYmplY3QnLCAoKSA9PiB7XG4gICAgICBsZXQgc3RhdGUgPSBzLmdldFN0YXRlKCk7XG4gICAgICBzdGF0ZS5mb28gPSAnY2hhbmdlZCc7XG5cbiAgICAgIGV4cGVjdChzLmdldFN0YXRlKCkpLnRvLmRlZXAuZXF1YWwoeyBmb286ICdiYXInIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnI3JlZ2lzdGVyKCknLCAoKSA9PiB7XG4gICAgaXQoJ2FkZHMgaGFuZGxlciB0byBpbnRlcm5hbCBjb2xsZWN0aW9uIG9mIGhhbmRsZXJzJywgKCkgPT4ge1xuICAgICAgbGV0IHN0b3JlID0gbmV3IEV4YW1wbGVTdG9yZSgpO1xuICAgICAgbGV0IGhhbmRsZXIgPSBzaW5vbi5zcHkoKTtcbiAgICAgIHN0b3JlLnJlZ2lzdGVyKGFjdGlvbklkLCBoYW5kbGVyKTtcblxuICAgICAgbGV0IG1vY2tBcmdzID0gWydmb28nLCAnYmFyJ107XG4gICAgICBzdG9yZS5faGFuZGxlcnNbYWN0aW9uSWRdKC4uLm1vY2tBcmdzKTtcblxuICAgICAgZXhwZWN0KGhhbmRsZXIuY2FsbGVkV2l0aCguLi5tb2NrQXJncykpLnRvLmJlLnRydWU7XG4gICAgfSk7XG5cbiAgICBpdCgnYmluZHMgaGFuZGxlciB0byBzdG9yZScsICgpID0+IHtcbiAgICAgIGxldCBzdG9yZSA9IG5ldyBFeGFtcGxlU3RvcmUoKTtcbiAgICAgIHN0b3JlLmZvbyA9ICdiYXInO1xuXG4gICAgICBmdW5jdGlvbiBoYW5kbGVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5mb287XG4gICAgICB9XG5cbiAgICAgIHN0b3JlLnJlZ2lzdGVyKGFjdGlvbklkLCBoYW5kbGVyKTtcblxuICAgICAgZXhwZWN0KHN0b3JlLl9oYW5kbGVyc1thY3Rpb25JZF0oKSkudG8uZXF1YWwoJ2JhcicpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2FjY2VwdHMgYWN0aW9ucyBpbnN0ZWFkIG9mIGFjdGlvbiBpZHMnLCAoKSA9PiB7XG4gICAgICBjbGFzcyBFeGFtcGxlQWN0aW9ucyBleHRlbmRzIEFjdGlvbnMge1xuICAgICAgICBnZXRGb28oKSB7XG4gICAgICAgICAgcmV0dXJuICdmb28nO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxldCBhY3Rpb25zID0gbmV3IEV4YW1wbGVBY3Rpb25zKCk7XG4gICAgICBsZXQgc3RvcmUgPSBuZXcgRXhhbXBsZVN0b3JlKCk7XG4gICAgICBsZXQgaGFuZGxlciA9IHNpbm9uLnNweSgpO1xuICAgICAgc3RvcmUucmVnaXN0ZXIoYWN0aW9ucy5nZXRGb28sIGhhbmRsZXIpO1xuXG4gICAgICBsZXQgbW9ja0FyZ3MgPSBbJ2ZvbycsICdiYXInXTtcbiAgICAgIHN0b3JlLl9oYW5kbGVyc1thY3Rpb25zLmdldEZvby5faWRdKC4uLm1vY2tBcmdzKTtcblxuICAgICAgZXhwZWN0KGhhbmRsZXIuY2FsbGVkV2l0aCguLi5tb2NrQXJncykpLnRvLmJlLnRydWU7XG4gICAgfSk7XG5cbiAgICBpdCgnaWdub3JlcyBub24tZnVuY3Rpb24gaGFuZGxlcnMnLCAoKSA9PiB7XG4gICAgICBsZXQgc3RvcmUgPSBuZXcgRXhhbXBsZVN0b3JlKCk7XG4gICAgICBleHBlY3Qoc3RvcmUucmVnaXN0ZXIuYmluZChzdG9yZSwgbnVsbCkpLm5vdC50by50aHJvdygpO1xuICAgIH0pO1xuXG4gIH0pO1xuXG4gIGRlc2NyaWJlKCcjcmVnaXN0ZXJBc3luYygpJywgKCkgPT4ge1xuICAgIGl0KCdyZWdpc3RlcnMgaGFuZGxlcnMgZm9yIGJlZ2luLCBzdWNjZXNzLCBhbmQgZmFpbHVyZSBvZiBhc3luYyBhY3Rpb24nLCBhc3luYyBmdW5jdGlvbigpIHtcbiAgICAgIGxldCBlcnJvciA9IG5ldyBFcnJvcigpO1xuXG4gICAgICBjbGFzcyBFeGFtcGxlQWN0aW9ucyBleHRlbmRzIEFjdGlvbnMge1xuICAgICAgICBhc3luYyBnZXRGb28obWVzc2FnZSwgX3N1Y2Nlc3MgPSB0cnVlKSB7XG4gICAgICAgICAgaWYgKCFfc3VjY2VzcykgdGhyb3cgZXJyb3I7XG5cbiAgICAgICAgICByZXR1cm4gbWVzc2FnZSArICcgc3VjY2Vzcyc7XG4gICAgICAgIH1cblxuICAgICAgICBhc3luYyBnZXRCYXIobWVzc2FnZSkge1xuICAgICAgICAgIHJldHVybiBtZXNzYWdlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNsYXNzIEV4YW1wbGVGbHV4IGV4dGVuZHMgRmx1eCB7XG4gICAgICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICAgIHN1cGVyKCk7XG4gICAgICAgICAgdGhpcy5jcmVhdGVBY3Rpb25zKCdleGFtcGxlJywgRXhhbXBsZUFjdGlvbnMpO1xuICAgICAgICAgIHRoaXMuY3JlYXRlU3RvcmUoJ2V4YW1wbGUnLCBFeGFtcGxlU3RvcmUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxldCBmbHV4ID0gbmV3IEV4YW1wbGVGbHV4KCk7XG4gICAgICBsZXQgYWN0aW9ucyA9IGZsdXguZ2V0QWN0aW9ucygnZXhhbXBsZScpO1xuICAgICAgbGV0IHN0b3JlID0gZmx1eC5nZXRTdG9yZSgnZXhhbXBsZScpO1xuXG4gICAgICBsZXQgaGFuZGxlciA9IHNpbm9uLnNweSgpO1xuICAgICAgc3RvcmUucmVnaXN0ZXIoYWN0aW9ucy5nZXRCYXIsIGhhbmRsZXIpO1xuXG4gICAgICBhd2FpdCBhY3Rpb25zLmdldEJhcignYmFyJyk7XG4gICAgICBleHBlY3QoaGFuZGxlci5jYWxsZWRPbmNlKS50by5iZS50cnVlO1xuICAgICAgZXhwZWN0KGhhbmRsZXIuZmlyc3RDYWxsLmFyZ3MpLnRvLmRlZXAuZXF1YWwoWydiYXInXSk7XG5cbiAgICAgIGxldCBiZWdpbiA9IHNpbm9uLnNweSgpO1xuICAgICAgbGV0IHN1Y2Nlc3MgPSBzaW5vbi5zcHkoKTtcbiAgICAgIGxldCBmYWlsdXJlID0gc2lub24uc3B5KCk7XG4gICAgICBzdG9yZS5yZWdpc3RlckFzeW5jKGFjdGlvbnMuZ2V0Rm9vLCBiZWdpbiwgc3VjY2VzcywgZmFpbHVyZSk7XG5cbiAgICAgIGF3YWl0IGFjdGlvbnMuZ2V0Rm9vKCdmb28nLCB0cnVlKTtcbiAgICAgIGV4cGVjdChiZWdpbi5jYWxsZWRPbmNlKS50by5iZS50cnVlO1xuICAgICAgZXhwZWN0KGJlZ2luLmZpcnN0Q2FsbC5hcmdzKS50by5kZWVwLmVxdWFsKFsnZm9vJywgdHJ1ZV0pO1xuICAgICAgZXhwZWN0KHN1Y2Nlc3MuY2FsbGVkT25jZSkudG8uYmUudHJ1ZTtcbiAgICAgIGV4cGVjdChzdWNjZXNzLmZpcnN0Q2FsbC5hcmdzWzBdKS50by5lcXVhbCgnZm9vIHN1Y2Nlc3MnKTtcbiAgICAgIGV4cGVjdChmYWlsdXJlLmNhbGxlZCkudG8uYmUuZmFsc2U7XG5cbiAgICAgIGF3YWl0IGV4cGVjdChhY3Rpb25zLmdldEZvbygnYmFyJywgZmFsc2UpKS50by5iZS5yZWplY3RlZDtcblxuICAgICAgZXhwZWN0KGJlZ2luLmNhbGxlZFR3aWNlKS50by5iZS50cnVlO1xuICAgICAgZXhwZWN0KHN1Y2Nlc3MuY2FsbGVkT25jZSkudG8uYmUudHJ1ZTtcbiAgICAgIGV4cGVjdChmYWlsdXJlLmNhbGxlZE9uY2UpLnRvLmJlLnRydWU7XG4gICAgICBleHBlY3QoZmFpbHVyZS5maXJzdENhbGwuYXJnc1swXSkudG8uZXF1YWwoZXJyb3IpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2lnbm9yZXMgbm9uLWZ1bmN0aW9uIGhhbmRsZXJzJywgKCkgPT4ge1xuICAgICAgbGV0IHN0b3JlID0gbmV3IEV4YW1wbGVTdG9yZSgpO1xuICAgICAgZXhwZWN0KHN0b3JlLnJlZ2lzdGVyQXN5bmMuYmluZChzdG9yZSwgbnVsbCkpLm5vdC50by50aHJvdygpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnI2hhbmRsZXIoKScsICgpID0+IHtcbiAgICBpdCgnZGVsZWdhdGVzIGRpc3BhdGNoZXMgdG8gcmVnaXN0ZXJlZCBoYW5kbGVycycsICgpID0+IHtcbiAgICAgIGxldCBzdG9yZSA9IG5ldyBFeGFtcGxlU3RvcmUoKTtcbiAgICAgIGxldCBoYW5kbGVyID0gc2lub24uc3B5KCk7XG4gICAgICBzdG9yZS5yZWdpc3RlcihhY3Rpb25JZCwgaGFuZGxlcik7XG5cbiAgICAgIC8vIFNpbXVsYXRlIGRpc3BhdGNoXG4gICAgICBsZXQgYm9keSA9IHsgZm9vOiAnYmFyJyB9O1xuICAgICAgc3RvcmUuaGFuZGxlcih7IGJvZHksIGFjdGlvbklkIH0pO1xuXG4gICAgICBleHBlY3QoaGFuZGxlci5jYWxsZWRXaXRoKGJvZHkpKS50by5iZS50cnVlO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnI3dhaXRGb3IoKScsICgpID0+IHtcbiAgICBpdCgnd2FpdHMgZm9yIG90aGVyIHN0b3JlcycsICgpID0+IHtcbiAgICAgIGxldCBmbHV4ID0gbmV3IEZsdXgoKTtcbiAgICAgIGxldCByZXN1bHQgPSBbXTtcblxuICAgICAgbGV0IHN0b3JlMjtcblxuICAgICAgY2xhc3MgU3RvcmUxIGV4dGVuZHMgU3RvcmUge1xuICAgICAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgICAgdGhpcy5yZWdpc3RlcihhY3Rpb25JZCwgZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICB0aGlzLndhaXRGb3Ioc3RvcmUyKTtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKDEpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNsYXNzIFN0b3JlMiBleHRlbmRzIFN0b3JlIHtcbiAgICAgICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICAgIHRoaXMucmVnaXN0ZXIoYWN0aW9uSWQsICgpID0+IHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKDIpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZsdXguY3JlYXRlU3RvcmUoJ3N0b3JlMScsIFN0b3JlMSk7XG4gICAgICBmbHV4LmNyZWF0ZVN0b3JlKCdzdG9yZTInLCBTdG9yZTIpO1xuXG4gICAgICBzdG9yZTIgPSBmbHV4LmdldFN0b3JlKCdzdG9yZTInKTtcblxuICAgICAgZmx1eC5kaXNwYXRjaChhY3Rpb25JZCwgJ2Zvb2JhcicpO1xuXG4gICAgICBleHBlY3QocmVzdWx0KS50by5kZWVwLmVxdWFsKFsyLCAxXSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCcjc2V0U3RhdGUoKScsICgpID0+IHtcbiAgICBpdCgnc2hhbGxvdyBtZXJnZXMgb2xkIHN0YXRlIHdpdGggbmV3IHN0YXRlJywgKCkgPT4ge1xuICAgICAgbGV0IHN0b3JlID0gbmV3IEV4YW1wbGVTdG9yZSgpO1xuXG4gICAgICBzdG9yZS5zZXRTdGF0ZSh7IGJhcjogJ2JheicgfSk7XG5cbiAgICAgIGV4cGVjdChzdG9yZS5zdGF0ZSkudG8uZGVlcC5lcXVhbCh7XG4gICAgICAgIGZvbzogJ2JhcicsXG4gICAgICAgIGJhcjogJ2JheicsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdlbWl0cyBjaGFuZ2UgZXZlbnQnLCAoKSA9PiB7XG4gICAgICBsZXQgc3RvcmUgPSBuZXcgRXhhbXBsZVN0b3JlKCk7XG4gICAgICBsZXQgbGlzdGVuZXIgPSBzaW5vbi5zcHkoKTtcbiAgICAgIHN0b3JlLmFkZExpc3RlbmVyKCdjaGFuZ2UnLCBsaXN0ZW5lcik7XG5cbiAgICAgIHN0b3JlLnNldFN0YXRlKHsgZm9vOiAnYmFyJyB9KTtcblxuICAgICAgZXhwZWN0KGxpc3RlbmVyLmNhbGxlZE9uY2UpLnRvLmJlLnRydWU7XG4gICAgfSk7XG5cbiAgICBpdCgnYmF0Y2hlcyBtdWx0aXBsZSBzdGF0ZSB1cGRhdGVzIHdpdGhpbiBhY3Rpb24gaGFuZGxlcicsICgpID0+IHtcbiAgICAgIGxldCBzdG9yZSA9IG5ldyBFeGFtcGxlU3RvcmUoKTtcbiAgICAgIGxldCBsaXN0ZW5lciA9IHNpbm9uLnNweSgpO1xuICAgICAgc3RvcmUuYWRkTGlzdGVuZXIoJ2NoYW5nZScsIGxpc3RlbmVyKTtcblxuICAgICAgc3RvcmUucmVnaXN0ZXIoYWN0aW9uSWQsIGZ1bmN0aW9uKCkge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHsgYmFyOiAnYmF6JyB9KTtcblxuICAgICAgICBleHBlY3QodGhpcy5zdGF0ZSkudG8uZGVlcC5lcXVhbCh7IGZvbzogJ2JhcicgfSk7XG4gICAgICAgIGV4cGVjdChsaXN0ZW5lci5jYWxsZWQpLnRvLmJlLmZhbHNlO1xuXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBiYXo6ICdmb28nIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIFNpbXVsYXRlIGRpc3BhdGNoXG4gICAgICBzdG9yZS5oYW5kbGVyKHsgYWN0aW9uSWQsIGJvZHk6ICdmb29iYXInIH0pO1xuXG4gICAgICBleHBlY3QobGlzdGVuZXIuY2FsbGVkT25jZSkudG8uYmUudHJ1ZTtcbiAgICAgIGV4cGVjdChzdG9yZS5zdGF0ZSkudG8uZGVlcC5lcXVhbCh7IGZvbzogJ2JhcicsIGJhcjogJ2JheicsIGJhejogJ2ZvbycgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnd2FybnMgaWYgY2FsbGVkIGZyb20gb3V0c2lkZSBhbiBhY3Rpb24gaGFuZGxlcicsICgpID0+IHtcbiAgICAgIGxldCBzdG9yZSA9IG5ldyBFeGFtcGxlU3RvcmUoKTtcbiAgICAgIGxldCB3YXJuID0gc2lub24uc3B5KGNvbnNvbGUsICd3YXJuJyk7XG5cbiAgICAgIHN0b3JlLnNldFN0YXRlKHsgZm9vOiAnYmFyJyB9KTtcblxuICAgICAgZXhwZWN0KHdhcm4uZmlyc3RDYWxsLmFyZ3NbMF0pLnRvLmVxdWFsKFxuICAgICAgICAnU3RvcmUjc2V0U3RhdGUoKSBjYWxsZWQgZnJvbSBvdXRzaWRlIGFuIGFjdGlvbiBoYW5kbGVyLiBUaGlzIGlzICdcbiAgICAgICsgJ2xpa2VseSBhIG1pc3Rha2UuIEZsdXggc3RvcmVzIHNob3VsZCBtYW5hZ2UgdGhlaXIgb3duIHN0YXRlLidcbiAgICAgICk7XG5cbiAgICAgIGNvbnNvbGUud2Fybi5yZXN0b3JlKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCcjcmVwbGFjZVN0YXRlKCknLCAoKSA9PiB7XG4gICAgaXQoJ3JlcGxhY2VzIG9sZCBzdGF0ZSB3aXRoIG5ldyBzdGF0ZScsICgpID0+IHtcbiAgICAgIGxldCBzdG9yZSA9IG5ldyBFeGFtcGxlU3RvcmUoKTtcblxuICAgICAgc3RvcmUucmVwbGFjZVN0YXRlKHsgYmFyOiAnYmF6JyB9KTtcblxuICAgICAgZXhwZWN0KHN0b3JlLnN0YXRlKS50by5kZWVwLmVxdWFsKHtcbiAgICAgICAgYmFyOiAnYmF6JyxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ2JhdGNoZXMgbXVsdGlwbGUgc3RhdGUgdXBkYXRlcyB3aXRoaW4gYWN0aW9uIGhhbmRsZXInLCAoKSA9PiB7XG4gICAgICBsZXQgc3RvcmUgPSBuZXcgRXhhbXBsZVN0b3JlKCk7XG4gICAgICBsZXQgbGlzdGVuZXIgPSBzaW5vbi5zcHkoKTtcbiAgICAgIHN0b3JlLmFkZExpc3RlbmVyKCdjaGFuZ2UnLCBsaXN0ZW5lcik7XG5cbiAgICAgIHN0b3JlLnJlZ2lzdGVyKGFjdGlvbklkLCBmdW5jdGlvbigpIHtcbiAgICAgICAgdGhpcy5yZXBsYWNlU3RhdGUoeyBiYXI6ICdiYXonIH0pO1xuXG4gICAgICAgIGV4cGVjdCh0aGlzLnN0YXRlKS50by5kZWVwLmVxdWFsKHsgZm9vOiAnYmFyJyB9KTtcbiAgICAgICAgZXhwZWN0KGxpc3RlbmVyLmNhbGxlZCkudG8uYmUuZmFsc2U7XG5cbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGZvbzogJ2JhcicgfSk7XG4gICAgICAgIHRoaXMucmVwbGFjZVN0YXRlKHsgYmF6OiAnZm9vJyB9KTtcbiAgICAgIH0pO1xuXG4gICAgICAvLyBTaW11bGF0ZSBkaXNwYXRjaFxuICAgICAgc3RvcmUuaGFuZGxlcih7IGFjdGlvbklkLCBib2R5OiAnZm9vYmFyJyB9KTtcblxuICAgICAgZXhwZWN0KGxpc3RlbmVyLmNhbGxlZE9uY2UpLnRvLmJlLnRydWU7XG4gICAgICBleHBlY3Qoc3RvcmUuc3RhdGUpLnRvLmRlZXAuZXF1YWwoeyBiYXo6ICdmb28nIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ2VtaXRzIGNoYW5nZSBldmVudCcsICgpID0+IHtcbiAgICAgIGxldCBzdG9yZSA9IG5ldyBFeGFtcGxlU3RvcmUoKTtcbiAgICAgIGxldCBsaXN0ZW5lciA9IHNpbm9uLnNweSgpO1xuICAgICAgc3RvcmUuYWRkTGlzdGVuZXIoJ2NoYW5nZScsIGxpc3RlbmVyKTtcblxuICAgICAgc3RvcmUucmVwbGFjZVN0YXRlKHsgZm9vOiAnYmFyJyB9KTtcblxuICAgICAgZXhwZWN0KGxpc3RlbmVyLmNhbGxlZE9uY2UpLnRvLmJlLnRydWU7XG4gICAgfSk7XG4gIH0pO1xuXG59KTtcbiJdfQ== |
@@ -109,3 +109,5 @@ "use strict"; | ||
} else { | ||
console.warn("You've attempted to perform the action " + ("" + this.constructor.name + "#" + methodName + ", but it hasn't been added ") + "to a Flux instance."); | ||
if (process.env.NODE_ENV !== "production") { | ||
console.warn("You've attempted to perform the action " + ("" + this.constructor.name + "#" + methodName + ", but it hasn't been added ") + "to a Flux instance."); | ||
} | ||
} | ||
@@ -123,3 +125,5 @@ | ||
} else { | ||
console.warn("You've attempted to perform the asynchronous action " + ("" + this.constructor.name + "#" + methodName + ", but it hasn't been added ") + "to a Flux instance."); | ||
if (process.env.NODE_ENV !== "production") { | ||
console.warn("You've attempted to perform the asynchronous action " + ("" + this.constructor.name + "#" + methodName + ", but it hasn't been added ") + "to a Flux instance."); | ||
} | ||
@@ -143,2 +147,2 @@ return promise; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9BY3Rpb25zLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFjTyxRQUFRLDJCQUFNLFVBQVU7O0lBRVYsT0FBTztBQUVmLFdBRlEsT0FBTzswQkFBUCxPQUFPOztBQUl4QixRQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsRUFBRSxDQUFDOztBQUUxQixRQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztBQUMvQyxTQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUMzQyxVQUFJLFVBQVUsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEMsVUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztLQUM5Qjs7QUFFRCxRQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7R0FDdkM7O3VCQWJrQixPQUFPO0FBZTFCLGdCQUFZO2FBQUEsd0JBQUc7O0FBQ2IsZUFBTyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFLO0FBQ2pFLGdCQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsTUFBSyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDMUMsaUJBQU8sTUFBTSxDQUFDO1NBQ2YsRUFBRSxFQUFFLENBQUMsQ0FBQztPQUNSOzs7O0FBRUQseUJBQXFCO2FBQUEsK0JBQUMsUUFBUSxFQUFFOztBQUM5QixlQUFPLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUMxRCxNQUFNLENBQUMsVUFBQSxJQUFJO2lCQUNWLElBQUksS0FBSyxhQUFhLElBQ3RCLE9BQU8sTUFBSyxJQUFJLENBQUMsS0FBSyxVQUFVO1NBQUEsQ0FDakMsQ0FBQztPQUNMOzs7O0FBRUQsZUFBVzthQUFBLHFCQUFDLFVBQVUsRUFBRTs7QUFDdEIsWUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3RDLFlBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7O0FBRWhELFlBQUksTUFBTSxHQUFHLFlBQWE7NENBQVQsSUFBSTtBQUFKLGdCQUFJOzs7QUFDbkIsY0FBSSxJQUFJLEdBQUcsY0FBYyxDQUFDLEtBQUssUUFBTyxJQUFJLENBQUMsQ0FBQzs7QUFFNUMsY0FBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7QUFDbkIsZ0JBQUksT0FBTyxHQUFHLElBQUksQ0FBQztBQUNuQixtQkFBTyxNQUFLLGNBQWMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztXQUNqRSxNQUFNO0FBQ0wsbUJBQU8sTUFBSyxTQUFTLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7V0FDekQ7U0FDRixDQUFDOztBQUVGLGNBQU0sQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDOztBQUV0QixZQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsTUFBTSxDQUFDO09BQzNCOzs7O0FBTUQsbUJBQWU7Ozs7OzthQUFBLHlCQUFDLFVBQVUsRUFBRTtBQUMxQixvQkFBVSxJQUFJLENBQUMsT0FBTyxTQUFJLFVBQVUsQ0FBRztPQUN4Qzs7OztBQUVELGFBQVM7YUFBQSxtQkFBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7QUFDMUMsWUFBSSxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssVUFBVSxFQUFFO0FBQ3ZDLGNBQUksT0FBTyxJQUFJLEtBQUssV0FBVyxFQUFFO0FBQy9CLGdCQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7V0FDckM7U0FDRixNQUFNO0FBQ0wsaUJBQU8sQ0FBQyxJQUFJLENBQ1Ysa0RBQ0csSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLFNBQUksVUFBVSxpQ0FBNkIsd0JBQzlDLENBQ3RCLENBQUM7U0FDSDs7QUFFRCxlQUFPLElBQUksQ0FBQztPQUNiOzs7O0FBRUQsa0JBQWM7YUFBQSx3QkFBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7QUFDbEQsWUFBSSxPQUFPLElBQUksQ0FBQyxhQUFhLEtBQUssVUFBVSxFQUFFO0FBQzVDLGlCQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNwRCxNQUFNO0FBQ0wsaUJBQU8sQ0FBQyxJQUFJLENBQ1YsK0RBQ0csSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLFNBQUksVUFBVSxpQ0FBNkIsd0JBQzlDLENBQ3RCLENBQUM7O0FBRUYsaUJBQU8sT0FBTyxDQUFDO1NBQ2hCO09BRUY7Ozs7OztTQXZGa0IsT0FBTzs7O2lCQUFQLE9BQU87OztBQTJGNUIsU0FBUyxTQUFTLENBQUMsS0FBSyxFQUFFO0FBQ3hCLFNBQU8sS0FBSyxJQUFJLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUM7Q0FDbEQiLCJmaWxlIjoic3JjL0FjdGlvbnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFjdGlvbnNcbiAqXG4gKiBJbnN0YW5jZXMgb2YgdGhlIEFjdGlvbnMgY2xhc3MgcmVwcmVzZW50IGEgc2V0IG9mIGFjdGlvbnMuIChJbiBGbHV4IHBhcmxhbmNlLFxuICogdGhlc2UgbWlnaHQgYmUgbW9yZSBhY2N1cmF0ZWx5IGRlbm90ZWQgYXMgQWN0aW9uIENyZWF0b3JzLCB3aGlsZSBBY3Rpb25cbiAqIHJlZmVycyB0byB0aGUgcGF5bG9hZCBzZW50IHRvIHRoZSBkaXNwYXRjaGVyLCBidXQgdGhpcyBpcy4uLiBjb25mdXNpbmcuIFdlXG4gKiB3aWxsIHVzZSBBY3Rpb24gdG8gbWVhbiB0aGUgZnVuY3Rpb24geW91IGNhbGwgdG8gdHJpZ2dlciBhIGRpc3BhdGNoLilcbiAqXG4gKiBDcmVhdGUgYWN0aW9ucyBieSBleHRlbmRpbmcgZnJvbSB0aGUgYmFzZSBBY3Rpb25zIGNsYXNzIGFuZCBhZGRpbmcgbWV0aG9kcy5cbiAqIEFsbCBtZXRob2RzIG9uIHRoZSBwcm90b3R5cGUgKGV4Y2VwdCB0aGUgY29uc3RydWN0b3IpIHdpbGwgYmVcbiAqIGNvbnZlcnRlZCBpbnRvIGFjdGlvbnMuIFRoZSByZXR1cm4gdmFsdWUgb2YgYW4gYWN0aW9uIGlzIHVzZWQgYXMgdGhlIGJvZHlcbiAqIG9mIHRoZSBwYXlsb2FkIHNlbnQgdG8gdGhlIGRpc3BhdGNoZXIuXG4gKi9cblxuaW1wb3J0IHVuaXF1ZUlkIGZyb20gJ3VuaXF1ZWlkJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQWN0aW9ucyB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG5cbiAgICB0aGlzLl9iYXNlSWQgPSB1bmlxdWVJZCgpO1xuXG4gICAgbGV0IG1ldGhvZE5hbWVzID0gdGhpcy5fZ2V0QWN0aW9uTWV0aG9kTmFtZXMoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1ldGhvZE5hbWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgbWV0aG9kTmFtZSA9IG1ldGhvZE5hbWVzW2ldO1xuICAgICAgdGhpcy5fd3JhcEFjdGlvbihtZXRob2ROYW1lKTtcbiAgICB9XG5cbiAgICB0aGlzLmdldENvbnN0YW50cyA9IHRoaXMuZ2V0QWN0aW9uSWRzO1xuICB9XG5cbiAgZ2V0QWN0aW9uSWRzKCkge1xuICAgIHJldHVybiB0aGlzLl9nZXRBY3Rpb25NZXRob2ROYW1lcygpLnJlZHVjZSgocmVzdWx0LCBhY3Rpb25OYW1lKSA9PiB7XG4gICAgICByZXN1bHRbYWN0aW9uTmFtZV0gPSB0aGlzW2FjdGlvbk5hbWVdLl9pZDtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSwge30pO1xuICB9XG5cbiAgX2dldEFjdGlvbk1ldGhvZE5hbWVzKGluc3RhbmNlKSB7XG4gICAgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMuY29uc3RydWN0b3IucHJvdG90eXBlKVxuICAgICAgLmZpbHRlcihuYW1lID0+XG4gICAgICAgIG5hbWUgIT09ICdjb25zdHJ1Y3RvcicgJiZcbiAgICAgICAgdHlwZW9mIHRoaXNbbmFtZV0gPT09ICdmdW5jdGlvbidcbiAgICAgICk7XG4gIH1cblxuICBfd3JhcEFjdGlvbihtZXRob2ROYW1lKSB7XG4gICAgbGV0IG9yaWdpbmFsTWV0aG9kID0gdGhpc1ttZXRob2ROYW1lXTtcbiAgICBsZXQgYWN0aW9uSWQgPSB0aGlzLl9jcmVhdGVBY3Rpb25JZChtZXRob2ROYW1lKTtcblxuICAgIGxldCBhY3Rpb24gPSAoLi4uYXJncykgPT4ge1xuICAgICAgbGV0IGJvZHkgPSBvcmlnaW5hbE1ldGhvZC5hcHBseSh0aGlzLCBhcmdzKTtcblxuICAgICAgaWYgKGlzUHJvbWlzZShib2R5KSkge1xuICAgICAgICBsZXQgcHJvbWlzZSA9IGJvZHk7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNwYXRjaEFzeW5jKGFjdGlvbklkLCBwcm9taXNlLCBhcmdzLCBtZXRob2ROYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNwYXRjaChhY3Rpb25JZCwgYm9keSwgYXJncywgbWV0aG9kTmFtZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGFjdGlvbi5faWQgPSBhY3Rpb25JZDtcblxuICAgIHRoaXNbbWV0aG9kTmFtZV0gPSBhY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIHVuaXF1ZSBzdHJpbmcgY29uc3RhbnQgZm9yIGFuIGFjdGlvbiBtZXRob2QsIHVzaW5nXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2ROYW1lIC0gTmFtZSBvZiB0aGUgYWN0aW9uIG1ldGhvZFxuICAgKi9cbiAgX2NyZWF0ZUFjdGlvbklkKG1ldGhvZE5hbWUpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5fYmFzZUlkfS0ke21ldGhvZE5hbWV9YDtcbiAgfVxuXG4gIF9kaXNwYXRjaChhY3Rpb25JZCwgYm9keSwgYXJncywgbWV0aG9kTmFtZSkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5kaXNwYXRjaCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaWYgKHR5cGVvZiBib2R5ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICB0aGlzLmRpc3BhdGNoKGFjdGlvbklkLCBib2R5LCBhcmdzKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgWW91J3ZlIGF0dGVtcHRlZCB0byBwZXJmb3JtIHRoZSBhY3Rpb24gYFxuICAgICAgKyBgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9IyR7bWV0aG9kTmFtZX0sIGJ1dCBpdCBoYXNuJ3QgYmVlbiBhZGRlZCBgXG4gICAgICArIGB0byBhIEZsdXggaW5zdGFuY2UuYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYm9keTtcbiAgfVxuXG4gIF9kaXNwYXRjaEFzeW5jKGFjdGlvbklkLCBwcm9taXNlLCBhcmdzLCBtZXRob2ROYW1lKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLmRpc3BhdGNoQXN5bmMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiB0aGlzLmRpc3BhdGNoQXN5bmMoYWN0aW9uSWQsIHByb21pc2UsIGFyZ3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBZb3UndmUgYXR0ZW1wdGVkIHRvIHBlcmZvcm0gdGhlIGFzeW5jaHJvbm91cyBhY3Rpb24gYFxuICAgICAgKyBgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9IyR7bWV0aG9kTmFtZX0sIGJ1dCBpdCBoYXNuJ3QgYmVlbiBhZGRlZCBgXG4gICAgICArIGB0byBhIEZsdXggaW5zdGFuY2UuYFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIHByb21pc2U7XG4gICAgfVxuXG4gIH1cblxufVxuXG5mdW5jdGlvbiBpc1Byb21pc2UodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlICYmIHR5cGVvZiB2YWx1ZS50aGVuID09PSAnZnVuY3Rpb24nO1xufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,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LFFBQVEsS0FBSyxZQUFZLEVBQUU7QUFDekMsbUJBQU8sQ0FBQyxJQUFJLENBQ1Ysa0RBQ0csSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLFNBQUksVUFBVSxpQ0FBNkIsd0JBQzlDLENBQ3RCLENBQUM7V0FDSDtTQUNGOztBQUVELGVBQU8sSUFBSSxDQUFDO09BQ2I7Ozs7QUFFRCxrQkFBYzthQUFBLHdCQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtBQUNsRCxZQUFJLE9BQU8sSUFBSSxDQUFDLGFBQWEsS0FBSyxVQUFVLEVBQUU7QUFDNUMsaUJBQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3BELE1BQU07QUFDTCxjQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLFlBQVksRUFBRTtBQUN6QyxtQkFBTyxDQUFDLElBQUksQ0FDViwrREFDRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksU0FBSSxVQUFVLGlDQUE2Qix3QkFDOUMsQ0FDdEIsQ0FBQztXQUNIOztBQUVELGlCQUFPLE9BQU8sQ0FBQztTQUNoQjtPQUVGOzs7Ozs7U0EzRmtCLE9BQU87OztpQkFBUCxPQUFPOzs7QUErRjVCLFNBQVMsU0FBUyxDQUFDLEtBQUssRUFBRTtBQUN4QixTQUFPLEtBQUssSUFBSSxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDO0NBQ2xEIiwiZmlsZSI6InNyYy9BY3Rpb25zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBY3Rpb25zXG4gKlxuICogSW5zdGFuY2VzIG9mIHRoZSBBY3Rpb25zIGNsYXNzIHJlcHJlc2VudCBhIHNldCBvZiBhY3Rpb25zLiAoSW4gRmx1eCBwYXJsYW5jZSxcbiAqIHRoZXNlIG1pZ2h0IGJlIG1vcmUgYWNjdXJhdGVseSBkZW5vdGVkIGFzIEFjdGlvbiBDcmVhdG9ycywgd2hpbGUgQWN0aW9uXG4gKiByZWZlcnMgdG8gdGhlIHBheWxvYWQgc2VudCB0byB0aGUgZGlzcGF0Y2hlciwgYnV0IHRoaXMgaXMuLi4gY29uZnVzaW5nLiBXZVxuICogd2lsbCB1c2UgQWN0aW9uIHRvIG1lYW4gdGhlIGZ1bmN0aW9uIHlvdSBjYWxsIHRvIHRyaWdnZXIgYSBkaXNwYXRjaC4pXG4gKlxuICogQ3JlYXRlIGFjdGlvbnMgYnkgZXh0ZW5kaW5nIGZyb20gdGhlIGJhc2UgQWN0aW9ucyBjbGFzcyBhbmQgYWRkaW5nIG1ldGhvZHMuXG4gKiBBbGwgbWV0aG9kcyBvbiB0aGUgcHJvdG90eXBlIChleGNlcHQgdGhlIGNvbnN0cnVjdG9yKSB3aWxsIGJlXG4gKiBjb252ZXJ0ZWQgaW50byBhY3Rpb25zLiBUaGUgcmV0dXJuIHZhbHVlIG9mIGFuIGFjdGlvbiBpcyB1c2VkIGFzIHRoZSBib2R5XG4gKiBvZiB0aGUgcGF5bG9hZCBzZW50IHRvIHRoZSBkaXNwYXRjaGVyLlxuICovXG5cbmltcG9ydCB1bmlxdWVJZCBmcm9tICd1bmlxdWVpZCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFjdGlvbnMge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuXG4gICAgdGhpcy5fYmFzZUlkID0gdW5pcXVlSWQoKTtcblxuICAgIGxldCBtZXRob2ROYW1lcyA9IHRoaXMuX2dldEFjdGlvbk1ldGhvZE5hbWVzKCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtZXRob2ROYW1lcy5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IG1ldGhvZE5hbWUgPSBtZXRob2ROYW1lc1tpXTtcbiAgICAgIHRoaXMuX3dyYXBBY3Rpb24obWV0aG9kTmFtZSk7XG4gICAgfVxuXG4gICAgdGhpcy5nZXRDb25zdGFudHMgPSB0aGlzLmdldEFjdGlvbklkcztcbiAgfVxuXG4gIGdldEFjdGlvbklkcygpIHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0QWN0aW9uTWV0aG9kTmFtZXMoKS5yZWR1Y2UoKHJlc3VsdCwgYWN0aW9uTmFtZSkgPT4ge1xuICAgICAgcmVzdWx0W2FjdGlvbk5hbWVdID0gdGhpc1thY3Rpb25OYW1lXS5faWQ7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sIHt9KTtcbiAgfVxuXG4gIF9nZXRBY3Rpb25NZXRob2ROYW1lcyhpbnN0YW5jZSkge1xuICAgIHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSlcbiAgICAgIC5maWx0ZXIobmFtZSA9PlxuICAgICAgICBuYW1lICE9PSAnY29uc3RydWN0b3InICYmXG4gICAgICAgIHR5cGVvZiB0aGlzW25hbWVdID09PSAnZnVuY3Rpb24nXG4gICAgICApO1xuICB9XG5cbiAgX3dyYXBBY3Rpb24obWV0aG9kTmFtZSkge1xuICAgIGxldCBvcmlnaW5hbE1ldGhvZCA9IHRoaXNbbWV0aG9kTmFtZV07XG4gICAgbGV0IGFjdGlvbklkID0gdGhpcy5fY3JlYXRlQWN0aW9uSWQobWV0aG9kTmFtZSk7XG5cbiAgICBsZXQgYWN0aW9uID0gKC4uLmFyZ3MpID0+IHtcbiAgICAgIGxldCBib2R5ID0gb3JpZ2luYWxNZXRob2QuYXBwbHkodGhpcywgYXJncyk7XG5cbiAgICAgIGlmIChpc1Byb21pc2UoYm9keSkpIHtcbiAgICAgICAgbGV0IHByb21pc2UgPSBib2R5O1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzcGF0Y2hBc3luYyhhY3Rpb25JZCwgcHJvbWlzZSwgYXJncywgbWV0aG9kTmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzcGF0Y2goYWN0aW9uSWQsIGJvZHksIGFyZ3MsIG1ldGhvZE5hbWUpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBhY3Rpb24uX2lkID0gYWN0aW9uSWQ7XG5cbiAgICB0aGlzW21ldGhvZE5hbWVdID0gYWN0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSB1bmlxdWUgc3RyaW5nIGNvbnN0YW50IGZvciBhbiBhY3Rpb24gbWV0aG9kLCB1c2luZ1xuICAgKiBAcGFyYW0ge3N0cmluZ30gbWV0aG9kTmFtZSAtIE5hbWUgb2YgdGhlIGFjdGlvbiBtZXRob2RcbiAgICovXG4gIF9jcmVhdGVBY3Rpb25JZChtZXRob2ROYW1lKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuX2Jhc2VJZH0tJHttZXRob2ROYW1lfWA7XG4gIH1cblxuICBfZGlzcGF0Y2goYWN0aW9uSWQsIGJvZHksIGFyZ3MsIG1ldGhvZE5hbWUpIHtcbiAgICBpZiAodHlwZW9mIHRoaXMuZGlzcGF0Y2ggPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGlmICh0eXBlb2YgYm9keSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaChhY3Rpb25JZCwgYm9keSwgYXJncyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgWW91J3ZlIGF0dGVtcHRlZCB0byBwZXJmb3JtIHRoZSBhY3Rpb24gYFxuICAgICAgICArIGAke3RoaXMuY29uc3RydWN0b3IubmFtZX0jJHttZXRob2ROYW1lfSwgYnV0IGl0IGhhc24ndCBiZWVuIGFkZGVkIGBcbiAgICAgICAgKyBgdG8gYSBGbHV4IGluc3RhbmNlLmBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYm9keTtcbiAgfVxuXG4gIF9kaXNwYXRjaEFzeW5jKGFjdGlvbklkLCBwcm9taXNlLCBhcmdzLCBtZXRob2ROYW1lKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLmRpc3BhdGNoQXN5bmMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiB0aGlzLmRpc3BhdGNoQXN5bmMoYWN0aW9uSWQsIHByb21pc2UsIGFyZ3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgYFlvdSd2ZSBhdHRlbXB0ZWQgdG8gcGVyZm9ybSB0aGUgYXN5bmNocm9ub3VzIGFjdGlvbiBgXG4gICAgICAgICsgYCR7dGhpcy5jb25zdHJ1Y3Rvci5uYW1lfSMke21ldGhvZE5hbWV9LCBidXQgaXQgaGFzbid0IGJlZW4gYWRkZWQgYFxuICAgICAgICArIGB0byBhIEZsdXggaW5zdGFuY2UuYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcHJvbWlzZTtcbiAgICB9XG5cbiAgfVxuXG59XG5cbmZ1bmN0aW9uIGlzUHJvbWlzZSh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUgJiYgdHlwZW9mIHZhbHVlLnRoZW4gPT09ICdmdW5jdGlvbic7XG59XG4iXX0= |
@@ -92,6 +92,2 @@ "use strict"; | ||
before(function () { | ||
jsdom(); | ||
}); | ||
it("gets Flux property from either props or context", function () { | ||
@@ -222,2 +218,2 @@ var flux = new Flux(); | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGRvbnMvX190ZXN0c19fL0ZsdXhDb21wb25lbnQtdGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7Ozs7Ozs7Ozs7OztvQkFFMkIsWUFBWTs7SUFBM0MsT0FBTyxTQUFQLE9BQU87SUFBRSxLQUFLLFNBQUwsS0FBSztJQUFFLE9BQU8sU0FBUCxPQUFPO0lBRXpCLEtBQUssMkJBQU0sY0FBYzs7SUFDMUIsU0FBUyxHQUFLLEtBQUssQ0FBQyxNQUFNLENBQTFCLFNBQVM7SUFFUixhQUFhLDJCQUFNLGtCQUFrQjs7QUFFNUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxZQUFNO01BRXhCLFdBQVcsY0FBUyxPQUFPO2FBQTNCLFdBQVc7NEJBQVgsV0FBVzs7VUFBUyxPQUFPO0FBQVAsZUFBTzs7OztjQUEzQixXQUFXLEVBQVMsT0FBTzs7eUJBQTNCLFdBQVc7QUFDZixrQkFBWTtlQUFBLHNCQUFDLFNBQVMsRUFBRTtBQUN0QixpQkFBTyxTQUFTLENBQUM7U0FDbEI7Ozs7OztXQUhHLFdBQVc7S0FBUyxPQUFPOztNQU0zQixTQUFTLGNBQVMsS0FBSztBQUNoQixhQURQLFNBQVMsQ0FDRCxJQUFJOzRCQURaLFNBQVM7O0FBRVgsaUNBRkUsU0FBUyw2Q0FFSDs7QUFFUixVQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzFDLFVBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQzs7QUFFakUsVUFBSSxDQUFDLEtBQUssR0FBRztBQUNYLGlCQUFTLEVBQUUsSUFBSTtPQUNoQixDQUFDO0tBQ0g7O2NBVkcsU0FBUyxFQUFTLEtBQUs7O3lCQUF2QixTQUFTO0FBWWIsd0JBQWtCO2VBQUEsNEJBQUMsU0FBUyxFQUFFO0FBQzVCLGNBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLEVBQVQsU0FBUyxFQUFF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Q0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUN4RSxDQUFDLEVBQUUsU0FBTSxDQUFDLDZDQUE2QyxDQUFDLENBQUM7R0FDM0QsQ0FBQyxDQUFDOztBQUVILElBQUUsQ0FBQyxrQ0FBa0MsRUFBRSxZQUFNO0FBQzNDLFFBQUksSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7QUFDdEIsUUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQzs7QUFFdEMsUUFBSSxJQUFJLEdBQUcsU0FBUyxDQUFDLGtCQUFrQixDQUNyQztBQUFDLG1CQUFhO1FBQUMsSUFBSSxFQUFFLElBQUksQUFBQyxFQUFDLGVBQWUsRUFBQyxNQUFNO01BQy9DO0FBQUMscUJBQWE7O1FBQ1osZ0NBQU87T0FDTztLQUNGLENBQ2pCLENBQUM7O0FBRUYsUUFBSSxHQUFHLEdBQUcsU0FBUyxDQUFDLCtCQUErQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQzs7QUFFakUsV0FBTyxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBQ3ZDLFVBQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUN2RCxXQUFPLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDdkMsVUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0dBQ3hELENBQUMsQ0FBQztDQUVKLENBQUMsQ0FBQyIsImZpbGUiOiJzcmMvYWRkb25zL19fdGVzdHNfXy9GbHV4Q29tcG9uZW50LXRlc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCB7IEZsdW1tb3gsIFN0b3JlLCBBY3Rpb25zIH0gZnJvbSAnLi4vLi4vRmx1eCc7XG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdC9hZGRvbnMnO1xubGV0IHsgVGVzdFV0aWxzIH0gPSBSZWFjdC5hZGRvbnM7XG5cbmltcG9ydCBGbHV4Q29tcG9uZW50IGZyb20gJy4uL0ZsdXhDb21wb25lbnQnO1xuXG5kZXNjcmliZSgnRmx1eENvbXBvbmVudCcsICgpID0+IHtcblxuICBjbGFzcyBUZXN0QWN0aW9ucyBleHRlbmRzIEFjdGlvbnMge1xuICAgIGdldFNvbWV0aGluZyhzb21ldGhpbmcpIHtcbiAgICAgIHJldHVybiBzb21ldGhpbmc7XG4gICAgfVxuICB9XG5cbiAgY2xhc3MgVGVzdFN0b3JlIGV4dGVuZHMgU3RvcmUge1xuICAgIGNvbnN0cnVjdG9yKGZsdXgpIHtcbiAgICAgIHN1cGVyKCk7XG5cbiAgICAgIGxldCB0ZXN0QWN0aW9ucyA9IGZsdXguZ2V0QWN0aW9ucygndGVzdCcpO1xuICAgICAgdGhpcy5yZWdpc3Rlcih0ZXN0QWN0aW9ucy5nZXRTb21ldGhpbmcsIHRoaXMuaGFuZGxlR2V0U29tZXRoaW5nKTtcblxuICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgc29tZXRoaW5nOiBudWxsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGhhbmRsZUdldFNvbWV0aGluZyhzb21ldGhpbmcpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBzb21ldGhpbmcgfSk7XG4gICAgfVxuICB9XG5cbiAgY2xhc3MgRmx1eCBleHRlbmRzIEZsdW1tb3gge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgc3VwZXIoKTtcblxuICAgICAgdGhpcy5jcmVhdGVBY3Rpb25zKCd0ZXN0JywgVGVzdEFjdGlvbnMpO1xuICAgICAgdGhpcy5jcmVhdGVTdG9yZSgndGVzdCcsIFRlc3RTdG9yZSwgdGhpcyk7XG4gICAgfVxuICB9XG5cbiAgYmVmb3JlKCgpID0+IHtcbiAgICBqc2RvbSgpO1xuICB9KTtcblxuICBpdCgnZ2V0cyBGbHV4IHByb3BlcnR5IGZyb20gZWl0aGVyIHByb3BzIG9yIGNvbnRleHQnLCAoKSA9PiB7XG4gICAgbGV0IGZsdXggPSBuZXcgRmx1eCgpO1xuICAgIGxldCBjb250ZXh0Q29tcG9uZW50LCBwcm9wc0NvbXBvbmVudDtcblxuICAgIFJlYWN0LndpdGhDb250ZXh0KHsgZmx1eCB9LCAoKSA9PiB7XG4gICAgICBjb250ZXh0Q29tcG9uZW50ID0gVGVzdFV0aWxzLnJlbmRlckludG9Eb2N1bWVudCg8Rmx1eENvbXBvbmVudCAvPik7XG4gICAgfSk7XG5cbiAgICBwcm9wc0NvbXBvbmVudCA9IFRlc3RVdGlscy5yZW5kZXJJbnRvRG9jdW1lbnQoXG4gICAgICA8Rmx1eENvbXBvbmVudCBmbHV4PXtmbHV4fSAvPlxuICAgICk7XG5cbiAgICBleHBlY3QoY29udGV4dENvbXBvbmVudC5mbHV4KS50by5iZS5hbi5pbnN0YW5jZW9mKEZsdW1tb3gpO1xuICAgIGV4cGVjdChwcm9wc0NvbXBvbmVudC5mbHV4KS50by5iZS5hbi5pbnN0YW5jZW9mKEZsdW1tb3gpO1xuICB9KTtcblxuICBpdCgncGFzc2VzIGNvbm5lY3RUb1N0b3JlIHByb3AgdG8gRmx1eE1peGluXFwncyBjb25uZWN0VG9TdG9yZXMoKScsICgpID0+IHtcbiAgICBsZXQgZmx1eCA9IG5ldyBGbHV4KCk7XG4gICAgbGV0IGFjdGlvbnMgPSBmbHV4LmdldEFjdGlvbnMoJ3Rlc3QnKTtcblxuICAgIGxldCBjb21wb25lbnQgPSBUZXN0VXRpbHMucmVuZGVySW50b0RvY3VtZW50KFxuICAgICAgPEZsdXhDb21wb25lbnQgZmx1eD17Zmx1eH0gY29ubmVjdFRvU3RvcmVzPVwidGVzdFwiIC8+XG4gICAgKTtcblxuICAgIGFjdGlvbnMuZ2V0U29tZXRoaW5nKCdzb21ldGhpbmcgZ29vZCcpO1xuICAgIGV4cGVjdChjb21wb25lbnQuc3RhdGUuc29tZXRoaW5nKS50by5kZWVwLmVxdWFsKCdzb21ldGhpbmcgZ29vZCcpO1xuICAgIGFjdGlvbnMuZ2V0U29tZXRoaW5nKCdzb21ldGhpbmcgZWxzZScpO1xuICAgIGV4cGVjdChjb21wb25lbnQuc3RhdGUuc29tZXRoaW5nKS50by5kZWVwLmVxdWFsKCdzb21ldGhpbmcgZWxzZScpO1xuICB9KTtcblxuICBpdCgnaW5qZWN0cyBjaGlsZHJlbiB3aXRoIGZsdXggcHJvcCcsICgpID0+IHtcbiAgICBsZXQgZmx1eCA9IG5ldyBGbHV4KCk7XG4gICAgbGV0IGFjdGlvbnMgPSBmbHV4LmdldEFjdGlvbnMoJ3Rlc3QnKTtcblxuICAgIGxldCB0cmVlID0gVGVzdFV0aWxzLnJlbmRlckludG9Eb2N1bWVudChcbiAgICAgIDxGbHV4Q29tcG9uZW50IGZsdXg9e2ZsdXh9PlxuICAgICAgICA8ZGl2IC8+XG4gICAgICA8L0ZsdXhDb21wb25lbnQ+XG4gICAgKTtcblxuICAgIGxldCBkaXYgPSBUZXN0VXRpbHMuZmluZFJlbmRlcmVkRE9NQ29tcG9uZW50V2l0aFRhZyh0cmVlLCAnZGl2Jyk7XG5cbiAgICBleHBlY3QoZGl2LnByb3BzLmZsdXgpLnRvLmVxdWFsKGZsdXgpO1xuICB9KTtcblxuICBpdCgnaW5qZWN0cyBjaGlsZHJlbiB3aXRoIHByb3BzIGNvcnJlc3BvbmRpbmcgdG8gY29tcG9uZW50IHN0YXRlJywgKCkgPT4ge1xuICAgIGxldCBmbHV4ID0gbmV3IEZsdXgoKTtcbiAgICBsZXQgYWN0aW9ucyA9IGZsdXguZ2V0QWN0aW9ucygndGVzdCcpO1xuXG4gICAgbGV0IHRyZWUgPSBUZXN0VXRpbHMucmVuZGVySW50b0RvY3VtZW50KFxuICAgICAgPEZsdXhDb21wb25lbnQgZmx1eD17Zmx1eH0gY29ubmVjdFRvU3RvcmVzPVwidGVzdFwiPlxuICAgICAgICA8ZGl2IC8+XG4gICAgICA8L0ZsdXhDb21wb25lbnQ+XG4gICAgKTtcblxuICAgIGxldCBkaXYgPSBUZXN0VXRpbHMuZmluZFJlbmRlcmVkRE9NQ29tcG9uZW50V2l0aFRhZyh0cmVlLCAnZGl2Jyk7XG5cbiAgICBhY3Rpb25zLmdldFNvbWV0aGluZygnc29tZXRoaW5nIGdvb2QnKTtcbiAgICBleHBlY3QoZGl2LnByb3BzLnNvbWV0aGluZykudG8uZXF1YWwoJ3NvbWV0aGluZyBnb29kJyk7XG4gICAgYWN0aW9ucy5nZXRTb21ldGhpbmcoJ3NvbWV0aGluZyBlbHNlJyk7XG4gICAgZXhwZWN0KGRpdi5wcm9wcy5zb21ldGhpbmcpLnRvLmVxdWFsKCdzb21ldGhpbmcgZWxzZScpO1xuICB9KTtcblxuICBpdCgnaW5qZWN0cyBjaGlsZHJlbiB3aXRoIGFueSBleHRyYSBwcm9wcycsICgpID0+IHtcbiAgICBsZXQgZmx1eCA9IG5ldyBGbHV4KCk7XG5cbiAgICBsZXQgdHJlZSA9IFRlc3RVdGlscy5yZW5kZXJJbnRvRG9jdW1lbnQoXG4gICAgICA8Rmx1eENvbXBvbmVudCBmbHV4PXtmbHV4fSBleHRyYVByb3A9XCJoZWxsb1wiPlxuICAgICAgICA8ZGl2IC8+XG4gICAgICA8L0ZsdXhDb21wb25lbnQ+XG4gICAgKTtcblxuICAgIGxldCBkaXYgPSBUZXN0VXRpbHMuZmluZFJlbmRlcmVkRE9NQ29tcG9uZW50V2l0aFRhZyh0cmVlLCAnZGl2Jyk7XG5cbiAgICBleHBlY3QoZGl2LnByb3BzLmV4dHJhUHJvcCkudG8uZXF1YWwoJ2hlbGxvJyk7XG4gICAgZXhwZWN0KE9iamVjdC5rZXlzKGRpdi5wcm9wcykpLnRvLmRlZXAuZXF1YWwoWydmbHV4JywgJ2V4dHJhUHJvcCddKTtcbiAgfSk7XG5cbiAgaXQoJ3dyYXBzIG11bHRpcGxlIGNoaWxkcmVuIGluIHNwYW4gdGFnJywgKCkgPT4ge1xuICAgIGxldCBmbHV4ID0gbmV3IEZsdXgoKTtcblxuICAgIGxldCB0cmVlID0gVGVzdFV0aWxzLnJlbmRlckludG9Eb2N1bWVudChcbiAgICAgIDxGbHV4Q29tcG9uZW50IGZsdXg9e2ZsdXh9PlxuICAgICAgICA8ZGl2IC8+XG4gICAgICAgIDxkaXYgLz5cbiAgICAgIDwvRmx1eENvbXBvbmVudD5cbiAgICApO1xuXG4gICAgbGV0IHdyYXBwZXIgPSBUZXN0VXRpbHMuZmluZFJlbmRlcmVkRE9NQ29tcG9uZW50V2l0aFRhZyh0cmVlLCAnc3BhbicpO1xuICAgIGxldCBkaXZzID0gVGVzdFV0aWxzLnNjcnlSZW5kZXJlZERPTUNvbXBvbmVudHNXaXRoVGFnKHRyZWUsICdkaXYnKTtcblxuICAgIGV4cGVjdChkaXZzLmxlbmd0aCkudG8uZXF1YWwoMik7XG4gIH0pO1xuXG4gIGl0KCdkb2VzIG5vdCB3cmFwIHNpbmdsZSBjaGlsZCBpbiBzcGFuIHRhZycsICgpID0+IHtcbiAgICBsZXQgZmx1eCA9IG5ldyBGbHV4KCk7XG5cbiAgICBsZXQgdHJlZSA9IFRlc3RVdGlscy5yZW5kZXJJbnRvRG9jdW1lbnQoXG4gICAgICA8Rmx1eENvbXBvbmVudCBmbHV4PXtmbHV4fT5cbiAgICAgICAgPGRpdiAvPlxuICAgICAgPC9GbHV4Q29tcG9uZW50PlxuICAgICk7XG5cbiAgICBleHBlY3QoXG4gICAgICBUZXN0VXRpbHMuZmluZFJlbmRlcmVkRE9NQ29tcG9uZW50V2l0aFRhZy5iaW5kKFRlc3RVdGlscywgdHJlZSwgJ3NwYW4nKVxuICAgICkudG8udGhyb3coJ0RpZCBub3QgZmluZCBleGFjdGx5IG9uZSBtYXRjaCBmb3IgdGFnOnNwYW4nKTtcbiAgfSk7XG5cbiAgaXQoJ2FsbG93cyBmb3IgbmVzdGVkIEZsdXhDb21wb25lbnRzJywgKCkgPT4ge1xuICAgIGxldCBmbHV4ID0gbmV3IEZsdXgoKTtcbiAgICBsZXQgYWN0aW9ucyA9IGZsdXguZ2V0QWN0aW9ucygndGVzdCcpO1xuXG4gICAgbGV0IHRyZWUgPSBUZXN0VXRpbHMucmVuZGVySW50b0RvY3VtZW50KFxuICAgICAgPEZsdXhDb21wb25lbnQgZmx1eD17Zmx1eH0gY29ubmVjdFRvU3RvcmVzPVwidGVzdFwiPlxuICAgICAgICA8Rmx1eENvbXBvbmVudD5cbiAgICAgICAgICA8ZGl2IC8+XG4gICAgICAgIDwvRmx1eENvbXBvbmVudD5cbiAgICAgIDwvRmx1eENvbXBvbmVudD5cbiAgICApO1xuXG4gICAgbGV0IGRpdiA9IFRlc3RVdGlscy5maW5kUmVuZGVyZWRET01Db21wb25lbnRXaXRoVGFnKHRyZWUsICdkaXYnKTtcblxuICAgIGFjdGlvbnMuZ2V0U29tZXRoaW5nKCdzb21ldGhpbmcgZ29vZCcpO1xuICAgIGV4cGVjdChkaXYucHJvcHMuc29tZXRoaW5nKS50by5lcXVhbCgnc29tZXRoaW5nIGdvb2QnKTtcbiAgICBhY3Rpb25zLmdldFNvbWV0aGluZygnc29tZXRoaW5nIGVsc2UnKTtcbiAgICBleHBlY3QoZGl2LnByb3BzLnNvbWV0aGluZykudG8uZXF1YWwoJ3NvbWV0aGluZyBlbHNlJyk7XG4gIH0pO1xuXG59KTtcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGRvbnMvX190ZXN0c19fL0ZsdXhDb21wb25lbnQtdGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7b0JBQXdDLFlBQVk7O0lBQTNDLE9BQU8sU0FBUCxPQUFPO0lBQUUsS0FBSyxTQUFMLEtBQUs7SUFBRSxPQUFPLFNBQVAsT0FBTztJQUV6QixLQUFLLDJCQUFNLGNBQWM7O0lBQzFCLFNBQVMsR0FBSyxLQUFLLENBQUMsTUFBTSxDQUExQixTQUFTO0lBRVIsYUFBYSwyQkFBTSxrQkFBa0I7O0FBRTVDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsWUFBTTtNQUV4QixXQUFXLGNBQVMsT0FBTzthQUEzQixXQUFXOzRCQUFYLFdBQVc7O1VBQVMsT0FBTztBQUFQLGVBQU87Ozs7Y0FBM0IsV0FBVyxFQUFTLE9BQU87O3lCQUEzQixXQUFXO0FBQ2Ysa0JBQVk7ZUFBQSxzQkFBQyxTQUFTLEVBQUU7QUFDdEIsaUJBQU8sU0FBUyxDQUFDO1NBQ2xCOzs7Ozs7V0FIRyxXQUFXO0tBQVMsT0FBTzs7TUFNM0IsU0FBUyxjQUFTLEtBQUs7QUFDaEIsYUFEUCxTQUFTLENBQ0QsSUFBSTs0QkFEWixTQUFTOztBQUVYLGlDQUZFLFNBQVMsNkNBRUg7O0FBRVIsVUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMxQyxVQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7O0FBRWpFLFVBQUksQ0FBQyxLQUFLLEdBQUc7QUFDWCxpQkFBUyxFQUFFLElBQUk7T0FDaEIsQ0FBQztLQUNIOztjQVZHLFNBQVMsRUFBUyxLQUFLOzt5QkFBdkIsU0FBUztBQVliLHdCQUFrQjtlQUFBLDRCQUFDLFNBQVMsRUFBRTtBQUM1QixjQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFULFNBQVMsRUFBRSxDQUFDLENBQUM7U0FD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QUMsQ0FBQztHQUMzRCxDQUFDLENBQUM7O0FBRUgsSUFBRSxDQUFDLGtDQUFrQyxFQUFFLFlBQU07QUFDM0MsUUFBSSxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztBQUN0QixRQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDOztBQUV0QyxRQUFJLElBQUksR0FBRyxTQUFTLENBQUMsa0JBQWtCLENBQ3JDO0FBQUMsbUJBQWE7UUFBQyxJQUFJLEVBQUUsSUFBSSxBQUFDLEVBQUMsZUFBZSxFQUFDLE1BQU07TUFDL0M7QUFBQyxxQkFBYTs7UUFDWixnQ0FBTztPQUNPO0tBQ0YsQ0FDakIsQ0FBQzs7QUFFRixRQUFJLEdBQUcsR0FBRyxTQUFTLENBQUMsK0JBQStCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDOztBQUVqRSxXQUFPLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDdkMsVUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBQ3ZELFdBQU8sQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUN2QyxVQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7R0FDeEQsQ0FBQyxDQUFDO0NBRUosQ0FBQyxDQUFDIiwiZmlsZSI6InNyYy9hZGRvbnMvX190ZXN0c19fL0ZsdXhDb21wb25lbnQtdGVzdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZsdW1tb3gsIFN0b3JlLCBBY3Rpb25zIH0gZnJvbSAnLi4vLi4vRmx1eCc7XG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdC9hZGRvbnMnO1xubGV0IHsgVGVzdFV0aWxzIH0gPSBSZWFjdC5hZGRvbnM7XG5cbmltcG9ydCBGbHV4Q29tcG9uZW50IGZyb20gJy4uL0ZsdXhDb21wb25lbnQnO1xuXG5kZXNjcmliZSgnRmx1eENvbXBvbmVudCcsICgpID0+IHtcblxuICBjbGFzcyBUZXN0QWN0aW9ucyBleHRlbmRzIEFjdGlvbnMge1xuICAgIGdldFNvbWV0aGluZyhzb21ldGhpbmcpIHtcbiAgICAgIHJldHVybiBzb21ldGhpbmc7XG4gICAgfVxuICB9XG5cbiAgY2xhc3MgVGVzdFN0b3JlIGV4dGVuZHMgU3RvcmUge1xuICAgIGNvbnN0cnVjdG9yKGZsdXgpIHtcbiAgICAgIHN1cGVyKCk7XG5cbiAgICAgIGxldCB0ZXN0QWN0aW9ucyA9IGZsdXguZ2V0QWN0aW9ucygndGVzdCcpO1xuICAgICAgdGhpcy5yZWdpc3Rlcih0ZXN0QWN0aW9ucy5nZXRTb21ldGhpbmcsIHRoaXMuaGFuZGxlR2V0U29tZXRoaW5nKTtcblxuICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgc29tZXRoaW5nOiBudWxsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGhhbmRsZUdldFNvbWV0aGluZyhzb21ldGhpbmcpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBzb21ldGhpbmcgfSk7XG4gICAgfVxuICB9XG5cbiAgY2xhc3MgRmx1eCBleHRlbmRzIEZsdW1tb3gge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgc3VwZXIoKTtcblxuICAgICAgdGhpcy5jcmVhdGVBY3Rpb25zKCd0ZXN0JywgVGVzdEFjdGlvbnMpO1xuICAgICAgdGhpcy5jcmVhdGVTdG9yZSgndGVzdCcsIFRlc3RTdG9yZSwgdGhpcyk7XG4gICAgfVxuICB9XG5cbiAgaXQoJ2dldHMgRmx1eCBwcm9wZXJ0eSBmcm9tIGVpdGhlciBwcm9wcyBvciBjb250ZXh0JywgKCkgPT4ge1xuICAgIGxldCBmbHV4ID0gbmV3IEZsdXgoKTtcbiAgICBsZXQgY29udGV4dENvbXBvbmVudCwgcHJvcHNDb21wb25lbnQ7XG5cbiAgICBSZWFjdC53aXRoQ29udGV4dCh7IGZsdXggfSwgKCkgPT4ge1xuICAgICAgY29udGV4dENvbXBvbmVudCA9IFRlc3RVdGlscy5yZW5kZXJJbnRvRG9jdW1lbnQoPEZsdXhDb21wb25lbnQgLz4pO1xuICAgIH0pO1xuXG4gICAgcHJvcHNDb21wb25lbnQgPSBUZXN0VXRpbHMucmVuZGVySW50b0RvY3VtZW50KFxuICAgICAgPEZsdXhDb21wb25lbnQgZmx1eD17Zmx1eH0gLz5cbiAgICApO1xuXG4gICAgZXhwZWN0KGNvbnRleHRDb21wb25lbnQuZmx1eCkudG8uYmUuYW4uaW5zdGFuY2VvZihGbHVtbW94KTtcbiAgICBleHBlY3QocHJvcHNDb21wb25lbnQuZmx1eCkudG8uYmUuYW4uaW5zdGFuY2VvZihGbHVtbW94KTtcbiAgfSk7XG5cbiAgaXQoJ3Bhc3NlcyBjb25uZWN0VG9TdG9yZSBwcm9wIHRvIEZsdXhNaXhpblxcJ3MgY29ubmVjdFRvU3RvcmVzKCknLCAoKSA9PiB7XG4gICAgbGV0IGZsdXggPSBuZXcgRmx1eCgpO1xuICAgIGxldCBhY3Rpb25zID0gZmx1eC5nZXRBY3Rpb25zKCd0ZXN0Jyk7XG5cbiAgICBsZXQgY29tcG9uZW50ID0gVGVzdFV0aWxzLnJlbmRlckludG9Eb2N1bWVudChcbiAgICAgIDxGbHV4Q29tcG9uZW50IGZsdXg9e2ZsdXh9IGNvbm5lY3RUb1N0b3Jlcz1cInRlc3RcIiAvPlxuICAgICk7XG5cbiAgICBhY3Rpb25zLmdldFNvbWV0aGluZygnc29tZXRoaW5nIGdvb2QnKTtcbiAgICBleHBlY3QoY29tcG9uZW50LnN0YXRlLnNvbWV0aGluZykudG8uZGVlcC5lcXVhbCgnc29tZXRoaW5nIGdvb2QnKTtcbiAgICBhY3Rpb25zLmdldFNvbWV0aGluZygnc29tZXRoaW5nIGVsc2UnKTtcbiAgICBleHBlY3QoY29tcG9uZW50LnN0YXRlLnNvbWV0aGluZykudG8uZGVlcC5lcXVhbCgnc29tZXRoaW5nIGVsc2UnKTtcbiAgfSk7XG5cbiAgaXQoJ2luamVjdHMgY2hpbGRyZW4gd2l0aCBmbHV4IHByb3AnLCAoKSA9PiB7XG4gICAgbGV0IGZsdXggPSBuZXcgRmx1eCgpO1xuICAgIGxldCBhY3Rpb25zID0gZmx1eC5nZXRBY3Rpb25zKCd0ZXN0Jyk7XG5cbiAgICBsZXQgdHJlZSA9IFRlc3RVdGlscy5yZW5kZXJJbnRvRG9jdW1lbnQoXG4gICAgICA8Rmx1eENvbXBvbmVudCBmbHV4PXtmbHV4fT5cbiAgICAgICAgPGRpdiAvPlxuICAgICAgPC9GbHV4Q29tcG9uZW50PlxuICAgICk7XG5cbiAgICBsZXQgZGl2ID0gVGVzdFV0aWxzLmZpbmRSZW5kZXJlZERPTUNvbXBvbmVudFdpdGhUYWcodHJlZSwgJ2RpdicpO1xuXG4gICAgZXhwZWN0KGRpdi5wcm9wcy5mbHV4KS50by5lcXVhbChmbHV4KTtcbiAgfSk7XG5cbiAgaXQoJ2luamVjdHMgY2hpbGRyZW4gd2l0aCBwcm9wcyBjb3JyZXNwb25kaW5nIHRvIGNvbXBvbmVudCBzdGF0ZScsICgpID0+IHtcbiAgICBsZXQgZmx1eCA9IG5ldyBGbHV4KCk7XG4gICAgbGV0IGFjdGlvbnMgPSBmbHV4LmdldEFjdGlvbnMoJ3Rlc3QnKTtcblxuICAgIGxldCB0cmVlID0gVGVzdFV0aWxzLnJlbmRlckludG9Eb2N1bWVudChcbiAgICAgIDxGbHV4Q29tcG9uZW50IGZsdXg9e2ZsdXh9IGNvbm5lY3RUb1N0b3Jlcz1cInRlc3RcIj5cbiAgICAgICAgPGRpdiAvPlxuICAgICAgPC9GbHV4Q29tcG9uZW50PlxuICAgICk7XG5cbiAgICBsZXQgZGl2ID0gVGVzdFV0aWxzLmZpbmRSZW5kZXJlZERPTUNvbXBvbmVudFdpdGhUYWcodHJlZSwgJ2RpdicpO1xuXG4gICAgYWN0aW9ucy5nZXRTb21ldGhpbmcoJ3NvbWV0aGluZyBnb29kJyk7XG4gICAgZXhwZWN0KGRpdi5wcm9wcy5zb21ldGhpbmcpLnRvLmVxdWFsKCdzb21ldGhpbmcgZ29vZCcpO1xuICAgIGFjdGlvbnMuZ2V0U29tZXRoaW5nKCdzb21ldGhpbmcgZWxzZScpO1xuICAgIGV4cGVjdChkaXYucHJvcHMuc29tZXRoaW5nKS50by5lcXVhbCgnc29tZXRoaW5nIGVsc2UnKTtcbiAgfSk7XG5cbiAgaXQoJ2luamVjdHMgY2hpbGRyZW4gd2l0aCBhbnkgZXh0cmEgcHJvcHMnLCAoKSA9PiB7XG4gICAgbGV0IGZsdXggPSBuZXcgRmx1eCgpO1xuXG4gICAgbGV0IHRyZWUgPSBUZXN0VXRpbHMucmVuZGVySW50b0RvY3VtZW50KFxuICAgICAgPEZsdXhDb21wb25lbnQgZmx1eD17Zmx1eH0gZXh0cmFQcm9wPVwiaGVsbG9cIj5cbiAgICAgICAgPGRpdiAvPlxuICAgICAgPC9GbHV4Q29tcG9uZW50PlxuICAgICk7XG5cbiAgICBsZXQgZGl2ID0gVGVzdFV0aWxzLmZpbmRSZW5kZXJlZERPTUNvbXBvbmVudFdpdGhUYWcodHJlZSwgJ2RpdicpO1xuXG4gICAgZXhwZWN0KGRpdi5wcm9wcy5leHRyYVByb3ApLnRvLmVxdWFsKCdoZWxsbycpO1xuICAgIGV4cGVjdChPYmplY3Qua2V5cyhkaXYucHJvcHMpKS50by5kZWVwLmVxdWFsKFsnZmx1eCcsICdleHRyYVByb3AnXSk7XG4gIH0pO1xuXG4gIGl0KCd3cmFwcyBtdWx0aXBsZSBjaGlsZHJlbiBpbiBzcGFuIHRhZycsICgpID0+IHtcbiAgICBsZXQgZmx1eCA9IG5ldyBGbHV4KCk7XG5cbiAgICBsZXQgdHJlZSA9IFRlc3RVdGlscy5yZW5kZXJJbnRvRG9jdW1lbnQoXG4gICAgICA8Rmx1eENvbXBvbmVudCBmbHV4PXtmbHV4fT5cbiAgICAgICAgPGRpdiAvPlxuICAgICAgICA8ZGl2IC8+XG4gICAgICA8L0ZsdXhDb21wb25lbnQ+XG4gICAgKTtcblxuICAgIGxldCB3cmFwcGVyID0gVGVzdFV0aWxzLmZpbmRSZW5kZXJlZERPTUNvbXBvbmVudFdpdGhUYWcodHJlZSwgJ3NwYW4nKTtcbiAgICBsZXQgZGl2cyA9IFRlc3RVdGlscy5zY3J5UmVuZGVyZWRET01Db21wb25lbnRzV2l0aFRhZyh0cmVlLCAnZGl2Jyk7XG5cbiAgICBleHBlY3QoZGl2cy5sZW5ndGgpLnRvLmVxdWFsKDIpO1xuICB9KTtcblxuICBpdCgnZG9lcyBub3Qgd3JhcCBzaW5nbGUgY2hpbGQgaW4gc3BhbiB0YWcnLCAoKSA9PiB7XG4gICAgbGV0IGZsdXggPSBuZXcgRmx1eCgpO1xuXG4gICAgbGV0IHRyZWUgPSBUZXN0VXRpbHMucmVuZGVySW50b0RvY3VtZW50KFxuICAgICAgPEZsdXhDb21wb25lbnQgZmx1eD17Zmx1eH0+XG4gICAgICAgIDxkaXYgLz5cbiAgICAgIDwvRmx1eENvbXBvbmVudD5cbiAgICApO1xuXG4gICAgZXhwZWN0KFxuICAgICAgVGVzdFV0aWxzLmZpbmRSZW5kZXJlZERPTUNvbXBvbmVudFdpdGhUYWcuYmluZChUZXN0VXRpbHMsIHRyZWUsICdzcGFuJylcbiAgICApLnRvLnRocm93KCdEaWQgbm90IGZpbmQgZXhhY3RseSBvbmUgbWF0Y2ggZm9yIHRhZzpzcGFuJyk7XG4gIH0pO1xuXG4gIGl0KCdhbGxvd3MgZm9yIG5lc3RlZCBGbHV4Q29tcG9uZW50cycsICgpID0+IHtcbiAgICBsZXQgZmx1eCA9IG5ldyBGbHV4KCk7XG4gICAgbGV0IGFjdGlvbnMgPSBmbHV4LmdldEFjdGlvbnMoJ3Rlc3QnKTtcblxuICAgIGxldCB0cmVlID0gVGVzdFV0aWxzLnJlbmRlckludG9Eb2N1bWVudChcbiAgICAgIDxGbHV4Q29tcG9uZW50IGZsdXg9e2ZsdXh9IGNvbm5lY3RUb1N0b3Jlcz1cInRlc3RcIj5cbiAgICAgICAgPEZsdXhDb21wb25lbnQ+XG4gICAgICAgICAgPGRpdiAvPlxuICAgICAgICA8L0ZsdXhDb21wb25lbnQ+XG4gICAgICA8L0ZsdXhDb21wb25lbnQ+XG4gICAgKTtcblxuICAgIGxldCBkaXYgPSBUZXN0VXRpbHMuZmluZFJlbmRlcmVkRE9NQ29tcG9uZW50V2l0aFRhZyh0cmVlLCAnZGl2Jyk7XG5cbiAgICBhY3Rpb25zLmdldFNvbWV0aGluZygnc29tZXRoaW5nIGdvb2QnKTtcbiAgICBleHBlY3QoZGl2LnByb3BzLnNvbWV0aGluZykudG8uZXF1YWwoJ3NvbWV0aGluZyBnb29kJyk7XG4gICAgYWN0aW9ucy5nZXRTb21ldGhpbmcoJ3NvbWV0aGluZyBlbHNlJyk7XG4gICAgZXhwZWN0KGRpdi5wcm9wcy5zb21ldGhpbmcpLnRvLmVxdWFsKCdzb21ldGhpbmcgZWxzZScpO1xuICB9KTtcblxufSk7XG4iXX0= |
@@ -108,2 +108,2 @@ "use strict"; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGRvbnMvX190ZXN0c19fL1Rlc3RVdGlscy10ZXN0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztJQUFZLFNBQVMsbUNBQU0sY0FBYzs7SUFDbEMsS0FBSywyQkFBTSxPQUFPOzs7OztBQUd6QixRQUFRLENBQUMsV0FBVyxFQUFFLFlBQU07QUFDMUIsVUFBUSxDQUFDLGlCQUFpQixFQUFFLFlBQU07QUFDaEMsTUFBRSxDQUFDLDBCQUEwQixFQUFFLFlBQU07QUFDbkMsVUFBSSxLQUFLLEdBQUcsU0FBUyxFQUFFLENBQUM7QUFDeEIsVUFBSSxVQUFVLEdBQUcsWUFBVyxFQUFFLENBQUE7QUFDOUIsZ0JBQVUsQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDOztBQUU5QixlQUFTLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDbkQsZUFBUyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixDQUFDLENBQUM7O0FBRS9ELFlBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQUssQ0FBQzs7QUFFN0MsWUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0FBQ3JELGdCQUFRLEVBQUUsS0FBSztBQUNmLFlBQUksRUFBRSxVQUFVO09BQ2pCLENBQUMsQ0FBQzs7QUFFSCxZQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7QUFDckQsZ0JBQVEsRUFBRSxZQUFZO0FBQ3RCLFlBQUksRUFBRSxp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Qzs7QUFFSCxNQUFFLENBQUMsMENBQTBDLEVBQUUsWUFBTTtBQUNuRCxVQUFJLEtBQUssR0FBRyxTQUFTLEVBQUUsQ0FBQztBQUN4QixVQUFJLFFBQVEsR0FBRztlQUFNLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQztPQUFBLENBQUM7O0FBRTNFLFlBQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLFNBQU0sQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO0tBQ3BGLENBQUMsQ0FBQztHQUNKLENBQUMsQ0FBQztDQUNKLENBQUMsQ0FBQzs7QUFFSCxTQUFTLFNBQVMsR0FBRztBQUNuQixTQUFPO0FBQ0wsV0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUU7R0FDckIsQ0FBQTtDQUNGIiwiZmlsZSI6InNyYy9hZGRvbnMvX190ZXN0c19fL1Rlc3RVdGlscy10ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgVGVzdFV0aWxzIGZyb20gJy4uL1Rlc3RVdGlscyc7XG5pbXBvcnQgc2lub24gZnJvbSAnc2lub24nO1xuXG5cbmRlc2NyaWJlKCdUZXN0VXRpbHMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCcjc2ltdWxhdGVBY3Rpb24nLCAoKSA9PiB7XG4gICAgaXQoJ2NhbGxzIHRoZSBzdG9yZXMgaGFuZGxlcicsICgpID0+IHtcbiAgICAgIGxldCBzdG9yZSA9IG1vY2tTdG9yZSgpO1xuICAgICAgbGV0IGFjdGlvbkZ1bmMgPSBmdW5jdGlvbigpIHt9XG4gICAgICBhY3Rpb25GdW5jLl9pZCA9ICdhY3Rpb25GdW5jJztcblxuICAgICAgVGVzdFV0aWxzLnNpbXVsYXRlQWN0aW9uKHN0b3JlLCAnZm9vJywgJ2ZvbyBib2R5Jyk7XG4gICAgICBUZXN0VXRpbHMuc2ltdWxhdGVBY3Rpb24oc3RvcmUsIGFjdGlvbkZ1bmMsICdhY3Rpb25GdW5jIGJvZHknKTtcblxuICAgICAgZXhwZWN0KHN0b3JlLmhhbmRsZXIuY2FsbGVkVHdpY2UpLnRvLmJlLnRydWU7XG5cbiAgICAgIGV4cGVjdChzdG9yZS5oYW5kbGVyLmdldENhbGwoMCkuYXJnc1swXSkudG8uZGVlcC5lcXVhbCh7XG4gICAgICAgIGFjdGlvbklkOiAnZm9vJyxcbiAgICAgICAgYm9keTogJ2ZvbyBib2R5J1xuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChzdG9yZS5oYW5kbGVyLmdldENhbGwoMSkuYXJnc1swXSkudG8uZGVlcC5lcXVhbCh7XG4gICAgICAgIGFjdGlvbklkOiAnYWN0aW9uRnVuYycsXG4gICAgICAgIGJvZHk6ICdhY3Rpb25GdW5jIGJvZHknXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJyNzaW11bGF0ZUFjdGlvbkFzeW5jJywgKCkgPT4ge1xuICAgIGl0KCdpdCBoYW5kbGVzIGFzeW5jIGJlZ2luJywgKCkgPT4ge1xuICAgICAgbGV0IHN0b3JlID0gbW9ja1N0b3JlKCk7XG5cbiAgICAgIFRlc3RVdGlscy5zaW11bGF0ZUFjdGlvbkFzeW5jKHN0b3JlLCAnZm9vJywgJ2JlZ2luJyk7XG5cbiAgICAgIGV4cGVjdChzdG9yZS5oYW5kbGVyLmNhbGxlZE9uY2UpLnRvLmJlLnRydWU7XG4gICAgICBleHBlY3Qoc3RvcmUuaGFuZGxlci5maXJzdENhbGwuYXJnc1swXSkudG8uZGVlcC5lcXVhbCh7XG4gICAgICAgIGFjdGlvbklkOiAnZm9vJyxcbiAgICAgICAgYXN5bmM6ICdiZWdpbidcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ2l0IGhhbmRsZXMgYXN5bmMgYmVnaW4gdy8gYWN0aW9uIGFyZ3MnLCAoKSA9PiB7XG4gICAgICBsZXQgc3RvcmUgPSBtb2NrU3RvcmUoKTtcblxuICAgICAgVGVzdFV0aWxzLnNpbXVsYXRlQWN0aW9uQXN5bmMoc3RvcmUsICdmb28nLCAnYmVnaW4nLCAnYXJnMScsICdhcmcyJyk7XG5cbiAgICAgIGV4cGVjdChzdG9yZS5oYW5kbGVyLmNhbGxlZE9uY2UpLnRvLmJlLnRydWU7XG4gICAgICBleHBlY3Qoc3RvcmUuaGFuZGxlci5maXJzdENhbGwuYXJnc1swXSkudG8uZGVlcC5lcXVhbCh7XG4gICAgICAgIGFjdGlvbklkOiAnZm9vJyxcbiAgICAgICAgYXN5bmM6ICdiZWdpbicsXG4gICAgICAgIGFjdGlvbkFyZ3M6IFsnYXJnMScsICdhcmcyJ11cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ2l0IGhhbmRsZXMgYXN5bmMgc3VjY2VzcycsICgpID0+IHtcbiAgICAgIGxldCBzdG9yZSA9IG1vY2tTdG9yZSgpO1xuXG4gICAgICBUZXN0VXRpbHMuc2ltdWxhdGVBY3Rpb25Bc3luYyhzdG9yZSwgJ2ZvbycsICdzdWNjZXNzJywgeyBmb286ICdiYXInIH0pO1xuXG4gICAgICBleHBlY3Qoc3RvcmUuaGFuZGxlci5jYWxsZWRPbmNlKS50by5iZS50cnVlO1xuICAgICAgZXhwZWN0KHN0b3JlLmhhbmRsZXIuZmlyc3RDYWxsLmFyZ3NbMF0pLnRvLmRlZXAuZXF1YWwoe1xuICAgICAgICBhY3Rpb25JZDogJ2ZvbycsXG4gICAgICAgIGFzeW5jOiAnc3VjY2VzcycsXG4gICAgICAgIGJvZHk6IHtcbiAgICAgICAgICBmb286ICdiYXInXG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ2l0IGhhbmRsZXMgYXN5bmMgZmFpbHVyZScsICgpID0+IHtcbiAgICAgIGxldCBzdG9yZSA9IG1vY2tTdG9yZSgpO1xuXG4gICAgICBUZXN0VXRpbHMuc2ltdWxhdGVBY3Rpb25Bc3luYyhzdG9yZSwgJ2ZvbycsICdmYWlsdXJlJywgJ2Vycm9yIG1lc3NhZ2UnKTtcblxuICAgICAgZXhwZWN0KHN0b3JlLmhhbmRsZXIuY2FsbGVkT25jZSkudG8uYmUudHJ1ZTtcbiAgICAgIGV4cGVjdChzdG9yZS5oYW5kbGVyLmZpcnN0Q2FsbC5hcmdzWzBdKS50by5kZWVwLmVxdWFsKHtcbiAgICAgICAgYWN0aW9uSWQ6ICdmb28nLFxuICAgICAgICBhc3luYzogJ2ZhaWx1cmUnLFxuICAgICAgICBlcnJvcjogJ2Vycm9yIG1lc3NhZ2UnXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdpdCB0aHJvd3MgZXJyb3Igd2l0aCBpbnZhbGlkIGFzeW5jQWN0aW9uJywgKCkgPT4ge1xuICAgICAgbGV0IHN0b3JlID0gbW9ja1N0b3JlKCk7XG4gICAgICBsZXQgc2ltdWxhdGUgPSAoKSA9PiBUZXN0VXRpbHMuc2ltdWxhdGVBY3Rpb25Bc3luYyhzdG9yZSwgJ2ZvbycsICdmaXpiaW4nKTtcblxuICAgICAgZXhwZWN0KHNpbXVsYXRlKS50by50aHJvdygnYXN5bmNBY3Rpb24gbXVzdCBiZSBvbmUgb2Y6IGJlZ2luLCBzdWNjZXNzIG9yIGZhaWx1cmUnKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcblxuZnVuY3Rpb24gbW9ja1N0b3JlKCkge1xuICByZXR1cm4ge1xuICAgIGhhbmRsZXI6IHNpbm9uLnNweSgpXG4gIH1cbn0iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGRvbnMvX190ZXN0c19fL1Rlc3RVdGlscy10ZXN0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztJQUFZLFNBQVMsbUNBQU0sY0FBYzs7SUFDbEMsS0FBSywyQkFBTSxPQUFPOzs7OztBQUd6QixRQUFRLENBQUMsV0FBVyxFQUFFLFlBQU07QUFDMUIsVUFBUSxDQUFDLGlCQUFpQixFQUFFLFlBQU07QUFDaEMsTUFBRSxDQUFDLDBCQUEwQixFQUFFLFlBQU07QUFDbkMsVUFBSSxLQUFLLEdBQUcsU0FBUyxFQUFFLENBQUM7QUFDeEIsVUFBSSxVQUFVLEdBQUcsWUFBVyxFQUFFLENBQUM7QUFDL0IsZ0JBQVUsQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDOztBQUU5QixlQUFTLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDbkQsZUFBUyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixDQUFDLENBQUM7O0FBRS9ELFlBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQUssQ0FBQzs7QUFFN0MsWUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0FBQ3JELGdCQUFRLEVBQUUsS0FBSztBQUNmLFlBQUksRUFBRSxVQUFVO09BQ2pCLENBQUMsQ0FBQzs7QUFFSCxZQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7QUFDckQsZ0JBQVEsRUFBRSxZQUFZO0FBQ3RCLFlBQUksRUFBRSxp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Qzs7QUFFSCxNQUFFLENBQUMsMENBQTBDLEVBQUUsWUFBTTtBQUNuRCxVQUFJLEtBQUssR0FBRyxTQUFTLEVBQUUsQ0FBQztBQUN4QixVQUFJLFFBQVEsR0FBRztlQUFNLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQztPQUFBLENBQUM7O0FBRTNFLFlBQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLFNBQU0sQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO0tBQ3BGLENBQUMsQ0FBQztHQUNKLENBQUMsQ0FBQztDQUNKLENBQUMsQ0FBQzs7QUFFSCxTQUFTLFNBQVMsR0FBRztBQUNuQixTQUFPO0FBQ0wsV0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUU7R0FDckIsQ0FBQztDQUNIIiwiZmlsZSI6InNyYy9hZGRvbnMvX190ZXN0c19fL1Rlc3RVdGlscy10ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgVGVzdFV0aWxzIGZyb20gJy4uL1Rlc3RVdGlscyc7XG5pbXBvcnQgc2lub24gZnJvbSAnc2lub24nO1xuXG5cbmRlc2NyaWJlKCdUZXN0VXRpbHMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCcjc2ltdWxhdGVBY3Rpb24nLCAoKSA9PiB7XG4gICAgaXQoJ2NhbGxzIHRoZSBzdG9yZXMgaGFuZGxlcicsICgpID0+IHtcbiAgICAgIGxldCBzdG9yZSA9IG1vY2tTdG9yZSgpO1xuICAgICAgbGV0IGFjdGlvbkZ1bmMgPSBmdW5jdGlvbigpIHt9O1xuICAgICAgYWN0aW9uRnVuYy5faWQgPSAnYWN0aW9uRnVuYyc7XG5cbiAgICAgIFRlc3RVdGlscy5zaW11bGF0ZUFjdGlvbihzdG9yZSwgJ2ZvbycsICdmb28gYm9keScpO1xuICAgICAgVGVzdFV0aWxzLnNpbXVsYXRlQWN0aW9uKHN0b3JlLCBhY3Rpb25GdW5jLCAnYWN0aW9uRnVuYyBib2R5Jyk7XG5cbiAgICAgIGV4cGVjdChzdG9yZS5oYW5kbGVyLmNhbGxlZFR3aWNlKS50by5iZS50cnVlO1xuXG4gICAgICBleHBlY3Qoc3RvcmUuaGFuZGxlci5nZXRDYWxsKDApLmFyZ3NbMF0pLnRvLmRlZXAuZXF1YWwoe1xuICAgICAgICBhY3Rpb25JZDogJ2ZvbycsXG4gICAgICAgIGJvZHk6ICdmb28gYm9keSdcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3Qoc3RvcmUuaGFuZGxlci5nZXRDYWxsKDEpLmFyZ3NbMF0pLnRvLmRlZXAuZXF1YWwoe1xuICAgICAgICBhY3Rpb25JZDogJ2FjdGlvbkZ1bmMnLFxuICAgICAgICBib2R5OiAnYWN0aW9uRnVuYyBib2R5J1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCcjc2ltdWxhdGVBY3Rpb25Bc3luYycsICgpID0+IHtcbiAgICBpdCgnaXQgaGFuZGxlcyBhc3luYyBiZWdpbicsICgpID0+IHtcbiAgICAgIGxldCBzdG9yZSA9IG1vY2tTdG9yZSgpO1xuXG4gICAgICBUZXN0VXRpbHMuc2ltdWxhdGVBY3Rpb25Bc3luYyhzdG9yZSwgJ2ZvbycsICdiZWdpbicpO1xuXG4gICAgICBleHBlY3Qoc3RvcmUuaGFuZGxlci5jYWxsZWRPbmNlKS50by5iZS50cnVlO1xuICAgICAgZXhwZWN0KHN0b3JlLmhhbmRsZXIuZmlyc3RDYWxsLmFyZ3NbMF0pLnRvLmRlZXAuZXF1YWwoe1xuICAgICAgICBhY3Rpb25JZDogJ2ZvbycsXG4gICAgICAgIGFzeW5jOiAnYmVnaW4nXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdpdCBoYW5kbGVzIGFzeW5jIGJlZ2luIHcvIGFjdGlvbiBhcmdzJywgKCkgPT4ge1xuICAgICAgbGV0IHN0b3JlID0gbW9ja1N0b3JlKCk7XG5cbiAgICAgIFRlc3RVdGlscy5zaW11bGF0ZUFjdGlvbkFzeW5jKHN0b3JlLCAnZm9vJywgJ2JlZ2luJywgJ2FyZzEnLCAnYXJnMicpO1xuXG4gICAgICBleHBlY3Qoc3RvcmUuaGFuZGxlci5jYWxsZWRPbmNlKS50by5iZS50cnVlO1xuICAgICAgZXhwZWN0KHN0b3JlLmhhbmRsZXIuZmlyc3RDYWxsLmFyZ3NbMF0pLnRvLmRlZXAuZXF1YWwoe1xuICAgICAgICBhY3Rpb25JZDogJ2ZvbycsXG4gICAgICAgIGFzeW5jOiAnYmVnaW4nLFxuICAgICAgICBhY3Rpb25BcmdzOiBbJ2FyZzEnLCAnYXJnMiddXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdpdCBoYW5kbGVzIGFzeW5jIHN1Y2Nlc3MnLCAoKSA9PiB7XG4gICAgICBsZXQgc3RvcmUgPSBtb2NrU3RvcmUoKTtcblxuICAgICAgVGVzdFV0aWxzLnNpbXVsYXRlQWN0aW9uQXN5bmMoc3RvcmUsICdmb28nLCAnc3VjY2VzcycsIHsgZm9vOiAnYmFyJyB9KTtcblxuICAgICAgZXhwZWN0KHN0b3JlLmhhbmRsZXIuY2FsbGVkT25jZSkudG8uYmUudHJ1ZTtcbiAgICAgIGV4cGVjdChzdG9yZS5oYW5kbGVyLmZpcnN0Q2FsbC5hcmdzWzBdKS50by5kZWVwLmVxdWFsKHtcbiAgICAgICAgYWN0aW9uSWQ6ICdmb28nLFxuICAgICAgICBhc3luYzogJ3N1Y2Nlc3MnLFxuICAgICAgICBib2R5OiB7XG4gICAgICAgICAgZm9vOiAnYmFyJ1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdpdCBoYW5kbGVzIGFzeW5jIGZhaWx1cmUnLCAoKSA9PiB7XG4gICAgICBsZXQgc3RvcmUgPSBtb2NrU3RvcmUoKTtcblxuICAgICAgVGVzdFV0aWxzLnNpbXVsYXRlQWN0aW9uQXN5bmMoc3RvcmUsICdmb28nLCAnZmFpbHVyZScsICdlcnJvciBtZXNzYWdlJyk7XG5cbiAgICAgIGV4cGVjdChzdG9yZS5oYW5kbGVyLmNhbGxlZE9uY2UpLnRvLmJlLnRydWU7XG4gICAgICBleHBlY3Qoc3RvcmUuaGFuZGxlci5maXJzdENhbGwuYXJnc1swXSkudG8uZGVlcC5lcXVhbCh7XG4gICAgICAgIGFjdGlvbklkOiAnZm9vJyxcbiAgICAgICAgYXN5bmM6ICdmYWlsdXJlJyxcbiAgICAgICAgZXJyb3I6ICdlcnJvciBtZXNzYWdlJ1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnaXQgdGhyb3dzIGVycm9yIHdpdGggaW52YWxpZCBhc3luY0FjdGlvbicsICgpID0+IHtcbiAgICAgIGxldCBzdG9yZSA9IG1vY2tTdG9yZSgpO1xuICAgICAgbGV0IHNpbXVsYXRlID0gKCkgPT4gVGVzdFV0aWxzLnNpbXVsYXRlQWN0aW9uQXN5bmMoc3RvcmUsICdmb28nLCAnZml6YmluJyk7XG5cbiAgICAgIGV4cGVjdChzaW11bGF0ZSkudG8udGhyb3coJ2FzeW5jQWN0aW9uIG11c3QgYmUgb25lIG9mOiBiZWdpbiwgc3VjY2VzcyBvciBmYWlsdXJlJyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG5cbmZ1bmN0aW9uIG1vY2tTdG9yZSgpIHtcbiAgcmV0dXJuIHtcbiAgICBoYW5kbGVyOiBzaW5vbi5zcHkoKVxuICB9O1xufVxuIl19 |
@@ -0,8 +1,14 @@ | ||
"use strict"; | ||
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; }; | ||
var _objectWithoutProperties = function (obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }; | ||
/** | ||
* Flux Component | ||
* | ||
* Component form of FluxMixin. Uses FluxMixin as part of its implementation, | ||
* Component form of fluxMixin. Uses fluxMixin as part of its implementation, | ||
* so requires a flux instance to be provided as either context or a prop. | ||
* | ||
* Like FluxMixin, children are given access to the flux instance via | ||
* Like fluxMixin, children are given access to the flux instance via | ||
* `context.flux`. Use this near the top of your app hierarchy and all children | ||
@@ -28,7 +34,7 @@ * will have easy access to the flux instance (including, of course, other | ||
* The component has an optional prop `connectToStores`, which is -- you guessed | ||
* it -- passed directly to FluxMixin's `connectToStores()` function and | ||
* it -- passed directly to fluxMixin's `connectToStores()` function and | ||
* set as the initial state. The component's state is injected as props to | ||
* child components. | ||
* | ||
* The practical upshot of all this is that FluxMixin, state changes, and | ||
* The practical upshot of all this is that fluxMixin, state changes, and | ||
* context are now simply implementation details. Among other things, this means | ||
@@ -51,12 +57,6 @@ * you can write your components as plain ES6 classes. Here's an example: | ||
"use strict"; | ||
var React = _interopRequire(require("react")); | ||
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; }; | ||
var fluxMixin = _interopRequire(require("./fluxMixin")); | ||
var _objectWithoutProperties = function (obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }; | ||
var React = _interopRequire(require("react/addons")); | ||
var FluxMixin = _interopRequire(require("./FluxMixin")); | ||
var assign = _interopRequire(require("object-assign")); | ||
@@ -68,3 +68,3 @@ | ||
mixins: [FluxMixin()], | ||
mixins: [fluxMixin()], | ||
@@ -106,2 +106,2 @@ getInitialState: function getInitialState() { | ||
module.exports = FluxComponent; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZGRvbnMvRmx1eENvbXBvbmVudC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBaURBLFlBQVksQ0FBQzs7Ozs7O0lBRU4sS0FBSywyQkFBTSxjQUFjOztJQUN6QixTQUFTLDJCQUFNLGFBQWE7O0lBQzVCLE1BQU0sMkJBQU0sZUFBZTs7QUFFbEMsSUFBSSxhQUFhLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQzs7OztBQUVwQyxRQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQzs7QUFFckIsaUJBQWUsRUFBQSwyQkFBRztBQUNoQixXQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztHQUN6RDs7QUFFRCxXQUFTLEVBQUEsbUJBQUMsS0FBSyxFQUFFO2lCQUMrQixJQUFJLENBQUMsS0FBSztRQUFsRCxRQUFRLFVBQVIsUUFBUTtRQUFFLGVBQWUsVUFBZixlQUFlO1FBQUssS0FBSzs7QUFFekMsV0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDO0FBQy9DLFVBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUNoQixFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztHQUN4Qjs7QUFFRCxRQUFNLEVBQUEsa0JBQUc7UUFDRCxRQUFRLEdBQUssSUFBSSxDQUFDLEtBQUssQ0FBdkIsUUFBUTs7O0FBRWQsUUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUTtBQUFFLGFBQU8sSUFBSSxDQUFDO0tBQUEsQUFFdEMsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDeEMsVUFBSSxLQUFLLEdBQUcsUUFBUSxDQUFDO0FBQ3JCLGFBQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUM5QixNQUFNO0FBQ0wsYUFBTzs7O1FBQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7T0FBUSxDQUFDO0tBQ3BFO0dBQ0Y7O0NBRUYsQ0FBQyxDQUFDOztpQkFFWSxhQUFhIiwiZmlsZSI6InNyYy9hZGRvbnMvRmx1eENvbXBvbmVudC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRmx1eCBDb21wb25lbnRcbiAqXG4gKiBDb21wb25lbnQgZm9ybSBvZiBGbHV4TWl4aW4uIFVzZXMgRmx1eE1peGluIGFzIHBhcnQgb2YgaXRzIGltcGxlbWVudGF0aW9uLFxuICogc28gcmVxdWlyZXMgYSBmbHV4IGluc3RhbmNlIHRvIGJlIHByb3ZpZGVkIGFzIGVpdGhlciBjb250ZXh0IG9yIGEgcHJvcC5cbiAqXG4gKiBMaWtlIEZsdXhNaXhpbiwgY2hpbGRyZW4gYXJlIGdpdmVuIGFjY2VzcyB0byB0aGUgZmx1eCBpbnN0YW5jZSB2aWFcbiAqIGBjb250ZXh0LmZsdXhgLiBVc2UgdGhpcyBuZWFyIHRoZSB0b3Agb2YgeW91ciBhcHAgaGllcmFyY2h5IGFuZCBhbGwgY2hpbGRyZW5cbiAqIHdpbGwgaGF2ZSBlYXN5IGFjY2VzcyB0byB0aGUgZmx1eCBpbnN0YW5jZSAoaW5jbHVkaW5nLCBvZiBjb3Vyc2UsIG90aGVyXG4gKiBGbHV4IGNvbXBvbmVudHMhKTpcbiAqXG4gKiA8Rmx1eENvbXBvbmVudCBmbHV4PXtmbHV4fT5cbiAqICAgIC4uLnRoZSByZXN0IG9mIHlvdXIgYXBwXG4gKiA8L0ZsdXhDb21wb25lbnQ+XG4gKlxuICogTm93IGFueSBjaGlsZCBjYW4gYWNjZXNzIHRoZSBmbHV4IGluc3RhbmNlIGFnYWluIGxpa2UgdGhpczpcbiAqXG4gKiA8Rmx1eENvbXBvbmVudD5cbiAqICAgIC4uLmNoaWxkcmVuXG4gKiA8L0ZsdXhDb21wb25lbnQ+XG4gKlxuICogV2UgZG9uJ3QgbmVlZCB0aGUgZmx1eCBwcm9wIHRoaXMgdGltZSBiZWNhdXNlIGZsdXggaXMgYWxyZWFkeSBwYXJ0IG9mXG4gKiB0aGUgY29udGV4dC5cbiAqXG4gKiBBZGRpdGlvbmFsbHksIGltbWVkaWF0ZSBjaGlsZHJlbiBhcmUgZ2l2ZW4gYSBgZmx1eGAgcHJvcC5cbiAqXG4gKiBUaGUgY29tcG9uZW50IGhhcyBhbiBvcHRpb25hbCBwcm9wIGBjb25uZWN0VG9TdG9yZXNgLCB3aGljaCBpcyAtLSB5b3UgZ3Vlc3NlZFxuICogaXQgLS0gcGFzc2VkIGRpcmVjdGx5IHRvIEZsdXhNaXhpbidzIGBjb25uZWN0VG9TdG9yZXMoKWAgZnVuY3Rpb24gYW5kXG4gKiBzZXQgYXMgdGhlIGluaXRpYWwgc3RhdGUuIFRoZSBjb21wb25lbnQncyBzdGF0ZSBpcyBpbmplY3RlZCBhcyBwcm9wcyB0b1xuICogY2hpbGQgY29tcG9uZW50cy5cbiAqXG4gKiBUaGUgcHJhY3RpY2FsIHVwc2hvdCBvZiBhbGwgdGhpcyBpcyB0aGF0IEZsdXhNaXhpbiwgc3RhdGUgY2hhbmdlcywgYW5kXG4gKiBjb250ZXh0IGFyZSBub3cgc2ltcGx5IGltcGxlbWVudGF0aW9uIGRldGFpbHMuIEFtb25nIG90aGVyIHRoaW5ncywgdGhpcyBtZWFuc1xuICogeW91IGNhbiB3cml0ZSB5b3VyIGNvbXBvbmVudHMgYXMgcGxhaW4gRVM2IGNsYXNzZXMuIEhlcmUncyBhbiBleGFtcGxlOlxuICpcbiAqIGNsYXNzIFBhcmVudENvbXBvbmVudCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gKlxuICogICByZW5kZXIoKSB7XG4gKiAgICAgPEZsdXhDb21wb25lbnQgY29ubmVjdFRvU3RvcmU9XCJmb29TdG9yZVwiPlxuICogICAgICAgPENoaWxkQ29tcG9uZW50IC8+XG4gKiAgICAgPC9GbHV4Q29tcG9uZW50PlxuICogICB9XG4gKlxuICogfVxuICpcbiAqIENoaWxkQ29tcG9uZW50IGluIHRoaXMgZXhhbXBsZSBoYXMgcHJvcCBgZmx1eGAgY29udGFpbmluZyB0aGUgZmx1eCBpbnN0YW5jZSxcbiAqIGFuZCBwcm9wcyB0aGF0IHN5bmMgd2l0aCBlYWNoIG9mIHRoZSBzdGF0ZSBrZXlzIG9mIGZvb1N0b3JlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0L2FkZG9ucyc7XG5pbXBvcnQgRmx1eE1peGluIGZyb20gJy4vRmx1eE1peGluJztcbmltcG9ydCBhc3NpZ24gZnJvbSAnb2JqZWN0LWFzc2lnbic7XG5cbmxldCBGbHV4Q29tcG9uZW50ID0gUmVhY3QuY3JlYXRlQ2xhc3Moe1xuXG4gIG1peGluczogW0ZsdXhNaXhpbigpXSxcblxuICBnZXRJbml0aWFsU3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdFRvU3RvcmVzKHRoaXMucHJvcHMuY29ubmVjdFRvU3RvcmVzKTtcbiAgfSxcblxuICB3cmFwQ2hpbGQoY2hpbGQpIHtcbiAgICBsZXQgeyBjaGlsZHJlbiwgY29ubmVjdFRvU3RvcmVzLCAuLi5wcm9wcyB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBSZWFjdC5hZGRvbnMuY2xvbmVXaXRoUHJvcHMoY2hpbGQsIGFzc2lnbih7XG4gICAgICBmbHV4OiB0aGlzLmZsdXgsXG4gICAgfSwgdGhpcy5zdGF0ZSwgcHJvcHMpKTtcbiAgfSxcblxuICByZW5kZXIoKSB7XG4gICAgbGV0IHsgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIXRoaXMucHJvcHMuY2hpbGRyZW4pIHJldHVybiBudWxsO1xuXG4gICAgaWYgKFJlYWN0LkNoaWxkcmVuLmNvdW50KGNoaWxkcmVuKSA9PT0gMSkge1xuICAgICAgbGV0IGNoaWxkID0gY2hpbGRyZW47XG4gICAgICByZXR1cm4gdGhpcy53cmFwQ2hpbGQoY2hpbGQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gPHNwYW4+e1JlYWN0LkNoaWxkcmVuLm1hcChjaGlsZHJlbiwgdGhpcy53cmFwQ2hpbGQpfTwvc3Bhbj47XG4gICAgfVxuICB9XG5cbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBGbHV4Q29tcG9uZW50O1xuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZGRvbnMvRmx1eENvbXBvbmVudC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBaURPLEtBQUssMkJBQU0sT0FBTzs7SUFDbEIsU0FBUywyQkFBTSxhQUFhOztJQUM1QixNQUFNLDJCQUFNLGVBQWU7O0FBRWxDLElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7Ozs7QUFFcEMsUUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7O0FBRXJCLGlCQUFlLEVBQUEsMkJBQUc7QUFDaEIsV0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7R0FDekQ7O0FBRUQsV0FBUyxFQUFBLG1CQUFDLEtBQUssRUFBRTtpQkFDK0IsSUFBSSxDQUFDLEtBQUs7UUFBbEQsUUFBUSxVQUFSLFFBQVE7UUFBRSxlQUFlLFVBQWYsZUFBZTtRQUFLLEtBQUs7O0FBRXpDLFdBQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQztBQUMvQyxVQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFDaEIsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7R0FDeEI7O0FBRUQsUUFBTSxFQUFBLGtCQUFHO1FBQ0QsUUFBUSxHQUFLLElBQUksQ0FBQyxLQUFLLENBQXZCLFFBQVE7OztBQUVkLFFBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7QUFBRSxhQUFPLElBQUksQ0FBQztLQUFBLEFBRXRDLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO0FBQ3hDLFVBQUksS0FBSyxHQUFHLFFBQVEsQ0FBQztBQUNyQixhQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDOUIsTUFBTTtBQUNMLGFBQU87OztRQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO09BQVEsQ0FBQztLQUNwRTtHQUNGOztDQUVGLENBQUMsQ0FBQzs7aUJBRVksYUFBYSIsImZpbGUiOiJzcmMvYWRkb25zL0ZsdXhDb21wb25lbnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZsdXggQ29tcG9uZW50XG4gKlxuICogQ29tcG9uZW50IGZvcm0gb2YgZmx1eE1peGluLiBVc2VzIGZsdXhNaXhpbiBhcyBwYXJ0IG9mIGl0cyBpbXBsZW1lbnRhdGlvbixcbiAqIHNvIHJlcXVpcmVzIGEgZmx1eCBpbnN0YW5jZSB0byBiZSBwcm92aWRlZCBhcyBlaXRoZXIgY29udGV4dCBvciBhIHByb3AuXG4gKlxuICogTGlrZSBmbHV4TWl4aW4sIGNoaWxkcmVuIGFyZSBnaXZlbiBhY2Nlc3MgdG8gdGhlIGZsdXggaW5zdGFuY2UgdmlhXG4gKiBgY29udGV4dC5mbHV4YC4gVXNlIHRoaXMgbmVhciB0aGUgdG9wIG9mIHlvdXIgYXBwIGhpZXJhcmNoeSBhbmQgYWxsIGNoaWxkcmVuXG4gKiB3aWxsIGhhdmUgZWFzeSBhY2Nlc3MgdG8gdGhlIGZsdXggaW5zdGFuY2UgKGluY2x1ZGluZywgb2YgY291cnNlLCBvdGhlclxuICogRmx1eCBjb21wb25lbnRzISk6XG4gKlxuICogPEZsdXhDb21wb25lbnQgZmx1eD17Zmx1eH0+XG4gKiAgICAuLi50aGUgcmVzdCBvZiB5b3VyIGFwcFxuICogPC9GbHV4Q29tcG9uZW50PlxuICpcbiAqIE5vdyBhbnkgY2hpbGQgY2FuIGFjY2VzcyB0aGUgZmx1eCBpbnN0YW5jZSBhZ2FpbiBsaWtlIHRoaXM6XG4gKlxuICogPEZsdXhDb21wb25lbnQ+XG4gKiAgICAuLi5jaGlsZHJlblxuICogPC9GbHV4Q29tcG9uZW50PlxuICpcbiAqIFdlIGRvbid0IG5lZWQgdGhlIGZsdXggcHJvcCB0aGlzIHRpbWUgYmVjYXVzZSBmbHV4IGlzIGFscmVhZHkgcGFydCBvZlxuICogdGhlIGNvbnRleHQuXG4gKlxuICogQWRkaXRpb25hbGx5LCBpbW1lZGlhdGUgY2hpbGRyZW4gYXJlIGdpdmVuIGEgYGZsdXhgIHByb3AuXG4gKlxuICogVGhlIGNvbXBvbmVudCBoYXMgYW4gb3B0aW9uYWwgcHJvcCBgY29ubmVjdFRvU3RvcmVzYCwgd2hpY2ggaXMgLS0geW91IGd1ZXNzZWRcbiAqIGl0IC0tIHBhc3NlZCBkaXJlY3RseSB0byBmbHV4TWl4aW4ncyBgY29ubmVjdFRvU3RvcmVzKClgIGZ1bmN0aW9uIGFuZFxuICogc2V0IGFzIHRoZSBpbml0aWFsIHN0YXRlLiBUaGUgY29tcG9uZW50J3Mgc3RhdGUgaXMgaW5qZWN0ZWQgYXMgcHJvcHMgdG9cbiAqIGNoaWxkIGNvbXBvbmVudHMuXG4gKlxuICogVGhlIHByYWN0aWNhbCB1cHNob3Qgb2YgYWxsIHRoaXMgaXMgdGhhdCBmbHV4TWl4aW4sIHN0YXRlIGNoYW5nZXMsIGFuZFxuICogY29udGV4dCBhcmUgbm93IHNpbXBseSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzLiBBbW9uZyBvdGhlciB0aGluZ3MsIHRoaXMgbWVhbnNcbiAqIHlvdSBjYW4gd3JpdGUgeW91ciBjb21wb25lbnRzIGFzIHBsYWluIEVTNiBjbGFzc2VzLiBIZXJlJ3MgYW4gZXhhbXBsZTpcbiAqXG4gKiBjbGFzcyBQYXJlbnRDb21wb25lbnQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICpcbiAqICAgcmVuZGVyKCkge1xuICogICAgIDxGbHV4Q29tcG9uZW50IGNvbm5lY3RUb1N0b3JlPVwiZm9vU3RvcmVcIj5cbiAqICAgICAgIDxDaGlsZENvbXBvbmVudCAvPlxuICogICAgIDwvRmx1eENvbXBvbmVudD5cbiAqICAgfVxuICpcbiAqIH1cbiAqXG4gKiBDaGlsZENvbXBvbmVudCBpbiB0aGlzIGV4YW1wbGUgaGFzIHByb3AgYGZsdXhgIGNvbnRhaW5pbmcgdGhlIGZsdXggaW5zdGFuY2UsXG4gKiBhbmQgcHJvcHMgdGhhdCBzeW5jIHdpdGggZWFjaCBvZiB0aGUgc3RhdGUga2V5cyBvZiBmb29TdG9yZS5cbiAqL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IGZsdXhNaXhpbiBmcm9tICcuL2ZsdXhNaXhpbic7XG5pbXBvcnQgYXNzaWduIGZyb20gJ29iamVjdC1hc3NpZ24nO1xuXG5sZXQgRmx1eENvbXBvbmVudCA9IFJlYWN0LmNyZWF0ZUNsYXNzKHtcblxuICBtaXhpbnM6IFtmbHV4TWl4aW4oKV0sXG5cbiAgZ2V0SW5pdGlhbFN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLmNvbm5lY3RUb1N0b3Jlcyh0aGlzLnByb3BzLmNvbm5lY3RUb1N0b3Jlcyk7XG4gIH0sXG5cbiAgd3JhcENoaWxkKGNoaWxkKSB7XG4gICAgbGV0IHsgY2hpbGRyZW4sIGNvbm5lY3RUb1N0b3JlcywgLi4ucHJvcHMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gUmVhY3QuYWRkb25zLmNsb25lV2l0aFByb3BzKGNoaWxkLCBhc3NpZ24oe1xuICAgICAgZmx1eDogdGhpcy5mbHV4LFxuICAgIH0sIHRoaXMuc3RhdGUsIHByb3BzKSk7XG4gIH0sXG5cbiAgcmVuZGVyKCkge1xuICAgIGxldCB7IGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCF0aGlzLnByb3BzLmNoaWxkcmVuKSByZXR1cm4gbnVsbDtcblxuICAgIGlmIChSZWFjdC5DaGlsZHJlbi5jb3VudChjaGlsZHJlbikgPT09IDEpIHtcbiAgICAgIGxldCBjaGlsZCA9IGNoaWxkcmVuO1xuICAgICAgcmV0dXJuIHRoaXMud3JhcENoaWxkKGNoaWxkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIDxzcGFuPntSZWFjdC5DaGlsZHJlbi5tYXAoY2hpbGRyZW4sIHRoaXMud3JhcENoaWxkKX08L3NwYW4+O1xuICAgIH1cbiAgfVxuXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgRmx1eENvbXBvbmVudDtcbiJdfQ== |
@@ -14,3 +14,3 @@ "use strict"; | ||
* asyncAction must be one of the following: begin, success or failure. | ||
* | ||
* | ||
* When simulating the 'begin' action, all arguments after 'begin' will | ||
@@ -53,3 +53,2 @@ * be passed to the action handler in the store. | ||
throw new Error("asyncAction must be one of: begin, success or failure"); | ||
break; | ||
} | ||
@@ -66,2 +65,2 @@ | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZGRvbnMvVGVzdFV0aWxzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztRQUlnQixjQUFjLEdBQWQsY0FBYzs7Ozs7Ozs7Ozs7Ozs7Ozs7UUFtQmQsbUJBQW1CLEdBQW5CLG1CQUFtQjtBQW5CNUIsU0FBUyxjQUFjLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7QUFDbEQsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3hDLE9BQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFRLEVBQVIsUUFBUSxFQUFFLElBQUksRUFBSixJQUFJLEVBQUUsQ0FBQyxDQUFDO0NBQ25DLEFBZ0JNLFNBQVMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQVc7b0NBQU4sSUFBSTtBQUFKLFFBQUk7OztBQUNyRSxNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDeEMsTUFBSSxPQUFPLEdBQUc7QUFDWixZQUFRLEVBQVIsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXO0dBQzdCLENBQUM7O0FBRUYsVUFBTyxXQUFXO0FBQ2hCLFNBQUssT0FBTztBQUNWLFVBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtBQUNmLGVBQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO09BQzNCO0FBQ0QsWUFBTTtBQUFBLEFBQ1IsU0FBSyxTQUFTO0FBQ1osYUFBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsWUFBTTtBQUFBLEFBQ1IsU0FBSyxTQUFTO0FBQ1osYUFBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEIsWUFBTTtBQUFBLEFBQ1I7QUFDRSxZQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7QUFDekUsWUFBTTtBQUFBLEdBQ1Q7O0FBRUQsT0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztDQUN4Qjs7QUFFRCxTQUFTLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRTtBQUN4QyxTQUFPLE9BQU8sZ0JBQWdCLEtBQUssVUFBVSxHQUN6QyxnQkFBZ0IsQ0FBQyxHQUFHLEdBQ3BCLGdCQUFnQixDQUFDO0NBQ3RCIiwiZmlsZSI6InNyYy9hZGRvbnMvVGVzdFV0aWxzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVc2VkIGZvciBzaW11bGF0aW5nIGFjdGlvbnMgb24gc3RvcmVzIHdoZW4gdGVzdGluZy5cbiAqXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaW11bGF0ZUFjdGlvbihzdG9yZSwgYWN0aW9uLCBib2R5KSB7XG4gIGNvbnN0IGFjdGlvbklkID0gZW5zdXJlQWN0aW9uSWQoYWN0aW9uKTtcbiAgc3RvcmUuaGFuZGxlcih7IGFjdGlvbklkLCBib2R5IH0pO1xufVxuXG4vKipcbiAqIFVzZWQgZm9yIHNpbXVsYXRpbmcgYXN5bmNocm9ub3VzIGFjdGlvbnMgb24gc3RvcmVzIHdoZW4gdGVzdGluZy5cbiAqXG4gKiBhc3luY0FjdGlvbiBtdXN0IGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nOiBiZWdpbiwgc3VjY2VzcyBvciBmYWlsdXJlLlxuICogXG4gKiBXaGVuIHNpbXVsYXRpbmcgdGhlICdiZWdpbicgYWN0aW9uLCBhbGwgYXJndW1lbnRzIGFmdGVyICdiZWdpbicgd2lsbFxuICogYmUgcGFzc2VkIHRvIHRoZSBhY3Rpb24gaGFuZGxlciBpbiB0aGUgc3RvcmUuXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiBUZXN0VXRpbHMuc2ltdWxhdGVBY3Rpb25Bc3luYyhzdG9yZSwgJ2FjdGlvbklkJywgJ2JlZ2luJywgJ2FyZzEnLCAnYXJnMicpO1xuICogVGVzdFV0aWxzLnNpbXVsYXRlQWN0aW9uQXN5bmMoc3RvcmUsICdhY3Rpb25JZCcsICdzdWNjZXNzJywgeyBmb286ICdiYXInIH0pO1xuICogVGVzdFV0aWxzLnNpbXVsYXRlQWN0aW9uQXN5bmMoc3RvcmUsICdhY3Rpb25JZCcsICdmYWlsdXJlJywgbmV3IEVycm9yKCdhY3Rpb24gZmFpbGVkJykpO1xuICovXG5leHBvcnQgZnVuY3Rpb24gc2ltdWxhdGVBY3Rpb25Bc3luYyhzdG9yZSwgYWN0aW9uLCBhc3luY0FjdGlvbiwgLi4uYXJncykge1xuICBjb25zdCBhY3Rpb25JZCA9IGVuc3VyZUFjdGlvbklkKGFjdGlvbik7XG4gIGxldCBwYXlsb2FkID0geyBcbiAgICBhY3Rpb25JZCwgYXN5bmM6IGFzeW5jQWN0aW9uXG4gIH07XG5cbiAgc3dpdGNoKGFzeW5jQWN0aW9uKSB7XG4gICAgY2FzZSAnYmVnaW4nOlxuICAgICAgaWYgKGFyZ3MubGVuZ3RoKSB7XG4gICAgICAgIHBheWxvYWQuYWN0aW9uQXJncyA9IGFyZ3M7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdzdWNjZXNzJzpcbiAgICAgIHBheWxvYWQuYm9keSA9IGFyZ3NbMF07XG4gICAgICBicmVhaztcbiAgICBjYXNlICdmYWlsdXJlJzpcbiAgICAgIHBheWxvYWQuZXJyb3IgPSBhcmdzWzBdO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcignYXN5bmNBY3Rpb24gbXVzdCBiZSBvbmUgb2Y6IGJlZ2luLCBzdWNjZXNzIG9yIGZhaWx1cmUnKTtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgc3RvcmUuaGFuZGxlcihwYXlsb2FkKTtcbn1cblxuZnVuY3Rpb24gZW5zdXJlQWN0aW9uSWQoYWN0aW9uT3JBY3Rpb25JZCkge1xuICByZXR1cm4gdHlwZW9mIGFjdGlvbk9yQWN0aW9uSWQgPT09ICdmdW5jdGlvbidcbiAgICA/IGFjdGlvbk9yQWN0aW9uSWQuX2lkXG4gICAgOiBhY3Rpb25PckFjdGlvbklkO1xufSJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZGRvbnMvVGVzdFV0aWxzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztRQUlnQixjQUFjLEdBQWQsY0FBYzs7Ozs7Ozs7Ozs7Ozs7Ozs7UUFtQmQsbUJBQW1CLEdBQW5CLG1CQUFtQjtBQW5CNUIsU0FBUyxjQUFjLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7QUFDbEQsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3hDLE9BQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFRLEVBQVIsUUFBUSxFQUFFLElBQUksRUFBSixJQUFJLEVBQUUsQ0FBQyxDQUFDO0NBQ25DLEFBZ0JNLFNBQVMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQVc7b0NBQU4sSUFBSTtBQUFKLFFBQUk7OztBQUNyRSxNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDeEMsTUFBSSxPQUFPLEdBQUc7QUFDWixZQUFRLEVBQVIsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXO0dBQzdCLENBQUM7O0FBRUYsVUFBTyxXQUFXO0FBQ2hCLFNBQUssT0FBTztBQUNWLFVBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtBQUNmLGVBQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO09BQzNCO0FBQ0QsWUFBTTtBQUFBLEFBQ1IsU0FBSyxTQUFTO0FBQ1osYUFBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsWUFBTTtBQUFBLEFBQ1IsU0FBSyxTQUFTO0FBQ1osYUFBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEIsWUFBTTtBQUFBLEFBQ1I7QUFDRSxZQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7QUFBQSxHQUM1RTs7QUFFRCxPQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0NBQ3hCOztBQUVELFNBQVMsY0FBYyxDQUFDLGdCQUFnQixFQUFFO0FBQ3hDLFNBQU8sT0FBTyxnQkFBZ0IsS0FBSyxVQUFVLEdBQ3pDLGdCQUFnQixDQUFDLEdBQUcsR0FDcEIsZ0JBQWdCLENBQUM7Q0FDdEIiLCJmaWxlIjoic3JjL2FkZG9ucy9UZXN0VXRpbHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFVzZWQgZm9yIHNpbXVsYXRpbmcgYWN0aW9ucyBvbiBzdG9yZXMgd2hlbiB0ZXN0aW5nLlxuICpcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNpbXVsYXRlQWN0aW9uKHN0b3JlLCBhY3Rpb24sIGJvZHkpIHtcbiAgY29uc3QgYWN0aW9uSWQgPSBlbnN1cmVBY3Rpb25JZChhY3Rpb24pO1xuICBzdG9yZS5oYW5kbGVyKHsgYWN0aW9uSWQsIGJvZHkgfSk7XG59XG5cbi8qKlxuICogVXNlZCBmb3Igc2ltdWxhdGluZyBhc3luY2hyb25vdXMgYWN0aW9ucyBvbiBzdG9yZXMgd2hlbiB0ZXN0aW5nLlxuICpcbiAqIGFzeW5jQWN0aW9uIG11c3QgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmc6IGJlZ2luLCBzdWNjZXNzIG9yIGZhaWx1cmUuXG4gKlxuICogV2hlbiBzaW11bGF0aW5nIHRoZSAnYmVnaW4nIGFjdGlvbiwgYWxsIGFyZ3VtZW50cyBhZnRlciAnYmVnaW4nIHdpbGxcbiAqIGJlIHBhc3NlZCB0byB0aGUgYWN0aW9uIGhhbmRsZXIgaW4gdGhlIHN0b3JlLlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogVGVzdFV0aWxzLnNpbXVsYXRlQWN0aW9uQXN5bmMoc3RvcmUsICdhY3Rpb25JZCcsICdiZWdpbicsICdhcmcxJywgJ2FyZzInKTtcbiAqIFRlc3RVdGlscy5zaW11bGF0ZUFjdGlvbkFzeW5jKHN0b3JlLCAnYWN0aW9uSWQnLCAnc3VjY2VzcycsIHsgZm9vOiAnYmFyJyB9KTtcbiAqIFRlc3RVdGlscy5zaW11bGF0ZUFjdGlvbkFzeW5jKHN0b3JlLCAnYWN0aW9uSWQnLCAnZmFpbHVyZScsIG5ldyBFcnJvcignYWN0aW9uIGZhaWxlZCcpKTtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNpbXVsYXRlQWN0aW9uQXN5bmMoc3RvcmUsIGFjdGlvbiwgYXN5bmNBY3Rpb24sIC4uLmFyZ3MpIHtcbiAgY29uc3QgYWN0aW9uSWQgPSBlbnN1cmVBY3Rpb25JZChhY3Rpb24pO1xuICBsZXQgcGF5bG9hZCA9IHtcbiAgICBhY3Rpb25JZCwgYXN5bmM6IGFzeW5jQWN0aW9uXG4gIH07XG5cbiAgc3dpdGNoKGFzeW5jQWN0aW9uKSB7XG4gICAgY2FzZSAnYmVnaW4nOlxuICAgICAgaWYgKGFyZ3MubGVuZ3RoKSB7XG4gICAgICAgIHBheWxvYWQuYWN0aW9uQXJncyA9IGFyZ3M7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdzdWNjZXNzJzpcbiAgICAgIHBheWxvYWQuYm9keSA9IGFyZ3NbMF07XG4gICAgICBicmVhaztcbiAgICBjYXNlICdmYWlsdXJlJzpcbiAgICAgIHBheWxvYWQuZXJyb3IgPSBhcmdzWzBdO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcignYXN5bmNBY3Rpb24gbXVzdCBiZSBvbmUgb2Y6IGJlZ2luLCBzdWNjZXNzIG9yIGZhaWx1cmUnKTtcbiAgfVxuXG4gIHN0b3JlLmhhbmRsZXIocGF5bG9hZCk7XG59XG5cbmZ1bmN0aW9uIGVuc3VyZUFjdGlvbklkKGFjdGlvbk9yQWN0aW9uSWQpIHtcbiAgcmV0dXJuIHR5cGVvZiBhY3Rpb25PckFjdGlvbklkID09PSAnZnVuY3Rpb24nXG4gICAgPyBhY3Rpb25PckFjdGlvbklkLl9pZFxuICAgIDogYWN0aW9uT3JBY3Rpb25JZDtcbn1cbiJdfQ== |
@@ -127,3 +127,3 @@ "use strict"; | ||
dispatch: { | ||
value: function dispatch(actionId, body, actionArgs) { | ||
value: function dispatch(actionId, body) { | ||
this._dispatch({ actionId: actionId, body: body }); | ||
@@ -223,3 +223,5 @@ }, | ||
console.warn("The store with key '" + key + "' was not serialized because the static " + ("method `" + className + ".serialize()` returned a non-string with type ") + ("'" + typeof serializedStoreState + "'.")); | ||
if (process.env.NODE_ENV !== "production") { | ||
console.warn("The store with key '" + key + "' was not serialized because the static " + ("method `" + className + ".serialize()` returned a non-string with type ") + ("'" + typeof serializedStoreState + "'.")); | ||
} | ||
} | ||
@@ -232,3 +234,5 @@ | ||
console.warn("The class `" + className + "` has a `serialize()` method, but no " + "corresponding `deserialize()` method."); | ||
if (process.env.NODE_ENV !== "production") { | ||
console.warn("The class `" + className + "` has a `serialize()` method, but no " + "corresponding `deserialize()` method."); | ||
} | ||
} | ||
@@ -251,3 +255,5 @@ } | ||
throw new Error("Invalid value passed to `" + className + "#deserialize()`: " + ("" + serializedState)); | ||
if (process.env.NODE_ENV !== "production") { | ||
throw new Error("Invalid value passed to `" + className + "#deserialize()`: " + ("" + serializedState)); | ||
} | ||
} | ||
@@ -272,3 +278,5 @@ | ||
console.warn("The class `" + className + "` has a `deserialize()` method, but no " + "corresponding `serialize()` method."); | ||
if (process.env.NODE_ENV !== "production") { | ||
console.warn("The class `" + className + "` has a `deserialize()` method, but no " + "corresponding `serialize()` method."); | ||
} | ||
} | ||
@@ -301,2 +309,2 @@ } | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,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LGNBQUksZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3JDLGNBQUksVUFBVSxHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDOztBQUUvQyxlQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDOztBQUUvQixjQUFJLE9BQU8sS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEtBQUssVUFBVSxFQUFFO0FBQ3JELGdCQUFJLFNBQVMsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQzs7QUFFdkMsbUJBQU8sQ0FBQyxJQUFJLENBQ1YsZ0JBQWUsU0FBUyxvRkFDZSxDQUN4QyxDQUFDO1dBQ0g7U0FDRjtPQUNGOzs7Ozs7U0FoUGtCLElBQUk7R0FBUyxZQUFZOztxQkFBekIsSUFBSTs7O0FBb1B6QixTQUFTLFlBQVksQ0FBQyxLQUFLLEVBQUU7QUFDM0IsU0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7Q0FDekM7O0FBRUQsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDOztRQUdqQixJQUFJLEdBQUosSUFBSTtRQUNKLE9BQU8sR0FBUCxPQUFPO1FBQ1AsS0FBSyxHQUFMLEtBQUs7UUFDTCxPQUFPLEdBQVAsT0FBTyIsImZpbGUiOiJzcmMvRmx1eC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRmx1eFxuICpcbiAqIFRoZSBtYWluIEZsdXggY2xhc3MuXG4gKi9cblxuaW1wb3J0IFN0b3JlIGZyb20gJy4vU3RvcmUnO1xuaW1wb3J0IEFjdGlvbnMgZnJvbSAnLi9BY3Rpb25zJztcbmltcG9ydCB7IERpc3BhdGNoZXIgfSBmcm9tICdmbHV4JztcbmltcG9ydCBFdmVudEVtaXR0ZXIgZnJvbSAnZXZlbnRlbWl0dGVyMyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZsdXggZXh0ZW5kcyBFdmVudEVtaXR0ZXIge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZGlzcGF0Y2hlciA9IG5ldyBEaXNwYXRjaGVyKCk7XG5cbiAgICB0aGlzLl9zdG9yZXMgPSB7fTtcbiAgICB0aGlzLl9hY3Rpb25zID0ge307XG5cbiAgICB0aGlzLmdldENvbnN0YW50cyA9IHRoaXMuZ2V0QWN0aW9uSWRzO1xuXG4gICAgLy8gQWxpYXNlc1xuICAgIHRoaXMuZGVoeWRyYXRlID0gdGhpcy5zZXJpYWxpemU7XG4gICAgdGhpcy5oeWRyYXRlID0gdGhpcy5kZXNlcmlhbGl6ZTtcbiAgfVxuXG4gIGNyZWF0ZVN0b3JlKGtleSwgX1N0b3JlLCAuLi5jb25zdHJ1Y3RvckFyZ3MpIHtcblxuICAgIGlmICghKF9TdG9yZS5wcm90b3R5cGUgaW5zdGFuY2VvZiBTdG9yZSkpIHtcbiAgICAgIGxldCBjbGFzc05hbWUgPSBnZXRDbGFzc05hbWUoX1N0b3JlKTtcblxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgWW91J3ZlIGF0dGVtcHRlZCB0byBjcmVhdGUgYSBzdG9yZSBmcm9tIHRoZSBjbGFzcyAke2NsYXNzTmFtZX0sIHdoaWNoIGBcbiAgICAgICsgYGRvZXMgbm90IGhhdmUgdGhlIGJhc2UgU3RvcmUgY2xhc3MgaW4gaXRzIHByb3RvdHlwZSBjaGFpbi4gTWFrZSBzdXJlIGBcbiAgICAgICsgYHlvdSdyZSB1c2luZyB0aGUgXFxgZXh0ZW5kc1xcYCBrZXl3b3JkOiBcXGBjbGFzcyAke2NsYXNzTmFtZX0gZXh0ZW5kcyBgXG4gICAgICArIGBTdG9yZSB7IC4uLiB9XFxgYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fc3RvcmVzLmhhc093blByb3BlcnR5KGtleSkgJiYgdGhpcy5fc3RvcmVzW2tleV0pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFlvdSd2ZSBhdHRlbXB0ZWQgdG8gY3JlYXRlIG11bHRpcGxlIHN0b3JlcyB3aXRoIGtleSAke2tleX0uIEtleXMgbXVzdCBgXG4gICAgICArIGBiZSB1bmlxdWUuYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgc3RvcmUgPSBuZXcgX1N0b3JlKC4uLmNvbnN0cnVjdG9yQXJncyk7XG4gICAgbGV0IHRva2VuID0gdGhpcy5kaXNwYXRjaGVyLnJlZ2lzdGVyKHN0b3JlLmhhbmRsZXIuYmluZChzdG9yZSkpO1xuXG4gICAgc3RvcmUuX3dhaXRGb3IgPSB0aGlzLndhaXRGb3IuYmluZCh0aGlzKTtcbiAgICBzdG9yZS5fdG9rZW4gPSB0b2tlbjtcblxuICAgIHRoaXMuX3N0b3Jlc1trZXldID0gc3RvcmU7XG5cbiAgICByZXR1cm4gc3RvcmU7XG4gIH1cblxuICBnZXRTdG9yZShrZXkpIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmVzLmhhc093blByb3BlcnR5KGtleSkgPyB0aGlzLl9zdG9yZXNba2V5XSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNyZWF0ZUFjdGlvbnMoa2V5LCBfQWN0aW9ucywgLi4uY29uc3RydWN0b3JBcmdzKSB7XG5cbiAgICBpZiAoIShfQWN0aW9ucy5wcm90b3R5cGUgaW5zdGFuY2VvZiBBY3Rpb25zKSAmJiBfQWN0aW9ucyAhPT0gQWN0aW9ucykge1xuICAgICAgbGV0IGNsYXNzTmFtZSA9IGdldENsYXNzTmFtZShfQWN0aW9ucyk7XG5cbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFlvdSd2ZSBhdHRlbXB0ZWQgdG8gY3JlYXRlIGFjdGlvbnMgZnJvbSB0aGUgY2xhc3MgJHtjbGFzc05hbWV9LCB3aGljaCBgXG4gICAgICArIGBkb2VzIG5vdCBoYXZlIHRoZSBiYXNlIEFjdGlvbnMgY2xhc3MgaW4gaXRzIHByb3RvdHlwZSBjaGFpbi4gTWFrZSBgXG4gICAgICArIGBzdXJlIHlvdSdyZSB1c2luZyB0aGUgXFxgZXh0ZW5kc1xcYCBrZXl3b3JkOiBcXGBjbGFzcyAke2NsYXNzTmFtZX0gYFxuICAgICAgKyBgZXh0ZW5kcyBBY3Rpb25zIHsgLi4uIH1cXGBgXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9hY3Rpb25zLmhhc093blByb3BlcnR5KGtleSkgJiYgdGhpcy5fYWN0aW9uc1trZXldKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBZb3UndmUgYXR0ZW1wdGVkIHRvIGNyZWF0ZSBtdWx0aXBsZSBhY3Rpb25zIHdpdGgga2V5ICR7a2V5fS4gS2V5cyBgXG4gICAgICArIGBtdXN0IGJlIHVuaXF1ZS5gXG4gICAgICApO1xuICAgIH1cblxuICAgIGxldCBhY3Rpb25zID0gbmV3IF9BY3Rpb25zKC4uLmNvbnN0cnVjdG9yQXJncyk7XG4gICAgYWN0aW9ucy5kaXNwYXRjaCA9IHRoaXMuZGlzcGF0Y2guYmluZCh0aGlzKTtcbiAgICBhY3Rpb25zLmRpc3BhdGNoQXN5bmMgPSB0aGlzLmRpc3BhdGNoQXN5bmMuYmluZCh0aGlzKTtcblxuICAgIHRoaXMuX2FjdGlvbnNba2V5XSA9IGFjdGlvbnM7XG5cbiAgICByZXR1cm4gYWN0aW9ucztcbiAgfVxuXG4gIGdldEFjdGlvbnMoa2V5KSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGlvbnMuaGFzT3duUHJvcGVydHkoa2V5KSA/IHRoaXMuX2FjdGlvbnNba2V5XSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldEFjdGlvbklkcyhrZXkpIHtcbiAgICBsZXQgYWN0aW9ucyA9IHRoaXMuZ2V0QWN0aW9ucyhrZXkpO1xuXG4gICAgaWYgKCFhY3Rpb25zKSByZXR1cm47XG5cbiAgICByZXR1cm4gYWN0aW9ucy5nZXRDb25zdGFudHMoKTtcbiAgfVxuXG4gIGRpc3BhdGNoKGFjdGlvbklkLCBib2R5LCBhY3Rpb25BcmdzKSB7XG4gICAgdGhpcy5fZGlzcGF0Y2goeyBhY3Rpb25JZCwgYm9keSB9KTtcbiAgfVxuXG4gIGRpc3BhdGNoQXN5bmMoYWN0aW9uSWQsIHByb21pc2UsIGFjdGlvbkFyZ3MpIHtcbiAgICBsZXQgcGF5bG9hZCA9IHtcbiAgICAgIGFjdGlvbklkLFxuICAgICAgYXN5bmM6ICdiZWdpbicsXG4gICAgfTtcblxuICAgIGlmIChhY3Rpb25BcmdzKSBwYXlsb2FkLmFjdGlvbkFyZ3MgPSBhY3Rpb25BcmdzO1xuXG4gICAgdGhpcy5fZGlzcGF0Y2gocGF5bG9hZCk7XG5cbiAgICByZXR1cm4gcHJvbWlzZVxuICAgICAgLnRoZW4oXG4gICAgICAgIGJvZHkgPT4ge1xuICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoKHtcbiAgICAgICAgICAgIGFjdGlvbklkLFxuICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgIGFzeW5jOiAnc3VjY2VzcydcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHJldHVybiBib2R5O1xuICAgICAgICB9LFxuICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5fZGlzcGF0Y2goe1xuICAgICAgICAgICAgYWN0aW9uSWQsXG4gICAgICAgICAgICBlcnJvcixcbiAgICAgICAgICAgIGFzeW5jOiAnZmFpbHVyZScsXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICApXG4gICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLmVtaXQoJ2Vycm9yJywgZXJyb3IpO1xuXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnJvcik7XG4gICAgICB9KTtcbiAgfVxuXG4gIF9kaXNwYXRjaChwYXlsb2FkKSB7XG4gICAgdGhpcy5kaXNwYXRjaGVyLmRpc3BhdGNoKHBheWxvYWQpO1xuICAgIHRoaXMuZW1pdCgnZGlzcGF0Y2gnLCBwYXlsb2FkKTtcbiAgfVxuXG4gIHdhaXRGb3IodG9rZW5zT3JTdG9yZXMpIHtcblxuICAgIGlmICghQXJyYXkuaXNBcnJheSh0b2tlbnNPclN0b3JlcykpIHRva2Vuc09yU3RvcmVzID0gW3Rva2Vuc09yU3RvcmVzXTtcblxuICAgIGxldCBlbnN1cmVJc1Rva2VuID0gdG9rZW5PclN0b3JlID0+IHtcbiAgICAgIHJldHVybiB0b2tlbk9yU3RvcmUgaW5zdGFuY2VvZiBTdG9yZVxuICAgICAgICA/IHRva2VuT3JTdG9yZS5fdG9rZW5cbiAgICAgICAgOiB0b2tlbk9yU3RvcmU7XG4gICAgfTtcblxuICAgIGxldCB0b2tlbnMgPSB0b2tlbnNPclN0b3Jlcy5tYXAoZW5zdXJlSXNUb2tlbik7XG5cbiAgICB0aGlzLmRpc3BhdGNoZXIud2FpdEZvcih0b2tlbnMpO1xuICB9XG5cbiAgcmVtb3ZlQWxsU3RvcmVMaXN0ZW5lcnMoZXZlbnQpIHtcbiAgICBmb3IgKGxldCBrZXkgaW4gdGhpcy5fc3RvcmVzKSB7XG4gICAgICBpZiAoIXRoaXMuX3N0b3Jlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSBjb250aW51ZTtcblxuICAgICAgbGV0IHN0b3JlID0gdGhpcy5fc3RvcmVzW2tleV07XG5cbiAgICAgIHN0b3JlLnJlbW92ZUFsbExpc3RlbmVycyhldmVudCk7XG4gICAgfVxuICB9XG5cbiAgc2VyaWFsaXplKCkge1xuICAgIGxldCBzdGF0ZVRyZWUgPSB7fTtcblxuICAgIGZvciAobGV0IGtleSBpbiB0aGlzLl9zdG9yZXMpIHtcbiAgICAgIGlmICghdGhpcy5fc3RvcmVzLmhhc093blByb3BlcnR5KGtleSkpIGNvbnRpbnVlO1xuXG4gICAgICBsZXQgc3RvcmUgPSB0aGlzLl9zdG9yZXNba2V5XTtcblxuICAgICAgbGV0IHNlcmlhbGl6ZSA9IHN0b3JlLmNvbnN0cnVjdG9yLnNlcmlhbGl6ZTtcblxuICAgICAgaWYgKHR5cGVvZiBzZXJpYWxpemUgIT09ICdmdW5jdGlvbicpIGNvbnRpbnVlO1xuXG4gICAgICBsZXQgc2VyaWFsaXplZFN0b3JlU3RhdGUgPSBzZXJpYWxpemUoc3RvcmUuc3RhdGUpO1xuXG4gICAgICBpZiAodHlwZW9mIHNlcmlhbGl6ZWRTdG9yZVN0YXRlICE9PSAnc3RyaW5nJykge1xuICAgICAgICBsZXQgY2xhc3NOYW1lID0gc3RvcmUuY29uc3RydWN0b3IubmFtZTtcblxuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgYFRoZSBzdG9yZSB3aXRoIGtleSAnJHtrZXl9JyB3YXMgbm90IHNlcmlhbGl6ZWQgYmVjYXVzZSB0aGUgc3RhdGljIGBcbiAgICAgICAgKyBgbWV0aG9kIFxcYCR7Y2xhc3NOYW1lfS5zZXJpYWxpemUoKVxcYCByZXR1cm5lZCBhIG5vbi1zdHJpbmcgd2l0aCB0eXBlIGBcbiAgICAgICAgKyBgJyR7dHlwZW9mIHNlcmlhbGl6ZWRTdG9yZVN0YXRlfScuYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBzdGF0ZVRyZWVba2V5XSA9IHNlcmlhbGl6ZWRTdG9yZVN0YXRlO1xuXG4gICAgICBpZiAodHlwZW9mIHN0b3JlLmNvbnN0cnVjdG9yLmRlc2VyaWFsaXplICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGxldCBjbGFzc05hbWUgPSBzdG9yZS5jb25zdHJ1Y3Rvci5uYW1lO1xuXG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgVGhlIGNsYXNzIFxcYCR7Y2xhc3NOYW1lfVxcYCBoYXMgYSBcXGBzZXJpYWxpemUoKVxcYCBtZXRob2QsIGJ1dCBubyBgXG4gICAgICAgICsgYGNvcnJlc3BvbmRpbmcgXFxgZGVzZXJpYWxpemUoKVxcYCBtZXRob2QuYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHN0YXRlVHJlZSk7XG4gIH1cblxuICBkZXNlcmlhbGl6ZShzZXJpYWxpemVkU3RhdGUpIHtcbiAgICBsZXQgc3RhdGVNYXA7XG5cbiAgICB0cnkge1xuICAgICAgc3RhdGVNYXAgPSBKU09OLnBhcnNlKHNlcmlhbGl6ZWRTdGF0ZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGxldCBjbGFzc05hbWUgPSB0aGlzLmNvbnN0cnVjdG9yLm5hbWU7XG5cbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEludmFsaWQgdmFsdWUgcGFzc2VkIHRvIFxcYCR7Y2xhc3NOYW1lfSNkZXNlcmlhbGl6ZSgpXFxgOiBgXG4gICAgICArIGAke3NlcmlhbGl6ZWRTdGF0ZX1gXG4gICAgICApO1xuICAgIH1cblxuICAgIGZvciAobGV0IGtleSBpbiB0aGlzLl9zdG9yZXMpIHtcbiAgICAgIGlmICghdGhpcy5fc3RvcmVzLmhhc093blByb3BlcnR5KGtleSkpIGNvbnRpbnVlO1xuXG4gICAgICBsZXQgc3RvcmUgPSB0aGlzLl9zdG9yZXNba2V5XTtcblxuICAgICAgbGV0IGRlc2VyaWFsaXplID0gc3RvcmUuY29uc3RydWN0b3IuZGVzZXJpYWxpemU7XG5cbiAgICAgIGlmICh0eXBlb2YgZGVzZXJpYWxpemUgIT09ICdmdW5jdGlvbicpIGNvbnRpbnVlO1xuXG4gICAgICBsZXQgc3RvcmVTdGF0ZVN0cmluZyA9IHN0YXRlTWFwW2tleV07XG4gICAgICBsZXQgc3RvcmVTdGF0ZSA9IGRlc2VyaWFsaXplKHN0b3JlU3RhdGVTdHJpbmcpO1xuXG4gICAgICBzdG9yZS5yZXBsYWNlU3RhdGUoc3RvcmVTdGF0ZSk7XG5cbiAgICAgIGlmICh0eXBlb2Ygc3RvcmUuY29uc3RydWN0b3Iuc2VyaWFsaXplICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGxldCBjbGFzc05hbWUgPSBzdG9yZS5jb25zdHJ1Y3Rvci5uYW1lO1xuXG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgVGhlIGNsYXNzIFxcYCR7Y2xhc3NOYW1lfVxcYCBoYXMgYSBcXGBkZXNlcmlhbGl6ZSgpXFxgIG1ldGhvZCwgYnV0IG5vIGBcbiAgICAgICAgKyBgY29ycmVzcG9uZGluZyBcXGBzZXJpYWxpemUoKVxcYCBtZXRob2QuYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbmZ1bmN0aW9uIGdldENsYXNzTmFtZShDbGFzcykge1xuICByZXR1cm4gQ2xhc3MucHJvdG90eXBlLmNvbnN0cnVjdG9yLm5hbWU7XG59XG5cbmxldCBGbHVtbW94ID0gRmx1eDtcblxuZXhwb3J0IHtcbiAgRmx1eCxcbiAgRmx1bW1veCxcbiAgU3RvcmUsXG4gIEFjdGlvbnMsXG59O1xuIl19 | ||
//# sourceMappingURL=data:application/json;base64,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QVM7O0FBRWhELGNBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7O0FBRTlCLGNBQUksV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDOztBQUVoRCxjQUFJLE9BQU8sV0FBVyxLQUFLLFVBQVUsRUFBRSxTQUFTOztBQUVoRCxjQUFJLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNyQyxjQUFJLFVBQVUsR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzs7QUFFL0MsZUFBSyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQzs7QUFFL0IsY0FBSSxPQUFPLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxLQUFLLFVBQVUsRUFBRTtBQUNyRCxnQkFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7O0FBRXZDLGdCQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLFlBQVksRUFBRTtBQUN6QyxxQkFBTyxDQUFDLElBQUksQ0FDVixnQkFBZSxTQUFTLG9GQUNlLENBQ3hDLENBQUM7YUFDSDtXQUNGO1NBQ0Y7T0FDRjs7Ozs7O1NBeFBrQixJQUFJO0dBQVMsWUFBWTs7cUJBQXpCLElBQUk7OztBQTRQekIsU0FBUyxZQUFZLENBQUMsS0FBSyxFQUFFO0FBQzNCLFNBQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0NBQ3pDOztBQUVELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQzs7UUFHakIsSUFBSSxHQUFKLElBQUk7UUFDSixPQUFPLEdBQVAsT0FBTztRQUNQLEtBQUssR0FBTCxLQUFLO1FBQ0wsT0FBTyxHQUFQLE9BQU8iLCJmaWxlIjoic3JjL0ZsdXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZsdXhcbiAqXG4gKiBUaGUgbWFpbiBGbHV4IGNsYXNzLlxuICovXG5cbmltcG9ydCBTdG9yZSBmcm9tICcuL1N0b3JlJztcbmltcG9ydCBBY3Rpb25zIGZyb20gJy4vQWN0aW9ucyc7XG5pbXBvcnQgeyBEaXNwYXRjaGVyIH0gZnJvbSAnZmx1eCc7XG5pbXBvcnQgRXZlbnRFbWl0dGVyIGZyb20gJ2V2ZW50ZW1pdHRlcjMnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGbHV4IGV4dGVuZHMgRXZlbnRFbWl0dGVyIHtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmRpc3BhdGNoZXIgPSBuZXcgRGlzcGF0Y2hlcigpO1xuXG4gICAgdGhpcy5fc3RvcmVzID0ge307XG4gICAgdGhpcy5fYWN0aW9ucyA9IHt9O1xuXG4gICAgdGhpcy5nZXRDb25zdGFudHMgPSB0aGlzLmdldEFjdGlvbklkcztcblxuICAgIC8vIEFsaWFzZXNcbiAgICB0aGlzLmRlaHlkcmF0ZSA9IHRoaXMuc2VyaWFsaXplO1xuICAgIHRoaXMuaHlkcmF0ZSA9IHRoaXMuZGVzZXJpYWxpemU7XG4gIH1cblxuICBjcmVhdGVTdG9yZShrZXksIF9TdG9yZSwgLi4uY29uc3RydWN0b3JBcmdzKSB7XG5cbiAgICBpZiAoIShfU3RvcmUucHJvdG90eXBlIGluc3RhbmNlb2YgU3RvcmUpKSB7XG4gICAgICBsZXQgY2xhc3NOYW1lID0gZ2V0Q2xhc3NOYW1lKF9TdG9yZSk7XG5cbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFlvdSd2ZSBhdHRlbXB0ZWQgdG8gY3JlYXRlIGEgc3RvcmUgZnJvbSB0aGUgY2xhc3MgJHtjbGFzc05hbWV9LCB3aGljaCBgXG4gICAgICArIGBkb2VzIG5vdCBoYXZlIHRoZSBiYXNlIFN0b3JlIGNsYXNzIGluIGl0cyBwcm90b3R5cGUgY2hhaW4uIE1ha2Ugc3VyZSBgXG4gICAgICArIGB5b3UncmUgdXNpbmcgdGhlIFxcYGV4dGVuZHNcXGAga2V5d29yZDogXFxgY2xhc3MgJHtjbGFzc05hbWV9IGV4dGVuZHMgYFxuICAgICAgKyBgU3RvcmUgeyAuLi4gfVxcYGBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3N0b3Jlcy5oYXNPd25Qcm9wZXJ0eShrZXkpICYmIHRoaXMuX3N0b3Jlc1trZXldKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBZb3UndmUgYXR0ZW1wdGVkIHRvIGNyZWF0ZSBtdWx0aXBsZSBzdG9yZXMgd2l0aCBrZXkgJHtrZXl9LiBLZXlzIG11c3QgYFxuICAgICAgKyBgYmUgdW5pcXVlLmBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IHN0b3JlID0gbmV3IF9TdG9yZSguLi5jb25zdHJ1Y3RvckFyZ3MpO1xuICAgIGxldCB0b2tlbiA9IHRoaXMuZGlzcGF0Y2hlci5yZWdpc3RlcihzdG9yZS5oYW5kbGVyLmJpbmQoc3RvcmUpKTtcblxuICAgIHN0b3JlLl93YWl0Rm9yID0gdGhpcy53YWl0Rm9yLmJpbmQodGhpcyk7XG4gICAgc3RvcmUuX3Rva2VuID0gdG9rZW47XG5cbiAgICB0aGlzLl9zdG9yZXNba2V5XSA9IHN0b3JlO1xuXG4gICAgcmV0dXJuIHN0b3JlO1xuICB9XG5cbiAgZ2V0U3RvcmUoa2V5KSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3Jlcy5oYXNPd25Qcm9wZXJ0eShrZXkpID8gdGhpcy5fc3RvcmVzW2tleV0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBjcmVhdGVBY3Rpb25zKGtleSwgX0FjdGlvbnMsIC4uLmNvbnN0cnVjdG9yQXJncykge1xuXG4gICAgaWYgKCEoX0FjdGlvbnMucHJvdG90eXBlIGluc3RhbmNlb2YgQWN0aW9ucykgJiYgX0FjdGlvbnMgIT09IEFjdGlvbnMpIHtcbiAgICAgIGxldCBjbGFzc05hbWUgPSBnZXRDbGFzc05hbWUoX0FjdGlvbnMpO1xuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBZb3UndmUgYXR0ZW1wdGVkIHRvIGNyZWF0ZSBhY3Rpb25zIGZyb20gdGhlIGNsYXNzICR7Y2xhc3NOYW1lfSwgd2hpY2ggYFxuICAgICAgKyBgZG9lcyBub3QgaGF2ZSB0aGUgYmFzZSBBY3Rpb25zIGNsYXNzIGluIGl0cyBwcm90b3R5cGUgY2hhaW4uIE1ha2UgYFxuICAgICAgKyBgc3VyZSB5b3UncmUgdXNpbmcgdGhlIFxcYGV4dGVuZHNcXGAga2V5d29yZDogXFxgY2xhc3MgJHtjbGFzc05hbWV9IGBcbiAgICAgICsgYGV4dGVuZHMgQWN0aW9ucyB7IC4uLiB9XFxgYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fYWN0aW9ucy5oYXNPd25Qcm9wZXJ0eShrZXkpICYmIHRoaXMuX2FjdGlvbnNba2V5XSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgWW91J3ZlIGF0dGVtcHRlZCB0byBjcmVhdGUgbXVsdGlwbGUgYWN0aW9ucyB3aXRoIGtleSAke2tleX0uIEtleXMgYFxuICAgICAgKyBgbXVzdCBiZSB1bmlxdWUuYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgYWN0aW9ucyA9IG5ldyBfQWN0aW9ucyguLi5jb25zdHJ1Y3RvckFyZ3MpO1xuICAgIGFjdGlvbnMuZGlzcGF0Y2ggPSB0aGlzLmRpc3BhdGNoLmJpbmQodGhpcyk7XG4gICAgYWN0aW9ucy5kaXNwYXRjaEFzeW5jID0gdGhpcy5kaXNwYXRjaEFzeW5jLmJpbmQodGhpcyk7XG5cbiAgICB0aGlzLl9hY3Rpb25zW2tleV0gPSBhY3Rpb25zO1xuXG4gICAgcmV0dXJuIGFjdGlvbnM7XG4gIH1cblxuICBnZXRBY3Rpb25zKGtleSkge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpb25zLmhhc093blByb3BlcnR5KGtleSkgPyB0aGlzLl9hY3Rpb25zW2tleV0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRBY3Rpb25JZHMoa2V5KSB7XG4gICAgbGV0IGFjdGlvbnMgPSB0aGlzLmdldEFjdGlvbnMoa2V5KTtcblxuICAgIGlmICghYWN0aW9ucykgcmV0dXJuO1xuXG4gICAgcmV0dXJuIGFjdGlvbnMuZ2V0Q29uc3RhbnRzKCk7XG4gIH1cblxuICBkaXNwYXRjaChhY3Rpb25JZCwgYm9keSkge1xuICAgIHRoaXMuX2Rpc3BhdGNoKHsgYWN0aW9uSWQsIGJvZHkgfSk7XG4gIH1cblxuICBkaXNwYXRjaEFzeW5jKGFjdGlvbklkLCBwcm9taXNlLCBhY3Rpb25BcmdzKSB7XG4gICAgbGV0IHBheWxvYWQgPSB7XG4gICAgICBhY3Rpb25JZCxcbiAgICAgIGFzeW5jOiAnYmVnaW4nLFxuICAgIH07XG5cbiAgICBpZiAoYWN0aW9uQXJncykgcGF5bG9hZC5hY3Rpb25BcmdzID0gYWN0aW9uQXJncztcblxuICAgIHRoaXMuX2Rpc3BhdGNoKHBheWxvYWQpO1xuXG4gICAgcmV0dXJuIHByb21pc2VcbiAgICAgIC50aGVuKFxuICAgICAgICBib2R5ID0+IHtcbiAgICAgICAgICB0aGlzLl9kaXNwYXRjaCh7XG4gICAgICAgICAgICBhY3Rpb25JZCxcbiAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICBhc3luYzogJ3N1Y2Nlc3MnXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICByZXR1cm4gYm9keTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoKHtcbiAgICAgICAgICAgIGFjdGlvbklkLFxuICAgICAgICAgICAgZXJyb3IsXG4gICAgICAgICAgICBhc3luYzogJ2ZhaWx1cmUnLFxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgKVxuICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgdGhpcy5lbWl0KCdlcnJvcicsIGVycm9yKTtcblxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyb3IpO1xuICAgICAgfSk7XG4gIH1cblxuICBfZGlzcGF0Y2gocGF5bG9hZCkge1xuICAgIHRoaXMuZGlzcGF0Y2hlci5kaXNwYXRjaChwYXlsb2FkKTtcbiAgICB0aGlzLmVtaXQoJ2Rpc3BhdGNoJywgcGF5bG9hZCk7XG4gIH1cblxuICB3YWl0Rm9yKHRva2Vuc09yU3RvcmVzKSB7XG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodG9rZW5zT3JTdG9yZXMpKSB0b2tlbnNPclN0b3JlcyA9IFt0b2tlbnNPclN0b3Jlc107XG5cbiAgICBsZXQgZW5zdXJlSXNUb2tlbiA9IHRva2VuT3JTdG9yZSA9PiB7XG4gICAgICByZXR1cm4gdG9rZW5PclN0b3JlIGluc3RhbmNlb2YgU3RvcmVcbiAgICAgICAgPyB0b2tlbk9yU3RvcmUuX3Rva2VuXG4gICAgICAgIDogdG9rZW5PclN0b3JlO1xuICAgIH07XG5cbiAgICBsZXQgdG9rZW5zID0gdG9rZW5zT3JTdG9yZXMubWFwKGVuc3VyZUlzVG9rZW4pO1xuXG4gICAgdGhpcy5kaXNwYXRjaGVyLndhaXRGb3IodG9rZW5zKTtcbiAgfVxuXG4gIHJlbW92ZUFsbFN0b3JlTGlzdGVuZXJzKGV2ZW50KSB7XG4gICAgZm9yIChsZXQga2V5IGluIHRoaXMuX3N0b3Jlcykge1xuICAgICAgaWYgKCF0aGlzLl9zdG9yZXMuaGFzT3duUHJvcGVydHkoa2V5KSkgY29udGludWU7XG5cbiAgICAgIGxldCBzdG9yZSA9IHRoaXMuX3N0b3Jlc1trZXldO1xuXG4gICAgICBzdG9yZS5yZW1vdmVBbGxMaXN0ZW5lcnMoZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIHNlcmlhbGl6ZSgpIHtcbiAgICBsZXQgc3RhdGVUcmVlID0ge307XG5cbiAgICBmb3IgKGxldCBrZXkgaW4gdGhpcy5fc3RvcmVzKSB7XG4gICAgICBpZiAoIXRoaXMuX3N0b3Jlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSBjb250aW51ZTtcblxuICAgICAgbGV0IHN0b3JlID0gdGhpcy5fc3RvcmVzW2tleV07XG5cbiAgICAgIGxldCBzZXJpYWxpemUgPSBzdG9yZS5jb25zdHJ1Y3Rvci5zZXJpYWxpemU7XG5cbiAgICAgIGlmICh0eXBlb2Ygc2VyaWFsaXplICE9PSAnZnVuY3Rpb24nKSBjb250aW51ZTtcblxuICAgICAgbGV0IHNlcmlhbGl6ZWRTdG9yZVN0YXRlID0gc2VyaWFsaXplKHN0b3JlLnN0YXRlKTtcblxuICAgICAgaWYgKHR5cGVvZiBzZXJpYWxpemVkU3RvcmVTdGF0ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgbGV0IGNsYXNzTmFtZSA9IHN0b3JlLmNvbnN0cnVjdG9yLm5hbWU7XG5cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICBgVGhlIHN0b3JlIHdpdGgga2V5ICcke2tleX0nIHdhcyBub3Qgc2VyaWFsaXplZCBiZWNhdXNlIHRoZSBzdGF0aWMgYFxuICAgICAgICAgICsgYG1ldGhvZCBcXGAke2NsYXNzTmFtZX0uc2VyaWFsaXplKClcXGAgcmV0dXJuZWQgYSBub24tc3RyaW5nIHdpdGggdHlwZSBgXG4gICAgICAgICAgKyBgJyR7dHlwZW9mIHNlcmlhbGl6ZWRTdG9yZVN0YXRlfScuYFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3RhdGVUcmVlW2tleV0gPSBzZXJpYWxpemVkU3RvcmVTdGF0ZTtcblxuICAgICAgaWYgKHR5cGVvZiBzdG9yZS5jb25zdHJ1Y3Rvci5kZXNlcmlhbGl6ZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBsZXQgY2xhc3NOYW1lID0gc3RvcmUuY29uc3RydWN0b3IubmFtZTtcblxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgIGBUaGUgY2xhc3MgXFxgJHtjbGFzc05hbWV9XFxgIGhhcyBhIFxcYHNlcmlhbGl6ZSgpXFxgIG1ldGhvZCwgYnV0IG5vIGBcbiAgICAgICAgICArIGBjb3JyZXNwb25kaW5nIFxcYGRlc2VyaWFsaXplKClcXGAgbWV0aG9kLmBcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoc3RhdGVUcmVlKTtcbiAgfVxuXG4gIGRlc2VyaWFsaXplKHNlcmlhbGl6ZWRTdGF0ZSkge1xuICAgIGxldCBzdGF0ZU1hcDtcblxuICAgIHRyeSB7XG4gICAgICBzdGF0ZU1hcCA9IEpTT04ucGFyc2Uoc2VyaWFsaXplZFN0YXRlKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgbGV0IGNsYXNzTmFtZSA9IHRoaXMuY29uc3RydWN0b3IubmFtZTtcblxuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBJbnZhbGlkIHZhbHVlIHBhc3NlZCB0byBcXGAke2NsYXNzTmFtZX0jZGVzZXJpYWxpemUoKVxcYDogYFxuICAgICAgICArIGAke3NlcmlhbGl6ZWRTdGF0ZX1gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChsZXQga2V5IGluIHRoaXMuX3N0b3Jlcykge1xuICAgICAgaWYgKCF0aGlzLl9zdG9yZXMuaGFzT3duUHJvcGVydHkoa2V5KSkgY29udGludWU7XG5cbiAgICAgIGxldCBzdG9yZSA9IHRoaXMuX3N0b3Jlc1trZXldO1xuXG4gICAgICBsZXQgZGVzZXJpYWxpemUgPSBzdG9yZS5jb25zdHJ1Y3Rvci5kZXNlcmlhbGl6ZTtcblxuICAgICAgaWYgKHR5cGVvZiBkZXNlcmlhbGl6ZSAhPT0gJ2Z1bmN0aW9uJykgY29udGludWU7XG5cbiAgICAgIGxldCBzdG9yZVN0YXRlU3RyaW5nID0gc3RhdGVNYXBba2V5XTtcbiAgICAgIGxldCBzdG9yZVN0YXRlID0gZGVzZXJpYWxpemUoc3RvcmVTdGF0ZVN0cmluZyk7XG5cbiAgICAgIHN0b3JlLnJlcGxhY2VTdGF0ZShzdG9yZVN0YXRlKTtcblxuICAgICAgaWYgKHR5cGVvZiBzdG9yZS5jb25zdHJ1Y3Rvci5zZXJpYWxpemUgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgbGV0IGNsYXNzTmFtZSA9IHN0b3JlLmNvbnN0cnVjdG9yLm5hbWU7XG5cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICBgVGhlIGNsYXNzIFxcYCR7Y2xhc3NOYW1lfVxcYCBoYXMgYSBcXGBkZXNlcmlhbGl6ZSgpXFxgIG1ldGhvZCwgYnV0IG5vIGBcbiAgICAgICAgICArIGBjb3JyZXNwb25kaW5nIFxcYHNlcmlhbGl6ZSgpXFxgIG1ldGhvZC5gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbmZ1bmN0aW9uIGdldENsYXNzTmFtZShDbGFzcykge1xuICByZXR1cm4gQ2xhc3MucHJvdG90eXBlLmNvbnN0cnVjdG9yLm5hbWU7XG59XG5cbmxldCBGbHVtbW94ID0gRmx1eDtcblxuZXhwb3J0IHtcbiAgRmx1eCxcbiAgRmx1bW1veCxcbiAgU3RvcmUsXG4gIEFjdGlvbnMsXG59O1xuIl19 |
@@ -62,3 +62,5 @@ "use strict"; | ||
} else { | ||
console.warn("Store#setState() called from outside an action handler. This is likely " + "a mistake. Flux stores should manage their own state."); | ||
if (process.env.NODE_ENV !== "production") { | ||
console.warn("Store#setState() called from outside an action handler. This is likely " + "a mistake. Flux stores should manage their own state."); | ||
} | ||
@@ -209,2 +211,2 @@ this.state = assign({}, this.state, newState); | ||
} | ||
//# sourceMappingURL=data:application/json;base64,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U0FBUyxjQUFjLENBQUMsZ0JBQWdCLEVBQUU7QUFDeEMsU0FBTyxPQUFPLGdCQUFnQixLQUFLLFVBQVUsR0FDekMsZ0JBQWdCLENBQUMsR0FBRyxHQUNwQixnQkFBZ0IsQ0FBQztDQUN0QiIsImZpbGUiOiJzcmMvU3RvcmUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFN0b3JlXG4gKlxuICogU3RvcmVzIGhvbGQgYXBwbGljYXRpb24gc3RhdGUuIFRoZXkgcmVzcG9uZCB0byBhY3Rpb25zIHNlbnQgYnkgdGhlIGRpc3BhdGNoZXJcbiAqIGFuZCBicm9hZGNhc3QgY2hhbmdlIGV2ZW50cyB0byBsaXN0ZW5lcnMsIHNvIHRoZXkgY2FuIGdyYWIgdGhlIGxhdGVzdCBkYXRhLlxuICogVGhlIGtleSB0aGluZyB0byByZW1lbWJlciBpcyB0aGF0IHRoZSBvbmx5IHdheSBzdG9yZXMgcmVjZWl2ZSBpbmZvcm1hdGlvblxuICogZnJvbSB0aGUgb3V0c2lkZSB3b3JsZCBpcyB2aWEgdGhlIGRpc3BhdGNoZXIuXG4gKi9cblxuaW1wb3J0IEV2ZW50RW1pdHRlciBmcm9tICdldmVudGVtaXR0ZXIzJztcbmltcG9ydCBhc3NpZ24gZnJvbSAnb2JqZWN0LWFzc2lnbic7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN0b3JlIGV4dGVuZHMgRXZlbnRFbWl0dGVyIHtcblxuICAvKipcbiAgICogU3RvcmVzIGFyZSBpbml0aWFsaXplZCB3aXRoIGEgcmVmZXJlbmNlXG4gICAqIEB0eXBlIHtPYmplY3R9XG4gICAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnN0YXRlID0gdW5kZWZpbmVkO1xuXG4gICAgdGhpcy5faGFuZGxlcnMgPSB7fTtcbiAgICB0aGlzLl9hc3luY0hhbmRsZXJzID0ge307XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgKHNoYWxsb3cpIGNvcHkgb2YgdGhlIHN0b3JlJ3MgaW50ZXJuYWwgc3RhdGUsIHNvIHRoYXQgaXQgaXNcbiAgICogcHJvdGVjdGVkIGZyb20gbXV0YXRpb24gYnkgdGhlIGNvbnN1bWVyLlxuICAgKiBAcmV0dXJucyB7b2JqZWN0fVxuICAgKi9cbiAgZ2V0U3RhdGUoKSB7XG4gICAgcmV0dXJuIGFzc2lnbih7fSwgdGhpcy5zdGF0ZSk7XG4gIH1cblxuICBzZXRTdGF0ZShuZXdTdGF0ZSkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5zdGF0ZSA9PT0gJ3VuZGVmaW5lZCcpIHRoaXMuc3RhdGUgPSB7fTtcblxuICAgIGlmICh0aGlzLl9pc0hhbmRsaW5nRGlzcGF0Y2gpIHtcbiAgICAgIHRoaXMuX3BlbmRpbmdTdGF0ZSA9IGFzc2lnbih0aGlzLl9wZW5kaW5nU3RhdGUsIG5ld1N0YXRlKTtcbiAgICAgIHRoaXMuX2VtaXRDaGFuZ2VBZnRlckhhbmRsaW5nRGlzcGF0Y2ggPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdTdG9yZSNzZXRTdGF0ZSgpIGNhbGxlZCBmcm9tIG91dHNpZGUgYW4gYWN0aW9uIGhhbmRsZXIuIFRoaXMgaXMgbGlrZWx5ICdcbiAgICAgICsgJ2EgbWlzdGFrZS4gRmx1eCBzdG9yZXMgc2hvdWxkIG1hbmFnZSB0aGVpciBvd24gc3RhdGUuJ1xuICAgICAgKTtcblxuICAgICAgdGhpcy5zdGF0ZSA9IGFzc2lnbih7fSwgdGhpcy5zdGF0ZSwgbmV3U3RhdGUpO1xuICAgICAgdGhpcy5lbWl0KCdjaGFuZ2UnKTtcbiAgICB9XG4gIH1cblxuICByZXBsYWNlU3RhdGUobmV3U3RhdGUpIHtcbiAgICBpZiAodHlwZW9mIHRoaXMuc3RhdGUgPT09ICd1bmRlZmluZWQnKSB0aGlzLnN0YXRlID0ge307XG5cbiAgICBpZiAodGhpcy5faXNIYW5kbGluZ0Rpc3BhdGNoKSB7XG4gICAgICB0aGlzLl9wZW5kaW5nU3RhdGUgPSBhc3NpZ24oe30sIG5ld1N0YXRlKTtcbiAgICAgIHRoaXMuX2VtaXRDaGFuZ2VBZnRlckhhbmRsaW5nRGlzcGF0Y2ggPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0YXRlID0gYXNzaWduKHt9LCBuZXdTdGF0ZSk7XG4gICAgICB0aGlzLmVtaXQoJ2NoYW5nZScpO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyKGFjdGlvbklkLCBoYW5kbGVyKSB7XG4gICAgYWN0aW9uSWQgPSBlbnN1cmVBY3Rpb25JZChhY3Rpb25JZCk7XG5cbiAgICBpZiAodHlwZW9mIGhhbmRsZXIgIT09ICdmdW5jdGlvbicpIHJldHVybjtcblxuICAgIHRoaXMuX2hhbmRsZXJzW2FjdGlvbklkXSA9IGhhbmRsZXIuYmluZCh0aGlzKTtcbiAgfVxuXG4gIHJlZ2lzdGVyQXN5bmMoYWN0aW9uSWQsIGJlZ2luSGFuZGxlciwgc3VjY2Vzc0hhbmRsZXIsIGZhaWx1cmVIYW5kbGVyKSB7XG4gICAgYWN0aW9uSWQgPSBlbnN1cmVBY3Rpb25JZChhY3Rpb25JZCk7XG5cbiAgICBsZXQgYXN5bmNIYW5kbGVycyA9IHtcbiAgICAgIGJlZ2luOiBiZWdpbkhhbmRsZXIsXG4gICAgICBzdWNjZXNzOiBzdWNjZXNzSGFuZGxlcixcbiAgICAgIGZhaWx1cmU6IGZhaWx1cmVIYW5kbGVyLFxuICAgIH07XG5cbiAgICBmb3IgKGxldCBrZXkgaW4gYXN5bmNIYW5kbGVycykge1xuICAgICAgaWYgKCFhc3luY0hhbmRsZXJzLmhhc093blByb3BlcnR5KGtleSkpIGNvbnRpbnVlO1xuXG4gICAgICBsZXQgaGFuZGxlciA9IGFzeW5jSGFuZGxlcnNba2V5XTtcblxuICAgICAgaWYgKHR5cGVvZiBoYW5kbGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGFzeW5jSGFuZGxlcnNba2V5XSA9IGhhbmRsZXIuYmluZCh0aGlzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlbGV0ZSBhc3luY0hhbmRsZXJzW2tleV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fYXN5bmNIYW5kbGVyc1thY3Rpb25JZF0gPSBhc3luY0hhbmRsZXJzO1xuICB9XG5cbiAgd2FpdEZvcih0b2tlbnNPclN0b3Jlcykge1xuICAgIHRoaXMuX3dhaXRGb3IodG9rZW5zT3JTdG9yZXMpO1xuICB9XG5cbiAgaGFuZGxlcihwYXlsb2FkKSB7XG4gICAgbGV0IHtcbiAgICAgIGJvZHksXG4gICAgICBhY3Rpb25JZCxcbiAgICAgIGFzeW5jOiBfYXN5bmMsXG4gICAgICBhY3Rpb25BcmdzLFxuICAgICAgZXJyb3JcbiAgICB9ID0gcGF5bG9hZDtcblxuICAgIGxldCBfaGFuZGxlciA9IHRoaXMuX2hhbmRsZXJzW2FjdGlvbklkXTtcbiAgICBsZXQgX2FzeW5jSGFuZGxlciA9IHRoaXMuX2FzeW5jSGFuZGxlcnNbYWN0aW9uSWRdXG4gICAgICAmJiB0aGlzLl9hc3luY0hhbmRsZXJzW2FjdGlvbklkXVtfYXN5bmNdO1xuXG4gICAgaWYgKF9hc3luYykge1xuICAgICAgc3dpdGNoIChfYXN5bmMpIHtcbiAgICAgICAgY2FzZSAnYmVnaW4nOlxuICAgICAgICAgIGlmICh0eXBlb2YgX2FzeW5jSGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdGhpcy5fcGVyZm9ybUhhbmRsZXIuYXBwbHkodGhpcywgW19hc3luY0hhbmRsZXJdLmNvbmNhdChhY3Rpb25BcmdzKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY2FzZSAnZmFpbHVyZSc6XG4gICAgICAgICAgaWYgKHR5cGVvZiBfYXN5bmNIYW5kbGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0aGlzLl9wZXJmb3JtSGFuZGxlcihfYXN5bmNIYW5kbGVyLCBlcnJvcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgICAgaWYgKHR5cGVvZiBfYXN5bmNIYW5kbGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBfaGFuZGxlciA9IF9hc3luY0hhbmRsZXI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIF9oYW5kbGVyICE9PSAnZnVuY3Rpb24nKSByZXR1cm47XG4gICAgdGhpcy5fcGVyZm9ybUhhbmRsZXIoX2hhbmRsZXIsIGJvZHkpO1xuICB9XG5cbiAgX3BlcmZvcm1IYW5kbGVyKF9oYW5kbGVyLCAuLi5hcmdzKSB7XG4gICAgdGhpcy5faXNIYW5kbGluZ0Rpc3BhdGNoID0gdHJ1ZTtcbiAgICB0aGlzLl9wZW5kaW5nU3RhdGUgPSBhc3NpZ24oe30sIHRoaXMuc3RhdGUpO1xuICAgIHRoaXMuX2VtaXRDaGFuZ2VBZnRlckhhbmRsaW5nRGlzcGF0Y2ggPSBmYWxzZTtcblxuICAgIHRyeSB7XG4gICAgICBfaGFuZGxlci5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICB9IGZpbmFsbHkge1xuXG4gICAgICBpZiAodGhpcy5fZW1pdENoYW5nZUFmdGVySGFuZGxpbmdEaXNwYXRjaCkge1xuICAgICAgICB0aGlzLnN0YXRlID0gdGhpcy5fcGVuZGluZ1N0YXRlO1xuICAgICAgICB0aGlzLmVtaXQoJ2NoYW5nZScpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9pc0hhbmRsaW5nRGlzcGF0Y2ggPSBmYWxzZTtcbiAgICAgIHRoaXMuX3BlbmRpbmdTdGF0ZSA9IHt9O1xuICAgICAgdGhpcy5fZW1pdENoYW5nZUFmdGVySGFuZGxpbmdEaXNwYXRjaCA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBlbnN1cmVBY3Rpb25JZChhY3Rpb25PckFjdGlvbklkKSB7XG4gIHJldHVybiB0eXBlb2YgYWN0aW9uT3JBY3Rpb25JZCA9PT0gJ2Z1bmN0aW9uJ1xuICAgID8gYWN0aW9uT3JBY3Rpb25JZC5faWRcbiAgICA6IGFjdGlvbk9yQWN0aW9uSWQ7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,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QztPQUNGOzs7Ozs7U0FsSmtCLEtBQUs7R0FBUyxZQUFZOztpQkFBMUIsS0FBSzs7O0FBcUoxQixTQUFTLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRTtBQUN4QyxTQUFPLE9BQU8sZ0JBQWdCLEtBQUssVUFBVSxHQUN6QyxnQkFBZ0IsQ0FBQyxHQUFHLEdBQ3BCLGdCQUFnQixDQUFDO0NBQ3RCIiwiZmlsZSI6InNyYy9TdG9yZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3RvcmVcbiAqXG4gKiBTdG9yZXMgaG9sZCBhcHBsaWNhdGlvbiBzdGF0ZS4gVGhleSByZXNwb25kIHRvIGFjdGlvbnMgc2VudCBieSB0aGUgZGlzcGF0Y2hlclxuICogYW5kIGJyb2FkY2FzdCBjaGFuZ2UgZXZlbnRzIHRvIGxpc3RlbmVycywgc28gdGhleSBjYW4gZ3JhYiB0aGUgbGF0ZXN0IGRhdGEuXG4gKiBUaGUga2V5IHRoaW5nIHRvIHJlbWVtYmVyIGlzIHRoYXQgdGhlIG9ubHkgd2F5IHN0b3JlcyByZWNlaXZlIGluZm9ybWF0aW9uXG4gKiBmcm9tIHRoZSBvdXRzaWRlIHdvcmxkIGlzIHZpYSB0aGUgZGlzcGF0Y2hlci5cbiAqL1xuXG5pbXBvcnQgRXZlbnRFbWl0dGVyIGZyb20gJ2V2ZW50ZW1pdHRlcjMnO1xuaW1wb3J0IGFzc2lnbiBmcm9tICdvYmplY3QtYXNzaWduJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3RvcmUgZXh0ZW5kcyBFdmVudEVtaXR0ZXIge1xuXG4gIC8qKlxuICAgKiBTdG9yZXMgYXJlIGluaXRpYWxpemVkIHdpdGggYSByZWZlcmVuY2VcbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc3RhdGUgPSB1bmRlZmluZWQ7XG5cbiAgICB0aGlzLl9oYW5kbGVycyA9IHt9O1xuICAgIHRoaXMuX2FzeW5jSGFuZGxlcnMgPSB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSAoc2hhbGxvdykgY29weSBvZiB0aGUgc3RvcmUncyBpbnRlcm5hbCBzdGF0ZSwgc28gdGhhdCBpdCBpc1xuICAgKiBwcm90ZWN0ZWQgZnJvbSBtdXRhdGlvbiBieSB0aGUgY29uc3VtZXIuXG4gICAqIEByZXR1cm5zIHtvYmplY3R9XG4gICAqL1xuICBnZXRTdGF0ZSgpIHtcbiAgICByZXR1cm4gYXNzaWduKHt9LCB0aGlzLnN0YXRlKTtcbiAgfVxuXG4gIHNldFN0YXRlKG5ld1N0YXRlKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLnN0YXRlID09PSAndW5kZWZpbmVkJykgdGhpcy5zdGF0ZSA9IHt9O1xuXG4gICAgaWYgKHRoaXMuX2lzSGFuZGxpbmdEaXNwYXRjaCkge1xuICAgICAgdGhpcy5fcGVuZGluZ1N0YXRlID0gYXNzaWduKHRoaXMuX3BlbmRpbmdTdGF0ZSwgbmV3U3RhdGUpO1xuICAgICAgdGhpcy5fZW1pdENoYW5nZUFmdGVySGFuZGxpbmdEaXNwYXRjaCA9IHRydWU7XG4gICAgfSBlbHNlIHtcblxuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICdTdG9yZSNzZXRTdGF0ZSgpIGNhbGxlZCBmcm9tIG91dHNpZGUgYW4gYWN0aW9uIGhhbmRsZXIuIFRoaXMgaXMgbGlrZWx5ICdcbiAgICAgICAgKyAnYSBtaXN0YWtlLiBGbHV4IHN0b3JlcyBzaG91bGQgbWFuYWdlIHRoZWlyIG93biBzdGF0ZS4nXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc3RhdGUgPSBhc3NpZ24oe30sIHRoaXMuc3RhdGUsIG5ld1N0YXRlKTtcbiAgICAgIHRoaXMuZW1pdCgnY2hhbmdlJyk7XG4gICAgfVxuICB9XG5cbiAgcmVwbGFjZVN0YXRlKG5ld1N0YXRlKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLnN0YXRlID09PSAndW5kZWZpbmVkJykgdGhpcy5zdGF0ZSA9IHt9O1xuXG4gICAgaWYgKHRoaXMuX2lzSGFuZGxpbmdEaXNwYXRjaCkge1xuICAgICAgdGhpcy5fcGVuZGluZ1N0YXRlID0gYXNzaWduKHt9LCBuZXdTdGF0ZSk7XG4gICAgICB0aGlzLl9lbWl0Q2hhbmdlQWZ0ZXJIYW5kbGluZ0Rpc3BhdGNoID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGF0ZSA9IGFzc2lnbih7fSwgbmV3U3RhdGUpO1xuICAgICAgdGhpcy5lbWl0KCdjaGFuZ2UnKTtcbiAgICB9XG4gIH1cblxuICByZWdpc3RlcihhY3Rpb25JZCwgaGFuZGxlcikge1xuICAgIGFjdGlvbklkID0gZW5zdXJlQWN0aW9uSWQoYWN0aW9uSWQpO1xuXG4gICAgaWYgKHR5cGVvZiBoYW5kbGVyICE9PSAnZnVuY3Rpb24nKSByZXR1cm47XG5cbiAgICB0aGlzLl9oYW5kbGVyc1thY3Rpb25JZF0gPSBoYW5kbGVyLmJpbmQodGhpcyk7XG4gIH1cblxuICByZWdpc3RlckFzeW5jKGFjdGlvbklkLCBiZWdpbkhhbmRsZXIsIHN1Y2Nlc3NIYW5kbGVyLCBmYWlsdXJlSGFuZGxlcikge1xuICAgIGFjdGlvbklkID0gZW5zdXJlQWN0aW9uSWQoYWN0aW9uSWQpO1xuXG4gICAgbGV0IGFzeW5jSGFuZGxlcnMgPSB7XG4gICAgICBiZWdpbjogYmVnaW5IYW5kbGVyLFxuICAgICAgc3VjY2Vzczogc3VjY2Vzc0hhbmRsZXIsXG4gICAgICBmYWlsdXJlOiBmYWlsdXJlSGFuZGxlcixcbiAgICB9O1xuXG4gICAgZm9yIChsZXQga2V5IGluIGFzeW5jSGFuZGxlcnMpIHtcbiAgICAgIGlmICghYXN5bmNIYW5kbGVycy5oYXNPd25Qcm9wZXJ0eShrZXkpKSBjb250aW51ZTtcblxuICAgICAgbGV0IGhhbmRsZXIgPSBhc3luY0hhbmRsZXJzW2tleV07XG5cbiAgICAgIGlmICh0eXBlb2YgaGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBhc3luY0hhbmRsZXJzW2tleV0gPSBoYW5kbGVyLmJpbmQodGhpcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZWxldGUgYXN5bmNIYW5kbGVyc1trZXldO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX2FzeW5jSGFuZGxlcnNbYWN0aW9uSWRdID0gYXN5bmNIYW5kbGVycztcbiAgfVxuXG4gIHdhaXRGb3IodG9rZW5zT3JTdG9yZXMpIHtcbiAgICB0aGlzLl93YWl0Rm9yKHRva2Vuc09yU3RvcmVzKTtcbiAgfVxuXG4gIGhhbmRsZXIocGF5bG9hZCkge1xuICAgIGxldCB7XG4gICAgICBib2R5LFxuICAgICAgYWN0aW9uSWQsXG4gICAgICBhc3luYzogX2FzeW5jLFxuICAgICAgYWN0aW9uQXJncyxcbiAgICAgIGVycm9yXG4gICAgfSA9IHBheWxvYWQ7XG5cbiAgICBsZXQgX2hhbmRsZXIgPSB0aGlzLl9oYW5kbGVyc1thY3Rpb25JZF07XG4gICAgbGV0IF9hc3luY0hhbmRsZXIgPSB0aGlzLl9hc3luY0hhbmRsZXJzW2FjdGlvbklkXVxuICAgICAgJiYgdGhpcy5fYXN5bmNIYW5kbGVyc1thY3Rpb25JZF1bX2FzeW5jXTtcblxuICAgIGlmIChfYXN5bmMpIHtcbiAgICAgIHN3aXRjaCAoX2FzeW5jKSB7XG4gICAgICAgIGNhc2UgJ2JlZ2luJzpcbiAgICAgICAgICBpZiAodHlwZW9mIF9hc3luY0hhbmRsZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRoaXMuX3BlcmZvcm1IYW5kbGVyLmFwcGx5KHRoaXMsIFtfYXN5bmNIYW5kbGVyXS5jb25jYXQoYWN0aW9uQXJncykpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNhc2UgJ2ZhaWx1cmUnOlxuICAgICAgICAgIGlmICh0eXBlb2YgX2FzeW5jSGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdGhpcy5fcGVyZm9ybUhhbmRsZXIoX2FzeW5jSGFuZGxlciwgZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICAgIGlmICh0eXBlb2YgX2FzeW5jSGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgX2hhbmRsZXIgPSBfYXN5bmNIYW5kbGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBfaGFuZGxlciAhPT0gJ2Z1bmN0aW9uJykgcmV0dXJuO1xuICAgIHRoaXMuX3BlcmZvcm1IYW5kbGVyKF9oYW5kbGVyLCBib2R5KTtcbiAgfVxuXG4gIF9wZXJmb3JtSGFuZGxlcihfaGFuZGxlciwgLi4uYXJncykge1xuICAgIHRoaXMuX2lzSGFuZGxpbmdEaXNwYXRjaCA9IHRydWU7XG4gICAgdGhpcy5fcGVuZGluZ1N0YXRlID0gYXNzaWduKHt9LCB0aGlzLnN0YXRlKTtcbiAgICB0aGlzLl9lbWl0Q2hhbmdlQWZ0ZXJIYW5kbGluZ0Rpc3BhdGNoID0gZmFsc2U7XG5cbiAgICB0cnkge1xuICAgICAgX2hhbmRsZXIuYXBwbHkodGhpcywgYXJncyk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmICh0aGlzLl9lbWl0Q2hhbmdlQWZ0ZXJIYW5kbGluZ0Rpc3BhdGNoKSB7XG4gICAgICAgIHRoaXMuc3RhdGUgPSB0aGlzLl9wZW5kaW5nU3RhdGU7XG4gICAgICAgIHRoaXMuZW1pdCgnY2hhbmdlJyk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2lzSGFuZGxpbmdEaXNwYXRjaCA9IGZhbHNlO1xuICAgICAgdGhpcy5fcGVuZGluZ1N0YXRlID0ge307XG4gICAgICB0aGlzLl9lbWl0Q2hhbmdlQWZ0ZXJIYW5kbGluZ0Rpc3BhdGNoID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGVuc3VyZUFjdGlvbklkKGFjdGlvbk9yQWN0aW9uSWQpIHtcbiAgcmV0dXJuIHR5cGVvZiBhY3Rpb25PckFjdGlvbklkID09PSAnZnVuY3Rpb24nXG4gICAgPyBhY3Rpb25PckFjdGlvbklkLl9pZFxuICAgIDogYWN0aW9uT3JBY3Rpb25JZDtcbn1cbiJdfQ== |
@@ -21,6 +21,5 @@ "use strict"; | ||
global.jsdom = function () { | ||
global.document = _jsdom("<!doctype html><html><body></body></html>"); | ||
global.window = document.parentWindow; | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L2luaXQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztJQUFPLElBQUksMkJBQU0sTUFBTTs7QUFDdkIsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDOztJQUVyQixjQUFjLDJCQUFNLGtCQUFrQjs7QUFDN0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQzs7SUFFaEIsT0FBTyxXQUFRLGFBQWEsRUFBNUIsT0FBTztBQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQzs7UUFFdkMsbUNBQW1DOztJQUV4QixNQUFNLFdBQVEsT0FBTyxFQUE5QixLQUFLOzs7QUFFZCxNQUFNLENBQUMsS0FBSyxHQUFHLFlBQU07QUFDbkIsUUFBTSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsMkNBQTJDLENBQUMsQ0FBQztBQUN0RSxRQUFNLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7Q0FDdkMsQ0FBQyIsImZpbGUiOiJzcmMvdGVzdC9pbml0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNoYWkgZnJvbSAnY2hhaSc7XG5nbG9iYWwuZXhwZWN0ID0gY2hhaS5leHBlY3Q7XG5cbmltcG9ydCBjaGFpQXNQcm9taXNlZCBmcm9tICdjaGFpLWFzLXByb21pc2VkJztcbmNoYWkudXNlKGNoYWlBc1Byb21pc2VkKTtcblxuaW1wb3J0IHsgUHJvbWlzZSB9IGZyb20gJ2VzNi1wcm9taXNlJztcbmlmICghZ2xvYmFsLlByb21pc2UpIGdsb2JhbC5Qcm9taXNlID0gUHJvbWlzZTtcblxuaW1wb3J0ICdiYWJlbC1ydW50aW1lL3JlZ2VuZXJhdG9yL3J1bnRpbWUnO1xuXG5pbXBvcnQgeyBqc2RvbSBhcyBfanNkb20gfSBmcm9tICdqc2RvbSc7XG5cbmdsb2JhbC5qc2RvbSA9ICgpID0+IHtcbiAgZ2xvYmFsLmRvY3VtZW50ID0gX2pzZG9tKCc8IWRvY3R5cGUgaHRtbD48aHRtbD48Ym9keT48L2JvZHk+PC9odG1sPicpO1xuICBnbG9iYWwud2luZG93ID0gZG9jdW1lbnQucGFyZW50V2luZG93O1xufTtcbiJdfQ== | ||
global.document = _jsdom("<!doctype html><html><body></body></html>"); | ||
global.window = document.parentWindow; | ||
global.navigator = window.navigator; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L2luaXQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztJQUFPLElBQUksMkJBQU0sTUFBTTs7QUFDdkIsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDOztJQUVyQixjQUFjLDJCQUFNLGtCQUFrQjs7QUFDN0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQzs7SUFFaEIsT0FBTyxXQUFRLGFBQWEsRUFBNUIsT0FBTztBQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQzs7UUFFdkMsbUNBQW1DOztJQUV4QixNQUFNLFdBQVEsT0FBTyxFQUE5QixLQUFLOzs7QUFFZCxNQUFNLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0FBQ3RFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQztBQUN0QyxNQUFNLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMiLCJmaWxlIjoic3JjL3Rlc3QvaW5pdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjaGFpIGZyb20gJ2NoYWknO1xuZ2xvYmFsLmV4cGVjdCA9IGNoYWkuZXhwZWN0O1xuXG5pbXBvcnQgY2hhaUFzUHJvbWlzZWQgZnJvbSAnY2hhaS1hcy1wcm9taXNlZCc7XG5jaGFpLnVzZShjaGFpQXNQcm9taXNlZCk7XG5cbmltcG9ydCB7IFByb21pc2UgfSBmcm9tICdlczYtcHJvbWlzZSc7XG5pZiAoIWdsb2JhbC5Qcm9taXNlKSBnbG9iYWwuUHJvbWlzZSA9IFByb21pc2U7XG5cbmltcG9ydCAnYmFiZWwtcnVudGltZS9yZWdlbmVyYXRvci9ydW50aW1lJztcblxuaW1wb3J0IHsganNkb20gYXMgX2pzZG9tIH0gZnJvbSAnanNkb20nO1xuXG5nbG9iYWwuZG9jdW1lbnQgPSBfanNkb20oJzwhZG9jdHlwZSBodG1sPjxodG1sPjxib2R5PjwvYm9keT48L2h0bWw+Jyk7XG5nbG9iYWwud2luZG93ID0gZG9jdW1lbnQucGFyZW50V2luZG93O1xuZ2xvYmFsLm5hdmlnYXRvciA9IHdpbmRvdy5uYXZpZ2F0b3I7XG4iXX0= |
@@ -1,1 +0,1 @@ | ||
module.exports = require('./lib/addons/FluxMixin'); | ||
module.exports = require('./lib/addons/fluxMixin'); |
{ | ||
"name": "flummox", | ||
"version": "2.12.2", | ||
"version": "2.12.3", | ||
"description": "Idiomatic, modular, testable, isomorphic Flux. No singletons required.", | ||
@@ -28,2 +28,3 @@ "main": "lib/Flux.js", | ||
"babel": "~4.3.0", | ||
"babel-eslint": "~1.0.12", | ||
"babel-loader": "~4.0.0", | ||
@@ -34,6 +35,7 @@ "babel-runtime": "~4.3.0", | ||
"es6-promise": "~2.0.1", | ||
"eslint": "~0.15.1", | ||
"istanbul": "~0.3.5", | ||
"jsdom": "~3.1.1", | ||
"mocha": "~2.1.0", | ||
"react": ">=0.12.0", | ||
"react": "0.12.x", | ||
"sinon": "~1.12.2", | ||
@@ -40,0 +42,0 @@ "source-map-support": "~0.2.9", |
@@ -27,3 +27,3 @@ Flummox | ||
- The dispatcher and constants are implementation details — no need to interact with them unless you want to. | ||
- Easy [integration with React](https://github.com/acdlite/flummox/blob/master/docs/react-integration.md) via FluxMixin and FluxComponent | ||
- Easy [integration with React](https://github.com/acdlite/flummox/blob/master/docs/react-integration.md) via fluxMixin and FluxComponent | ||
- Support for [plain JavaScript class components](http://facebook.github.io/react/blog/2015/01/27/react-v0.13.0-beta-1.html) in React 0.13.* | ||
@@ -104,3 +104,3 @@ - Straightforward [optimistic UI updates](https://github.com/acdlite/flummox/blob/master/docs/api/Store.md#performing-optimistic-updates) | ||
Integrating Flummox with React is really easy. You can do it the long way by manually adding and removing event listeners, but that leads to a lot of boilerplate. Use FluxComponent and/or FluxMixin to subscribe to store changes. | ||
Integrating Flummox with React is really easy. You can do it the long way by manually adding and removing event listeners, but that leads to a lot of boilerplate. Use FluxComponent and/or fluxMixin to subscribe to store changes. | ||
@@ -107,0 +107,0 @@ Here's a basic example: |
@@ -12,3 +12,3 @@ 'use strict'; | ||
if (process.env.COMPRESS) { | ||
if (process.env.NODE_ENV === 'production') { | ||
plugins.push( | ||
@@ -15,0 +15,0 @@ new webpack.optimize.UglifyJsPlugin({ |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
1422615
3847
15
9