UNPKG

@coriolis/coriolis-svelte

Version:
54 lines (43 loc) 1.5 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var svelte = require('svelte'); // eslint-disable-next-line import/no-unresolved var KEY_GET_SOURCE = 'Coriolis store reference withProjection'; var KEY_DISPATCH = 'Coriolis store reference dispatch'; var withProjection = function withProjection() { return svelte.getContext(KEY_GET_SOURCE).apply(void 0, arguments); }; var createDispatch = function createDispatch(builder) { var dispatch = svelte.getContext(KEY_DISPATCH); return function () { var event = builder.apply(void 0, arguments); if (!event) { return; } dispatch(event); }; }; var createStoreAPIProvider = function createStoreAPIProvider() { var receivedStoreAPI; var setStoreAPI = function setStoreAPI(storeAPI) { receivedStoreAPI = storeAPI; }; var shareStoreAPI = function shareStoreAPI() { if (!receivedStoreAPI) { throw new Error('Store API to share has not been set'); } var _receivedStoreAPI = receivedStoreAPI, dispatch = _receivedStoreAPI.dispatch, withProjection = _receivedStoreAPI.withProjection; svelte.setContext(KEY_GET_SOURCE, withProjection); svelte.setContext(KEY_DISPATCH, dispatch); }; return { setStoreAPI: setStoreAPI, shareStoreAPI: shareStoreAPI }; }; exports.createDispatch = createDispatch; exports.createStoreAPIProvider = createStoreAPIProvider; exports.withProjection = withProjection; //# sourceMappingURL=provideStore.js.map