@ngxs/store
Advanced tools
Comparing version 2.1.0-dev.7b3499f to 2.1.0-dev.7ce8703
@@ -72,7 +72,2 @@ (function (global, factory) { | ||
var NGXS_PLUGINS = new core.InjectionToken('NGXS_PLUGINS'); | ||
function uuid(a, b) { | ||
for (b = a = ''; a++ < 36; b += (a * 51) & 52 ? (a ^ 15 ? 8 ^ (Math.random() * (a ^ 20 ? 16 : 4)) : 4).toString(16) : '-') | ||
; | ||
return b; | ||
} | ||
function ensureStoreMetadata(target) { | ||
@@ -85,3 +80,4 @@ if (!target.hasOwnProperty(META_KEY)) { | ||
path: null, | ||
children: [] | ||
children: [], | ||
instance: null | ||
}; | ||
@@ -182,12 +178,19 @@ Object.defineProperty(target, META_KEY, { value: defaultMetadata }); | ||
} | ||
function getActionTypeFromInstance(event) { | ||
if (event.constructor.type) { | ||
return event.constructor.type; | ||
function getActionTypeFromInstance(action) { | ||
if (action.constructor.type) { | ||
if (action.constructor.type.desc) { | ||
return (action.constructor.type); | ||
} | ||
return (action.constructor.type); | ||
} | ||
else if (event.constructor.name) { | ||
return event.constructor.name; | ||
else if (action.type) { | ||
return action.type; | ||
} | ||
else if (event.type) { | ||
return event.type; | ||
} | ||
function getActionNameFromInstance(action) { | ||
var type = getActionTypeFromInstance(action); | ||
if (typeof type === 'string') { | ||
return type; | ||
} | ||
return ((type)).desc; | ||
} | ||
@@ -326,3 +329,3 @@ var setValue = function (obj, prop, val) { | ||
var name = getActionTypeFromInstance(action); | ||
var actionMetas = metadata.actions[name]; | ||
var actionMetas = metadata.actions[name.toString()]; | ||
if (actionMetas) { | ||
@@ -344,4 +347,4 @@ try { | ||
: operators.map(function (r) { return r; })); | ||
results.push(result); | ||
} | ||
results.push(result); | ||
} | ||
@@ -732,9 +735,12 @@ } | ||
this.desc = desc; | ||
this.stamp = uuid(); | ||
ActionToken.counter++; | ||
this.stamp = ActionToken.counter; | ||
this.description = "ActionToken " + this.desc + " " + this.stamp; | ||
} | ||
ActionToken.prototype.toString = function () { | ||
return "ActionToken " + this.desc + " " + this.stamp; | ||
return this.description; | ||
}; | ||
return ActionToken; | ||
}()); | ||
ActionToken.counter = 0; | ||
function Action(actions, options) { | ||
@@ -749,15 +755,13 @@ return function (target, name, descriptor) { | ||
var action = actions_1_1.value; | ||
if (typeof action.type === 'string') { | ||
action.type = new ActionToken(action.type); | ||
} | ||
else if (!action.type) { | ||
if (!action.type) { | ||
action.type = new ActionToken(action.name); | ||
} | ||
if (!meta.actions[action.type]) { | ||
meta.actions[action.type] = []; | ||
var type = action.type; | ||
if (!meta.actions[type]) { | ||
meta.actions[type] = []; | ||
} | ||
meta.actions[action.type].push({ | ||
meta.actions[type].push({ | ||
fn: name, | ||
options: options || {}, | ||
type: action.type | ||
type: type | ||
}); | ||
@@ -852,2 +856,3 @@ } | ||
exports.getActionTypeFromInstance = getActionTypeFromInstance; | ||
exports.getActionNameFromInstance = getActionNameFromInstance; | ||
exports.NGXS_PLUGINS = NGXS_PLUGINS; | ||
@@ -854,0 +859,0 @@ exports.StateStream = StateStream; |
@@ -1,2 +0,2 @@ | ||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("rxjs/operators"),require("rxjs/Observable"),require("rxjs/observable/fromPromise"),require("rxjs/observable/of"),require("rxjs/observable/forkJoin"),require("rxjs/Subject"),require("rxjs/BehaviorSubject"),require("rxjs/operators/map")):"function"==typeof define&&define.amd?define("@ngxs/store",["exports","@angular/core","rxjs/operators","rxjs/Observable","rxjs/observable/fromPromise","rxjs/observable/of","rxjs/observable/forkJoin","rxjs/Subject","rxjs/BehaviorSubject","rxjs/operators/map"],e):e((t.ngxs=t.ngxs||{},t.ngxs.store={}),t.ng.core,t.Rx.Observable.prototype,t.Rx,t.Rx.Observable,t.Rx.Observable,t.Rx.Observable,t.Rx,t.Rx,t.Rx.Observable.prototype)}(this,function(t,e,x,j,w,O,A,r,n,a){"use strict";var o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])};function i(t,e){function r(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}function E(t){var e="function"==typeof Symbol&&t[Symbol.iterator],r=0;return e?e.call(t):{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}}}function u(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,a=r.call(t),i=[];try{for(;(void 0===e||0<e--)&&!(n=a.next()).done;)i.push(n.value)}catch(u){o={error:u}}finally{try{n&&!n.done&&(r=a["return"])&&r.call(a)}finally{if(o)throw o.error}}return i}function S(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(u(arguments[e]));return t}var c=new e.InjectionToken("ROOT_STATE_TOKEN"),s=new e.InjectionToken("FEATURE_STATE_TOKEN"),_="NGXS_META",p=new e.InjectionToken("NGXS_PLUGINS");function l(t){if(!t.hasOwnProperty(_)){Object.defineProperty(t,_,{value:{name:null,actions:{},defaults:{},path:null,children:[]}})}return t[_]}function f(t){for(var e=t,r="store."+e[0],n=0,o=e.length,a=r;++n<o;)a=a+" && "+(r=r+"."+e[n]);return new Function("store","return "+a+";")}function P(t){return t.constructor.type?t.constructor.type:t.constructor.name?t.constructor.name:t.type?t.type:void 0}var y=function(t,e,r){t=Object.assign({},t);var n=e.split("."),o=n[n.length-1];return n.reduce(function(t,e){return t[e]=e===o?r:Object.assign({},t[e]),t&&t[e]},t),t},d=function(t,e){return e.split(".").reduce(function(t,e){return t&&t[e]},t)};function I(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r={};return t.forEach(function(t){r[t.type||t.name]=!0}),x.filter(function(t){return r[t.constructor.type||t.constructor.name]})}var h=function(){function t(t,e){this._injector=t,this._parentFactory=e,this._states=[]}return Object.defineProperty(t.prototype,"states",{get:function(){return this._parentFactory?this._parentFactory.states:this._states},enumerable:!0,configurable:!0}),t.prototype.add=function(t){Array.isArray(t)||(t=[t]);var r,a,n,o,i,u,e,c,s,p=(a=function(e){var t=r.find(function(t){return t===e});if(!t)throw new Error("Child state not found: "+e);if(!t[_])throw new Error("States must be decorated with @State() decorator");return t[_].name},(r=t).reduce(function(t,e){if(!e[_])throw new Error("States must be decorated with @State() decorator");var r=e[_],n=r.name,o=r.children;return t[n]=(o||[]).map(a),t},{})),f=(n=p,o=[],i={},u=function(e,r){void 0===r&&(r=[]),Array.isArray(r)||(r=[]),r.push(e),i[e]=!0,n[e].forEach(function(t){if(0<=r.indexOf(t))throw new Error("Circular dependency '"+t+"' is required by '"+e+"': "+r.join(" -> "));i[t]||u(t,r.slice(0))}),o.indexOf(e)<0&&o.push(e)},Object.keys(n).forEach(function(t){return u(t)}),o.reverse()),l=function(t,e){void 0===e&&(e={});var o=function(t,e){for(var r in t)if(t.hasOwnProperty(r)&&0<=t[r].indexOf(e)){var n=o(t,r);return null!==n?n+"."+r:r}return null};for(var r in t)if(t.hasOwnProperty(r)){var n=o(t,r);e[r]=n?n+"."+r:r}return e}(p),y=t.reduce(function(t,e){if(!e[_])throw new Error("States must be decorated with @State() decorator");return t[e[_].name]=e,t},{}),d=[],h=function(e){var t=y[e];if(!t[_])throw new Error("States must be decorated with @State() decorator");var r,n=l[e],o=t[_].actions,a=t[_].defaults;if(t[_].path=n,v.states.find(function(t){return t.name===e}))throw new Error("Store has already been added: "+e);Array.isArray(a)?a=S(a):"object"==typeof(r=a)&&null!==r||"function"==typeof r?a=Object.assign({},a):a===undefined&&(a={});var i=v._injector.get(t);d.push({actions:o,instance:i,defaults:a,name:e,depth:n})},v=this;try{for(var g=E(f),b=g.next();!b.done;b=g.next()){h(b.value)}}catch(m){e={error:m}}finally{try{b&&!b.done&&(c=g["return"])&&c.call(g)}finally{if(e)throw e.error}}return(s=this.states).push.apply(s,S(d)),d},t.prototype.addAndReturnDefaults=function(t){if(t){var e=this.add(t);return{defaults:e.reduce(function(t,e){return y(t,e.depth,e.defaults)},{}),states:e}}},t.prototype.invokeInit=function(t,e,r,n){try{for(var o=E(n),a=o.next();!a.done;a=o.next()){var i=a.value;if(i.instance.onInit){var u=this.createStateContext(t,e,r,i);i.instance.onInit(u)}}}catch(p){c={error:p}}finally{try{a&&!a.done&&(s=o["return"])&&s.call(o)}finally{if(c)throw c.error}}var c,s},t.prototype.invokeActions=function(t,e,r,n,o){var a,i,u,c,s=[];try{for(var p=E(this.states),f=p.next();!f.done;f=p.next()){var l=f.value,y=P(o),d=l.actions[y];if(d)try{for(var h=E(d),v=h.next();!v.done;v=h.next()){var g=v.value,b=this.createStateContext(t,e,r,l),m=l.instance[g.fn](b,o);m===undefined?m=O.of({}).pipe(x.shareReplay()):m instanceof Promise&&(m=w.fromPromise(m)),m instanceof j.Observable&&(m=m.pipe(g.options.takeLast?x.takeUntil(n.pipe(I(o.constructor))):x.map(function(t){return t}))),s.push(m)}}catch(S){u={error:S}}finally{try{v&&!v.done&&(c=h["return"])&&c.call(h)}finally{if(u)throw u.error}}}}catch(_){a={error:_}}finally{try{f&&!f.done&&(i=p["return"])&&i.call(p)}finally{if(a)throw a.error}}return A.forkJoin(s)},t.prototype.createStateContext=function(o,a,e,i){return{getState:function(){var t=o();return d(t,i.depth)},patchState:function(t){if(Array.isArray(t))throw new Error("Patching arrays is not supported.");var e=o(),r=d(e,i.depth);for(var n in t)r[n]=t[n];return e=y(e,i.depth,Object.assign({},r)),a(e),e},setState:function(t){var e=o();return e=y(e,i.depth,t),a(e),e},dispatch:function(t){return e(t)}}},t}();h.decorators=[{type:e.Injectable}],h.ctorParameters=function(){return[{type:e.Injector},{type:h,decorators:[{type:e.Optional},{type:e.SkipSelf}]}]};var v=function(r){function t(t){var e=r.call(this)||this;return t&&Object.assign(e,t),e}return i(t,r),t}(r.Subject);v.decorators=[{type:e.Injectable}],v.ctorParameters=function(){return[{type:v,decorators:[{type:e.Optional},{type:e.SkipSelf}]}]};var g=function(r){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return r.shift().apply(void 0,S(t,[function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return g(r).apply(void 0,S(t))}]))}},b=function(r){function t(t){var e=r.call(this,{})||this;return t&&Object.assign(e,t),e}return i(t,r),t}(n.BehaviorSubject);b.decorators=[{type:e.Injectable}],b.ctorParameters=function(){return[{type:b,decorators:[{type:e.Optional},{type:e.SkipSelf}]}]};var m=function(){function t(t,e){this._parentManager=t,this._plugins=e,this.plugins=[],this.register()}return t.prototype.register=function(){var t;this._plugins&&(this.plugins=this._plugins.map(function(t){return t.handle?t.handle.bind(t):t}),this._parentManager&&(t=this._parentManager.plugins).push.apply(t,S(this.plugins)))},t}();m.decorators=[{type:e.Injectable}],m.ctorParameters=function(){return[{type:m,decorators:[{type:e.Optional},{type:e.SkipSelf}]},{type:Array,decorators:[{type:e.Inject,args:[p]},{type:e.Optional}]}]};var k=function(){function t(t,e,r,n,o){this._errorHandler=t,this._actions=e,this._storeFactory=r,this._pluginManager=n,this._stateStream=o}return t.prototype.dispatch=function(t){var e,r=this;return(e=Array.isArray(t)?A.forkJoin(t.map(function(t){return r._dispatch(t)})):this._dispatch(t)).pipe(x.catchError(function(t){return r._errorHandler.handleError(t),O.of(t)})),e.subscribe(),e},t.prototype.select=function(t){if(t[_]&&t[_].path){var e=f(t[_].path.split("."));return this._stateStream.pipe(a.map(e),x.distinctUntilChanged())}return this._stateStream.pipe(a.map(t),x.catchError(function(t){if(t instanceof TypeError)return O.of(undefined);throw t}),x.distinctUntilChanged())},t.prototype.selectOnce=function(t){return this.select(t).pipe(x.take(1))},t.prototype.selectSnapshot=function(t){return t(this._stateStream.getValue())},t.prototype.subscribe=function(t){return this._stateStream.subscribe(t)},t.prototype.snapshot=function(){return this._stateStream.getValue()},t.prototype._dispatch=function(r){var n=this,o=this._stateStream.getValue(),t=this._pluginManager.plugins;return g(S(t,[function(t,e){return t!==o&&n._stateStream.next(t),n._actions.next(e),n._storeFactory.invokeActions(function(){return n._stateStream.getValue()},function(t){return n._stateStream.next(t)},function(t){return n.dispatch(t)},n._actions,r).pipe(a.map(function(){return n._stateStream.getValue()}))}]))(o,r).pipe(x.shareReplay())},t}();k.decorators=[{type:e.Injectable}],k.ctorParameters=function(){return[{type:e.ErrorHandler},{type:v},{type:h},{type:m},{type:b}]};var T=function(t){};T.store=undefined,T.decorators=[{type:e.Injectable}],T.ctorParameters=function(){return[{type:k}]};var R=function(){};R.type="@@INIT";var M=function(){};M.type="@@UPDATE_STATE";var V=function(t,e,r,n,o){var a=t.addAndReturnDefaults(o);if(a){var i=e.getValue();e.next(Object.assign({},i,a.defaults))}r.dispatch(new R),a&&t.invokeInit(function(){return e.getValue()},function(t){return e.next(t)},function(t){return r.dispatch(t)},a.states)};V.decorators=[{type:e.NgModule}],V.ctorParameters=function(){return[{type:h},{type:b},{type:k},{type:T},{type:Array,decorators:[{type:e.Optional},{type:e.Inject,args:[c]}]}]};var N=function(e,r,t,n){var o=[].concat.apply([],S(n)),a=t.addAndReturnDefaults(o);if(a){var i=r.getValue();r.next(Object.assign({},i,a.defaults))}e.dispatch(new M),a&&t.invokeInit(function(){return r.getValue()},function(t){return r.next(t)},function(t){return e.dispatch(t)},a.states)};N.decorators=[{type:e.NgModule,args:[{}]}],N.ctorParameters=function(){return[{type:k},{type:b},{type:h},{type:Array,decorators:[{type:e.Optional},{type:e.Inject,args:[s]}]}]};var q=function(){function t(){}return t.forRoot=function(t){return void 0===t&&(t=[]),{ngModule:V,providers:S([h,v,k,b,T,m],t,[{provide:c,useValue:t}])}},t.forFeature=function(t){return{ngModule:N,providers:S([h,m],t,[{provide:s,multi:!0,useValue:t}])}},t}();q.decorators=[{type:e.NgModule,args:[{}]}],q.ctorParameters=function(){return[]};var F=function(){function t(t){this.desc=t,this.stamp=function(t,e){for(e=t="";t++<36;e+=51*t&52?(15^t?8^Math.random()*(20^t?16:4):4).toString(16):"-");return e}()}return t.prototype.toString=function(){return"ActionToken "+this.desc+" "+this.stamp},t}();t.NgxsModule=q,t.Action=function(p,f){return function(t,e,r){var n,o,a=l(t.constructor);Array.isArray(p)||(p=[p]);try{for(var i=E(p),u=i.next();!u.done;u=i.next()){var c=u.value;"string"==typeof c.type?c.type=new F(c.type):c.type||(c.type=new F(c.name)),a.actions[c.type]||(a.actions[c.type]=[]),a.actions[c.type].push({fn:e,options:f||{},type:c.type})}}catch(s){n={error:s}}finally{try{u&&!u.done&&(o=i["return"])&&o.call(i)}finally{if(n)throw n.error}}}},t.Store=k,t.State=function(n){return function(t){var e=l(t);if(t.__proto__.hasOwnProperty(_)){var r=t.__proto__[_];e.actions=Object.assign({},e.actions,r.actions)}if(e.children=n.children,e.defaults=n.defaults,e.name=n.name,!n.name)throw new Error("States must register a 'name' property")}},t.Select=function(n){for(var o=[],t=1;t<arguments.length;t++)o[t-1]=arguments[t];return function(t,e){var r="__"+e+"__selector";if(n||(n=e.lastIndexOf("$")===e.length-1?e.substring(0,e.length-1):e),t[r])throw new Error("You cannot use @Select decorator and a "+r+" property.");delete t[e]&&(Object.defineProperty(t,r,{writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(t,e,{get:function(){return this[r]||(this[r]=function(t){var e=T.store;if(!e)throw new Error("SelectFactory not connected to store!");return e.select(t)}.apply(this,["string"==typeof n?f(o.length?S([n],o):n.split(".")):n[_]&&n[_].path?f(n[_].path.split(".")):n]))},enumerable:!0,configurable:!0}))}},t.Actions=v,t.ofAction=I,t.Selector=function(){for(var i=[],t=0;t<arguments.length;t++)i[t]=arguments[t];return function(t,e,r){var n=l(t);if(null!==r.value){var o=r.value,a=function(t){var e=d(t,n.path);try{return o(e)}catch(r){if(r instanceof TypeError)return undefined;throw r}};return{configurable:!0,get:function(){return function(a,i){var u=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=i?i.apply(this,t):t[0],n=u.cache;if(n.has(r))return n.get(r);var o=a.apply(this,t);return u.cache=n.set(r,o)||n,o};return u.cache=new WeakMap,u}.apply(null,S([a],i))}}}throw new Error("Selectors only work on methods")}},t.getActionTypeFromInstance=P,t.NGXS_PLUGINS=p,t.StateStream=b,t.setValue=y,t.getValue=d,t.InitState=R,t.UpdateState=M,t.ɵb=N,t.ɵa=V,t.ɵg=m,t.ɵc=T,t.ɵf=h,t.ɵe=s,t.ɵd=c,Object.defineProperty(t,"__esModule",{value:!0})}); | ||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("rxjs/operators"),require("rxjs/Observable"),require("rxjs/observable/fromPromise"),require("rxjs/observable/of"),require("rxjs/observable/forkJoin"),require("rxjs/Subject"),require("rxjs/BehaviorSubject"),require("rxjs/operators/map")):"function"==typeof define&&define.amd?define("@ngxs/store",["exports","@angular/core","rxjs/operators","rxjs/Observable","rxjs/observable/fromPromise","rxjs/observable/of","rxjs/observable/forkJoin","rxjs/Subject","rxjs/BehaviorSubject","rxjs/operators/map"],e):e((t.ngxs=t.ngxs||{},t.ngxs.store={}),t.ng.core,t.Rx.Observable.prototype,t.Rx,t.Rx.Observable,t.Rx.Observable,t.Rx.Observable,t.Rx,t.Rx,t.Rx.Observable.prototype)}(this,function(t,e,x,j,w,O,A,r,n,a){"use strict";var o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])};function i(t,e){function r(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}function E(t){var e="function"==typeof Symbol&&t[Symbol.iterator],r=0;return e?e.call(t):{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}}}function u(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,a=r.call(t),i=[];try{for(;(void 0===e||0<e--)&&!(n=a.next()).done;)i.push(n.value)}catch(u){o={error:u}}finally{try{n&&!n.done&&(r=a["return"])&&r.call(a)}finally{if(o)throw o.error}}return i}function S(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(u(arguments[e]));return t}var c=new e.InjectionToken("ROOT_STATE_TOKEN"),s=new e.InjectionToken("FEATURE_STATE_TOKEN"),_="NGXS_META",p=new e.InjectionToken("NGXS_PLUGINS");function y(t){if(!t.hasOwnProperty(_)){Object.defineProperty(t,_,{value:{name:null,actions:{},defaults:{},path:null,children:[],instance:null}})}return t[_]}function f(t){for(var e=t,r="store."+e[0],n=0,o=e.length,a=r;++n<o;)a=a+" && "+(r=r+"."+e[n]);return new Function("store","return "+a+";")}function P(t){return t.constructor.type?(t.constructor.type.desc,t.constructor.type):t.type?t.type:void 0}var l=function(t,e,r){t=Object.assign({},t);var n=e.split("."),o=n[n.length-1];return n.reduce(function(t,e){return t[e]=e===o?r:Object.assign({},t[e]),t&&t[e]},t),t},d=function(t,e){return e.split(".").reduce(function(t,e){return t&&t[e]},t)};function I(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r={};return t.forEach(function(t){r[t.type||t.name]=!0}),x.filter(function(t){return r[t.constructor.type||t.constructor.name]})}var h=function(){function t(t,e){this._injector=t,this._parentFactory=e,this._states=[]}return Object.defineProperty(t.prototype,"states",{get:function(){return this._parentFactory?this._parentFactory.states:this._states},enumerable:!0,configurable:!0}),t.prototype.add=function(t){Array.isArray(t)||(t=[t]);var r,a,n,o,i,u,e,c,s,p=(a=function(e){var t=r.find(function(t){return t===e});if(!t)throw new Error("Child state not found: "+e);if(!t[_])throw new Error("States must be decorated with @State() decorator");return t[_].name},(r=t).reduce(function(t,e){if(!e[_])throw new Error("States must be decorated with @State() decorator");var r=e[_],n=r.name,o=r.children;return t[n]=(o||[]).map(a),t},{})),f=(n=p,o=[],i={},u=function(e,r){void 0===r&&(r=[]),Array.isArray(r)||(r=[]),r.push(e),i[e]=!0,n[e].forEach(function(t){if(0<=r.indexOf(t))throw new Error("Circular dependency '"+t+"' is required by '"+e+"': "+r.join(" -> "));i[t]||u(t,r.slice(0))}),o.indexOf(e)<0&&o.push(e)},Object.keys(n).forEach(function(t){return u(t)}),o.reverse()),l=function(t,e){void 0===e&&(e={});var o=function(t,e){for(var r in t)if(t.hasOwnProperty(r)&&0<=t[r].indexOf(e)){var n=o(t,r);return null!==n?n+"."+r:r}return null};for(var r in t)if(t.hasOwnProperty(r)){var n=o(t,r);e[r]=n?n+"."+r:r}return e}(p),y=t.reduce(function(t,e){if(!e[_])throw new Error("States must be decorated with @State() decorator");return t[e[_].name]=e,t},{}),d=[],h=function(e){var t=y[e];if(!t[_])throw new Error("States must be decorated with @State() decorator");var r,n=l[e],o=t[_].actions,a=t[_].defaults;if(t[_].path=n,v.states.find(function(t){return t.name===e}))throw new Error("Store has already been added: "+e);Array.isArray(a)?a=S(a):"object"==typeof(r=a)&&null!==r||"function"==typeof r?a=Object.assign({},a):a===undefined&&(a={});var i=v._injector.get(t);d.push({actions:o,instance:i,defaults:a,name:e,depth:n})},v=this;try{for(var g=E(f),b=g.next();!b.done;b=g.next()){h(b.value)}}catch(m){e={error:m}}finally{try{b&&!b.done&&(c=g["return"])&&c.call(g)}finally{if(e)throw e.error}}return(s=this.states).push.apply(s,S(d)),d},t.prototype.addAndReturnDefaults=function(t){if(t){var e=this.add(t);return{defaults:e.reduce(function(t,e){return l(t,e.depth,e.defaults)},{}),states:e}}},t.prototype.invokeInit=function(t,e,r,n){try{for(var o=E(n),a=o.next();!a.done;a=o.next()){var i=a.value;if(i.instance.onInit){var u=this.createStateContext(t,e,r,i);i.instance.onInit(u)}}}catch(p){c={error:p}}finally{try{a&&!a.done&&(s=o["return"])&&s.call(o)}finally{if(c)throw c.error}}var c,s},t.prototype.invokeActions=function(t,e,r,n,o){var a,i,u,c,s=[];try{for(var p=E(this.states),f=p.next();!f.done;f=p.next()){var l=f.value,y=P(o),d=l.actions[y.toString()];if(d)try{for(var h=E(d),v=h.next();!v.done;v=h.next()){var g=v.value,b=this.createStateContext(t,e,r,l),m=l.instance[g.fn](b,o);m===undefined?m=O.of({}).pipe(x.shareReplay()):m instanceof Promise&&(m=w.fromPromise(m)),m instanceof j.Observable&&(m=m.pipe(g.options.takeLast?x.takeUntil(n.pipe(I(o.constructor))):x.map(function(t){return t})),s.push(m))}}catch(S){u={error:S}}finally{try{v&&!v.done&&(c=h["return"])&&c.call(h)}finally{if(u)throw u.error}}}}catch(_){a={error:_}}finally{try{f&&!f.done&&(i=p["return"])&&i.call(p)}finally{if(a)throw a.error}}return A.forkJoin(s)},t.prototype.createStateContext=function(o,a,e,i){return{getState:function(){var t=o();return d(t,i.depth)},patchState:function(t){if(Array.isArray(t))throw new Error("Patching arrays is not supported.");var e=o(),r=d(e,i.depth);for(var n in t)r[n]=t[n];return e=l(e,i.depth,Object.assign({},r)),a(e),e},setState:function(t){var e=o();return e=l(e,i.depth,t),a(e),e},dispatch:function(t){return e(t)}}},t}();h.decorators=[{type:e.Injectable}],h.ctorParameters=function(){return[{type:e.Injector},{type:h,decorators:[{type:e.Optional},{type:e.SkipSelf}]}]};var v=function(r){function t(t){var e=r.call(this)||this;return t&&Object.assign(e,t),e}return i(t,r),t}(r.Subject);v.decorators=[{type:e.Injectable}],v.ctorParameters=function(){return[{type:v,decorators:[{type:e.Optional},{type:e.SkipSelf}]}]};var g=function(r){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return r.shift().apply(void 0,S(t,[function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return g(r).apply(void 0,S(t))}]))}},b=function(r){function t(t){var e=r.call(this,{})||this;return t&&Object.assign(e,t),e}return i(t,r),t}(n.BehaviorSubject);b.decorators=[{type:e.Injectable}],b.ctorParameters=function(){return[{type:b,decorators:[{type:e.Optional},{type:e.SkipSelf}]}]};var m=function(){function t(t,e){this._parentManager=t,this._plugins=e,this.plugins=[],this.register()}return t.prototype.register=function(){var t;this._plugins&&(this.plugins=this._plugins.map(function(t){return t.handle?t.handle.bind(t):t}),this._parentManager&&(t=this._parentManager.plugins).push.apply(t,S(this.plugins)))},t}();m.decorators=[{type:e.Injectable}],m.ctorParameters=function(){return[{type:m,decorators:[{type:e.Optional},{type:e.SkipSelf}]},{type:Array,decorators:[{type:e.Inject,args:[p]},{type:e.Optional}]}]};var k=function(){function t(t,e,r,n,o){this._errorHandler=t,this._actions=e,this._storeFactory=r,this._pluginManager=n,this._stateStream=o}return t.prototype.dispatch=function(t){var e,r=this;return(e=Array.isArray(t)?A.forkJoin(t.map(function(t){return r._dispatch(t)})):this._dispatch(t)).pipe(x.catchError(function(t){return r._errorHandler.handleError(t),O.of(t)})),e.subscribe(),e},t.prototype.select=function(t){if(t[_]&&t[_].path){var e=f(t[_].path.split("."));return this._stateStream.pipe(a.map(e),x.distinctUntilChanged())}return this._stateStream.pipe(a.map(t),x.catchError(function(t){if(t instanceof TypeError)return O.of(undefined);throw t}),x.distinctUntilChanged())},t.prototype.selectOnce=function(t){return this.select(t).pipe(x.take(1))},t.prototype.selectSnapshot=function(t){return t(this._stateStream.getValue())},t.prototype.subscribe=function(t){return this._stateStream.subscribe(t)},t.prototype.snapshot=function(){return this._stateStream.getValue()},t.prototype._dispatch=function(r){var n=this,o=this._stateStream.getValue(),t=this._pluginManager.plugins;return g(S(t,[function(t,e){return t!==o&&n._stateStream.next(t),n._actions.next(e),n._storeFactory.invokeActions(function(){return n._stateStream.getValue()},function(t){return n._stateStream.next(t)},function(t){return n.dispatch(t)},n._actions,r).pipe(a.map(function(){return n._stateStream.getValue()}))}]))(o,r).pipe(x.shareReplay())},t}();k.decorators=[{type:e.Injectable}],k.ctorParameters=function(){return[{type:e.ErrorHandler},{type:v},{type:h},{type:m},{type:b}]};var T=function(t){};T.store=undefined,T.decorators=[{type:e.Injectable}],T.ctorParameters=function(){return[{type:k}]};var R=function(){};R.type="@@INIT";var M=function(){};M.type="@@UPDATE_STATE";var N=function(t,e,r,n,o){var a=t.addAndReturnDefaults(o);if(a){var i=e.getValue();e.next(Object.assign({},i,a.defaults))}r.dispatch(new R),a&&t.invokeInit(function(){return e.getValue()},function(t){return e.next(t)},function(t){return r.dispatch(t)},a.states)};N.decorators=[{type:e.NgModule}],N.ctorParameters=function(){return[{type:h},{type:b},{type:k},{type:T},{type:Array,decorators:[{type:e.Optional},{type:e.Inject,args:[c]}]}]};var V=function(e,r,t,n){var o=[].concat.apply([],S(n)),a=t.addAndReturnDefaults(o);if(a){var i=r.getValue();r.next(Object.assign({},i,a.defaults))}e.dispatch(new M),a&&t.invokeInit(function(){return r.getValue()},function(t){return r.next(t)},function(t){return e.dispatch(t)},a.states)};V.decorators=[{type:e.NgModule,args:[{}]}],V.ctorParameters=function(){return[{type:k},{type:b},{type:h},{type:Array,decorators:[{type:e.Optional},{type:e.Inject,args:[s]}]}]};var F=function(){function t(){}return t.forRoot=function(t){return void 0===t&&(t=[]),{ngModule:N,providers:S([h,v,k,b,T,m],t,[{provide:c,useValue:t}])}},t.forFeature=function(t){return{ngModule:V,providers:S([h,m],t,[{provide:s,multi:!0,useValue:t}])}},t}();F.decorators=[{type:e.NgModule,args:[{}]}],F.ctorParameters=function(){return[]};var q=function(){function e(t){this.desc=t,e.counter++,this.stamp=e.counter,this.description="ActionToken "+this.desc+" "+this.stamp}return e.prototype.toString=function(){return this.description},e}();q.counter=0,t.NgxsModule=F,t.Action=function(f,l){return function(t,e,r){var n,o,a=y(t.constructor);Array.isArray(f)||(f=[f]);try{for(var i=E(f),u=i.next();!u.done;u=i.next()){var c=u.value;c.type||(c.type=new q(c.name));var s=c.type;a.actions[s]||(a.actions[s]=[]),a.actions[s].push({fn:e,options:l||{},type:s})}}catch(p){n={error:p}}finally{try{u&&!u.done&&(o=i["return"])&&o.call(i)}finally{if(n)throw n.error}}}},t.Store=k,t.State=function(n){return function(t){var e=y(t);if(t.__proto__.hasOwnProperty(_)){var r=t.__proto__[_];e.actions=Object.assign({},e.actions,r.actions)}if(e.children=n.children,e.defaults=n.defaults,e.name=n.name,!n.name)throw new Error("States must register a 'name' property")}},t.Select=function(n){for(var o=[],t=1;t<arguments.length;t++)o[t-1]=arguments[t];return function(t,e){var r="__"+e+"__selector";if(n||(n=e.lastIndexOf("$")===e.length-1?e.substring(0,e.length-1):e),t[r])throw new Error("You cannot use @Select decorator and a "+r+" property.");delete t[e]&&(Object.defineProperty(t,r,{writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(t,e,{get:function(){return this[r]||(this[r]=function(t){var e=T.store;if(!e)throw new Error("SelectFactory not connected to store!");return e.select(t)}.apply(this,["string"==typeof n?f(o.length?S([n],o):n.split(".")):n[_]&&n[_].path?f(n[_].path.split(".")):n]))},enumerable:!0,configurable:!0}))}},t.Actions=v,t.ofAction=I,t.Selector=function(){for(var i=[],t=0;t<arguments.length;t++)i[t]=arguments[t];return function(t,e,r){var n=y(t);if(null!==r.value){var o=r.value,a=function(t){var e=d(t,n.path);try{return o(e)}catch(r){if(r instanceof TypeError)return undefined;throw r}};return{configurable:!0,get:function(){return function(a,i){var u=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=i?i.apply(this,t):t[0],n=u.cache;if(n.has(r))return n.get(r);var o=a.apply(this,t);return u.cache=n.set(r,o)||n,o};return u.cache=new WeakMap,u}.apply(null,S([a],i))}}}throw new Error("Selectors only work on methods")}},t.getActionTypeFromInstance=P,t.getActionNameFromInstance=function(t){var e=P(t);return"string"==typeof e?e:e.desc},t.NGXS_PLUGINS=p,t.StateStream=b,t.setValue=l,t.getValue=d,t.InitState=R,t.UpdateState=M,t.ɵb=V,t.ɵa=N,t.ɵg=m,t.ɵc=T,t.ɵf=h,t.ɵe=s,t.ɵd=c,Object.defineProperty(t,"__esModule",{value:!0})}); | ||
//# sourceMappingURL=ngxs-store.umd.min.js.map |
@@ -46,12 +46,2 @@ import { InjectionToken, Injector, Injectable, SkipSelf, Optional, Inject, ErrorHandler, NgModule } from '@angular/core'; | ||
/** | ||
* @param {?=} a | ||
* @param {?=} b | ||
* @return {?} | ||
*/ | ||
function uuid(a, b) { | ||
for (b = a = ''; a++ < 36; b += (a * 51) & 52 ? (a ^ 15 ? 8 ^ (Math.random() * (a ^ 20 ? 16 : 4)) : 4).toString(16) : '-') | ||
; | ||
return b; | ||
} | ||
/** | ||
* Ensures metadata is attached to the klass and returns it. | ||
@@ -68,3 +58,4 @@ * @param {?} target | ||
path: null, | ||
children: [] | ||
children: [], | ||
instance: null | ||
}; | ||
@@ -253,19 +244,31 @@ Object.defineProperty(target, META_KEY, { value: defaultMetadata }); | ||
/** | ||
* Returns the type from a event instance. | ||
* @param {?} event | ||
* Returns the type from an action instance. | ||
* @param {?} action | ||
* @return {?} | ||
*/ | ||
function getActionTypeFromInstance(event) { | ||
if (event.constructor.type) { | ||
return event.constructor.type; | ||
function getActionTypeFromInstance(action) { | ||
if (action.constructor.type) { | ||
if (action.constructor.type.desc) { | ||
return /** @type {?} */ (action.constructor.type); | ||
} | ||
return /** @type {?} */ (action.constructor.type); | ||
} | ||
else if (event.constructor.name) { | ||
return event.constructor.name; | ||
} | ||
else if (event.type) { | ||
else if (action.type) { | ||
// events from dev tools are plain objects | ||
return event.type; | ||
return action.type; | ||
} | ||
} | ||
/** | ||
* Returns the name of the action from an action instance | ||
* @param {?} action | ||
* @return {?} | ||
*/ | ||
function getActionNameFromInstance(action) { | ||
const /** @type {?} */ type = getActionTypeFromInstance(action); | ||
if (typeof type === 'string') { | ||
return type; | ||
} | ||
return (/** @type {?} */ (type)).desc; | ||
} | ||
/** | ||
* Set a deeply nested value. Example: | ||
@@ -427,3 +430,3 @@ * | ||
const /** @type {?} */ name = getActionTypeFromInstance(action); | ||
const /** @type {?} */ actionMetas = metadata.actions[name]; | ||
const /** @type {?} */ actionMetas = metadata.actions[name.toString()]; | ||
if (actionMetas) { | ||
@@ -443,4 +446,4 @@ for (const /** @type {?} */ actionMeta of actionMetas) { | ||
: map(r => r)); // act like a noop | ||
results.push(result); | ||
} | ||
results.push(result); | ||
} | ||
@@ -976,3 +979,5 @@ } | ||
this.desc = desc; | ||
this.stamp = uuid(); | ||
ActionToken.counter++; | ||
this.stamp = ActionToken.counter; | ||
this.description = `ActionToken ${this.desc} ${this.stamp}`; | ||
} | ||
@@ -983,5 +988,6 @@ /** | ||
toString() { | ||
return `ActionToken ${this.desc} ${this.stamp}`; | ||
return this.description; | ||
} | ||
} | ||
ActionToken.counter = 0; | ||
/** | ||
@@ -1000,15 +1006,13 @@ * Decorates a method with a action information. | ||
for (const /** @type {?} */ action of actions) { | ||
if (typeof action.type === 'string') { | ||
action.type = new ActionToken(action.type); | ||
} | ||
else if (!action.type) { | ||
if (!action.type) { | ||
action.type = new ActionToken(action.name); | ||
} | ||
if (!meta.actions[action.type]) { | ||
meta.actions[action.type] = []; | ||
const /** @type {?} */ type = action.type; | ||
if (!meta.actions[type]) { | ||
meta.actions[type] = []; | ||
} | ||
meta.actions[action.type].push({ | ||
meta.actions[type].push({ | ||
fn: name, | ||
options: options || {}, | ||
type: action.type | ||
type | ||
}); | ||
@@ -1142,3 +1146,3 @@ } | ||
export { NgxsModule, Action, Store, State, Select, Actions, ofAction, Selector, getActionTypeFromInstance, NGXS_PLUGINS, StateStream, setValue, getValue, InitState, UpdateState, NgxsFeatureModule as ɵb, NgxsRootModule as ɵa, PluginManager as ɵg, SelectFactory as ɵc, StateFactory as ɵf, FEATURE_STATE_TOKEN as ɵe, ROOT_STATE_TOKEN as ɵd }; | ||
export { NgxsModule, Action, Store, State, Select, Actions, ofAction, Selector, getActionTypeFromInstance, getActionNameFromInstance, NGXS_PLUGINS, StateStream, setValue, getValue, InitState, UpdateState, NgxsFeatureModule as ɵb, NgxsRootModule as ɵa, PluginManager as ɵg, SelectFactory as ɵc, StateFactory as ɵf, FEATURE_STATE_TOKEN as ɵe, ROOT_STATE_TOKEN as ɵd }; | ||
//# sourceMappingURL=ngxs-store.js.map |
@@ -16,7 +16,2 @@ import { __spread, __values, __extends } from 'tslib'; | ||
var NGXS_PLUGINS = new InjectionToken('NGXS_PLUGINS'); | ||
function uuid(a, b) { | ||
for (b = a = ''; a++ < 36; b += (a * 51) & 52 ? (a ^ 15 ? 8 ^ (Math.random() * (a ^ 20 ? 16 : 4)) : 4).toString(16) : '-') | ||
; | ||
return b; | ||
} | ||
function ensureStoreMetadata(target) { | ||
@@ -29,3 +24,4 @@ if (!target.hasOwnProperty(META_KEY)) { | ||
path: null, | ||
children: [] | ||
children: [], | ||
instance: null | ||
}; | ||
@@ -126,12 +122,19 @@ Object.defineProperty(target, META_KEY, { value: defaultMetadata }); | ||
} | ||
function getActionTypeFromInstance(event) { | ||
if (event.constructor.type) { | ||
return event.constructor.type; | ||
function getActionTypeFromInstance(action) { | ||
if (action.constructor.type) { | ||
if (action.constructor.type.desc) { | ||
return (action.constructor.type); | ||
} | ||
return (action.constructor.type); | ||
} | ||
else if (event.constructor.name) { | ||
return event.constructor.name; | ||
else if (action.type) { | ||
return action.type; | ||
} | ||
else if (event.type) { | ||
return event.type; | ||
} | ||
function getActionNameFromInstance(action) { | ||
var type = getActionTypeFromInstance(action); | ||
if (typeof type === 'string') { | ||
return type; | ||
} | ||
return ((type)).desc; | ||
} | ||
@@ -270,3 +273,3 @@ var setValue = function (obj, prop, val) { | ||
var name = getActionTypeFromInstance(action); | ||
var actionMetas = metadata.actions[name]; | ||
var actionMetas = metadata.actions[name.toString()]; | ||
if (actionMetas) { | ||
@@ -288,4 +291,4 @@ try { | ||
: map(function (r) { return r; })); | ||
results.push(result); | ||
} | ||
results.push(result); | ||
} | ||
@@ -676,9 +679,12 @@ } | ||
this.desc = desc; | ||
this.stamp = uuid(); | ||
ActionToken.counter++; | ||
this.stamp = ActionToken.counter; | ||
this.description = "ActionToken " + this.desc + " " + this.stamp; | ||
} | ||
ActionToken.prototype.toString = function () { | ||
return "ActionToken " + this.desc + " " + this.stamp; | ||
return this.description; | ||
}; | ||
return ActionToken; | ||
}()); | ||
ActionToken.counter = 0; | ||
function Action(actions, options) { | ||
@@ -693,15 +699,13 @@ return function (target, name, descriptor) { | ||
var action = actions_1_1.value; | ||
if (typeof action.type === 'string') { | ||
action.type = new ActionToken(action.type); | ||
} | ||
else if (!action.type) { | ||
if (!action.type) { | ||
action.type = new ActionToken(action.name); | ||
} | ||
if (!meta.actions[action.type]) { | ||
meta.actions[action.type] = []; | ||
var type = action.type; | ||
if (!meta.actions[type]) { | ||
meta.actions[type] = []; | ||
} | ||
meta.actions[action.type].push({ | ||
meta.actions[type].push({ | ||
fn: name, | ||
options: options || {}, | ||
type: action.type | ||
type: type | ||
}); | ||
@@ -787,3 +791,3 @@ } | ||
export { NgxsModule, Action, Store, State, Select, Actions, ofAction, Selector, getActionTypeFromInstance, NGXS_PLUGINS, StateStream, setValue, getValue, InitState, UpdateState, NgxsFeatureModule as ɵb, NgxsRootModule as ɵa, PluginManager as ɵg, SelectFactory as ɵc, StateFactory as ɵf, FEATURE_STATE_TOKEN as ɵe, ROOT_STATE_TOKEN as ɵd }; | ||
export { NgxsModule, Action, Store, State, Select, Actions, ofAction, Selector, getActionTypeFromInstance, getActionNameFromInstance, NGXS_PLUGINS, StateStream, setValue, getValue, InitState, UpdateState, NgxsFeatureModule as ɵb, NgxsRootModule as ɵa, PluginManager as ɵg, SelectFactory as ɵc, StateFactory as ɵf, FEATURE_STATE_TOKEN as ɵe, ROOT_STATE_TOKEN as ɵd }; | ||
//# sourceMappingURL=ngxs-store.js.map |
@@ -1,1 +0,1 @@ | ||
{"__symbolic":"module","version":4,"metadata":{"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":18,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":19,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]],"parameters":[{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"StateStream"},{"__symbolic":"reference","name":"Store"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":45,"character":1},"arguments":[{}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":51,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":52,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]],"parameters":[{"__symbolic":"reference","name":"Store"},{"__symbolic":"reference","name":"StateStream"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Store"}]}]},"statics":{"store":{"__symbolic":"reference","name":"undefined"}}},"ɵd":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":36},"arguments":["ROOT_STATE_TOKEN"]},"ɵe":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":4,"character":39},"arguments":["FEATURE_STATE_TOKEN"]},"NgxsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":82,"character":1},"arguments":[{}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["states"],"defaults":[[]],"value":{"ngModule":{"__symbolic":"reference","name":"ɵa"},"providers":[{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"Actions"},{"__symbolic":"reference","name":"Store"},{"__symbolic":"reference","name":"StateStream"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"states"}},{"provide":{"__symbolic":"reference","name":"ɵd"},"useValue":{"__symbolic":"reference","name":"states"}}]}},"forFeature":{"__symbolic":"function","parameters":["states"],"value":{"ngModule":{"__symbolic":"reference","name":"ɵb"},"providers":[{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"states"}},{"provide":{"__symbolic":"reference","name":"ɵe"},"multi":true,"useValue":{"__symbolic":"reference","name":"states"}}]}}}},"Action":{"__symbolic":"function","parameters":["actions","options"],"value":{"__symbolic":"error","message":"Lambda not supported","line":17,"character":9,"module":"./src/action"}},"Store":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":16,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ErrorHandler","line":19,"character":27},{"__symbolic":"reference","name":"Actions"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"StateStream"}]}],"dispatch":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"selectOnce":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"selectSnapshot":[{"__symbolic":"method"}],"subscribe":[{"__symbolic":"method"}],"snapshot":[{"__symbolic":"method"}],"_dispatch":[{"__symbolic":"method"}]}},"State":{"__symbolic":"function","parameters":["options"],"value":{"__symbolic":"error","message":"Lambda not supported","line":7,"character":9,"module":"./src/state"}},"Select":{"__symbolic":"function","parameters":["selectorOrFeature","paths"],"value":{"__symbolic":"error","message":"Lambda not supported","line":18,"character":9,"module":"./src/select"}},"Actions":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs/Subject","name":"Subject","line":9,"character":29},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":11,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":12,"character":5}}]],"parameters":[{"__symbolic":"reference","name":"Actions"}]}]}},"ofAction":{"__symbolic":"function"},"NgxsPlugin":{"__symbolic":"interface"},"NgxsPluginFn":{"__symbolic":"interface"},"StateContext":{"__symbolic":"interface"},"Selector":{"__symbolic":"function","parameters":["args"],"value":{"__symbolic":"error","message":"Lambda not supported","line":8,"character":9,"module":"./src/selector"}},"getActionTypeFromInstance":{"__symbolic":"function"},"NGXS_PLUGINS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":7,"character":32},"arguments":["NGXS_PLUGINS"]},"StateStream":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs/BehaviorSubject","name":"BehaviorSubject","line":7,"character":33},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":9,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":10,"character":5}}]],"parameters":[{"__symbolic":"reference","name":"StateStream"}]}]}},"setValue":{"__symbolic":"error","message":"Lambda not supported","line":22,"character":24,"module":"./src/utils"},"getValue":{"__symbolic":"error","message":"Lambda not supported","line":47,"character":24,"module":"./src/utils"},"InitState":{"__symbolic":"class","members":{},"statics":{"type":"@@INIT"}},"UpdateState":{"__symbolic":"class","members":{},"statics":{"type":"@@UPDATE_STATE"}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":12,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":22,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":23,"character":5}}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":21,"character":23},{"__symbolic":"reference","name":"ɵf"}]}],"add":[{"__symbolic":"method"}],"addAndReturnDefaults":[{"__symbolic":"method"}],"invokeInit":[{"__symbolic":"method"}],"invokeActions":[{"__symbolic":"method"}],"createStateContext":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":8,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":9,"character":5}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":11,"character":5},"arguments":[{"__symbolic":"reference","name":"NGXS_PLUGINS"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":12,"character":5}}]],"parameters":[{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"NgxsPlugin"}]}]}],"register":[{"__symbolic":"method"}]}}},"origins":{"ɵa":"./src/module","ɵb":"./src/module","ɵc":"./src/select","ɵd":"./src/symbols","ɵe":"./src/symbols","NgxsModule":"./src/module","Action":"./src/action","Store":"./src/store","State":"./src/state","Select":"./src/select","Actions":"./src/actions-stream","ofAction":"./src/of-action","NgxsPlugin":"./src/symbols","NgxsPluginFn":"./src/symbols","StateContext":"./src/symbols","Selector":"./src/selector","getActionTypeFromInstance":"./src/utils","NGXS_PLUGINS":"./src/symbols","StateStream":"./src/state-stream","setValue":"./src/utils","getValue":"./src/utils","InitState":"./src/actions","UpdateState":"./src/actions","ɵf":"./src/state-factory","ɵg":"./src/plugin-manager"},"importAs":"@ngxs/store"} | ||
{"__symbolic":"module","version":4,"metadata":{"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":18,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":19,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]],"parameters":[{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"StateStream"},{"__symbolic":"reference","name":"Store"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":45,"character":1},"arguments":[{}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":51,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":52,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]],"parameters":[{"__symbolic":"reference","name":"Store"},{"__symbolic":"reference","name":"StateStream"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Store"}]}]},"statics":{"store":{"__symbolic":"reference","name":"undefined"}}},"ɵd":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":36},"arguments":["ROOT_STATE_TOKEN"]},"ɵe":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":4,"character":39},"arguments":["FEATURE_STATE_TOKEN"]},"NgxsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":82,"character":1},"arguments":[{}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["states"],"defaults":[[]],"value":{"ngModule":{"__symbolic":"reference","name":"ɵa"},"providers":[{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"Actions"},{"__symbolic":"reference","name":"Store"},{"__symbolic":"reference","name":"StateStream"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"states"}},{"provide":{"__symbolic":"reference","name":"ɵd"},"useValue":{"__symbolic":"reference","name":"states"}}]}},"forFeature":{"__symbolic":"function","parameters":["states"],"value":{"ngModule":{"__symbolic":"reference","name":"ɵb"},"providers":[{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"states"}},{"provide":{"__symbolic":"reference","name":"ɵe"},"multi":true,"useValue":{"__symbolic":"reference","name":"states"}}]}}}},"Action":{"__symbolic":"function","parameters":["actions","options"],"value":{"__symbolic":"error","message":"Lambda not supported","line":25,"character":9,"module":"./src/action"}},"Store":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":16,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ErrorHandler","line":19,"character":27},{"__symbolic":"reference","name":"Actions"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"StateStream"}]}],"dispatch":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"selectOnce":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"selectSnapshot":[{"__symbolic":"method"}],"subscribe":[{"__symbolic":"method"}],"snapshot":[{"__symbolic":"method"}],"_dispatch":[{"__symbolic":"method"}]}},"State":{"__symbolic":"function","parameters":["options"],"value":{"__symbolic":"error","message":"Lambda not supported","line":7,"character":9,"module":"./src/state"}},"Select":{"__symbolic":"function","parameters":["selectorOrFeature","paths"],"value":{"__symbolic":"error","message":"Lambda not supported","line":18,"character":9,"module":"./src/select"}},"Actions":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs/Subject","name":"Subject","line":9,"character":29},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":11,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":12,"character":5}}]],"parameters":[{"__symbolic":"reference","name":"Actions"}]}]}},"ofAction":{"__symbolic":"function"},"NgxsPlugin":{"__symbolic":"interface"},"NgxsPluginFn":{"__symbolic":"interface"},"StateContext":{"__symbolic":"interface"},"Selector":{"__symbolic":"function","parameters":["args"],"value":{"__symbolic":"error","message":"Lambda not supported","line":8,"character":9,"module":"./src/selector"}},"getActionTypeFromInstance":{"__symbolic":"function"},"getActionNameFromInstance":{"__symbolic":"function"},"NGXS_PLUGINS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":7,"character":32},"arguments":["NGXS_PLUGINS"]},"StateStream":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs/BehaviorSubject","name":"BehaviorSubject","line":7,"character":33},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":9,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":10,"character":5}}]],"parameters":[{"__symbolic":"reference","name":"StateStream"}]}]}},"setValue":{"__symbolic":"error","message":"Lambda not supported","line":38,"character":24,"module":"./src/utils"},"getValue":{"__symbolic":"error","message":"Lambda not supported","line":63,"character":24,"module":"./src/utils"},"InitState":{"__symbolic":"class","members":{},"statics":{"type":"@@INIT"}},"UpdateState":{"__symbolic":"class","members":{},"statics":{"type":"@@UPDATE_STATE"}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":12,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":22,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":23,"character":5}}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":21,"character":23},{"__symbolic":"reference","name":"ɵf"}]}],"add":[{"__symbolic":"method"}],"addAndReturnDefaults":[{"__symbolic":"method"}],"invokeInit":[{"__symbolic":"method"}],"invokeActions":[{"__symbolic":"method"}],"createStateContext":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":8,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":9,"character":5}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":11,"character":5},"arguments":[{"__symbolic":"reference","name":"NGXS_PLUGINS"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":12,"character":5}}]],"parameters":[{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"NgxsPlugin"}]}]}],"register":[{"__symbolic":"method"}]}}},"origins":{"ɵa":"./src/module","ɵb":"./src/module","ɵc":"./src/select","ɵd":"./src/symbols","ɵe":"./src/symbols","NgxsModule":"./src/module","Action":"./src/action","Store":"./src/store","State":"./src/state","Select":"./src/select","Actions":"./src/actions-stream","ofAction":"./src/of-action","NgxsPlugin":"./src/symbols","NgxsPluginFn":"./src/symbols","StateContext":"./src/symbols","Selector":"./src/selector","getActionTypeFromInstance":"./src/utils","getActionNameFromInstance":"./src/utils","NGXS_PLUGINS":"./src/symbols","StateStream":"./src/state-stream","setValue":"./src/utils","getValue":"./src/utils","InitState":"./src/actions","UpdateState":"./src/actions","ɵf":"./src/state-factory","ɵg":"./src/plugin-manager"},"importAs":"@ngxs/store"} |
{ | ||
"name": "@ngxs/store", | ||
"version": "2.1.0-dev.7b3499f", | ||
"version": "2.1.0-dev.7ce8703", | ||
"license": "MIT", | ||
@@ -5,0 +5,0 @@ "peerDependencies": { |
import { ActionOptions } from './symbols'; | ||
export declare class ActionToken { | ||
readonly desc: string; | ||
static counter: number; | ||
private readonly stamp; | ||
private readonly description; | ||
constructor(desc: string); | ||
@@ -6,0 +8,0 @@ toString(): string; |
@@ -7,4 +7,4 @@ export interface MetaDataModel { | ||
children: any[]; | ||
instance: any; | ||
} | ||
export declare function uuid(a?: any, b?: any): any; | ||
/** | ||
@@ -11,0 +11,0 @@ * Ensures metadata is attached to the klass and returns it. |
@@ -10,2 +10,2 @@ export { NgxsModule } from './module'; | ||
export { Selector } from './selector'; | ||
export { getActionTypeFromInstance } from './utils'; | ||
export { getActionTypeFromInstance, getActionNameFromInstance } from './utils'; |
import { Injector } from '@angular/core'; | ||
import { Observable } from 'rxjs/Observable'; | ||
import { StateContext } from './symbols'; | ||
import { MetaDataModel } from './internals'; | ||
export declare class StateFactory { | ||
private _injector; | ||
private _parentFactory; | ||
readonly states: any; | ||
readonly states: MetaDataModel[]; | ||
private _states; | ||
@@ -9,0 +10,0 @@ constructor(_injector: Injector, _parentFactory: StateFactory); |
@@ -0,6 +1,11 @@ | ||
import { ActionToken } from './action'; | ||
/** | ||
* Returns the type from a event instance. | ||
* Returns the type from an action instance. | ||
*/ | ||
export declare function getActionTypeFromInstance(event: any): any; | ||
export declare function getActionTypeFromInstance(action: any): ActionToken | string; | ||
/** | ||
* Returns the name of the action from an action instance | ||
*/ | ||
export declare function getActionNameFromInstance(action: any): string; | ||
/** | ||
* Set a deeply nested value. Example: | ||
@@ -7,0 +12,0 @@ * |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
357599
3173