@curi/svelte
Version:
Curi integration with Svelte
43 lines (38 loc) • 1.12 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var store = require('svelte/store');
var svelte = require('svelte');
var routerKey = {};
var responseKey = {};
var navigationKey = {};
function setup(router) {
var initial = router.current();
var response = store.readable(initial.response, function (set) {
return router.observe(function (_ref) {
var response = _ref.response;
set(response);
});
});
var navigation = store.readable(initial.navigation, function (set) {
return router.observe(function (_ref2) {
var navigation = _ref2.navigation;
set(navigation);
});
});
svelte.setContext(routerKey, router);
svelte.setContext(responseKey, response);
svelte.setContext(navigationKey, navigation);
}
function getRouter() {
return svelte.getContext(routerKey);
}
function getResponse() {
return svelte.getContext(responseKey);
}
function getNavigation() {
return svelte.getContext(navigationKey);
}
exports.getNavigation = getNavigation;
exports.getResponse = getResponse;
exports.getRouter = getRouter;
exports.setup = setup;