amos
Advanced tools
Comparing version 0.2.0 to 0.2.1
@@ -318,3 +318,4 @@ 'use strict'; | ||
}), | ||
select: defineAmosObject('store.select', function (selectable, snapshot) { | ||
select: defineAmosObject('store.select', function (selectable, snapshot, select) { | ||
if (select === void 0) { select = store.select; } | ||
if (typeof selectable === 'function') { | ||
@@ -327,3 +328,3 @@ if (snapshot) { | ||
try { | ||
return selectable(store.select); | ||
return selectable(select); | ||
} | ||
@@ -335,3 +336,3 @@ finally { | ||
else { | ||
return selectable(store.select); | ||
return selectable(select); | ||
} | ||
@@ -600,3 +601,2 @@ } | ||
} | ||
// TODO: print friendly with selector names | ||
React.useDebugValue(selectedState, function (value) { | ||
@@ -607,2 +607,3 @@ return value.reduce(function (map, value, index) { | ||
var type = typeof s === 'function' ? (_c = (_a = s.type) !== null && _a !== void 0 ? _a : (_b = s.factory) === null || _b === void 0 ? void 0 : _b.type) !== null && _c !== void 0 ? _c : s.name : s.key; | ||
type = type || "anonymous"; | ||
if (map.hasOwnProperty(type)) { | ||
@@ -622,3 +623,3 @@ type = type + '_' + index; | ||
*/ | ||
var VERSION = '0.2.0'; | ||
var VERSION = '0.2.1'; | ||
@@ -625,0 +626,0 @@ exports.Box = Box; |
@@ -310,3 +310,4 @@ import { __spread, __values, __read } from 'tslib'; | ||
}), | ||
select: defineAmosObject('store.select', function (selectable, snapshot) { | ||
select: defineAmosObject('store.select', function (selectable, snapshot, select) { | ||
if (select === void 0) { select = store.select; } | ||
if (typeof selectable === 'function') { | ||
@@ -319,3 +320,3 @@ if (snapshot) { | ||
try { | ||
return selectable(store.select); | ||
return selectable(select); | ||
} | ||
@@ -327,3 +328,3 @@ finally { | ||
else { | ||
return selectable(store.select); | ||
return selectable(select); | ||
} | ||
@@ -592,3 +593,2 @@ } | ||
} | ||
// TODO: print friendly with selector names | ||
useDebugValue(selectedState, function (value) { | ||
@@ -599,2 +599,3 @@ return value.reduce(function (map, value, index) { | ||
var type = typeof s === 'function' ? (_c = (_a = s.type) !== null && _a !== void 0 ? _a : (_b = s.factory) === null || _b === void 0 ? void 0 : _b.type) !== null && _c !== void 0 ? _c : s.name : s.key; | ||
type = type || "anonymous"; | ||
if (map.hasOwnProperty(type)) { | ||
@@ -614,5 +615,5 @@ type = type + '_' + index; | ||
*/ | ||
var VERSION = '0.2.0'; | ||
var VERSION = '0.2.1'; | ||
export { Box, Consumer, Provider, VERSION, action, createStore, hoistMethod, identity, isAmosObject, selector, shallowEqual, signal, useDispatch, useSelector, useStore }; | ||
//# sourceMappingURL=amos.es.js.map |
@@ -1,2 +0,2 @@ | ||
!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],e):e((r="undefined"!=typeof globalThis?globalThis:r||self).Amos={},r.React)}(this,(function(r,e){"use strict";function t(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}var n=t(e),o=function(){function r(r,e,t){this.key=r,this.initialState=e,this.preload=t,this.listeners={}}return r.prototype.subscribe=function(r,e){this.listeners["string"==typeof r?r:r.type]=e},r.prototype.mutation=function(r,e){var t=this;return function(){for(var n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return{object:"mutation",type:e,box:t,args:n,result:n[0],mutator:r}}},r}();function u(r){var e="function"==typeof Symbol&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&"number"==typeof r.length)return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function i(r,e){var t="function"==typeof Symbol&&r[Symbol.iterator];if(!t)return r;var n,o,u=t.call(r),i=[];try{for(;(void 0===e||e-- >0)&&!(n=u.next()).done;)i.push(n.value)}catch(r){o={error:r}}finally{try{n&&!n.done&&(t=u.return)&&t.call(u)}finally{if(o)throw o.error}}return i}function s(){for(var r=[],e=0;e<arguments.length;e++)r=r.concat(i(arguments[e]));return r}var a=function(r){return r};var c="function"==typeof Symbol?Symbol("AMOS_OBJECT"):"Symbol(AMOS_OBJECT)";function f(r,e){return e.hasOwnProperty(c)||Object.defineProperty(e,c,{value:r}),e}function l(r,e){return!!e&&e[c]===r}function p(r,e){return r===e}function y(r,e){if(r.length!==e.length)return!1;for(var t=0;t<r.length;t++)if(r[t]!==e[t])return!1;return!0}var d=Array.isArray;var v=e.createContext(null);function h(){var r=e.useContext(v);if(!r)throw new Error("[Amos] you are using hooks without <Provider />.");return r.store}var b={selectors:[],deps:[],snapshots:[],results:[]};function g(r,e){for(var t in r)if(r.hasOwnProperty(t)&&e.hasOwnProperty(t))return!0;return!1}function m(r,e,t,n){var o,u;if(!(null===(u=r.factory)||void 0===u?void 0:u.deps)||!t[n])return!0;var i=(o=r.factory).deps.apply(o,s([e.select],r.args)),a=y(t[n]||[],i);return t[n]=i,!a}function O(r,e,t){return r.factory?r.factory.compare(e,t):p(e,t)}function w(r,e,t,n,o){var u,i;if(!(r&&"function"==typeof r&&t&&r.args&&e.args))return!0;if(!(r===e||e.factory&&e.factory===r.factory))return!0;if(void 0===(null===(i=e.factory)||void 0===i?void 0:i.deps))return!y(r.args,e.args);var a=(u=e.factory).deps.apply(u,s([n.select],e.args));return!y(o||[],a)&&a}r.Box=o,r.Consumer=function(r){var e=r.children;return n.default.createElement(v.Consumer,null,(function(r){if(!r)throw new Error("[Amos] <Consumer /> should use inside <Provider />.");return e(r.store)}))},r.Provider=function(r){var t=r.store,o=r.children,u=i(e.useState({store:t}),2),s=u[0],a=u[1];return e.useEffect((function(){s.store!=s.store&&a({store:t})}),[t]),n.default.createElement(v.Provider,{value:s},o)},r.VERSION="0.2.0",r.action=function(r,e){return Object.assign((function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return{object:"action",type:e,args:t,actor:r}}),{type:e})},r.createStore=function(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];var n,o={},i=[],a=[],c=function(e){if(!o.hasOwnProperty(e.key)){var t=e.initialState;(null==r?void 0:r.hasOwnProperty(e.key))&&(t=e.preload(r[e.key],t)),o[e.key]=t,i.push(e)}},l=0,p={},y=function(r,e){(e!==o[r]||p.hasOwnProperty(r))&&(p[r]=e,o[r]=e)},v=function(r){var e,t;switch(r.object){case"action":return r.actor.apply(r,s([h.dispatch,h.select],r.args));case"mutation":return c(r.box),y(r.box.key,r.mutator.apply(r,s([o[r.box.key]],r.args))),r.result;case"signal":try{for(var n=u(i),a=n.next();!a.done;a=n.next()){var f=a.value,l=f.listeners[r.type];l&&y(f.key,l(o[f.key],r.data))}}catch(r){e={error:r}}finally{try{a&&!a.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}return r.data}},h={snapshot:function(){return o},subscribe:function(r){return a.push(r),function(){var e=a.indexOf(r);e>-1&&a.splice(e,1)}},dispatch:f("store.dispatch",(function(r){1==++l&&(p={});try{return d(r)?r.map(v):v(r)}finally{0==--l&&Object.keys(p).length>0&&a.forEach((function(r){return r(p)}))}})),select:f("store.select",(function(r,e){if("function"!=typeof r)return c(r),n&&(n[r.key]=o[r.key]),o[r.key];if(!e)return r(h.select);if(n)throw new Error("[Amos] recursive snapshot collection is not supported.");n=e;try{return r(h.select)}finally{n=void 0}}))};return h=e.reduce((function(r,e){return e(r)}),h),"object"==typeof process&&"development"===process.env.NODE_ENV&&Object.freeze(h),h},r.hoistMethod=function(r,e){var t,n=function(t){e.hasOwnProperty(t)||Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))};return Object.getOwnPropertyNames(r).forEach(n),null===(t=Object.getOwnPropertySymbols)||void 0===t||t.call(Object,r).forEach(n),e},r.identity=a,r.isAmosObject=l,r.selector=function(r,e,t,n){void 0===t&&(t=p);var o=Object.assign((function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=e[0];if(l("store.select",n))return r.apply(void 0,s(e));var u=function(t){return r.apply(void 0,s([t],e))};return u.factory=o,u.args=e,u}),{deps:e,compare:t,type:n});return o},r.shallowEqual=function(r,e){if(r===e)return!0;var t=Object.keys(r);if(t.length!==Object.keys(e).length)return!1;for(var n=0;n<t.length;n++)if(!e.hasOwnProperty(t[n])||r[t[n]]!==e[t[n]])return!1;return!0},r.signal=function(r,e){return void 0===e&&(e=a),Object.assign((function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return{object:"signal",type:r,data:e.apply(void 0,s(t))}}),{type:r})},r.useDispatch=function(){return h().dispatch},r.useSelector=function(){for(var r,t,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];var u,s=i(e.useReducer((function(r){return r+1}),0),2),a=s[1],c=h(),f=e.useRef(b),l=e.useRef();if((null===(r=l.current)||void 0===r?void 0:r.store)!==c&&(f.current=b,null===(t=l.current)||void 0===t||t.disposer(),l.current={store:c,updated:!1,error:void 0,disposer:c.subscribe((function(r){var e,t=0,n=f.current,o=n.selectors,u=n.snapshots,i=n.results,s=n.deps,p=o.length;try{for(;t<p;t++){var y=o[t],d=u[t];if("function"==typeof y){if((!d||g(d,r))&&m(y,c,s,t)){var v={},h=c.select(y,v);(e=l.current).updated||(e.updated=!O(y,i[t],h)),u[t]=v,i[t]=h}}else if(r.hasOwnProperty(y.key)){var b=c.select(y);l.current.updated=b!==i[t],i[t]=b}}l.current.updated&&a()}catch(r){u.length=i.length=t-1,l.current.error="object"==typeof r&&r?Object.assign(r,{message:"[Amos] selector throws error: "+r.message}):new Error("[Amos] selector throws falsy error: "+r),a()}}))}),e.useEffect((function(){return function(){var r;return null===(r=l.current)||void 0===r?void 0:r.disposer()}}),[]),l.current.error){var p=l.current.error;throw l.current.error=void 0,p}if(l.current.updated)l.current.updated=!1,u=f.current.results;else{f.current===b&&(f.current={selectors:[],deps:[],snapshots:[],results:[]});for(var y=f.current,d=y.selectors,v=y.deps,j=y.snapshots,P=y.results,k=0;k<n.length;k++){var E=d[k],S=n[k];if("object"==typeof S)P[k]=c.select(S),d[k]=S;else{var x=w(E,S,j[k],c,v[k]);if(x){j[k]=void 0;var A={};P[k]=c.select(S,A),v[k]=!0===x?void 0:x,j[k]=A,d[k]=S}}}P.length=n.length,u=P}return e.useDebugValue(u,(function(r){return r.reduce((function(r,e,t){var o,u,i,s=n[t],a="function"==typeof s?null!==(i=null!==(o=s.type)&&void 0!==o?o:null===(u=s.factory)||void 0===u?void 0:u.type)&&void 0!==i?i:s.name:s.key;return r.hasOwnProperty(a)&&(a=a+"_"+t),r[a]=e,r}),{})})),u},r.useStore=h,Object.defineProperty(r,"__esModule",{value:!0})})); | ||
!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],e):e((r="undefined"!=typeof globalThis?globalThis:r||self).Amos={},r.React)}(this,(function(r,e){"use strict";function t(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}var n=t(e),o=function(){function r(r,e,t){this.key=r,this.initialState=e,this.preload=t,this.listeners={}}return r.prototype.subscribe=function(r,e){this.listeners["string"==typeof r?r:r.type]=e},r.prototype.mutation=function(r,e){var t=this;return function(){for(var n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return{object:"mutation",type:e,box:t,args:n,result:n[0],mutator:r}}},r}();function u(r){var e="function"==typeof Symbol&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&"number"==typeof r.length)return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function i(r,e){var t="function"==typeof Symbol&&r[Symbol.iterator];if(!t)return r;var n,o,u=t.call(r),i=[];try{for(;(void 0===e||e-- >0)&&!(n=u.next()).done;)i.push(n.value)}catch(r){o={error:r}}finally{try{n&&!n.done&&(t=u.return)&&t.call(u)}finally{if(o)throw o.error}}return i}function s(){for(var r=[],e=0;e<arguments.length;e++)r=r.concat(i(arguments[e]));return r}var a=function(r){return r};var c="function"==typeof Symbol?Symbol("AMOS_OBJECT"):"Symbol(AMOS_OBJECT)";function f(r,e){return e.hasOwnProperty(c)||Object.defineProperty(e,c,{value:r}),e}function l(r,e){return!!e&&e[c]===r}function p(r,e){return r===e}function y(r,e){if(r.length!==e.length)return!1;for(var t=0;t<r.length;t++)if(r[t]!==e[t])return!1;return!0}var d=Array.isArray;var v=e.createContext(null);function h(){var r=e.useContext(v);if(!r)throw new Error("[Amos] you are using hooks without <Provider />.");return r.store}var b={selectors:[],deps:[],snapshots:[],results:[]};function g(r,e){for(var t in r)if(r.hasOwnProperty(t)&&e.hasOwnProperty(t))return!0;return!1}function m(r,e,t,n){var o,u;if(!(null===(u=r.factory)||void 0===u?void 0:u.deps)||!t[n])return!0;var i=(o=r.factory).deps.apply(o,s([e.select],r.args)),a=y(t[n]||[],i);return t[n]=i,!a}function O(r,e,t){return r.factory?r.factory.compare(e,t):p(e,t)}function w(r,e,t,n,o){var u,i;if(!(r&&"function"==typeof r&&t&&r.args&&e.args))return!0;if(!(r===e||e.factory&&e.factory===r.factory))return!0;if(void 0===(null===(i=e.factory)||void 0===i?void 0:i.deps))return!y(r.args,e.args);var a=(u=e.factory).deps.apply(u,s([n.select],e.args));return!y(o||[],a)&&a}r.Box=o,r.Consumer=function(r){var e=r.children;return n.default.createElement(v.Consumer,null,(function(r){if(!r)throw new Error("[Amos] <Consumer /> should use inside <Provider />.");return e(r.store)}))},r.Provider=function(r){var t=r.store,o=r.children,u=i(e.useState({store:t}),2),s=u[0],a=u[1];return e.useEffect((function(){s.store!=s.store&&a({store:t})}),[t]),n.default.createElement(v.Provider,{value:s},o)},r.VERSION="0.2.1",r.action=function(r,e){return Object.assign((function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return{object:"action",type:e,args:t,actor:r}}),{type:e})},r.createStore=function(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];var n,o={},i=[],a=[],c=function(e){if(!o.hasOwnProperty(e.key)){var t=e.initialState;(null==r?void 0:r.hasOwnProperty(e.key))&&(t=e.preload(r[e.key],t)),o[e.key]=t,i.push(e)}},l=0,p={},y=function(r,e){(e!==o[r]||p.hasOwnProperty(r))&&(p[r]=e,o[r]=e)},v=function(r){var e,t;switch(r.object){case"action":return r.actor.apply(r,s([h.dispatch,h.select],r.args));case"mutation":return c(r.box),y(r.box.key,r.mutator.apply(r,s([o[r.box.key]],r.args))),r.result;case"signal":try{for(var n=u(i),a=n.next();!a.done;a=n.next()){var f=a.value,l=f.listeners[r.type];l&&y(f.key,l(o[f.key],r.data))}}catch(r){e={error:r}}finally{try{a&&!a.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}return r.data}},h={snapshot:function(){return o},subscribe:function(r){return a.push(r),function(){var e=a.indexOf(r);e>-1&&a.splice(e,1)}},dispatch:f("store.dispatch",(function(r){1==++l&&(p={});try{return d(r)?r.map(v):v(r)}finally{0==--l&&Object.keys(p).length>0&&a.forEach((function(r){return r(p)}))}})),select:f("store.select",(function(r,e,t){if(void 0===t&&(t=h.select),"function"!=typeof r)return c(r),n&&(n[r.key]=o[r.key]),o[r.key];if(!e)return r(t);if(n)throw new Error("[Amos] recursive snapshot collection is not supported.");n=e;try{return r(t)}finally{n=void 0}}))};return h=e.reduce((function(r,e){return e(r)}),h),"object"==typeof process&&"development"===process.env.NODE_ENV&&Object.freeze(h),h},r.hoistMethod=function(r,e){var t,n=function(t){e.hasOwnProperty(t)||Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))};return Object.getOwnPropertyNames(r).forEach(n),null===(t=Object.getOwnPropertySymbols)||void 0===t||t.call(Object,r).forEach(n),e},r.identity=a,r.isAmosObject=l,r.selector=function(r,e,t,n){void 0===t&&(t=p);var o=Object.assign((function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=e[0];if(l("store.select",n))return r.apply(void 0,s(e));var u=function(t){return r.apply(void 0,s([t],e))};return u.factory=o,u.args=e,u}),{deps:e,compare:t,type:n});return o},r.shallowEqual=function(r,e){if(r===e)return!0;var t=Object.keys(r);if(t.length!==Object.keys(e).length)return!1;for(var n=0;n<t.length;n++)if(!e.hasOwnProperty(t[n])||r[t[n]]!==e[t[n]])return!1;return!0},r.signal=function(r,e){return void 0===e&&(e=a),Object.assign((function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return{object:"signal",type:r,data:e.apply(void 0,s(t))}}),{type:r})},r.useDispatch=function(){return h().dispatch},r.useSelector=function(){for(var r,t,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];var u,s=i(e.useReducer((function(r){return r+1}),0),2),a=s[1],c=h(),f=e.useRef(b),l=e.useRef();if((null===(r=l.current)||void 0===r?void 0:r.store)!==c&&(f.current=b,null===(t=l.current)||void 0===t||t.disposer(),l.current={store:c,updated:!1,error:void 0,disposer:c.subscribe((function(r){var e,t=0,n=f.current,o=n.selectors,u=n.snapshots,i=n.results,s=n.deps,p=o.length;try{for(;t<p;t++){var y=o[t],d=u[t];if("function"==typeof y){if((!d||g(d,r))&&m(y,c,s,t)){var v={},h=c.select(y,v);(e=l.current).updated||(e.updated=!O(y,i[t],h)),u[t]=v,i[t]=h}}else if(r.hasOwnProperty(y.key)){var b=c.select(y);l.current.updated=b!==i[t],i[t]=b}}l.current.updated&&a()}catch(r){u.length=i.length=t-1,l.current.error="object"==typeof r&&r?Object.assign(r,{message:"[Amos] selector throws error: "+r.message}):new Error("[Amos] selector throws falsy error: "+r),a()}}))}),e.useEffect((function(){return function(){var r;return null===(r=l.current)||void 0===r?void 0:r.disposer()}}),[]),l.current.error){var p=l.current.error;throw l.current.error=void 0,p}if(l.current.updated)l.current.updated=!1,u=f.current.results;else{f.current===b&&(f.current={selectors:[],deps:[],snapshots:[],results:[]});for(var y=f.current,d=y.selectors,v=y.deps,j=y.snapshots,P=y.results,k=0;k<n.length;k++){var E=d[k],S=n[k];if("object"==typeof S)P[k]=c.select(S),d[k]=S;else{var x=w(E,S,j[k],c,v[k]);if(x){j[k]=void 0;var A={};P[k]=c.select(S,A),v[k]=!0===x?void 0:x,j[k]=A,d[k]=S}}}P.length=n.length,u=P}return e.useDebugValue(u,(function(r){return r.reduce((function(r,e,t){var o,u,i,s=n[t],a="function"==typeof s?null!==(i=null!==(o=s.type)&&void 0!==o?o:null===(u=s.factory)||void 0===u?void 0:u.type)&&void 0!==i?i:s.name:s.key;return a=a||"anonymous",r.hasOwnProperty(a)&&(a=a+"_"+t),r[a]=e,r}),{})})),u},r.useStore=h,Object.defineProperty(r,"__esModule",{value:!0})})); | ||
//# sourceMappingURL=amos.umd.js.map |
@@ -94,3 +94,3 @@ import { Action } from './action'; | ||
export interface Select extends AmosObject<'store.select'> { | ||
<R>(selectable: Selectable<R>, snapshot?: Snapshot): R; | ||
<R>(selectable: Selectable<R>, snapshot?: Snapshot /** @internal {Snapshot} DO NOT USE */, select?: Select /** @internal {Select} DO NOT USE */): R; | ||
} | ||
@@ -97,0 +97,0 @@ /** |
{ | ||
"name": "amos", | ||
"version": "0.2.0", | ||
"version": "0.2.1", | ||
"description": "A decentralized state manager for react", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -241,3 +241,2 @@ /* | ||
} | ||
// TODO: print friendly with selector names | ||
useDebugValue(selectedState, (value: any[]) => { | ||
@@ -247,2 +246,3 @@ return value.reduce((map, value, index) => { | ||
let type = typeof s === 'function' ? s.type ?? s.factory?.type ?? s.name : s.key; | ||
type = type || `anonymous`; | ||
if (map.hasOwnProperty(type)) { | ||
@@ -249,0 +249,0 @@ type = type + '_' + index; |
@@ -116,3 +116,7 @@ /* | ||
export interface Select extends AmosObject<'store.select'> { | ||
<R>(selectable: Selectable<R>, snapshot?: Snapshot): R; | ||
<R>( | ||
selectable: Selectable<R>, | ||
snapshot?: Snapshot /** @internal {Snapshot} DO NOT USE */, | ||
select?: Select /** @internal {Select} DO NOT USE */, | ||
): R; | ||
} | ||
@@ -236,25 +240,28 @@ | ||
), | ||
select: defineAmosObject('store.select', (selectable: Selectable, snapshot?: Snapshot): any => { | ||
if (typeof selectable === 'function') { | ||
if (snapshot) { | ||
select: defineAmosObject( | ||
'store.select', | ||
(selectable: Selectable, snapshot?: Snapshot, select: Select = store.select): any => { | ||
if (typeof selectable === 'function') { | ||
if (snapshot) { | ||
if (selectingSnapshot) { | ||
throw new Error(`[Amos] recursive snapshot collection is not supported.`); | ||
} | ||
selectingSnapshot = snapshot; | ||
try { | ||
return selectable(select); | ||
} finally { | ||
selectingSnapshot = void 0; | ||
} | ||
} else { | ||
return selectable(select); | ||
} | ||
} else { | ||
ensure(selectable); | ||
if (selectingSnapshot) { | ||
throw new Error(`[Amos] recursive snapshot collection is not supported.`); | ||
selectingSnapshot[selectable.key] = state[selectable.key]; | ||
} | ||
selectingSnapshot = snapshot; | ||
try { | ||
return selectable(store.select); | ||
} finally { | ||
selectingSnapshot = void 0; | ||
} | ||
} else { | ||
return selectable(store.select); | ||
return state[selectable.key]; | ||
} | ||
} else { | ||
ensure(selectable); | ||
if (selectingSnapshot) { | ||
selectingSnapshot[selectable.key] = state[selectable.key]; | ||
} | ||
return state[selectable.key]; | ||
} | ||
}), | ||
}, | ||
), | ||
}; | ||
@@ -261,0 +268,0 @@ store = enhancers.reduce((previousValue, currentValue) => currentValue(previousValue), store); |
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
278341
3291