Requests accepted by Broker.
Result of running a Request, narrowed by request variant:
Resource existence request.
Resource retrieval request.
Collection retrieval request.
Resource mutation request.
Batch handler for a single request type.
A queued request paired with its promise-resolution hooks.
Request-submission surface over the batching handlers.
Creates a batching store client backed by a set of request handlers.
Batching store client.
Builds a StoreClient that coalesces concurrent requests of the same kind into a single batch, so a connector can serve many requests with one backend round-trip. A connector author supplies one Handler per request type to createBatchingStore; the returned client routes every call through a Broker that queues like-typed requests and hands each handler the whole batch it accumulated.
Four request types partition the work, each with its own handler:
detect— probes whether each Detect entry exists in the storelookup— materialises each Lookup against itsmodel; multi-valued slots reached by the model may be delegated to theselecthandler via Broker.selectselect— materialises each Select collection (see Query for the admitted forms); element resources reached by the query may be delegated to thelookuphandler via Broker.lookupmodify— creates, updates, or deletes each Modify targetRetrieval is driven by the requested
modelandquery, not by the stored graph:lookupandselecthand work back and forth,lookupspawning aselectfor each multi-valued slot its model reaches andselectspawning alookupfor each element resource its query reaches. The handover recurses through this alternation and bottoms out where themodelorquerystops nesting, so each request descends exactly as deep as it asks for, however deep the underlying graph runs.Handlers run concurrently and forward nested requests to one another through the Broker, so a handler must not assume any ordering between handlers, and must await every nested promise it issues before settling the request that depends on it. Correctness rests on this data dependency alone, not on handler scheduling.