UNPKG

@westacks/vortex

Version:

Server-based routing for SPAs

75 lines (74 loc) 2.02 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const page$1 = require("../page-DiCE-s9S.cjs"); const router = require("../router-DQKzsa_p.cjs"); const form = require("../form-DVneVn5E.cjs"); 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 subscribe(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 }; } const page = readable(page$1.getPage(), page$1.subscribe); function useForm(data, rememberKey) { const { get, subscribe: subscribe2 } = form.useForm(data); const store = readable(get(), subscribe2); store.set = () => { }; return store; } exports.inertia = router.link; exports.page = page; exports.useForm = useForm;