microcosm
Advanced tools
Comparing version 8.0.0-alpha3 to 8.0.0-beta
@@ -5,3 +5,3 @@ # Actions | ||
2. [Firing Actions](#firing-actions) | ||
2. [Three ways to write actions](three-ways-to-write-actions) | ||
2. [The two ways to write actions](three-ways-to-write-actions) | ||
@@ -32,14 +32,11 @@ ## Overview | ||
let app = new Microcosm() | ||
app.send(MyActions.doSomething, parameters, function(error, result) { | ||
// an optional callback with success/failure information | ||
}) | ||
app.send(MyActions.doSomething, paramOne, paramTwo) | ||
``` | ||
## Three ways to write actions | ||
## Two ways to write actions | ||
Actions can follow three patterns. | ||
Actions can follow two patterns. | ||
1. [Return a value](#return-a-value) | ||
2. [Return a promise](#return-a-promise) | ||
3. [Error-first callback](#error-first-callback) | ||
@@ -78,21 +75,1 @@ ### Return a value | ||
it was resolved. | ||
### Error-first callback | ||
```javascript | ||
let MyActions = { | ||
doSomething(params, next) { | ||
if ('name' in params === false) { | ||
callback(new Error('Please provide a name!')) | ||
} else { | ||
callback(null, params) | ||
} | ||
} | ||
} | ||
``` | ||
The error-first callback style provides an alternative way to perform | ||
asynchronous operations. In this approach, errors are sent as the | ||
first argument of the callback and data is sent as the second | ||
argument. This convention is followed by many JavaScript libraries and | ||
has been added to better support them. |
@@ -135,3 +135,3 @@ # Microcosm | ||
### `push(action, params, ...callbacks)` | ||
### `push(action, ...params)` | ||
@@ -141,13 +141,6 @@ Resolves an action. If it resolved successfully, it dispatches that | ||
When this is complete, it runs all callbacks. Each callback will be | ||
provided any errors generated by the action. | ||
[See the documentation on actions](actions.md). | ||
```javascript | ||
app.push(createPlanet, { name: 'Merkur' }, function(error, planet) { | ||
if (!error) { | ||
console.log('%s was created!', planet.name) | ||
} | ||
}) | ||
app.push(createPlanet, { name: 'Merkur' }) | ||
``` | ||
@@ -154,0 +147,0 @@ |
@@ -14,2 +14,3 @@ # API Cheatsheet | ||
push - Queue up an action, potentially changing data | ||
prepare - Partially apply push | ||
replace - Replace state with the result of deserializing a set of data | ||
@@ -16,0 +17,0 @@ reset - Replace state with the result of calling `getInitialState` |
@@ -1,2 +0,2 @@ | ||
module.exports=function(t){function n(e){if(r[e])return r[e].exports;var i=r[e]={exports:{},id:e,loaded:!1};return t[e].call(i.exports,i,i.exports,n),i.loaded=!0,i.exports}var r={};return n.m=t,n.c=r,n.p="",n(0)}([function(t,n,r){function e(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}function i(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);t.prototype=Object.create(n&&n.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),n&&(t.__proto__=n)}var o=r(10),u=r(3),s=r(4),a=r(5),c=r(6),f=r(7),h=r(8),p=function(t){function n(){e(this,n),t.call(this),this.stores={},this.plugins=[]}return i(n,t),n.prototype.getInitialState=function(){return c(this.stores,function(t){return t.getInitialState()})},n.prototype.reset=function(){this.commit(this.getInitialState())},n.prototype.replace=function(t){var n=this.deserialize(t);for(var r in n)this.set(r,n[r])},n.prototype.addPlugin=function(t,n){this.plugins.push([t,n])},n.prototype.addStore=function(t,n){this.stores[t]=new s(n,t)},n.prototype.serialize=function(){var t=this;return c(this.stores,function(n){return n.serialize(t.get(n))})},n.prototype.deserialize=function(){var t=this,n=void 0===arguments[0]?{}:arguments[0];return c(n,function(n,r){return t.stores[r].deserialize(n)})},n.prototype.toJSON=function(){return this.serialize()},n.prototype.toObject=function(){return this.valueOf()},n.prototype.start=function(){var t=this,n=arguments;return this.reset(),a(this.plugins,this,function(){return f(n,[],t)}),this},n.prototype.push=function(t,n){for(var r=arguments.length,e=Array(r>2?r-2:0),i=2;r>i;i++)e[i-2]=arguments[i];var o=this;return u(t,n,function(n,r){n||o.dispatch(t,r),f(e,[n,r],o)})},n.prototype.dispatch=function(t,n){h(t);for(var r in this.stores){var e=this.get(r),i=this.stores[r];this.set(r,i.send(e,t,n)),this.volley()}return n},n}(o);t.exports=p},function(t,n,r){t.exports=function(t,n,r){var e=n.reduce(function(t,n){return t?t[n]:void 0},t);return void 0===e?r:e}},function(t,n,r){t.exports=function(t){if(Array.isArray(t))return t.slice();var n={};for(var r in t)n[r]=t[r];return n}},function(t,n,r){function e(t,n,r){if("function"!=typeof t)throw TypeError(""+t+" is not a function. Is app.push() being called with the wrong value?");var e=t.length>=2?i:o;return e(t,n,r)}function i(t,n,r){return t(n,r)}function o(t,n,r){var e=t(n);return e&&"function"==typeof e.then?(e.then(null,r),e.then(function(t){return r(null,t)})):(r(null,e),e)}t.exports=e},function(t,n,r){function e(t,n){for(var r in t)this[r]=t[r];this.toString=function(){return n}}var i=function(t){return t};e.prototype={getInitialState:i,serialize:i,deserialize:i,register:function(){return this},send:function(t,n,r){var e=this.register()[n];return e?e(t,r):t}},t.exports=e},function(t,n,r){var e=function i(t,n,r){var e=t[0],o=t.slice(1);if(!e)return r();var u=e[0],s=e[1];u.register(n,s,function(t){if(t)throw t;i(o,n,r)})};t.exports=e},function(t,n,r){t.exports=function(t,n){var r={};for(var e in t)r[e]=n(t[e],e,t);return r}},function(t,n,r){var e=!0;t.exports=function(t,n,r){for(var i=0;i<t.length;i++){if(e&&"function"!=typeof t[i])throw TypeError("Microcosm expected callback but instead got: "+typeof t[i]);t[i].apply(r,n)}}},function(t,n,r){var e=0;t.exports=function(t){t.hasOwnProperty("toString")||!function(){var n=e+=1;t.toString=function(){return"microcosm_tagged_"+n}}()}},function(t,n,r){function e(t){var n=[],r=t;t=this instanceof e?this:t||{};var i=function(){for(var r=0;r<n.length;r++)n[r].apply(t,arguments)};return t.listen=t.subscribe=function(r){return n=n.concat(r),t},t.ignore=t.unsubscribe=function(r){return n=n.filter(function(t){return t!==r}),t},t.emit=t.publish=function(){return i.apply(t,arguments),t},t.volley=function(){var e=arguments;return n.length>0&&(cancelAnimationFrame(r),r=requestAnimationFrame(function(){i.apply(t,e)})),t},t}t.exports=e(e),t.exports.decorate=e},function(t,n,r){function e(t){s(this),this._path=[],this._root=this,this.commit(t)}var i=r(11),o=r(12),u=r(1),s=r(9);e.prototype={getPath:function(t){return this._path.concat(t).filter(function(t){return void 0!==t})},getRoot:function(){return this._root},commit:function(t){this.getRoot()._state=t,this.volley(t)},clear:function(){this.commit()},get:function(t,n){return u(this._state,this.getPath(t),n)},set:function(t,n){1===arguments.length&&(n=arguments[0],t=void 0),this.commit(i(this._state,this.getPath(t),n))},update:function(t,n){1===arguments.length&&(n=arguments[0],t=void 0);for(var r in n)this.set([t,r],n[r])},remove:function(t){this.commit(o(this._state,this.getPath(t)))},refine:function(t){return Object.create(this,{_path:{value:this.getPath(t)}})},keys:function(){return Object.keys(this.valueOf()||{})},values:function(){return this.keys().map(function(t){return this.get(t)},this)},valueOf:function(){return u(this._state,this.getPath())},toJSON:function(){return this.valueOf()},is:function(t){return t.valueOf()==this.valueOf()},find:function(t,n){return this.filter(t,n)[0]},includes:function(t){return this.indexOf(t)>-1},first:function(){return this.values().shift()},last:function(){return this.values().pop()},size:function(){return this.values().length}};var a=["sort","map","reduce","filter","forEach","some","every","join","indexOf"];a.forEach(function(t){e.prototype[t]=function(){var n;return(n=this.values())[t].apply(n,arguments)}}),t.exports=e},function(t,n,r){var e=r(2),i=r(1);t.exports=function o(t,n,r){if(i(t,n)===r)return t;var u=n[0],s=n.slice(1),a=e(t);return n.length>1?a[u]=o(i(a,[u])||{},s,r):u?a[u]=r:a=r,a}},function(t,n,r){var e=r(2),i=r(1);t.exports=function o(t,n){if(void 0===i(t,n))return t;var r=n[0],u=n.slice(1),s=e(t);return u.length?(s[r]=o(t[r],u),0===Object.keys(s[r]).length&&delete s[r]):delete s[r],s}}]); | ||
module.exports=function(t){function n(e){if(r[e])return r[e].exports;var i=r[e]={exports:{},id:e,loaded:!1};return t[e].call(i.exports,i,i.exports,n),i.loaded=!0,i.exports}var r={};return n.m=t,n.c=r,n.p="",n(0)}([function(t,n,r){function e(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}function i(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);t.prototype=Object.create(n&&n.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),n&&(t.__proto__=n)}var o=r(10),u=r(3),s=r(4),a=r(5),c=r(6),f=r(7),h=r(8),p=function(t){function n(){e(this,n),t.call(this),this.stores={},this.plugins=[]}return i(n,t),n.prototype.getInitialState=function(){return c(this.stores,function(t){return t.getInitialState()})},n.prototype.reset=function(){this.commit(this.getInitialState())},n.prototype.replace=function(t){this.update(this.deserialize(t)),this.volley()},n.prototype.addPlugin=function(t,n){this.plugins.push([t,n])},n.prototype.addStore=function(t,n){this.stores[t]=new s(n,t)},n.prototype.serialize=function(){var t=this;return c(this.stores,function(n){return n.serialize(t.get(n))})},n.prototype.deserialize=function(){var t=this,n=void 0===arguments[0]?{}:arguments[0];return c(n,function(n,r){return t.stores[r].deserialize(n)})},n.prototype.toJSON=function(){return this.serialize()},n.prototype.toObject=function(){return this.valueOf()},n.prototype.start=function(){var t=this,n=arguments;return this.reset(),a(this.plugins,this,function(){return f(n,[],t,"start")}),this},n.prototype.push=function(t){for(var n=this,r=arguments.length,e=Array(r>1?r-1:0),i=1;r>i;i++)e[i-1]=arguments[i];return u(t,e,function(r){n.dispatch(t,r)})},n.prototype.prepare=function(t){for(var n,r=arguments.length,e=Array(r>1?r-1:0),i=1;r>i;i++)e[i-1]=arguments[i];return(n=this.push).bind.apply(n,[this,t].concat(e))},n.prototype.dispatch=function(t,n){h(t);for(var r in this.stores){var e=this.get(r),i=this.stores[r];this.set(r,i.send(e,t,n)),this.volley()}return n},n}(o);t.exports=p},function(t,n,r){t.exports=function(t,n,r){var e=n.reduce(function(t,n){return t?t[n]:void 0},t);return void 0===e?r:e}},function(t,n,r){t.exports=function(t){if(Array.isArray(t))return t.slice();var n={};for(var r in t)n[r]=t[r];return n}},function(t,n,r){function e(t,n,r){var e=t.apply(null,n);return e&&"function"==typeof e.then?e.then(r):(r(e),e)}t.exports=e},function(t,n,r){function e(t,n){for(var r in t)this[r]=t[r];this.toString=function(){return n}}var i=function(t){return t};e.prototype={getInitialState:i,serialize:i,deserialize:i,register:function(){return this},send:function(t,n,r){var e=this.register()[n];return e?e(t,r):t}},t.exports=e},function(t,n,r){var e=function i(t,n,r){var e=t[0],o=t.slice(1);if(!e)return r();var u=e[0],s=e[1];u.register(n,s,function(t){if(t)throw t;i(o,n,r)})};t.exports=e},function(t,n,r){t.exports=function(t,n){var r={};for(var e in t)r[e]=n(t[e],e,t);return r}},function(t,n,r){t.exports=function(t,n,r){for(var e=(void 0===arguments[3]?"run":arguments[3],0);e<t.length;e++)t[e].apply(r,n)}},function(t,n,r){var e=0;t.exports=function(t){t.hasOwnProperty("toString")||!function(){var n=e+=1;t.toString=function(){return"microcosm_tagged_"+n}}()}},function(t,n,r){function e(t){var n=[],r=t;t=this instanceof e?this:t||{};var i=function(){for(var r=0;r<n.length;r++)n[r].apply(t,arguments)};return t.listen=t.subscribe=function(r){return n=n.concat(r),t},t.ignore=t.unsubscribe=function(r){return n=n.filter(function(t){return t!==r}),t},t.emit=t.publish=function(){return i.apply(t,arguments),t},t.volley=function(){var e=arguments;return n.length>0&&(cancelAnimationFrame(r),r=requestAnimationFrame(function(){i.apply(t,e)})),t},t}t.exports=e(e),t.exports.decorate=e},function(t,n,r){function e(t){s(this),this._path=[],this._root=this,this.commit(t)}var i=r(11),o=r(12),u=r(1),s=r(9);e.prototype={getPath:function(t){return this._path.concat(t).filter(function(t){return void 0!==t})},getRoot:function(){return this._root},commit:function(t){this.getRoot()._state=t,this.volley(t)},clear:function(){this.commit()},get:function(t,n){return u(this._state,this.getPath(t),n)},set:function(t,n){1===arguments.length&&(n=arguments[0],t=void 0),this.commit(i(this._state,this.getPath(t),n))},update:function(t,n){1===arguments.length&&(n=arguments[0],t=void 0);for(var r in n)this.set([t,r],n[r])},remove:function(t){this.commit(o(this._state,this.getPath(t)))},refine:function(t){return Object.create(this,{_path:{value:this.getPath(t)}})},keys:function(){return Object.keys(this.valueOf()||{})},values:function(){return this.keys().map(function(t){return this.get(t)},this)},valueOf:function(){return u(this._state,this.getPath())},toJSON:function(){return this.valueOf()},is:function(t){return t.valueOf()==this.valueOf()},find:function(t,n){return this.filter(t,n)[0]},includes:function(t){return this.indexOf(t)>-1},first:function(){return this.values().shift()},last:function(){return this.values().pop()},size:function(){return this.values().length}};var a=["sort","map","reduce","filter","forEach","some","every","join","indexOf"];a.forEach(function(t){e.prototype[t]=function(){var n;return(n=this.values())[t].apply(n,arguments)}}),t.exports=e},function(t,n,r){var e=r(2),i=r(1);t.exports=function o(t,n,r){if(i(t,n)===r)return t;var u=n[0],s=n.slice(1),a=e(t);return n.length>1?a[u]=o(i(a,[u])||{},s,r):u?a[u]=r:a=r,a}},function(t,n,r){var e=r(2),i=r(1);t.exports=function o(t,n){if(void 0===i(t,n))return t;var r=n[0],u=n.slice(1),s=e(t);return u.length?(s[r]=o(t[r],u),0===Object.keys(s[r]).length&&delete s[r]):delete s[r],s}}]); | ||
//# sourceMappingURL=microcosm.build.js.map |
{ | ||
"name": "microcosm", | ||
"version": "8.0.0-alpha3", | ||
"version": "8.0.0-beta", | ||
"description": "A variant of Facebook's Flux with centralized, isolated state", | ||
@@ -5,0 +5,0 @@ "main": "src/Microcosm.js", |
@@ -41,5 +41,4 @@  | ||
each Action function a unique `toString` signature under the hood. | ||
3. Actions dispatch parameters by returning a value, promise, | ||
or follow the error-first callbacks convention. The promise and | ||
error-first callback methods will only dispatch on success. | ||
3. Actions dispatch parameters by returning a value or a promise (only | ||
dispatching when it is resolved) | ||
3. Actions handle all asynchronous operations. Stores are | ||
@@ -46,0 +45,0 @@ synchronous. |
@@ -42,7 +42,4 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } | ||
Microcosm.prototype.replace = function replace(data) { | ||
var cleaned = this.deserialize(data); | ||
for (var key in cleaned) { | ||
this.set(key, cleaned[key]); | ||
} | ||
this.update(this.deserialize(data)); | ||
this.volley(); | ||
}; | ||
@@ -93,3 +90,3 @@ | ||
install(this.plugins, this, function () { | ||
return run(callbacks, [], _this3); | ||
return run(callbacks, [], _this3, 'start'); | ||
}); | ||
@@ -100,19 +97,25 @@ | ||
Microcosm.prototype.push = function push(action, params) { | ||
for (var _len = arguments.length, callbacks = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { | ||
callbacks[_key - 2] = arguments[_key]; | ||
} | ||
Microcosm.prototype.push = function push(action) { | ||
var _this4 = this; | ||
return Signal(action, params, function (error, result) { | ||
if (!error) { | ||
_this4.dispatch(action, result); | ||
} | ||
for (var _len = arguments.length, params = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { | ||
params[_key - 1] = arguments[_key]; | ||
} | ||
run(callbacks, [error, result], _this4); | ||
return Signal(action, params, function (result) { | ||
_this4.dispatch(action, result); | ||
}); | ||
}; | ||
Microcosm.prototype.dispatch = function dispatch(action, params) { | ||
Microcosm.prototype.prepare = function prepare(action) { | ||
var _push; | ||
for (var _len2 = arguments.length, buffer = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { | ||
buffer[_key2 - 1] = arguments[_key2]; | ||
} | ||
return (_push = this.push).bind.apply(_push, [this, action].concat(buffer)); | ||
}; | ||
Microcosm.prototype.dispatch = function dispatch(action, payload) { | ||
tag(action); | ||
@@ -124,7 +127,7 @@ | ||
this.set(key, store.send(state, action, params)); | ||
this.set(key, store.send(state, action, payload)); | ||
this.volley(); | ||
} | ||
return params; | ||
return payload; | ||
}; | ||
@@ -137,2 +140,2 @@ | ||
/*...callbacks*/ | ||
//# sourceMappingURL=data:application/json;base64,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InNyYy9NaWNyb2Nvc20uanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE1pY3JvY29zbVxuICogQW4gaXNvbW9ycGhpYyBmbHV4IGltcGxlbWVudGF0aW9uLiBUaGUgc3RyZW5ndGggb2YgTWljcm9jb3NtXG4gKiBpcyB0aGF0IGVhY2ggYXBwbGljYXRpb24gaXMgaXRzIG93biBmdWxseSBlbmNhcHN1bGF0ZWQgd29ybGQuXG4gKi9cblxuY29uc3QgRm9saWFnZSA9IHJlcXVpcmUoJ2ZvbGlhZ2UnKVxuY29uc3QgU2lnbmFsICA9IHJlcXVpcmUoJy4vU2lnbmFsJylcbmNvbnN0IFN0b3JlICAgPSByZXF1aXJlKCcuL1N0b3JlJylcbmNvbnN0IGluc3RhbGwgPSByZXF1aXJlKCcuL2luc3RhbGwnKVxuY29uc3QgcmVtYXAgICA9IHJlcXVpcmUoJy4vcmVtYXAnKVxuY29uc3QgcnVuICAgICA9IHJlcXVpcmUoJy4vcnVuJylcbmNvbnN0IHRhZyAgICAgPSByZXF1aXJlKCcuL3RhZycpXG5cbmNsYXNzIE1pY3JvY29zbSBleHRlbmRzIEZvbGlhZ2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKClcblxuICAgIHRoaXMuc3RvcmVzICA9IHt9XG4gICAgdGhpcy5wbHVnaW5zID0gW11cbiAgfVxuXG4gIGdldEluaXRpYWxTdGF0ZSgpIHtcbiAgICByZXR1cm4gcmVtYXAodGhpcy5zdG9yZXMsIHN0b3JlID0+IHN0b3JlLmdldEluaXRpYWxTdGF0ZSgpKVxuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgdGhpcy5jb21taXQodGhpcy5nZXRJbml0aWFsU3RhdGUoKSlcbiAgfVxuXG4gIHJlcGxhY2UoZGF0YSkge1xuICAgIGxldCBjbGVhbmVkID0gdGhpcy5kZXNlcmlhbGl6ZShkYXRhKVxuXG4gICAgZm9yIChsZXQga2V5IGluIGNsZWFuZWQpIHtcbiAgICAgIHRoaXMuc2V0KGtleSwgY2xlYW5lZFtrZXldKVxuICAgIH1cbiAgfVxuXG4gIGFkZFBsdWdpbihwbHVnaW4sIG9wdGlvbnMpIHtcbiAgICB0aGlzLnBsdWdpbnMucHVzaChbIHBsdWdpbiwgb3B0aW9ucyBdKVxuICB9XG5cbiAgYWRkU3RvcmUoa2V5LCBjb25maWcpIHtcbiAgICB0aGlzLnN0b3Jlc1trZXldID0gbmV3IFN0b3JlKGNvbmZpZywga2V5KVxuICB9XG5cbiAgc2VyaWFsaXplKCkge1xuICAgIHJldHVybiByZW1hcCh0aGlzLnN0b3Jlcywgc3RvcmUgPT4gc3RvcmUuc2VyaWFsaXplKHRoaXMuZ2V0KHN0b3JlKSkpXG4gIH1cblxuICBkZXNlcmlhbGl6ZShkYXRhPXt9KSB7XG4gICAgcmV0dXJuIHJlbWFwKGRhdGEsIChzdGF0ZSwga2V5KSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5zdG9yZXNba2V5XS5kZXNlcmlhbGl6ZShzdGF0ZSlcbiAgICB9KVxuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZSgpXG4gIH1cblxuICB0b09iamVjdCgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZU9mKClcbiAgfVxuXG4gIHN0YXJ0KC8qLi4uY2FsbGJhY2tzKi8pIHtcbiAgICBsZXQgY2FsbGJhY2tzID0gYXJndW1lbnRzXG5cbiAgICB0aGlzLnJlc2V0KClcblxuICAgIC8vIFF1ZXVlIHBsdWdpbnMgYW5kIHRoZW4gbm90aWZ5IHRoYXQgaW5zdGFsbGF0aW9uIGhhcyBmaW5pc2hlZFxuICAgIGluc3RhbGwodGhpcy5wbHVnaW5zLCB0aGlzLCAoKSA9PiBydW4oY2FsbGJhY2tzLCBbXSwgdGhpcykpXG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgcHVzaChhY3Rpb24sIHBhcmFtcywgLi4uY2FsbGJhY2tzKSB7XG4gICAgcmV0dXJuIFNpZ25hbChhY3Rpb24sIHBhcmFtcywgKGVycm9yLCByZXN1bHQpID0+IHtcbiAgICAgIGlmICghZXJyb3IpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaChhY3Rpb24sIHJlc3VsdClcbiAgICAgIH1cblxuICAgICAgcnVuKGNhbGxiYWNrcywgWyBlcnJvciwgcmVzdWx0IF0sIHRoaXMpXG4gICAgfSlcbiAgfVxuXG4gIGRpc3BhdGNoKGFjdGlvbiwgcGFyYW1zKSB7XG4gICAgdGFnKGFjdGlvbilcblxuICAgIGZvciAobGV0IGtleSBpbiB0aGlzLnN0b3Jlcykge1xuICAgICAgbGV0IHN0YXRlID0gdGhpcy5nZXQoa2V5KVxuICAgICAgbGV0IHN0b3JlID0gdGhpcy5zdG9yZXNba2V5XVxuXG4gICAgICB0aGlzLnNldChrZXksIHN0b3JlLnNlbmQoc3RhdGUsIGFjdGlvbiwgcGFyYW1zKSlcbiAgICAgIHRoaXMudm9sbGV5KClcbiAgICB9XG5cbiAgICByZXR1cm4gcGFyYW1zXG4gIH1cblxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IE1pY3JvY29zbVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9NaWNyb2Nvc20uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQU1BLElBQU0sT0FBTyxHQUFHLE9BQU8sV0FBVyxDQUFBO0FBQ2xDLElBQU0sTUFBTSxHQUFJLE9BQU8sWUFBWSxDQUFBO0FBQ25DLElBQU0sS0FBSyxHQUFLLE9BQU8sV0FBVyxDQUFBO0FBQ2xDLElBQU0sT0FBTyxHQUFHLE9BQU8sYUFBYSxDQUFBO0FBQ3BDLElBQU0sS0FBSyxHQUFLLE9BQU8sV0FBVyxDQUFBO0FBQ2xDLElBQU0sR0FBRyxHQUFPLE9BQU8sU0FBUyxDQUFBO0FBQ2hDLElBQU0sR0FBRyxHQUFPLE9BQU8sU0FBUyxDQUFBOztJQUUxQixTQUFTO0FBRUYsV0FGUCxTQUFTLEdBRUM7MEJBRlYsU0FBUzs7QUFHWCx1QkFBTyxDQUFBOztBQUVQLFFBQUksQ0FBQyxNQUFNLEdBQUksRUFBRSxDQUFBO0FBQ2pCLFFBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFBO0dBQ2xCOztZQVBHLFNBQVM7O0FBQVQsV0FBUyxXQVNiLGVBQWUsR0FBQSwyQkFBRztBQUNoQixXQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQUEsS0FBSzthQUFJLEtBQUssQ0FBQyxlQUFlLEVBQUU7S0FBQSxDQUFDLENBQUE7R0FDNUQ7O0FBWEcsV0FBUyxXQWFiLEtBQUssR0FBQSxpQkFBRztBQUNOLFFBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUE7R0FDcEM7O0FBZkcsV0FBUyxXQWlCYixPQUFPLEdBQUEsaUJBQUMsSUFBSSxFQUFFO0FBQ1osUUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7QUFDbkMsUUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFBO0dBQ2Q7O0FBcEJHLFdBQVMsV0FzQmIsU0FBUyxHQUFBLG1CQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUU7QUFDekIsUUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBRSxNQUFNLEVBQUUsT0FBTyxDQUFFLENBQUMsQ0FBQTtHQUN2Qzs7QUF4QkcsV0FBUyxXQTBCYixRQUFRLEdBQUEsa0JBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRTtBQUNwQixRQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQTtHQUMxQzs7QUE1QkcsV0FBUyxXQThCYixTQUFTLEdBQUEscUJBQUc7OztBQUNWLFdBQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBQSxLQUFLO2FBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUFBLENBQUMsQ0FBQTtHQUNyRTs7QUFoQ0csV0FBUyxXQWtDYixXQUFXLEdBQUEsdUJBQVU7OztRQUFULElBQUksZ0NBQUMsRUFBRTs7QUFDakIsV0FBTyxLQUFLLENBQUMsSUFBSSxFQUFFLFVBQUMsS0FBSyxFQUFFLEdBQUcsRUFBSztBQUNqQyxhQUFPLE9BQUssTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtLQUMzQyxDQUFDLENBQUE7R0FDSDs7QUF0Q0csV0FBUyxXQXdDYixNQUFNLEdBQUEsa0JBQUc7QUFDUCxXQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtHQUN4Qjs7QUExQ0csV0FBUyxXQTRDYixRQUFRLEdBQUEsb0JBQUc7QUFDVCxXQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtHQUN0Qjs7QUE5Q0csV0FBUyxXQWdEYixLQUFLLEdBQUEsaUJBQW1COzs7QUFDdEIsUUFBSSxTQUFTLEdBQUcsU0FBUyxDQUFBOztBQUV6QixRQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7OztBQUdaLFdBQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRTthQUFNLEdBQUcsQ0FBQyxTQUFTLEVBQUUsRUFBRSxrQkFBZ0I7S0FBQSxDQUFDLENBQUE7O0FBRXBFLFdBQU8sSUFBSSxDQUFBO0dBQ1o7O0FBekRHLFdBQVMsV0EyRGIsSUFBSSxHQUFBLGNBQUMsTUFBTSxFQUFhOzs7c0NBQVIsTUFBTTtBQUFOLFlBQU07OztBQUNwQixXQUFPLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQUEsTUFBTSxFQUFJO0FBQ3RDLGFBQUssUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQTtLQUM5QixDQUFDLENBQUE7R0FDSDs7QUEvREcsV0FBUyxXQWlFYixPQUFPLEdBQUEsaUJBQUMsTUFBTSxFQUFhOzs7dUNBQVIsTUFBTTtBQUFOLFlBQU07OztBQUN2QixXQUFPLFNBQUEsSUFBSSxDQUFDLElBQUksRUFBQyxJQUFJLE1BQUEsU0FBQyxJQUFJLEVBQUUsTUFBTSxTQUFLLE1BQU0sRUFBQyxDQUFBO0dBQy9DOztBQW5FRyxXQUFTLFdBcUViLFFBQVEsR0FBQSxrQkFBQyxNQUFNLEVBQUUsT0FBTyxFQUFFO0FBQ3hCLE9BQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTs7QUFFWCxTQUFLLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7QUFDM0IsVUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUN6QixVQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBOztBQUU1QixVQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQTtBQUNqRCxVQUFJLENBQUMsTUFBTSxFQUFFLENBQUE7S0FDZDs7QUFFRCxXQUFPLE9BQU8sQ0FBQTtHQUNmOztTQWpGRyxTQUFTO0dBQVMsT0FBTzs7QUFxRi9CLE1BQU0sQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFBIiwiZmlsZSI6InNyYy9NaWNyb2Nvc20uanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE1pY3JvY29zbVxuICogQW4gaXNvbW9ycGhpYyBmbHV4IGltcGxlbWVudGF0aW9uLiBUaGUgc3RyZW5ndGggb2YgTWljcm9jb3NtXG4gKiBpcyB0aGF0IGVhY2ggYXBwbGljYXRpb24gaXMgaXRzIG93biBmdWxseSBlbmNhcHN1bGF0ZWQgd29ybGQuXG4gKi9cblxuY29uc3QgRm9saWFnZSA9IHJlcXVpcmUoJ2ZvbGlhZ2UnKVxuY29uc3QgU2lnbmFsICA9IHJlcXVpcmUoJy4vU2lnbmFsJylcbmNvbnN0IFN0b3JlICAgPSByZXF1aXJlKCcuL1N0b3JlJylcbmNvbnN0IGluc3RhbGwgPSByZXF1aXJlKCcuL2luc3RhbGwnKVxuY29uc3QgcmVtYXAgICA9IHJlcXVpcmUoJy4vcmVtYXAnKVxuY29uc3QgcnVuICAgICA9IHJlcXVpcmUoJy4vcnVuJylcbmNvbnN0IHRhZyAgICAgPSByZXF1aXJlKCcuL3RhZycpXG5cbmNsYXNzIE1pY3JvY29zbSBleHRlbmRzIEZvbGlhZ2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKClcblxuICAgIHRoaXMuc3RvcmVzICA9IHt9XG4gICAgdGhpcy5wbHVnaW5zID0gW11cbiAgfVxuXG4gIGdldEluaXRpYWxTdGF0ZSgpIHtcbiAgICByZXR1cm4gcmVtYXAodGhpcy5zdG9yZXMsIHN0b3JlID0+IHN0b3JlLmdldEluaXRpYWxTdGF0ZSgpKVxuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgdGhpcy5jb21taXQodGhpcy5nZXRJbml0aWFsU3RhdGUoKSlcbiAgfVxuXG4gIHJlcGxhY2UoZGF0YSkge1xuICAgIHRoaXMudXBkYXRlKHRoaXMuZGVzZXJpYWxpemUoZGF0YSkpXG4gICAgdGhpcy52b2xsZXkoKVxuICB9XG5cbiAgYWRkUGx1Z2luKHBsdWdpbiwgb3B0aW9ucykge1xuICAgIHRoaXMucGx1Z2lucy5wdXNoKFsgcGx1Z2luLCBvcHRpb25zIF0pXG4gIH1cblxuICBhZGRTdG9yZShrZXksIGNvbmZpZykge1xuICAgIHRoaXMuc3RvcmVzW2tleV0gPSBuZXcgU3RvcmUoY29uZmlnLCBrZXkpXG4gIH1cblxuICBzZXJpYWxpemUoKSB7XG4gICAgcmV0dXJuIHJlbWFwKHRoaXMuc3RvcmVzLCBzdG9yZSA9PiBzdG9yZS5zZXJpYWxpemUodGhpcy5nZXQoc3RvcmUpKSlcbiAgfVxuXG4gIGRlc2VyaWFsaXplKGRhdGE9e30pIHtcbiAgICByZXR1cm4gcmVtYXAoZGF0YSwgKHN0YXRlLCBrZXkpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnN0b3Jlc1trZXldLmRlc2VyaWFsaXplKHN0YXRlKVxuICAgIH0pXG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplKClcbiAgfVxuXG4gIHRvT2JqZWN0KCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKVxuICB9XG5cbiAgc3RhcnQoLyouLi5jYWxsYmFja3MqLykge1xuICAgIGxldCBjYWxsYmFja3MgPSBhcmd1bWVudHNcblxuICAgIHRoaXMucmVzZXQoKVxuXG4gICAgLy8gUXVldWUgcGx1Z2lucyBhbmQgdGhlbiBub3RpZnkgdGhhdCBpbnN0YWxsYXRpb24gaGFzIGZpbmlzaGVkXG4gICAgaW5zdGFsbCh0aGlzLnBsdWdpbnMsIHRoaXMsICgpID0+IHJ1bihjYWxsYmFja3MsIFtdLCB0aGlzLCAnc3RhcnQnKSlcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBwdXNoKGFjdGlvbiwgLi4ucGFyYW1zKSB7XG4gICAgcmV0dXJuIFNpZ25hbChhY3Rpb24sIHBhcmFtcywgcmVzdWx0ID0+IHtcbiAgICAgIHRoaXMuZGlzcGF0Y2goYWN0aW9uLCByZXN1bHQpXG4gICAgfSlcbiAgfVxuXG4gIHByZXBhcmUoYWN0aW9uLCAuLi5idWZmZXIpIHtcbiAgICByZXR1cm4gdGhpcy5wdXNoLmJpbmQodGhpcywgYWN0aW9uLCAuLi5idWZmZXIpXG4gIH1cblxuICBkaXNwYXRjaChhY3Rpb24sIHBheWxvYWQpIHtcbiAgICB0YWcoYWN0aW9uKVxuXG4gICAgZm9yIChsZXQga2V5IGluIHRoaXMuc3RvcmVzKSB7XG4gICAgICBsZXQgc3RhdGUgPSB0aGlzLmdldChrZXkpXG4gICAgICBsZXQgc3RvcmUgPSB0aGlzLnN0b3Jlc1trZXldXG5cbiAgICAgIHRoaXMuc2V0KGtleSwgc3RvcmUuc2VuZChzdGF0ZSwgYWN0aW9uLCBwYXlsb2FkKSlcbiAgICAgIHRoaXMudm9sbGV5KClcbiAgICB9XG5cbiAgICByZXR1cm4gcGF5bG9hZFxuICB9XG5cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBNaWNyb2Nvc21cbiJdfQ== |
@@ -6,9 +6,9 @@ /** | ||
var isDevelopment = true; | ||
module.exports = function (callbacks, args, scope) { | ||
var origin = arguments[3] === undefined ? 'run' : arguments[3]; | ||
module.exports = function (callbacks, args, scope) { | ||
for (var i = 0; i < callbacks.length; i++) { | ||
if (isDevelopment && typeof callbacks[i] !== 'function') { | ||
throw TypeError('Microcosm expected callback but instead got: ' + typeof callbacks[i]); | ||
if (process.env.NODE_ENV !== 'production' && typeof callbacks[i] !== 'function') { | ||
throw TypeError('Microcosm::' + origin + ' expected callback but instead got: ' + typeof callbacks[i]); | ||
} | ||
@@ -19,2 +19,2 @@ | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydW4uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQSxJQUFNLGFBQWEsT0FBd0MsQ0FBQTs7QUFFM0QsTUFBTSxDQUFDLE9BQU8sR0FBRyxVQUFVLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFO0FBQ2pELE9BQUssSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTs7QUFFekMsUUFBSSxhQUFhLElBQUksT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRTtBQUN2RCxZQUFNLFNBQVMsQ0FBQyxrREFBa0QsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtLQUN2Rjs7QUFFRCxhQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQTtHQUNoQztDQUNGLENBQUEiLCJmaWxlIjoic3JjL3J1bi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUnVuXG4gKiBFeGVjdXRlIGEgbGlzdCBvZiBjYWxsYmFja3NcbiAqL1xuXG5jb25zdCBpc0RldmVsb3BtZW50ID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJ1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChjYWxsYmFja3MsIGFyZ3MsIHNjb3BlKSB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY2FsbGJhY2tzLmxlbmd0aDsgaSsrKSB7XG5cbiAgICBpZiAoaXNEZXZlbG9wbWVudCAmJiB0eXBlb2YgY2FsbGJhY2tzW2ldICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aHJvdyBUeXBlRXJyb3IoJ01pY3JvY29zbSBleHBlY3RlZCBjYWxsYmFjayBidXQgaW5zdGVhZCBnb3Q6ICcgKyB0eXBlb2YgY2FsbGJhY2tzW2ldKVxuICAgIH1cblxuICAgIGNhbGxiYWNrc1tpXS5hcHBseShzY29wZSwgYXJncylcbiAgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydW4uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQSxNQUFNLENBQUMsT0FBTyxHQUFHLFVBQVUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQWdCO01BQWQsTUFBTTs7QUFDdkQsT0FBSyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFOztBQUV6QyxRQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxpQkFBaUIsSUFBSSxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFO0FBQy9FLFlBQU0sU0FBUyxpQkFBZSxNQUFNLDRDQUF1QyxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBRyxDQUFBO0tBQ2xHOztBQUVELGFBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFBO0dBQ2hDO0NBQ0YsQ0FBQSIsImZpbGUiOiJzcmMvcnVuLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSdW5cbiAqIEV4ZWN1dGUgYSBsaXN0IG9mIGNhbGxiYWNrc1xuICovXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGNhbGxiYWNrcywgYXJncywgc2NvcGUsIG9yaWdpbj0ncnVuJykge1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGNhbGxiYWNrcy5sZW5ndGg7IGkrKykge1xuXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgdHlwZW9mIGNhbGxiYWNrc1tpXSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhyb3cgVHlwZUVycm9yKGBNaWNyb2Nvc206OiR7b3JpZ2lufSBleHBlY3RlZCBjYWxsYmFjayBidXQgaW5zdGVhZCBnb3Q6ICR7dHlwZW9mIGNhbGxiYWNrc1tpXX1gKVxuICAgIH1cblxuICAgIGNhbGxiYWNrc1tpXS5hcHBseShzY29wZSwgYXJncylcbiAgfVxufVxuIl19 |
/** | ||
* Signal | ||
* Handles the various ways in which an action can be resolved. Currently, | ||
* it handles values, promises, and error-first callbacks | ||
* it handles values, and promises | ||
*/ | ||
function Signal(action, params, next) { | ||
if (typeof action !== 'function') { | ||
if (process.env.NODE_ENV !== 'production' && typeof action !== 'function') { | ||
throw TypeError('' + action + ' is not a function. Is app.push() being called with the wrong value?'); | ||
} | ||
var strategy = action.length >= 2 ? withCallback : withValue; | ||
var value = action.apply(null, params); | ||
return strategy(action, params, next); | ||
} | ||
// addresses cases where the signature of an action is | ||
// action(params, next) | ||
function withCallback(action, params, next) { | ||
return action(params, next); | ||
} | ||
// addresses cases where a value is returned. If that value | ||
// is a promise, wait for it to resolve before passing the torch | ||
function withValue(action, params, next) { | ||
var value = action(params); | ||
// Actions some times return thenables. When this happens, wait for | ||
// them to resolve before moving on | ||
if (value && typeof value.then === 'function') { | ||
// Report for callbacks that this failed | ||
value.then(null, next); | ||
// Return a thenable without catching a rejection | ||
return value.then(function (result) { | ||
return next(null, result); | ||
}); | ||
return value.then(next); | ||
} | ||
next(value); | ||
next(null, value); | ||
return value; | ||
@@ -46,2 +26,2 @@ } | ||
module.exports = Signal; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TaWduYWwuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBTUEsU0FBUyxNQUFNLENBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7QUFDckMsTUFBSSxPQUFPLE1BQU0sZUFBZSxFQUFFO0FBQ2hDLFVBQU0sU0FBUyxNQUFLLE1BQU0sMEVBQXdFLENBQUE7R0FDbkc7O0FBRUQsTUFBSSxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLFlBQVksR0FBRyxTQUFTLENBQUE7O0FBRTVELFNBQU8sUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUE7Q0FDdEM7Ozs7QUFJRCxTQUFTLFlBQVksQ0FBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtBQUMzQyxTQUFPLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUE7Q0FDNUI7Ozs7QUFJRCxTQUFTLFNBQVMsQ0FBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtBQUN4QyxNQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7Ozs7QUFJMUIsTUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLENBQUMsSUFBSSxlQUFlLEVBQUU7O0FBRTdDLFNBQUssQ0FBQyxJQUFJLE9BQU8sSUFBSSxDQUFDLENBQUE7OztBQUd0QixXQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBQSxNQUFNO2FBQUksSUFBSSxPQUFPLE1BQU0sQ0FBQztLQUFBLENBQUMsQ0FBQTtHQUNoRDs7QUFFRCxNQUFJLE9BQU8sS0FBSyxDQUFDLENBQUE7O0FBRWpCLFNBQU8sS0FBSyxDQUFBO0NBQ2I7O0FBRUQsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUEiLCJmaWxlIjoic3JjL1NpZ25hbC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU2lnbmFsXG4gKiBIYW5kbGVzIHRoZSB2YXJpb3VzIHdheXMgaW4gd2hpY2ggYW4gYWN0aW9uIGNhbiBiZSByZXNvbHZlZC4gQ3VycmVudGx5LFxuICogaXQgaGFuZGxlcyB2YWx1ZXMsIHByb21pc2VzLCBhbmQgZXJyb3ItZmlyc3QgY2FsbGJhY2tzXG4gKi9cblxuZnVuY3Rpb24gU2lnbmFsIChhY3Rpb24sIHBhcmFtcywgbmV4dCkge1xuICBpZiAodHlwZW9mIGFjdGlvbiAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIHRocm93IFR5cGVFcnJvcihgJHsgYWN0aW9uIH0gaXMgbm90IGEgZnVuY3Rpb24uIElzIGFwcC5wdXNoKCkgYmVpbmcgY2FsbGVkIHdpdGggdGhlIHdyb25nIHZhbHVlP2ApXG4gIH1cblxuICBsZXQgc3RyYXRlZ3kgPSBhY3Rpb24ubGVuZ3RoID49IDIgPyB3aXRoQ2FsbGJhY2sgOiB3aXRoVmFsdWVcblxuICByZXR1cm4gc3RyYXRlZ3koYWN0aW9uLCBwYXJhbXMsIG5leHQpXG59XG5cbi8vIGFkZHJlc3NlcyBjYXNlcyB3aGVyZSB0aGUgc2lnbmF0dXJlIG9mIGFuIGFjdGlvbiBpc1xuLy8gYWN0aW9uKHBhcmFtcywgbmV4dClcbmZ1bmN0aW9uIHdpdGhDYWxsYmFjayAoYWN0aW9uLCBwYXJhbXMsIG5leHQpIHtcbiAgcmV0dXJuIGFjdGlvbihwYXJhbXMsIG5leHQpXG59XG5cbi8vIGFkZHJlc3NlcyBjYXNlcyB3aGVyZSBhIHZhbHVlIGlzIHJldHVybmVkLiBJZiB0aGF0IHZhbHVlXG4vLyBpcyBhIHByb21pc2UsIHdhaXQgZm9yIGl0IHRvIHJlc29sdmUgYmVmb3JlIHBhc3NpbmcgdGhlIHRvcmNoXG5mdW5jdGlvbiB3aXRoVmFsdWUgKGFjdGlvbiwgcGFyYW1zLCBuZXh0KSB7XG4gIGxldCB2YWx1ZSA9IGFjdGlvbihwYXJhbXMpXG5cbiAgLy8gQWN0aW9ucyBzb21lIHRpbWVzIHJldHVybiB0aGVuYWJsZXMuIFdoZW4gdGhpcyBoYXBwZW5zLCB3YWl0IGZvclxuICAvLyB0aGVtIHRvIHJlc29sdmUgYmVmb3JlIG1vdmluZyBvblxuICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlLnRoZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyBSZXBvcnQgZm9yIGNhbGxiYWNrcyB0aGF0IHRoaXMgZmFpbGVkXG4gICAgdmFsdWUudGhlbihudWxsLCBuZXh0KVxuXG4gICAgLy8gUmV0dXJuIGEgdGhlbmFibGUgd2l0aG91dCBjYXRjaGluZyBhIHJlamVjdGlvblxuICAgIHJldHVybiB2YWx1ZS50aGVuKHJlc3VsdCA9PiBuZXh0KG51bGwsIHJlc3VsdCkpXG4gIH1cblxuICBuZXh0KG51bGwsIHZhbHVlKVxuXG4gIHJldHVybiB2YWx1ZVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IFNpZ25hbFxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TaWduYWwuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBTUEsU0FBUyxNQUFNLENBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7QUFDckMsTUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsaUJBQWlCLElBQUksT0FBTyxNQUFNLGVBQWUsRUFBRTtBQUN6RSxVQUFNLFNBQVMsTUFBSyxNQUFNLDBFQUF3RSxDQUFBO0dBQ25HOztBQUVELE1BQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLE9BQU8sTUFBTSxDQUFDLENBQUE7Ozs7QUFJdEMsTUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLENBQUMsSUFBSSxlQUFlLEVBQUU7O0FBRTdDLFdBQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtHQUN4QjtBQUNELE1BQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTs7QUFFWCxTQUFPLEtBQUssQ0FBQTtDQUNiOztBQUVELE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFBIiwiZmlsZSI6InNyYy9TaWduYWwuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNpZ25hbFxuICogSGFuZGxlcyB0aGUgdmFyaW91cyB3YXlzIGluIHdoaWNoIGFuIGFjdGlvbiBjYW4gYmUgcmVzb2x2ZWQuIEN1cnJlbnRseSxcbiAqIGl0IGhhbmRsZXMgdmFsdWVzLCBhbmQgcHJvbWlzZXNcbiAqL1xuXG5mdW5jdGlvbiBTaWduYWwgKGFjdGlvbiwgcGFyYW1zLCBuZXh0KSB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHR5cGVvZiBhY3Rpb24gIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBUeXBlRXJyb3IoYCR7IGFjdGlvbiB9IGlzIG5vdCBhIGZ1bmN0aW9uLiBJcyBhcHAucHVzaCgpIGJlaW5nIGNhbGxlZCB3aXRoIHRoZSB3cm9uZyB2YWx1ZT9gKVxuICB9XG5cbiAgbGV0IHZhbHVlID0gYWN0aW9uLmFwcGx5KG51bGwsIHBhcmFtcylcblxuICAvLyBBY3Rpb25zIHNvbWUgdGltZXMgcmV0dXJuIHRoZW5hYmxlcy4gV2hlbiB0aGlzIGhhcHBlbnMsIHdhaXQgZm9yXG4gIC8vIHRoZW0gdG8gcmVzb2x2ZSBiZWZvcmUgbW92aW5nIG9uXG4gIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIC8vIFJldHVybiBhIHRoZW5hYmxlIHdpdGhvdXQgY2F0Y2hpbmcgYSByZWplY3Rpb25cbiAgICByZXR1cm4gdmFsdWUudGhlbihuZXh0KVxuICB9XG4gIG5leHQodmFsdWUpXG5cbiAgcmV0dXJuIHZhbHVlXG59XG5cbm1vZHVsZS5leHBvcnRzID0gU2lnbmFsXG4iXX0= |
Sorry, the diff of this file is not supported yet
171515
227
78