UNPKG

@westacks/vortex

Version:

Server-based routing for SPAs

75 lines (74 loc) 1.92 kB
import { a as subscribe, g as getPage } from "../page-ILOxo6kg.js"; import { l } from "../router-CgFdQeyO.js"; import { u as useForm$1 } from "../form-Cv6npAGh.js"; const noop = () => { }; function safe_not_equal(a, b) { return a != a ? b == b : a !== b || a !== null && typeof a === "object" || typeof a === "function"; } const subscriber_queue = []; function readable(value, start) { return { subscribe: writable(value, start).subscribe }; } function writable(value, start = noop) { let stop = null; const subscribers = /* @__PURE__ */ new Set(); function set(new_value) { if (safe_not_equal(value, new_value)) { value = new_value; if (stop) { const run_queue = !subscriber_queue.length; for (const subscriber of subscribers) { subscriber[1](); subscriber_queue.push(subscriber, value); } if (run_queue) { for (let i = 0; i < subscriber_queue.length; i += 2) { subscriber_queue[i][0](subscriber_queue[i + 1]); } subscriber_queue.length = 0; } } } } function update(fn) { set(fn( /** @type {T} */ value )); } function subscribe2(run, invalidate = noop) { const subscriber = [run, invalidate]; subscribers.add(subscriber); if (subscribers.size === 1) { stop = start(set, update) || noop; } run( /** @type {T} */ value ); return () => { subscribers.delete(subscriber); if (subscribers.size === 0 && stop) { stop(); stop = null; } }; } return { set, update, subscribe: subscribe2 }; } const page = readable(getPage(), subscribe); function useForm(data, rememberKey) { const { get, subscribe: subscribe2 } = useForm$1(data); const store = readable(get(), subscribe2); store.set = () => { }; return store; } export { l as inertia, page, useForm };