UNPKG

k-ramel

Version:

State manager for you components apps, the safe and easy way.

2 lines (1 loc) 8 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("redux"),require("k-redux-factory")):"function"==typeof define&&define.amd?define(["exports","redux","k-redux-factory"],t):t((e=e||self).kRamel={},e.Redux,e["k-redux-factory"])}(this,function(e,t,r){"use strict";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach(function(t){n(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function c(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var r=[],n=!0,i=!1,o=void 0;try{for(var c,u=e[Symbol.iterator]();!(n=(c=u.next()).done)&&(r.push(c.value),!t||r.length!==t);n=!0);}catch(e){i=!0,o=e}finally{try{n||null==u.return||u.return()}finally{if(i)throw o}}return r}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function u(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var a=Object.freeze({__proto__:null,array:function(e){return o({},e,{type:"simple.array"})},bool:function(e){return o({},e,{type:"simple.bool"})},string:function(e){return o({},e,{type:"simple.string"})},object:function(e){return o({},e,{type:"simple.object"})},number:function(e){return o({},e,{type:"simple.number"})},keyValue:function(e){return o({},e,{type:"keyValue"})}}),f=function(e,t){return t.split(".").reduce(function(e,t){return e&&e[t]},e)},s=["get","getBy","hasKey"],p={keyValue:[["set","add","update","addOrUpdate","remove"],["get","getBy","getKeys","getAsArray","getLength","isInitialized","getState","hasKey"]],simple:[["set","update"],["get","isInitialized"]]};p.simpleObject=p.simple,p["simple.object"]=p.simple,p["simple.array"]=p.simple,p["simple.bool"]=p.simple,p["simple.string"]=p.simple,p["simple.number"]=p.simple;var d="@@krml/RESET",l=function(e,t){return function(r,n){var i=function(e){return function(){return{type:d,payload:e}}}(n);if(e.hideRedux){var o=i;i=function(){return t(o())}}return r.reset=i,r.RESET=d,r}},y=function(e){return function e(r,i){var c=Object.keys(r).map(function(t){var o=r[t],c="".concat(i?"".concat(i,"."):"").concat(t);return n({},t,"function"==typeof o?function(e,t){return function(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};switch(n.type){case d:return t.startsWith(n.payload||"")?e(void 0,{}):r;default:return e(r,n)}}}(o,c):e(o,c))}).reduce(function(e,t){return o({},e,{},t)},{});return t.combineReducers(c)}(e,"")},v=function(e){var t=e.devtools;if(!1!==t&&(void 0!==t||"undefined"==typeof process||!process.env||"production"!==process.env.NODE_ENV))return function(e){if("undefined"!=typeof window){var t=e.name,r=e.trace,n=e.traceLimit;return window.__REDUX_DEVTOOLS_EXTENSION__?window.__REDUX_DEVTOOLS_EXTENSION__({name:t,trace:r,traceLimit:n}):void 0}}(e)},m=function(e){var r=e.listeners,n=e.drivers,i=e.enhancer,o=v(e),c=function(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>2?arguments[2]:void 0,i=[r];return{setStore:function(t){e=t},addListeners:function(e){i=[].concat(u(i),[e])},removeListeners:function(e){i=i.filter(function(t){return t!==e})},enhancer:t.applyMiddleware(function(){return function(t){return function(r){var o=n&&r.action||r,c=t(r);return i.forEach(function(t){try{t.forEach(function(t){t(o,e,e.drivers)})}catch(t){e.dispatch({type:"@@krml/EXCEPTION",payload:{from:r,exception:t,message:t.message}})}}),c}}})}}(r,n,!!o),a=[i,o,c.enhancer].filter(Boolean);return{enhancer:t.compose.apply(void 0,u(a)),listen:c}},h={hideRedux:!0,enhancer:void 0,init:{},listeners:void 0,devtools:void 0,trace:!1,traceLimit:25,name:"store",drivers:{}},b=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){return function(r,n,i){return!!t.reduce(function(e,t){return e&&function(e,t){return function(r){return("string"==typeof r||r instanceof String)&&e.type===r||("function"==typeof r||r instanceof Function)&&r(e,t)||r instanceof RegExp&&e.type.match(r)}}(r,n)(t)},!0)&&e(r,n,i)}}},g=function(e){return Object.assign(e,{when:function(){return b.apply(void 0,arguments)(e)}})};Object.defineProperty(e,"applyMiddleware",{enumerable:!0,get:function(){return t.applyMiddleware}}),Object.defineProperty(e,"compose",{enumerable:!0,get:function(){return t.compose}}),e.createStore=function(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:h,u=o({},h,{},i,{drivers:o({},h.drivers,{},i.drivers)}),a=u.init,d=u.hideRedux,v=u.drivers,b=o({},e),g=[],O=[];Object.values(v).forEach(function(e){if(e.getReducer){var t=e.getReducer(),r=t.reducer,n=t.path;if(n.length)for(var i=n.split("."),o=b,c=0;c<i.length;c+=1){var u=i[c];if(c===i.length-1){o[u]=r;break}o[u]||(o[u]={}),o=o[u]}}e.getEnhancer&&g.push(e.getEnhancer()),e.init&&O.push(e.init)}),u.enhancer&&g.push(u.enhancer),u.enhancer=t.compose.apply(void 0,g);var j,E=(j=b,function e(t,i){if(void 0===t)return Object.keys(j).map(function(t){return n({},t,e(t,""))}).reduce(function(e,t){return o({},e,{},t)},{});var c="".concat(i?"".concat(i,"."):"").concat(t),u=f(j,c);return u.type?r.factory(o({name:t,path:i,prefix:i&&i.replace(/\./g,"_")||""},u)):"function"==typeof u?u:Object.keys(u).map(function(t){return n({},t,e(t,c))}).reduce(function(e,t){return o({},e,{},t)},{})}()),w=m(u),k=w.enhancer,S=w.listen,_=t.createStore(y(E),a,k);E=function(e){return function(t,r){var n=l(e,r.dispatch);return function e(r,i){if(void 0!==r){var o="".concat(i?"".concat(i,"."):"").concat(r),c=f(t,o);"function"!=typeof c&&"RESET"!==r&&Object.keys(c).forEach(function(t){e(t,o)}),n(c,o)}else Object.keys(t).forEach(function(t){e(t,"")})}(),n(t)}}(u)(E,_),d&&(E=function(e,t){return function r(i,u){if(void 0===i)return Object.keys(e).map(function(e){return n({},e,r(e,""))}).reduce(function(e,t){return o({},e,{},t)},{});var a="".concat(u?"".concat(u,"."):"").concat(i),d=f(e,a);if("RESET"===i)return d;if("function"==typeof d&&void 0===d.krfType)return d;if(void 0!==d.krfType){var l=c(p[d.krfType],2),y=l[0],v=l[1],m=y.map(function(e){var r=d[e];return n({},e,function(){return t.dispatch(r.apply(void 0,arguments))})}).reduce(function(e,t){return o({},e,{},t)},{}),h=v.map(function(e){var r=d[e];return n({},e,function(){return s.includes(e)?r.apply(void 0,arguments)(t.getState()):r(t.getState())})}).reduce(function(e,t){return o({},e,{},t)},{});return Object.assign(d,m,h)}return Object.keys(d).map(function(e){return n({},e,r(e,a))}).reduce(function(e,t){return o({},e,{},t)},{})}()}(E,_));var x=o({},E,{},_,{listeners:{add:S.addListeners,remove:S.removeListeners}});x.drivers=Object.keys(v).reduce(function(e,t){return o({},e,n({},t,v[t].getDriver(x)))},{});var R=x.dispatch;return x.dispatch=function(e){if("string"==typeof e)return R({type:e});for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return R.apply(void 0,[e].concat(r))},S.setStore(x),x.dispatch("@@krml/INIT"),O.forEach(function(e){return e(x)}),x},e.reaction=g,e.reactions=function(e){return Object.keys(e).reduce(function(t,r){return o({},t,n({},r,g(e[r])))},{})},e.types=a,e.when=b,Object.defineProperty(e,"__esModule",{value:!0})});