UNPKG

dreamstate

Version:

Store management library based on react context and observers

1 lines 1.19 kB
import{__values as r}from"tslib";import{DreamstateError as t}from"../error/DreamstateError.js";import{QUERY_METADATA_SYMBOL as e}from"../internals.js";import{EDreamstateErrorCode as o}from"../../types/error.js";function n(r,t,e){return new Promise((function(o,n){try{var a=Date.now(),i=r(t);return i instanceof Promise?i.then((function(n){o({answerer:e||r,type:t.type,data:n,timestamp:a})})).catch(n):o({answerer:e||r,type:t.type,data:i,timestamp:a})}catch(r){n(r)}}))}function a(a,i){var l,y,s,c,f=i.CONTEXT_INSTANCES_REGISTRY,p=i.QUERY_PROVIDERS_REGISTRY;if(!a||!a.type)throw new t(o.INCORRECT_PARAMETER,"Query must be an object with declared type or array of objects with type.");try{for(var u=r(f.values()),m=u.next();!m.done;m=u.next()){var h=m.value;try{for(var v=(s=void 0,r(h[e])),R=v.next();!R.done;R=v.next()){var d=R.value;if(a.type===d[1])return n(h[d[0]].bind(h),a,h.constructor)}}catch(r){s={error:r}}finally{try{R&&!R.done&&(c=v.return)&&c.call(v)}finally{if(s)throw s.error}}}}catch(r){l={error:r}}finally{try{m&&!m.done&&(y=u.return)&&y.call(u)}finally{if(l)throw l.error}}return p.has(a.type)?n(p.get(a.type)[0],a,null):Promise.resolve(null)}export{a as queryDataAsync};