UNPKG

@xoid/svelte

Version:

Framework-agnostic state management library designed for simplicity and scalability

26 lines (21 loc) 782 B
'use strict'; 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;