@westacks/vortex
Version:
Server-based routing for SPAs
37 lines (36 loc) • 1.25 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const page = require("./page-DiCE-s9S.cjs");
const router = require("./router-DQKzsa_p.cjs");
const form = require("./form-DVneVn5E.cjs");
async function createVortex(setup, element = "#app") {
var _a, _b;
if (typeof element === "string") {
element = document.querySelector(element);
}
if (!element) throw new Error("Root element not found!");
const page$1 = JSON.parse(((_a = element.dataset) == null ? void 0 : _a.page) ?? "null");
if (!page$1) throw new Error("Initial page data not defined!");
page.setPage(page$1);
router.createRouter();
const dispose = await setup(element, page$1, !!((_b = element.dataset) == null ? void 0 : _b.ssr));
delete element.dataset.page;
delete element.dataset.ssr;
return () => {
if (dispose instanceof Function) {
dispose();
}
router.destroyRouter();
};
}
exports.getPage = page.getPage;
exports.setPage = page.setPage;
exports.subscribe = page.subscribe;
Object.defineProperty(exports, "axios", {
enumerable: true,
get: () => router.axios
});
exports.install = router.install;
exports.link = router.link;
exports.useForm = form.useForm;
exports.createVortex = createVortex;