UNPKG

@nuxt/test-utils

Version:

Test utilities for Nuxt

19 lines (18 loc) 1.06 kB
import { Suspense, defineComponent, h, onErrorCaptured, provide } from "vue"; import { isNuxtError, useNuxtApp, useRoute } from "#imports"; import { PageRouteSymbol } from "#app/components/injections"; //#region src/runtime/nuxt-root.ts var nuxt_root_default = defineComponent({ setup(_options, { slots }) { const nuxtApp = useNuxtApp(); provide(PageRouteSymbol, useRoute()); const done = nuxtApp.deferHydration(); const results = nuxtApp.hooks.callHookWith((hooks) => hooks.map((hook) => hook()), "vue:setup", []); if (import.meta.dev && results && results.some((i) => i && "then" in i)) console.error("[nuxt] Error in `vue:setup`. Callbacks must be synchronous."); onErrorCaptured((err, target, info) => { nuxtApp.hooks.callHook("vue:error", err, target, info)?.catch((hookError) => console.error("[nuxt] Error in `vue:error` hook", hookError)); if (isNuxtError(err) && (err.fatal || err.unhandled)) return false; }); return () => h(Suspense, { onResolve: done }, slots.default?.()); } }); //#endregion export { nuxt_root_default as default };