dreamstate
Version:
Store management library based on react context and observers
1 lines • 995 B
JavaScript
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{answerer:e||r,type:t.type,data:r(t),timestamp:Date.now()}}function a(a,l){var i,y,f,p,u=l.CONTEXT_INSTANCES_REGISTRY,s=l.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 c=r(u.values()),m=c.next();!m.done;m=c.next()){var R=m.value;try{for(var E=(f=void 0,r(R[e])),d=E.next();!d.done;d=E.next()){var v=d.value;if(a.type===v[1])return n(R[v[0]].bind(R),a,R.constructor)}}catch(r){f={error:r}}finally{try{d&&!d.done&&(p=E.return)&&p.call(E)}finally{if(f)throw f.error}}}}catch(r){i={error:r}}finally{try{m&&!m.done&&(y=c.return)&&y.call(c)}finally{if(i)throw i.error}}return s.has(a.type)?n(s.get(a.type)[0],a,null):null}export{a as queryDataSync};