@xoid/svelte
Version:
Framework-agnostic state management library designed for simplicity and scalability
26 lines (21 loc) • 782 B
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var xoid = require('xoid');
var svelte = require('svelte');
var useAdapter = require('./useAdapter');
var useAtom = require('./useAtom');
/* eslint-disable react-hooks/rules-of-hooks */
function useSetup(fn, props) {
if (arguments.length > 1) {
const $props = xoid.atom(() => props);
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
svelte.onDestroy(props.subscribe((value) => $props.set(value)));
return useAdapter.useAdapter(() => fn($props));
}
return useAdapter.useAdapter(fn);
}
Object.defineProperty(exports, 'useAtom', {
enumerable: true,
get: function () { return useAtom.useAtom; }
});
exports.useSetup = useSetup;