@tanstack/vue-router
Version:
Modern and scalable routing for Vue applications
35 lines (34 loc) • 921 B
JavaScript
import { useRouter } from "./useRouter.js";
import * as Vue from "vue";
import { createVNode } from "vue";
import { isServer } from "@tanstack/router-core/isServer";
//#region src/ScriptOnce.tsx
var ScriptOnce = Vue.defineComponent({
name: "ScriptOnce",
props: { children: {
type: String,
required: true
} },
setup(props) {
const router = useRouter();
if (isServer ?? router.isServer) return () => createVNode("script", {
"nonce": router.options.ssr?.nonce,
"innerHTML": props.children + ";document.currentScript.remove()"
}, null);
const mounted = Vue.ref(false);
Vue.onMounted(() => {
mounted.value = true;
});
return () => {
if (mounted.value) return null;
return createVNode("script", {
"nonce": router.options.ssr?.nonce,
"data-allow-mismatch": true,
"innerHTML": ""
}, null);
};
}
});
//#endregion
export { ScriptOnce };
//# sourceMappingURL=ScriptOnce.js.map