UNPKG

react-use-svelte-store

Version:

Consume svelte-stores from react, with hooks

22 lines (21 loc) 1.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.derived = exports.readable = exports.writable = exports.get = exports.useWritable = exports.useReadable = void 0; const react_1 = require("react"); const store_1 = require("svelte/store"); Object.defineProperty(exports, "get", { enumerable: true, get: function () { return store_1.get; } }); Object.defineProperty(exports, "writable", { enumerable: true, get: function () { return store_1.writable; } }); Object.defineProperty(exports, "readable", { enumerable: true, get: function () { return store_1.readable; } }); Object.defineProperty(exports, "derived", { enumerable: true, get: function () { return store_1.derived; } }); const unset = Symbol(); function useReadable(store) { const [value, set] = react_1.useState(unset); react_1.useEffect(() => store.subscribe(set), [store]); return value === unset ? store_1.get(store) : value; } exports.useReadable = useReadable; function useWritable(store) { const value = useReadable(store); return [value, store.set, store.update]; } exports.useWritable = useWritable;