UNPKG

@baqhub/sdk-react

Version:

The official React SDK for the BAQ federated app platform.

58 lines (57 loc) 2.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildAccessors = buildAccessors; exports.buildHelpers = buildHelpers; exports.buildProxyStoreContext = buildProxyStoreContext; const react_1 = require("react"); const storeHelpers_js_1 = require("./storeHelpers.js"); // // Helpers. // function buildAccessors(entity, proxyEntity) { return { recordByKey: (0, storeHelpers_js_1.recordByKey)(entity, proxyEntity), findRecordByKey: (0, storeHelpers_js_1.findRecordByKey)(entity, proxyEntity), findRecordByQuery: (0, storeHelpers_js_1.findRecordByQuery)(entity, proxyEntity), findEntityRecord: (0, storeHelpers_js_1.findEntityRecord)(entity, proxyEntity), findStandingDecision: (0, storeHelpers_js_1.findStandingDecision)(entity), }; } function buildHelpers(store, accessors, proxyEntity) { const { isAuthenticated, entity } = store; const { discover, downloadBlob, versions, getStateSnapshot } = store; const { updateRecords, uploadBlob, buildBlobUrl, onDisconnectRequest } = store; const updateStanding = (0, storeHelpers_js_1.updateStandingDecision)(entity); return { isAuthenticated, entity, proxyEntity, discover, downloadBlob, recordByVersion: (0, storeHelpers_js_1.recordByVersion)(versions), recordByKey: accessors.recordByKey(getStateSnapshot), findRecordByKey: accessors.findRecordByKey(getStateSnapshot), findRecordByQuery: accessors.findRecordByQuery(getStateSnapshot), findEntityRecord: accessors.findEntityRecord(getStateSnapshot), findStandingDecision: accessors.findStandingDecision(getStateSnapshot), updateStandingDecision: updateStanding(getStateSnapshot, updateRecords), updateRecords, uploadBlob, buildBlobUrl, onDisconnectRequest, }; } function buildProxyStoreContext() { const ProxyStoreContext = (0, react_1.createContext)(undefined); function useProxyStoreContext() { const context = (0, react_1.useContext)(ProxyStoreContext); if (!context) { throw new Error("Store entity provider is required."); } return context; } return { ProxyStoreContext, useProxyStoreContext, }; }