@propero/easy-store
Version:
Simple, intuitive, functional reactive stores for typescript
10 lines • 2.45 kB
JavaScript
/**
* @propero/easy-store
* Simple, intuitive, functional reactive stores for typescript
* © 2021 - 2023 Propero Team <team@propero.dev>
* @license MIT
*/
;var S=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var R=Object.prototype.hasOwnProperty;var x=(e,t)=>{for(var r in t)S(e,r,{get:t[r],enumerable:!0})},v=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of h(t))!R.call(e,o)&&o!==r&&S(e,o,{get:()=>t[o],enumerable:!(s=m(t,o))||s.enumerable});return e};var P=e=>v(S({},"__esModule",{value:!0}),e);var V={};x(V,{createAccessors:()=>f,createGetSet:()=>p,createPatch:()=>b,createStore:()=>l,createStoreSubscribe:()=>y,createSubscribable:()=>d,default:()=>l,deriveStore:()=>A});module.exports=P(V);function f(e,t,r){return Object.defineProperty(e,"value",{get:t,set:r,configurable:!0,enumerable:!0}),e}function p(e,t){let r=e,s;return[()=>r,function o(n){if(typeof n=="function")return Promise.resolve(n(r)).then(o);s=r,r=n,t(r,s)}]}function b(e,t){return function r(s){if(typeof s=="function")return Promise.resolve(s(e())).then(r);t({...e(),...s})}}function y(e,t,r){return r?function(o){let n=Array.isArray(o)?[...o]:[o];for(let i of n)i(t());return e(n)}:e}var O=e=>`Too many listeners registered for subscribable! maximum allowed is ${e}.
Maybe check if you attached listeners inside of a render function, event handler or loop?
In case you need more listeners, try setting the maxListeners option to a higher value.`;function d({maxListeners:e=50}={}){let t=[];function r(o){let n=Array.isArray(o)?[...o]:[o];if(t.length+n.length>e)throw Object.assign(new Error(O(e)),{code:"TOO_MANY_LISTENERS"});return t.push(...n),()=>{for(let i of n){let c=t.lastIndexOf(i);c!==-1&&t.splice(c,1)}}}function s(...o){for(let n of t)n(...o)}return{subscribe:r,notify:s}}function l(e,{maxListeners:t,immediatelyNotify:r}={}){let{subscribe:s,notify:o}=d({maxListeners:t}),[n,i]=p(e,o),c=b(n,i),u=y(s,n,r);return f({subscribe:u,set:i,get:n,patch:c},n,i)}function A(e,t,r,s){let{get:o,set:n,subscribe:i}=l(r,s),c=()=>{let a=t(...e.map(T=>T.get()));a&&typeof a=="object"&&"then"in a&&typeof a.then=="function"?a.then(n):n(a)};c();let u=e.map(a=>a.subscribe(c));return{get:o,subscribe:i,destroy:()=>u.forEach(a=>a())}}0&&(module.exports={createAccessors,createGetSet,createPatch,createStore,createStoreSubscribe,createSubscribable,deriveStore});
//# sourceMappingURL=index.js.map