@nuxt/devtools 4.0.0-alpha.17 → 4.0.0-alpha.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_nuxt/{CodeDiff-DgjeLx6z.js.map.json → CodeDiff-BhzZ6fTd.js.map.json} +1 -1
- package/dist/_nuxt/{CodeSnippets-CgfcaS4Z.js.map.json → CodeSnippets-C7LxVstU.js.map.json} +1 -1
- package/dist/_nuxt/{ComposableItem-BWQR7_fI.js.map.json → ComposableItem-C0rRVuVk.js.map.json} +1 -1
- package/dist/_nuxt/{DataSchemaButton-CqEfc2TV.js.map.json → DataSchemaButton-D-t7Fd9O.js.map.json} +1 -1
- package/dist/_nuxt/{DataSchemaDrawer-Xj8YzNJN.js.map.json → DataSchemaDrawer-CRqKi4Gs.js.map.json} +1 -1
- package/dist/_nuxt/{FilepathItem-D75bkTSa.js.map.json → FilepathItem-QhFtdBo3.js.map.json} +1 -1
- package/dist/_nuxt/{HelpFab-CH7NlsDf.js.map.json → HelpFab-DsqK9feu.js.map.json} +1 -1
- package/dist/_nuxt/{LaunchPage-ByG-3KVi.js.map.json → LaunchPage-DvnAdXoI.js.map.json} +1 -1
- package/dist/_nuxt/{NCheckbox-OMIu_LTG.js.map.json → NCheckbox-C4hTNEJ1.js.map.json} +1 -1
- package/dist/_nuxt/{NDrawer-C6Opm19C.js.map.json → NDrawer-CkklqKLr.js.map.json} +1 -1
- package/dist/_nuxt/{NDropdown-DseEG3tA.js.map.json → NDropdown-CgrUsKt7.js.map.json} +1 -1
- package/dist/_nuxt/NIcon-50gk2nbO.js.map.json +1 -0
- package/dist/_nuxt/{NLink-Rsxlt1NN.js.map.json → NLink-CatISrot.js.map.json} +1 -1
- package/dist/_nuxt/{NNavbar-CS-Z1Cle.js.map.json → NNavbar-Du6Evn0c.js.map.json} +1 -1
- package/dist/_nuxt/{NSectionBlock-C7kcMkbf.js.map.json → NSectionBlock-CWogkb2Y.js.map.json} +1 -1
- package/dist/_nuxt/{NSelect-geGP1eOG.js.map.json → NSelect-C1Q6pEoo.js.map.json} +1 -1
- package/dist/_nuxt/{NSelectTabs-nUMnNQy-.js.map.json → NSelectTabs-ccruddjj.js.map.json} +1 -1
- package/dist/_nuxt/{NSplitPane-Bh0o_t5e.js.map.json → NSplitPane-CtaObqWQ.js.map.json} +1 -1
- package/dist/_nuxt/{NTip-DRnTpLjG.js.map.json → NTip-DdMJ2p97.js.map.json} +1 -1
- package/dist/_nuxt/{ServerRouteInputs-BhIrPxPN.js.map.json → ServerRouteInputs-Y1oZjFFT.js.map.json} +1 -1
- package/dist/_nuxt/{StacktraceList-B-ehJIQ-.js.map.json → StacktraceList-c-F2IS3F.js.map.json} +1 -1
- package/dist/_nuxt/{StateEditor-Yqdbqk_c.js.map.json → StateEditor-CDR7gMTz.js.map.json} +1 -1
- package/dist/_nuxt/{__blank-BM2yOFO6.js.map.json → __blank-C9tG8tKE.js.map.json} +1 -1
- package/dist/_nuxt/{analyze-build-Cemp_oBq.js.map.json → analyze-build-BqtehgeE.js.map.json} +1 -1
- package/dist/_nuxt/assets-BuVkFuYO.js.map.json +1 -0
- package/dist/_nuxt/{components-BJnHweOE.js.map.json → components-uGD7fpTl.js.map.json} +1 -1
- package/dist/_nuxt/custom-_name_-CL9ijc8K.js.map.json +1 -0
- package/dist/_nuxt/{debug-BcJZ8M6i.js.map.json → debug-D10Jwem2.js.map.json} +1 -1
- package/dist/_nuxt/entry-CqsJq8Bj.js.map.json +1 -0
- package/dist/_nuxt/{error-404-dySA7T2P.js.map.json → error-404-B3hvNTTL.js.map.json} +1 -1
- package/dist/_nuxt/{error-500-2Ody89Er.js.map.json → error-500-C707LWWo.js.map.json} +1 -1
- package/dist/_nuxt/{error-hGc4cWUU.js.map.json → error-D03t_7ms.js.map.json} +1 -1
- package/dist/_nuxt/{head-BTCtirw3.js.map.json → head-BHeO3WM1.js.map.json} +1 -1
- package/dist/_nuxt/{hooks-BVzlIVXR.js.map.json → hooks-Dao-RDzo.js.map.json} +1 -1
- package/dist/_nuxt/{imports-B3k4BZF7.js.map.json → imports-CY-qGueB.js.map.json} +1 -1
- package/dist/_nuxt/{modules-Ck915TxZ.js.map.json → modules-BTU4bGX2.js.map.json} +1 -1
- package/dist/_nuxt/nuxt-CU0ot_Hr.js.map.json +1 -0
- package/dist/_nuxt/{nuxt-link-C-BBeF5l.js.map.json → nuxt-link-DVKhBKYR.js.map.json} +1 -1
- package/dist/_nuxt/{open-graph-ll_bjX_m.js.map.json → open-graph-DrWy0sHo.js.map.json} +1 -1
- package/dist/_nuxt/overview-DMlMZwOJ.js.map.json +1 -0
- package/dist/_nuxt/{pages-CrUWMxGz.js.map.json → pages-BqpyOhlp.js.map.json} +1 -1
- package/dist/_nuxt/{pages-DWELoQlh.js.map.json → pages-Dpy3RGh8.js.map.json} +1 -1
- package/dist/_nuxt/{pages-BddDWJsZ.js.map.json → pages-SVg8-7rL.js.map.json} +1 -1
- package/dist/_nuxt/{payload-29bFuqLh.js.map.json → payload-B4tGg_yJ.js.map.json} +1 -1
- package/dist/_nuxt/{plugins-fmmRaH-S.js.map.json → plugins-sOeLpXdK.js.map.json} +1 -1
- package/dist/_nuxt/{ready-BQ1fhXgL.js.map.json → ready-DyAGZGXh.js.map.json} +1 -1
- package/dist/_nuxt/{runtime-configs-iL68LNkj.js.map.json → runtime-configs-CKsHjoDA.js.map.json} +1 -1
- package/dist/_nuxt/server-routes-Dr4xIhnL.js.map.json +1 -0
- package/dist/_nuxt/server-tasks-DVSMIJ23.js.map.json +1 -0
- package/dist/_nuxt/{settings-Qa45tU8e.js.map.json → settings-ClAb5Ncw.js.map.json} +1 -1
- package/dist/_nuxt/{state-components-CksF081b.js.map.json → state-components-CUy4qfKa.js.map.json} +1 -1
- package/dist/_nuxt/state-modules-BiTBg3sT.js.map.json +1 -0
- package/dist/_nuxt/{state-tabs-m1o-BX5R.js.map.json → state-tabs-DyXoC_gu.js.map.json} +1 -1
- package/dist/_nuxt/storage-Bl77u--J.js.map.json +1 -0
- package/dist/_nuxt/{timeline-Dukbqafi.js.map.json → timeline-RijyQyqW.js.map.json} +1 -1
- package/dist/_nuxt/utils-B-D4Pftb.js.map.json +1 -0
- package/dist/_nuxt/{virtual-files-BQJM45QE.js.map.json → virtual-files-DKOje2lN.js.map.json} +1 -1
- package/dist/_nuxt/virtual_nuxt_node_modules_.cache_nuxt_.nuxt_fetch.server-pxhz0pzP.js.map.json +1 -0
- package/dist/chunks/analyze-build.mjs +1 -1
- package/dist/chunks/module-main.mjs +92 -61
- package/dist/chunks/vite-inspect.mjs +1 -1
- package/dist/index.mjs.map.json +1 -1
- package/dist/module.json +1 -1
- package/dist/runtime/shared/hooks.d.ts +10 -2
- package/dist/server.mjs.map.json +1 -1
- package/package.json +24 -24
- package/dist/_nuxt/AuthRequiredPanel-znjaI7oT.js.map.json +0 -1
- package/dist/_nuxt/NIcon-cjduOh_B.js.map.json +0 -1
- package/dist/_nuxt/assets-rTFAaows.js.map.json +0 -1
- package/dist/_nuxt/custom-_name_-DI8dnRDD.js.map.json +0 -1
- package/dist/_nuxt/entry-DZwY6FLS.js.map.json +0 -1
- package/dist/_nuxt/nuxt-C5VITehY.js.map.json +0 -1
- package/dist/_nuxt/overview-CyqDmfdE.js.map.json +0 -1
- package/dist/_nuxt/server-routes-Dy5_Ljmu.js.map.json +0 -1
- package/dist/_nuxt/server-tasks-CD-7IPFD.js.map.json +0 -1
- package/dist/_nuxt/state-modules-CyH4hWeN.js.map.json +0 -1
- package/dist/_nuxt/storage-BylO3p9r.js.map.json +0 -1
- package/dist/_nuxt/utils-BfB0tRbX.js.map.json +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"error-404-
|
|
1
|
+
{"file":"error-404-B3hvNTTL.js","mappings":"","names":[],"sources":["../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_e232bcb147fd638e1275d37890b37038/node_modules/nuxt-nightly/dist/app/components/error-404.vue"],"sourcesContent":["<script setup>\nimport { useHead } from '#imports'\nconst props = defineProps({\n appName: {\n type: String,\n default: \"Nuxt\"\n },\n status: {\n type: Number,\n default: 404\n },\n statusText: {\n type: String,\n default: \"Page not found\"\n },\n description: {\n type: String,\n default: \"Sorry, the page you are looking for could not be found.\"\n },\n backHome: {\n type: String,\n default: \"Go back home\"\n },\n backToPrevious: {\n type: String,\n default: \"Go back\"\n }\n})\nuseHead({\n title: `${ props.status } - ${ props.statusText } | ${ props.appName }`,\n script: [\n {\n innerHTML: `(()=>{if(!window.history.state||!window.history.state.back)return;const e=document.querySelector(\"[data-back-home]\"),t=document.querySelector(\"[data-back-previous]\");e&&t&&(t.onclick=()=>window.history.back(),e.hidden=!0,t.hidden=!1)})();`,\n tagPosition: 'bodyClose'\n }\n ],\n style: [\n {\n innerHTML: `*,:after,:before{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:\"\"}html{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}a{-webkit-text-decoration:inherit;text-decoration:inherit}a,button{color:inherit}button{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0;text-transform:none}[type=button],button{-webkit-appearance:button;background-color:#0000;background-image:none}h1,h2,p{margin:0}button{cursor:pointer}[hidden]:where(:not([hidden=until-found])){display:none}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x:;--un-pan-y:;--un-pinch-zoom:;--un-scroll-snap-strictness:proximity;--un-ordinal:;--un-slashed-zero:;--un-numeric-figure:;--un-numeric-spacing:;--un-numeric-fraction:;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset:;--un-shadow:0 0 #0000;--un-ring-inset:;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--un-blur:;--un-brightness:;--un-contrast:;--un-drop-shadow:;--un-grayscale:;--un-hue-rotate:;--un-invert:;--un-saturate:;--un-sepia:;--un-backdrop-blur:;--un-backdrop-brightness:;--un-backdrop-contrast:;--un-backdrop-grayscale:;--un-backdrop-hue-rotate:;--un-backdrop-invert:;--un-backdrop-opacity:;--un-backdrop-saturate:;--un-backdrop-sepia:}`\n }\n ]\n})\n</script>\n\n<template>\n<div class=\"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide\"><div class=\"max-w-520px text-center\"><h1 class=\"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]\" v-text=\"status\" /><h2 class=\"font-semibold mb-2 sm:text-3xl text-2xl\" v-text=\"statusText\" /><p class=\"mb-4 px-2 text-[#64748B] text-md\" v-text=\"description\" /><div class=\"flex items-center justify-center w-full\"><NuxtLink to=\"/\" data-back-home class=\"font-medium hover:text-[#00DC82] text-sm underline underline-offset-3\">\n {{ backHome }} \n</NuxtLink> <button type=\"button\" data-back-previous hidden class=\"appearance-none bg-transparent border-0 cursor-pointer font-medium font-sans hover:text-[#00DC82] p-0 text-inherit text-sm underline underline-offset-3\" v-text=\"backToPrevious\" /></div></div></div>\n</template>\n\n<style scoped>\n.grid{display:grid}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.max-w-520px{max-width:520px}.min-h-screen{min-height:100vh}.w-full{width:100%}.flex{display:flex}.cursor-pointer{cursor:pointer}.appearance-none{appearance:none}.place-content-center{place-content:center}.items-center{align-items:center}.justify-center{justify-content:center}.overflow-hidden{overflow:hidden}.border-0{border-width:0}.bg-transparent{background-color:#0000}.bg-white{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.p-0{padding:0}.px-2{padding-left:.5rem;padding-right:.5rem}.text-center{text-align:center}.text-\\[80px\\]{font-size:80px}.text-2xl{font-size:1.5rem;line-height:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-\\[\\#020420\\]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\\[\\#64748B\\]{--un-text-opacity:1;color:rgb(100 116 139/var(--un-text-opacity))}.hover\\:text-\\[\\#00DC82\\]:hover{--un-text-opacity:1;color:rgb(0 220 130/var(--un-text-opacity))}.text-inherit{color:inherit}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-none{line-height:1}.tracking-wide{letter-spacing:.025em}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tabular-nums{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.underline{text-decoration-line:underline}.underline-offset-3{text-underline-offset:3px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){.dark\\:bg-\\[\\#020420\\]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\\:text-white{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media (width>=640px){.sm\\:text-\\[110px\\]{font-size:110px}.sm\\:text-3xl{font-size:1.875rem;line-height:2.25rem}}\n</style>\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"error-500-
|
|
1
|
+
{"file":"error-500-C707LWWo.js","mappings":"","names":[],"sources":["../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_e232bcb147fd638e1275d37890b37038/node_modules/nuxt-nightly/dist/app/components/error-500.vue"],"sourcesContent":["<script setup>\nimport { useHead } from '#imports'\nconst props = defineProps({\n appName: {\n type: String,\n default: \"Nuxt\"\n },\n status: {\n type: Number,\n default: 500\n },\n statusText: {\n type: String,\n default: \"Internal server error\"\n },\n description: {\n type: String,\n default: \"This page is temporarily unavailable.\"\n },\n refresh: {\n type: String,\n default: \"Refresh this page\"\n }\n})\nuseHead({\n title: `${ props.status } - ${ props.statusText } | ${ props.appName }`,\n script: [],\n style: [\n {\n innerHTML: `*,:after,:before{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:\"\"}html{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x:;--un-pan-y:;--un-pinch-zoom:;--un-scroll-snap-strictness:proximity;--un-ordinal:;--un-slashed-zero:;--un-numeric-figure:;--un-numeric-spacing:;--un-numeric-fraction:;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset:;--un-shadow:0 0 #0000;--un-ring-inset:;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--un-blur:;--un-brightness:;--un-contrast:;--un-drop-shadow:;--un-grayscale:;--un-hue-rotate:;--un-invert:;--un-saturate:;--un-sepia:;--un-backdrop-blur:;--un-backdrop-brightness:;--un-backdrop-contrast:;--un-backdrop-grayscale:;--un-backdrop-hue-rotate:;--un-backdrop-invert:;--un-backdrop-opacity:;--un-backdrop-saturate:;--un-backdrop-sepia:}`\n }\n ]\n})\n</script>\n\n<template>\n<div class=\"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide\"><div class=\"max-w-520px text-center\"><h1 class=\"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]\" v-text=\"status\" /><h2 class=\"font-semibold mb-2 sm:text-3xl text-2xl\" v-text=\"statusText\" /><p class=\"mb-4 px-2 text-[#64748B] text-md\" v-text=\"description\" /></div></div>\n</template>\n\n<style scoped>\n.grid{display:grid}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.max-w-520px{max-width:520px}.min-h-screen{min-height:100vh}.place-content-center{place-content:center}.overflow-hidden{overflow:hidden}.bg-white{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-2{padding-left:.5rem;padding-right:.5rem}.text-center{text-align:center}.text-\\[80px\\]{font-size:80px}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\\[\\#020420\\]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\\[\\#64748B\\]{--un-text-opacity:1;color:rgb(100 116 139/var(--un-text-opacity))}.font-semibold{font-weight:600}.leading-none{line-height:1}.tracking-wide{letter-spacing:.025em}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tabular-nums{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){.dark\\:bg-\\[\\#020420\\]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\\:text-white{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media (width>=640px){.sm\\:text-\\[110px\\]{font-size:110px}.sm\\:text-3xl{font-size:1.875rem;line-height:2.25rem}}\n</style>\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"error-
|
|
1
|
+
{"file":"error-D03t_7ms.js","mappings":";;;;;;;;AAUA,IAAA,oDAA4B,8BAAiB;CAC3C,QAAQ;CACR,mBAAmB;CACnB,MAAM,SAAS;EAEjB,eAAe;GACb,MAAM;GACN,OAAO;GACP,UAAU;GACV,OAAO;IACL,MAAM,SAAS,UAAU;IACzB,aAAa,OAAO,OAAO,MAAM,SAAS;GAC5C;EACF,CAAC;EAED,MAAM,cAAc;EAEpB,MAAM,SAAS,UAAU;EACzB,MAAM,QAAQ,eAAe;GAG3B,MAAM,MAAM,OAAO,OAAO,MAAM,SAAS;GAQzC,IAAI,KAAK;IACP,QAAQ,MAAM,mCAAmC;IACjD,QAAQ,MAAM,GAAG;IACjB,QAAQ,MAAM,EAAE,GAAG,IAAI,CAAC;GAC1B;GACA,OAAO;EACT,CAAC;EAED,MAAM,SAAS,eAAe;GAC5B,IAAI,CAAC,MAAM,OAAO,OAChB,OAAO,CAAC;GACV,IAAI;IAEF,IAAI,MAAM,MAAM,MAAM,WAAW,OAAO,GACtC,OAAO,MAAiB,EACtB,OAAO,MAAM,MAAM,MAAM,QAAQ,aAAa,EAAE,EAClD,CAAQ;IAEV,OAAO,MAAiB,MAAM,KAAK;GACrC,SACO,GAAG;IACR,QAAQ,MAAM,CAAC;IACf,OAAO,CAAC;GACV;EACF,CAAC;EAED,QAAQ,MAAU,OAAW,SAAa,WAAgB;GACxD,MAAM,kBAAkB;GACxB,MAAM,4BAA4B;GAElC,MAAM,OAAO,eAAgB,WAAY,EAAE,IAAI,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE;GAChE,IAAI,MAAM,OAAO;IACf,MAAM,OAAO;IACb,MAAM,mBAAoB,iBAAiB;KACzC,GAAG;KACH,MAAM;KACN,KAAK;IACP,GAAG;KACD,SAAS,SAAU,GAAG,OAAO,SAAS,aAAa;MACjD,IAAI,OACF,MAAM,+BAA+B;WAErC,OAAO,CACL,gBAAiB,+BAA+B,CAClD;KAEJ,CAAC;KACD,GAAG;IACL,GAAG,OAAO,CAAC;IACX,MAAM,iBAAiB,eAAgB,MAAM,MAAM,cAAc,cAAc,EAAE,OAAO;IACxF,IAAI,MAAM,MAAM,eACd,MAAM,aAAa,eAAgB,MAAM,MAAM,aAAa,EAAE,OAAO;SAErE,MAAM,SAAS;IAEjB,MAAM,6BAA6B,eAAgB,MAAM,MAAM,WAAW,MAAM,MAAM,eAAe,eAAe,EAAE,OAAO;IAC7H,IAAI,OAAO,MAAM,UAAU,MAAM,MAAM,OAAO;KAC5C,MAAM,oEAAoE;KAC1E,IAAI,OAAO,MAAM,QACf,MAAM,mBAAoB,2BAA2B;MACnD,KAAK;MACL,YAAY,OAAO;KACrB,GAAG,MAAM,OAAO,CAAC;UAEjB,MAAM,QAAQ,eAAgB,MAAM,MAAM,KAAK,EAAE,OAAO;KAE1D,MAAM,QAAQ;IAChB,OACE,MAAM,SAAS;IAEjB,MAAM,QAAQ;GAChB,OACE,MAAM,4BAA4B;GAEpC,MAAM,QAAQ;EAChB;CACA;AAEA,CAAC","names":[],"sources":["../../../../../../../../pages/modules/error.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../pages/modules/error.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, withCtx as _withCtx, createTextVNode as _createTextVNode, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrRenderAttrs as _ssrRenderAttrs, ssrInterpolate as _ssrInterpolate } from \"vue/server-renderer\"\n\nimport { parse as parseStrackTrace } from 'error-stack-parser-es'\nimport { computed } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { useClient } from '~/composables/client'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'error',\n __ssrInlineRender: true,\n setup(__props) {\n\ndefinePageMeta({\n icon: 'i-carbon-warning-alt-filled text-red',\n title: 'Error',\n category: 'app',\n show() {\n const client = useClient()\n return () => client.value?.nuxt?.payload?.error\n },\n})\n\nconst HTML_TAG_RE = /<.*?>/g\n\nconst client = useClient()\nconst error = computed(() => {\n // `NuxtError`'s shape no longer overlaps enough with this loose display\n // type for a direct cast; go through `unknown` as TS suggests.\n const err = client.value?.nuxt?.payload?.error as unknown as {\n url?: string\n statusCode?: number\n statusMessage?: string\n message?: string\n description?: string\n data?: any\n } & Error\n if (err) {\n console.error('[Nuxt DevTools] Error in payload:')\n console.error(err)\n console.error({ ...err })\n }\n return err\n})\n\nconst stacks = computed(() => {\n if (!error.value?.stack)\n return []\n try {\n // Nuxt server returns a HTML rendered stacktrace, workaround by removing all HTML tags\n if (error.value.stack.startsWith('<pre>')) {\n return parseStrackTrace({\n stack: error.value.stack.replace(HTML_TAG_RE, ''),\n } as any)\n }\n return parseStrackTrace(error.value)\n }\n catch (e) {\n console.error(e)\n return []\n }\n})\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NTip = _resolveComponent(\"NTip\")!\n const _component_StacktraceList = _resolveComponent(\"StacktraceList\")!\n\n _push(`<div${_ssrRenderAttrs(_mergeProps({ p6: \"\" }, _attrs))}>`)\n if (error.value) {\n _push(`<div>`)\n _push(_ssrRenderComponent(_component_NTip, {\n n: \"red\",\n icon: \"i-carbon-warning-alt-filled\",\n mb5: \"\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Error occurred in this page `)\n } else {\n return [\n _createTextVNode(\" Error occurred in this page \")\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(`<div text-6xl>${_ssrInterpolate(error.value.statusCode || 'Client Error')}</div>`)\n if (error.value.statusMessage) {\n _push(`<div op75>${_ssrInterpolate(error.value.statusMessage)}</div>`)\n } else {\n _push(`<!---->`)\n }\n _push(`<div my4 text-xl text-red>${_ssrInterpolate(error.value.message || error.value.description || 'Unknown error')}</div>`)\n if (stacks.value.length || error.value.stack) {\n _push(`<div of-auto rounded bg-active p2><div px1 op50> Stacktrace </div>`)\n if (stacks.value.length) {\n _push(_ssrRenderComponent(_component_StacktraceList, {\n px2: \"\",\n stacktrace: stacks.value\n }, null, _parent))\n } else {\n _push(`<pre>${_ssrInterpolate(error.value.stack)}</pre>`)\n }\n _push(`</div>`)\n } else {\n _push(`<!---->`)\n }\n _push(`</div>`)\n } else {\n _push(`<div op50> No error </div>`)\n }\n _push(`</div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport { parse as parseStrackTrace } from 'error-stack-parser-es'\nimport { computed } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { useClient } from '~/composables/client'\n\ndefinePageMeta({\n icon: 'i-carbon-warning-alt-filled text-red',\n title: 'Error',\n category: 'app',\n show() {\n const client = useClient()\n return () => client.value?.nuxt?.payload?.error\n },\n})\n\nconst HTML_TAG_RE = /<.*?>/g\n\nconst client = useClient()\nconst error = computed(() => {\n // `NuxtError`'s shape no longer overlaps enough with this loose display\n // type for a direct cast; go through `unknown` as TS suggests.\n const err = client.value?.nuxt?.payload?.error as unknown as {\n url?: string\n statusCode?: number\n statusMessage?: string\n message?: string\n description?: string\n data?: any\n } & Error\n if (err) {\n console.error('[Nuxt DevTools] Error in payload:')\n console.error(err)\n console.error({ ...err })\n }\n return err\n})\n\nconst stacks = computed(() => {\n if (!error.value?.stack)\n return []\n try {\n // Nuxt server returns a HTML rendered stacktrace, workaround by removing all HTML tags\n if (error.value.stack.startsWith('<pre>')) {\n return parseStrackTrace({\n stack: error.value.stack.replace(HTML_TAG_RE, ''),\n } as any)\n }\n return parseStrackTrace(error.value)\n }\n catch (e) {\n console.error(e)\n return []\n }\n})\n</script>\n\n<template>\n <div p6>\n <div v-if=\"error\">\n <NTip n=\"red\" icon=\"i-carbon-warning-alt-filled\" mb5>\n Error occurred in this page\n </NTip>\n <div text-6xl>\n {{ error.statusCode || 'Client Error' }}\n </div>\n <div v-if=\"error.statusMessage\" op75>\n {{ error.statusMessage }}\n </div>\n <div my4 text-xl text-red>\n {{ error.message || error.description || 'Unknown error' }}\n </div>\n <div v-if=\"stacks.length || error.stack\" of-auto rounded bg-active p2>\n <div px1 op50>\n Stacktrace\n </div>\n <StacktraceList v-if=\"stacks.length\" px2 :stacktrace=\"stacks\" />\n <pre v-else v-text=\"error.stack\" />\n </div>\n </div>\n <div v-else op50>\n No error\n </div>\n </div>\n</template>\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"head-
|
|
1
|
+
{"file":"head-BHeO3WM1.js","mappings":";;;;;AAMA,SAAA,UAAA,OAAA,UAAA,CAAA,GAAA;CAEA,QADA,QAAA,QAAA,aAAA,EAAA,CACiB,KAAA,SAAA,CAAA,GAAA,OAAA;AACjB;;;;;;;ACFA,IAAM,oBAA6C,sCAAsB;CACxE;CACA,WAAW;AACZ,CAAC;;;;;;ACFD,SAAS,WAAW,SAAS;CAC5B,MAAM,OAAO,WAAW,WAAW;CACnC,OAAO,KAAK,YAAY,QAAQ,KAAK,qBAAqB;EACzD,IAAI,oBAAoB,GAAG;GAC1B,MAAM,OAAO,OAAA,SAAiB;GAC9B,IAAI,CAAC,MAAM,MAAM,kBAAkB,WAAW;GAC9C,OAAO;EACR;CACD,CAAC;AACF;AACA,SAAS,QAAQ,OAAO,UAAU,CAAC,GAAG;CAErC,OAAO,UAAU,OAAO;EACvB,MAFY,QAAQ,QAAQ,WAAW,QAAQ,IAAI;EAGnD,GAAG;CACJ,CAAC;AACF","names":[],"sources":["../../../../../../../../../../../node_modules/.pnpm/@unhead+vue@3.4.0_@oxc-project+types@0.148.0_@vitejs+devtools-kit@0.7.3_cac@7.0.0_cross_d4a15fb5377764bd3224322ddea36710/node_modules/@unhead/vue/dist/shared/vue.BHyNcdic.mjs","../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_e232bcb147fd638e1275d37890b37038/node_modules/nuxt-nightly/dist/app/diagnostics/head.js","../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_e232bcb147fd638e1275d37890b37038/node_modules/nuxt-nightly/dist/head/runtime/composables.js"],"sourcesContent":["import { SafeInputPlugin, FlatMetaPlugin } from 'unhead/plugins';\nimport { walkResolver, hasOwn } from 'unhead/utils';\nimport { getCurrentScope, ref, watchEffect, getCurrentInstance, onBeforeUnmount, onDeactivated, onActivated } from 'vue';\nimport { i as injectHead } from './vue.DKb5ZKVl.mjs';\nimport { V as VueResolver } from './vue.D2XR8FqS.mjs';\n\nfunction useHead(input, options = {}) {\n const head = options.head || injectHead();\n return head.ssr ? head.push(input || {}, options) : clientUseHead(head, input, options);\n}\nfunction clientUseHead(head, input, options = {}) {\n const scope = getCurrentScope();\n if (scope && !scope.active) {\n return { patch() {\n }, dispose() {\n }, _i: -1 };\n }\n const deactivated = ref(false);\n if (options.onRendered && scope) {\n const _onRendered = options.onRendered;\n options = { ...options, onRendered: (ctx) => scope.run(() => _onRendered(ctx)) };\n }\n let entry;\n watchEffect(() => {\n const i = deactivated.value ? {} : walkResolver(input, VueResolver);\n if (entry) {\n entry.patch(i);\n } else {\n entry = head.push(i, options);\n }\n });\n const vm = getCurrentInstance();\n if (vm) {\n onBeforeUnmount(() => {\n entry.dispose();\n });\n onDeactivated(() => {\n deactivated.value = true;\n });\n onActivated(() => {\n deactivated.value = false;\n });\n }\n return entry;\n}\nfunction useHeadSafe(input = {}, options = {}) {\n const head = options.head || injectHead();\n head.use(SafeInputPlugin);\n options._safe = true;\n return useHead(input, options);\n}\nfunction normalizeSeoMetaInput(input) {\n if (input._flatMeta)\n return input;\n const meta = {};\n for (const key in input) {\n if (!hasOwn(input, key) || key === \"title\" || key === \"titleTemplate\")\n continue;\n meta[key] = input[key];\n }\n return {\n title: input.title,\n titleTemplate: input.titleTemplate,\n _flatMeta: meta\n };\n}\nfunction useSeoMeta(input = {}, options = {}) {\n const head = options.head || injectHead();\n head.use(FlatMetaPlugin);\n const entry = useHead(normalizeSeoMetaInput(input), options);\n const corePatch = entry.patch;\n if (!entry.__patched) {\n entry.patch = (input2) => corePatch(normalizeSeoMetaInput(input2));\n entry.__patched = true;\n }\n return entry;\n}\nconst useServerHead = useHead;\nconst useServerHeadSafe = useHeadSafe;\nconst useServerSeoMeta = useSeoMeta;\n\nexport { useHeadSafe as a, useSeoMeta as b, useServerHead as c, useServerHeadSafe as d, useServerSeoMeta as e, useHead as u };\n","import { docsBase, prodReporters, reporters } from \"./_shared.js\";\nimport { defineDiagnostics, defineProdDiagnostics } from \"nostics\";\n//#region src/app/diagnostics/head.ts\n/**\n* E6xxx\n* Head / unhead runtime diagnostics.\n*/\nconst unheadDiagnostics = !import.meta.dev ? /* #__PURE__ */ defineProdDiagnostics({\n\tdocsBase,\n\treporters: prodReporters\n}) : /* #__PURE__ */ defineDiagnostics({\n\tdocsBase,\n\treporters,\n\tcodes: {\n\t\tNUXT_E6001: {\n\t\t\twhy: \"The Unhead instance is missing.\",\n\t\t\tfix: \"Ensure `useHead()` is called inside a component `setup()` function, a Nuxt plugin, or Nuxt middleware.\"\n\t\t},\n\t\tNUXT_E6002: {\n\t\t\twhy: \"`<Title>` received more than one child in its default slot.\",\n\t\t\tfix: \"Pass a single string to the `<Title>` default slot.\",\n\t\t\tdocs: false\n\t\t},\n\t\tNUXT_E6003: {\n\t\t\twhy: \"`<Style>` received a non-string child in its default slot.\",\n\t\t\tfix: \"Pass a single string to the `<Style>` default slot.\",\n\t\t\tdocs: false\n\t\t},\n\t\tNUXT_E6004: {\n\t\t\twhy: (p) => `\\`<${p.component}>\\` reads its text content from the slot VNodes, which a vapor slot does not expose.`,\n\t\t\tfix: (p) => `Pass the \\`<${p.component}>\\` content as a string instead.`,\n\t\t\tdocs: false\n\t\t}\n\t}\n});\n//#endregion\nexport { unheadDiagnostics };\n","import { unheadDiagnostics } from \"../../app/diagnostics/head.js\";\nimport { hasInjectionContext, inject } from \"vue\";\nimport { headSymbol, useHead as useHead$1, useHeadSafe as useHeadSafe$1, useSeoMeta as useSeoMeta$1, useServerHead as useServerHead$1, useServerHeadSafe as useServerHeadSafe$1, useServerSeoMeta as useServerSeoMeta$1 } from \"@unhead/vue\";\nimport { useNuxtApp } from \"#app/nuxt\";\n//#region src/head/runtime/composables.ts\n/**\n* Injects the head client from the Nuxt context or Vue inject.\n*/\nfunction injectHead(nuxtApp) {\n\tconst nuxt = nuxtApp || useNuxtApp();\n\treturn nuxt.ssrContext?.head || nuxt.runWithContext(() => {\n\t\tif (hasInjectionContext()) {\n\t\t\tconst head = inject(headSymbol);\n\t\t\tif (!head) throw unheadDiagnostics.NUXT_E6001();\n\t\t\treturn head;\n\t\t}\n\t});\n}\nfunction useHead(input, options = {}) {\n\tconst head = options.head || injectHead(options.nuxt);\n\treturn useHead$1(input, {\n\t\thead,\n\t\t...options\n\t});\n}\nfunction useHeadSafe(input, options = {}) {\n\tconst head = options.head || injectHead(options.nuxt);\n\treturn useHeadSafe$1(input, {\n\t\thead,\n\t\t...options\n\t});\n}\nfunction useSeoMeta(input, options = {}) {\n\tconst head = options.head || injectHead(options.nuxt);\n\treturn useSeoMeta$1(input, {\n\t\thead,\n\t\t...options\n\t});\n}\n/**\n* @deprecated Use `useHead` instead and wrap with `if (import.meta.server)`\n*/\nfunction useServerHead(input, options = {}) {\n\tconst head = options.head || injectHead(options.nuxt);\n\treturn useServerHead$1(input, {\n\t\thead,\n\t\t...options\n\t});\n}\n/**\n* @deprecated Use `useHeadSafe` instead and wrap with `if (import.meta.server)`\n*/\nfunction useServerHeadSafe(input, options = {}) {\n\tconst head = options.head || injectHead(options.nuxt);\n\treturn useServerHeadSafe$1(input, {\n\t\thead,\n\t\t...options\n\t});\n}\n/**\n* @deprecated Use `useSeoMeta` instead and wrap with `if (import.meta.server)`\n*/\nfunction useServerSeoMeta(input, options = {}) {\n\tconst head = options.head || injectHead(options.nuxt);\n\treturn useServerSeoMeta$1(input, {\n\t\thead,\n\t\t...options\n\t});\n}\n//#endregion\nexport { injectHead, useHead, useHeadSafe, useSeoMeta, useServerHead, useServerHeadSafe, useServerSeoMeta };\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"hooks-BVzlIVXR.js","mappings":"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","names":[],"sources":["../../../../../../../../components/HooksTable.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/HooksTable.vue","../../../../../../../../components/docs/hooks.md","../../../../../../../../pages/modules/hooks.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../pages/modules/hooks.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderClass as _ssrRenderClass, ssrRenderStyle as _ssrRenderStyle, ssrRenderComponent as _ssrRenderComponent, ssrRenderAttrs as _ssrRenderAttrs, ssrInterpolate as _ssrInterpolate, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport type { HookInfo } from '~/../src/types'\nimport { computed, ref } from 'vue'\n\ntype SortBy = 'duration' | 'name' | 'listener' | 'start' | 'executions'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'HooksTable',\n __ssrInlineRender: true,\n props: {\n hooks: {}\n },\n setup(__props: any) {\n\nconst props = __props\n\nconst sortby = ref<SortBy>('duration')\nconst direction = ref<'asc' | 'desc'>('asc')\n\nconst sortFunctions = {\n duration: (a: HookInfo, b: HookInfo) => (b.duration ?? Number.POSITIVE_INFINITY) - (a.duration ?? Number.POSITIVE_INFINITY),\n name: (a: HookInfo, b: HookInfo) => a.name.localeCompare(b.name),\n listener: (a: HookInfo, b: HookInfo) => b.listeners - a.listeners,\n start: (a: HookInfo, b: HookInfo) => b.start - a.start,\n executions: (a: HookInfo, b: HookInfo) => b.executions.length - a.executions.length,\n}\n\nconst startTimes = computed(() => props.hooks.map(i => i.start).sort((a, b) => a - b))\n\nconst sorted = computed(() => {\n const sortFn = sortFunctions[sortby.value]\n const sorted = props.hooks.toSorted(sortFn)\n if (direction.value === 'desc')\n sorted.reverse()\n return sorted\n})\n\nfunction getNamePrefix(name: string) {\n const parts = name.split(':')\n if (parts.length === 1)\n return ''\n return `${parts[0]}:`\n}\n\nfunction getNameRest(name: string) {\n const parts = name.split(':')\n if (parts.length === 1)\n return name\n return parts.slice(1).join(':')\n}\n\nfunction toggleSortedBy(by: SortBy) {\n if (sortby.value === by)\n direction.value = direction.value === 'asc' ? 'desc' : 'asc'\n else\n sortby.value = by\n}\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_DurationDisplay = _resolveComponent(\"DurationDisplay\")!\n\n _push(`<table${\n _ssrRenderAttrs(_mergeProps({ \"w-full\": \"\" }, _attrs))\n }><thead border=\"b base\"><tr><th select-none ws-nowrap p1 text-right font-bold><button> Order <div ml--1 text-xs class=\"${\n _ssrRenderClass([sortby.value === 'start' ? 'op50' : 'op0', direction.value === 'asc' ? 'carbon-arrow-down' : 'carbon-arrow-up'])\n }\"></div></button></th><th colspan=\"2\" p1 pl5 text-left font-bold><button> Hook name <div ml--1 text-xs class=\"${\n _ssrRenderClass([sortby.value === 'name' ? 'op50' : 'op0', direction.value === 'asc' ? 'carbon-arrow-down' : 'carbon-arrow-up'])\n }\"></div></button></th><th ws-nowrap p1 text-center font-bold><button> Listeners <div ml--1 text-xs class=\"${\n _ssrRenderClass([sortby.value === 'listener' ? 'op50' : 'op0', direction.value === 'asc' ? 'carbon-arrow-down' : 'carbon-arrow-up'])\n }\"></div></button></th><th ws-nowrap p1 text-center font-bold><button> Executions <div ml--1 text-xs class=\"${\n _ssrRenderClass([sortby.value === 'executions' ? 'op50' : 'op0', direction.value === 'asc' ? 'carbon-arrow-down' : 'carbon-arrow-up'])\n }\"></div></button></th><th ws-nowrap p1 text-right font-bold><button> Duration <div ml--1 text-xs class=\"${\n _ssrRenderClass([sortby.value === 'duration' ? 'op50' : 'op0', direction.value === 'asc' ? 'carbon-arrow-down' : 'carbon-arrow-up'])\n }\"></div></button></th></tr></thead><tbody><!--[-->`)\n _ssrRenderList(sorted.value, (item) => {\n _push(`<tr border=\"b dashed transparent hover:base\"><td w-0 ws-nowrap text-center text-sm op25>${\n _ssrInterpolate(startTimes.value.indexOf(item.start))\n }</td><td w-0 ws-nowrap text-right style=\"${\n _ssrRenderStyle({ color: _ctx.getHslColorFromStringHash(getNamePrefix(item.name)) })\n }\"><code text-sm>${\n _ssrInterpolate(getNamePrefix(item.name))\n }</code></td><td ws-nowrap><code text-sm>${\n _ssrInterpolate(getNameRest(item.name))\n }</code></td><td w-0 text-center text-sm>${\n _ssrInterpolate(item.listeners)\n }</td><td w-0 text-center text-sm>${\n _ssrInterpolate(item.executions.length + 1)\n }</td><td w-0 text-right text-sm>`)\n _push(_ssrRenderComponent(_component_DurationDisplay, {\n duration: item.duration\n }, null, _parent))\n _push(`</td></tr>`)\n })\n _push(`<!--]--></tbody></table>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { HookInfo } from '~/../src/types'\nimport { computed, ref } from 'vue'\n\nconst props = defineProps<{\n hooks: HookInfo[]\n}>()\n\ntype SortBy = 'duration' | 'name' | 'listener' | 'start' | 'executions'\n\nconst sortby = ref<SortBy>('duration')\nconst direction = ref<'asc' | 'desc'>('asc')\n\nconst sortFunctions = {\n duration: (a: HookInfo, b: HookInfo) => (b.duration ?? Number.POSITIVE_INFINITY) - (a.duration ?? Number.POSITIVE_INFINITY),\n name: (a: HookInfo, b: HookInfo) => a.name.localeCompare(b.name),\n listener: (a: HookInfo, b: HookInfo) => b.listeners - a.listeners,\n start: (a: HookInfo, b: HookInfo) => b.start - a.start,\n executions: (a: HookInfo, b: HookInfo) => b.executions.length - a.executions.length,\n}\n\nconst startTimes = computed(() => props.hooks.map(i => i.start).sort((a, b) => a - b))\n\nconst sorted = computed(() => {\n const sortFn = sortFunctions[sortby.value]\n const sorted = props.hooks.toSorted(sortFn)\n if (direction.value === 'desc')\n sorted.reverse()\n return sorted\n})\n\nfunction getNamePrefix(name: string) {\n const parts = name.split(':')\n if (parts.length === 1)\n return ''\n return `${parts[0]}:`\n}\n\nfunction getNameRest(name: string) {\n const parts = name.split(':')\n if (parts.length === 1)\n return name\n return parts.slice(1).join(':')\n}\n\nfunction toggleSortedBy(by: SortBy) {\n if (sortby.value === by)\n direction.value = direction.value === 'asc' ? 'desc' : 'asc'\n else\n sortby.value = by\n}\n</script>\n\n<template>\n <table w-full>\n <thead border=\"b base\">\n <tr>\n <th select-none ws-nowrap p1 text-right font-bold>\n <button @click=\"toggleSortedBy('start')\">\n Order\n <div ml--1 text-xs :class=\"[sortby === 'start' ? 'op50' : 'op0', direction === 'asc' ? 'carbon-arrow-down' : 'carbon-arrow-up']\" />\n </button>\n </th>\n <th colspan=\"2\" p1 pl5 text-left font-bold>\n <button @click=\"toggleSortedBy('name')\">\n Hook name\n <div ml--1 text-xs :class=\"[sortby === 'name' ? 'op50' : 'op0', direction === 'asc' ? 'carbon-arrow-down' : 'carbon-arrow-up']\" />\n </button>\n </th>\n <th ws-nowrap p1 text-center font-bold>\n <button @click=\"toggleSortedBy('listener')\">\n Listeners\n <div ml--1 text-xs :class=\"[sortby === 'listener' ? 'op50' : 'op0', direction === 'asc' ? 'carbon-arrow-down' : 'carbon-arrow-up']\" />\n </button>\n </th>\n <th ws-nowrap p1 text-center font-bold>\n <button @click=\"toggleSortedBy('executions')\">\n Executions\n <div ml--1 text-xs :class=\"[sortby === 'executions' ? 'op50' : 'op0', direction === 'asc' ? 'carbon-arrow-down' : 'carbon-arrow-up']\" />\n </button>\n </th>\n <th ws-nowrap p1 text-right font-bold>\n <button @click=\"toggleSortedBy('duration')\">\n Duration\n <div ml--1 text-xs :class=\"[sortby === 'duration' ? 'op50' : 'op0', direction === 'asc' ? 'carbon-arrow-down' : 'carbon-arrow-up']\" />\n </button>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr v-for=\"item of sorted\" :key=\"item.name\" border=\"b dashed transparent hover:base\">\n <td w-0 ws-nowrap text-center text-sm op25>\n {{ startTimes.indexOf(item.start) }}\n </td>\n <td w-0 ws-nowrap text-right :style=\"{ color: getHslColorFromStringHash(getNamePrefix(item.name)) }\">\n <code text-sm>{{ getNamePrefix(item.name) }}</code>\n </td>\n <td ws-nowrap>\n <code text-sm>{{ getNameRest(item.name) }}</code>\n </td>\n <td w-0 text-center text-sm>\n {{ item.listeners }}\n </td>\n <td w-0 text-center text-sm>\n {{ item.executions.length + 1 }}\n </td>\n <td w-0 text-right text-sm>\n <DurationDisplay :duration=\"item.duration\" />\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n","# Hooks\n\nHooks are an advanced API which can be used for module development or other advanced use cases. The hooking API can be used to expand almost every aspect of Nuxt. Under the hood it is powered by [unjs/hookable](https://github.com/unjs/hookable).\n\n[Learn more about hooks](https://nuxt.com/docs/guide/going-further/hooks).\n","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, unref as _unref } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent } from \"vue/server-renderer\"\n\nimport { computed } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { useClient } from '~/composables/client'\nimport { useServerHooks } from '~/composables/state'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'hooks',\n __ssrInlineRender: true,\n setup(__props) {\n\ndefinePageMeta({\n icon: 'carbon-ibm-cloud-direct-link-2-connect',\n title: 'Hooks',\n category: 'advanced',\n})\n\nconst serverHooks = useServerHooks()\nconst client = useClient()\nconst clientHooks = computed(() => client.value?.metrics.clientHooks())\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NSectionBlock = _resolveComponent(\"NSectionBlock\")!\n const _component_HooksTable = _resolveComponent(\"HooksTable\")!\n const _component_HelpFab = _resolveComponent(\"HelpFab\")!\n const _component_DocsHooks = _resolveComponent(\"DocsHooks\")!\n\n _push(`<!--[--><div>`)\n if (clientHooks.value?.length) {\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n icon: \"carbon-ibm-cloud-direct-link-1-dedicated-hosting\",\n text: \"Client Hooks\",\n description: `Total hooks: ${clientHooks.value.length}`,\n padding: \"pl4 pr6\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_HooksTable, { hooks: clientHooks.value }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_HooksTable, { hooks: clientHooks.value }, null, 8, [\"hooks\"])\n ]\n }\n }),\n _: 1\n }, _parent))\n } else {\n _push(`<!---->`)\n }\n if (_unref(serverHooks)?.length) {\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n icon: \"carbon-ibm-cloud-direct-link-2-dedicated\",\n text: \"Server Hooks\",\n description: `Total hooks: ${_unref(serverHooks)?.length}`,\n padding: \"pl4 pr6\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_HooksTable, { hooks: _unref(serverHooks) }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_HooksTable, { hooks: _unref(serverHooks) }, null, 8, [\"hooks\"])\n ]\n }\n }),\n _: 1\n }, _parent))\n } else {\n _push(`<!---->`)\n }\n _push(`</div>`)\n _push(_ssrRenderComponent(_component_HelpFab, null, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_DocsHooks, null, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_DocsHooks)\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(`<!--]-->`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { useClient } from '~/composables/client'\nimport { useServerHooks } from '~/composables/state'\n\ndefinePageMeta({\n icon: 'carbon-ibm-cloud-direct-link-2-connect',\n title: 'Hooks',\n category: 'advanced',\n})\n\nconst serverHooks = useServerHooks()\nconst client = useClient()\nconst clientHooks = computed(() => client.value?.metrics.clientHooks())\n</script>\n\n<template>\n <div>\n <NSectionBlock\n v-if=\"clientHooks?.length\"\n icon=\"carbon-ibm-cloud-direct-link-1-dedicated-hosting\"\n text=\"Client Hooks\"\n :description=\"`Total hooks: ${clientHooks.length}`\"\n padding=\"pl4 pr6\"\n >\n <HooksTable :hooks=\"clientHooks\" />\n </NSectionBlock>\n <NSectionBlock\n v-if=\"serverHooks?.length\"\n icon=\"carbon-ibm-cloud-direct-link-2-dedicated\"\n text=\"Server Hooks\"\n :description=\"`Total hooks: ${serverHooks?.length}`\"\n padding=\"pl4 pr6\"\n >\n <HooksTable :hooks=\"serverHooks\" />\n </NSectionBlock>\n </div>\n\n <HelpFab>\n <DocsHooks />\n </HelpFab>\n</template>\n"],"version":3}
|
|
1
|
+
{"file":"hooks-Dao-RDzo.js","mappings":"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","names":[],"sources":["../../../../../../../../components/HooksTable.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/HooksTable.vue","../../../../../../../../components/docs/hooks.md","../../../../../../../../pages/modules/hooks.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../pages/modules/hooks.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderClass as _ssrRenderClass, ssrRenderStyle as _ssrRenderStyle, ssrRenderComponent as _ssrRenderComponent, ssrRenderAttrs as _ssrRenderAttrs, ssrInterpolate as _ssrInterpolate, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport type { HookInfo } from '~/../src/types'\nimport { computed, ref } from 'vue'\n\ntype SortBy = 'duration' | 'name' | 'listener' | 'start' | 'executions'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'HooksTable',\n __ssrInlineRender: true,\n props: {\n hooks: {}\n },\n setup(__props: any) {\n\nconst props = __props\n\nconst sortby = ref<SortBy>('duration')\nconst direction = ref<'asc' | 'desc'>('asc')\n\nconst sortFunctions = {\n duration: (a: HookInfo, b: HookInfo) => (b.duration ?? Number.POSITIVE_INFINITY) - (a.duration ?? Number.POSITIVE_INFINITY),\n name: (a: HookInfo, b: HookInfo) => a.name.localeCompare(b.name),\n listener: (a: HookInfo, b: HookInfo) => b.listeners - a.listeners,\n start: (a: HookInfo, b: HookInfo) => b.start - a.start,\n executions: (a: HookInfo, b: HookInfo) => b.executions.length - a.executions.length,\n}\n\nconst startTimes = computed(() => props.hooks.map(i => i.start).sort((a, b) => a - b))\n\nconst sorted = computed(() => {\n const sortFn = sortFunctions[sortby.value]\n const sorted = props.hooks.toSorted(sortFn)\n if (direction.value === 'desc')\n sorted.reverse()\n return sorted\n})\n\nfunction getNamePrefix(name: string) {\n const parts = name.split(':')\n if (parts.length === 1)\n return ''\n return `${parts[0]}:`\n}\n\nfunction getNameRest(name: string) {\n const parts = name.split(':')\n if (parts.length === 1)\n return name\n return parts.slice(1).join(':')\n}\n\nfunction toggleSortedBy(by: SortBy) {\n if (sortby.value === by)\n direction.value = direction.value === 'asc' ? 'desc' : 'asc'\n else\n sortby.value = by\n}\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_DurationDisplay = _resolveComponent(\"DurationDisplay\")!\n\n _push(`<table${\n _ssrRenderAttrs(_mergeProps({ \"w-full\": \"\" }, _attrs))\n }><thead border=\"b base\"><tr><th select-none ws-nowrap p1 text-right font-bold><button> Order <div ml--1 text-xs class=\"${\n _ssrRenderClass([sortby.value === 'start' ? 'op50' : 'op0', direction.value === 'asc' ? 'carbon-arrow-down' : 'carbon-arrow-up'])\n }\"></div></button></th><th colspan=\"2\" p1 pl5 text-left font-bold><button> Hook name <div ml--1 text-xs class=\"${\n _ssrRenderClass([sortby.value === 'name' ? 'op50' : 'op0', direction.value === 'asc' ? 'carbon-arrow-down' : 'carbon-arrow-up'])\n }\"></div></button></th><th ws-nowrap p1 text-center font-bold><button> Listeners <div ml--1 text-xs class=\"${\n _ssrRenderClass([sortby.value === 'listener' ? 'op50' : 'op0', direction.value === 'asc' ? 'carbon-arrow-down' : 'carbon-arrow-up'])\n }\"></div></button></th><th ws-nowrap p1 text-center font-bold><button> Executions <div ml--1 text-xs class=\"${\n _ssrRenderClass([sortby.value === 'executions' ? 'op50' : 'op0', direction.value === 'asc' ? 'carbon-arrow-down' : 'carbon-arrow-up'])\n }\"></div></button></th><th ws-nowrap p1 text-right font-bold><button> Duration <div ml--1 text-xs class=\"${\n _ssrRenderClass([sortby.value === 'duration' ? 'op50' : 'op0', direction.value === 'asc' ? 'carbon-arrow-down' : 'carbon-arrow-up'])\n }\"></div></button></th></tr></thead><tbody><!--[-->`)\n _ssrRenderList(sorted.value, (item) => {\n _push(`<tr border=\"b dashed transparent hover:base\"><td w-0 ws-nowrap text-center text-sm op25>${\n _ssrInterpolate(startTimes.value.indexOf(item.start))\n }</td><td w-0 ws-nowrap text-right style=\"${\n _ssrRenderStyle({ color: _ctx.getHslColorFromStringHash(getNamePrefix(item.name)) })\n }\"><code text-sm>${\n _ssrInterpolate(getNamePrefix(item.name))\n }</code></td><td ws-nowrap><code text-sm>${\n _ssrInterpolate(getNameRest(item.name))\n }</code></td><td w-0 text-center text-sm>${\n _ssrInterpolate(item.listeners)\n }</td><td w-0 text-center text-sm>${\n _ssrInterpolate(item.executions.length + 1)\n }</td><td w-0 text-right text-sm>`)\n _push(_ssrRenderComponent(_component_DurationDisplay, {\n duration: item.duration\n }, null, _parent))\n _push(`</td></tr>`)\n })\n _push(`<!--]--></tbody></table>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { HookInfo } from '~/../src/types'\nimport { computed, ref } from 'vue'\n\nconst props = defineProps<{\n hooks: HookInfo[]\n}>()\n\ntype SortBy = 'duration' | 'name' | 'listener' | 'start' | 'executions'\n\nconst sortby = ref<SortBy>('duration')\nconst direction = ref<'asc' | 'desc'>('asc')\n\nconst sortFunctions = {\n duration: (a: HookInfo, b: HookInfo) => (b.duration ?? Number.POSITIVE_INFINITY) - (a.duration ?? Number.POSITIVE_INFINITY),\n name: (a: HookInfo, b: HookInfo) => a.name.localeCompare(b.name),\n listener: (a: HookInfo, b: HookInfo) => b.listeners - a.listeners,\n start: (a: HookInfo, b: HookInfo) => b.start - a.start,\n executions: (a: HookInfo, b: HookInfo) => b.executions.length - a.executions.length,\n}\n\nconst startTimes = computed(() => props.hooks.map(i => i.start).sort((a, b) => a - b))\n\nconst sorted = computed(() => {\n const sortFn = sortFunctions[sortby.value]\n const sorted = props.hooks.toSorted(sortFn)\n if (direction.value === 'desc')\n sorted.reverse()\n return sorted\n})\n\nfunction getNamePrefix(name: string) {\n const parts = name.split(':')\n if (parts.length === 1)\n return ''\n return `${parts[0]}:`\n}\n\nfunction getNameRest(name: string) {\n const parts = name.split(':')\n if (parts.length === 1)\n return name\n return parts.slice(1).join(':')\n}\n\nfunction toggleSortedBy(by: SortBy) {\n if (sortby.value === by)\n direction.value = direction.value === 'asc' ? 'desc' : 'asc'\n else\n sortby.value = by\n}\n</script>\n\n<template>\n <table w-full>\n <thead border=\"b base\">\n <tr>\n <th select-none ws-nowrap p1 text-right font-bold>\n <button @click=\"toggleSortedBy('start')\">\n Order\n <div ml--1 text-xs :class=\"[sortby === 'start' ? 'op50' : 'op0', direction === 'asc' ? 'carbon-arrow-down' : 'carbon-arrow-up']\" />\n </button>\n </th>\n <th colspan=\"2\" p1 pl5 text-left font-bold>\n <button @click=\"toggleSortedBy('name')\">\n Hook name\n <div ml--1 text-xs :class=\"[sortby === 'name' ? 'op50' : 'op0', direction === 'asc' ? 'carbon-arrow-down' : 'carbon-arrow-up']\" />\n </button>\n </th>\n <th ws-nowrap p1 text-center font-bold>\n <button @click=\"toggleSortedBy('listener')\">\n Listeners\n <div ml--1 text-xs :class=\"[sortby === 'listener' ? 'op50' : 'op0', direction === 'asc' ? 'carbon-arrow-down' : 'carbon-arrow-up']\" />\n </button>\n </th>\n <th ws-nowrap p1 text-center font-bold>\n <button @click=\"toggleSortedBy('executions')\">\n Executions\n <div ml--1 text-xs :class=\"[sortby === 'executions' ? 'op50' : 'op0', direction === 'asc' ? 'carbon-arrow-down' : 'carbon-arrow-up']\" />\n </button>\n </th>\n <th ws-nowrap p1 text-right font-bold>\n <button @click=\"toggleSortedBy('duration')\">\n Duration\n <div ml--1 text-xs :class=\"[sortby === 'duration' ? 'op50' : 'op0', direction === 'asc' ? 'carbon-arrow-down' : 'carbon-arrow-up']\" />\n </button>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr v-for=\"item of sorted\" :key=\"item.name\" border=\"b dashed transparent hover:base\">\n <td w-0 ws-nowrap text-center text-sm op25>\n {{ startTimes.indexOf(item.start) }}\n </td>\n <td w-0 ws-nowrap text-right :style=\"{ color: getHslColorFromStringHash(getNamePrefix(item.name)) }\">\n <code text-sm>{{ getNamePrefix(item.name) }}</code>\n </td>\n <td ws-nowrap>\n <code text-sm>{{ getNameRest(item.name) }}</code>\n </td>\n <td w-0 text-center text-sm>\n {{ item.listeners }}\n </td>\n <td w-0 text-center text-sm>\n {{ item.executions.length + 1 }}\n </td>\n <td w-0 text-right text-sm>\n <DurationDisplay :duration=\"item.duration\" />\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n","# Hooks\n\nHooks are an advanced API which can be used for module development or other advanced use cases. The hooking API can be used to expand almost every aspect of Nuxt. Under the hood it is powered by [unjs/hookable](https://github.com/unjs/hookable).\n\n[Learn more about hooks](https://nuxt.com/docs/guide/going-further/hooks).\n","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, unref as _unref } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent } from \"vue/server-renderer\"\n\nimport { computed } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { useClient } from '~/composables/client'\nimport { useServerHooks } from '~/composables/state'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'hooks',\n __ssrInlineRender: true,\n setup(__props) {\n\ndefinePageMeta({\n icon: 'carbon-ibm-cloud-direct-link-2-connect',\n title: 'Hooks',\n category: 'advanced',\n})\n\nconst serverHooks = useServerHooks()\nconst client = useClient()\nconst clientHooks = computed(() => client.value?.metrics.clientHooks())\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NSectionBlock = _resolveComponent(\"NSectionBlock\")!\n const _component_HooksTable = _resolveComponent(\"HooksTable\")!\n const _component_HelpFab = _resolveComponent(\"HelpFab\")!\n const _component_DocsHooks = _resolveComponent(\"DocsHooks\")!\n\n _push(`<!--[--><div>`)\n if (clientHooks.value?.length) {\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n icon: \"carbon-ibm-cloud-direct-link-1-dedicated-hosting\",\n text: \"Client Hooks\",\n description: `Total hooks: ${clientHooks.value.length}`,\n padding: \"pl4 pr6\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_HooksTable, { hooks: clientHooks.value }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_HooksTable, { hooks: clientHooks.value }, null, 8, [\"hooks\"])\n ]\n }\n }),\n _: 1\n }, _parent))\n } else {\n _push(`<!---->`)\n }\n if (_unref(serverHooks)?.length) {\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n icon: \"carbon-ibm-cloud-direct-link-2-dedicated\",\n text: \"Server Hooks\",\n description: `Total hooks: ${_unref(serverHooks)?.length}`,\n padding: \"pl4 pr6\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_HooksTable, { hooks: _unref(serverHooks) }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_HooksTable, { hooks: _unref(serverHooks) }, null, 8, [\"hooks\"])\n ]\n }\n }),\n _: 1\n }, _parent))\n } else {\n _push(`<!---->`)\n }\n _push(`</div>`)\n _push(_ssrRenderComponent(_component_HelpFab, null, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_DocsHooks, null, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_DocsHooks)\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(`<!--]-->`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { useClient } from '~/composables/client'\nimport { useServerHooks } from '~/composables/state'\n\ndefinePageMeta({\n icon: 'carbon-ibm-cloud-direct-link-2-connect',\n title: 'Hooks',\n category: 'advanced',\n})\n\nconst serverHooks = useServerHooks()\nconst client = useClient()\nconst clientHooks = computed(() => client.value?.metrics.clientHooks())\n</script>\n\n<template>\n <div>\n <NSectionBlock\n v-if=\"clientHooks?.length\"\n icon=\"carbon-ibm-cloud-direct-link-1-dedicated-hosting\"\n text=\"Client Hooks\"\n :description=\"`Total hooks: ${clientHooks.length}`\"\n padding=\"pl4 pr6\"\n >\n <HooksTable :hooks=\"clientHooks\" />\n </NSectionBlock>\n <NSectionBlock\n v-if=\"serverHooks?.length\"\n icon=\"carbon-ibm-cloud-direct-link-2-dedicated\"\n text=\"Server Hooks\"\n :description=\"`Total hooks: ${serverHooks?.length}`\"\n padding=\"pl4 pr6\"\n >\n <HooksTable :hooks=\"serverHooks\" />\n </NSectionBlock>\n </div>\n\n <HelpFab>\n <DocsHooks />\n </HelpFab>\n</template>\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"imports-B3k4BZF7.js","mappings":"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","names":[],"sources":["../../../../../../../../components/ComposableTree.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/ComposableTree.vue","../../../../../../../../components/help/HelpImportsDirs.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/help/HelpImportsDirs.vue","../../../../../../../../components/help/HelpImportsModules.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/help/HelpImportsModules.vue","../../../../../../../../components/docs/imports.md","../../../../../../../../pages/modules/imports.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../pages/modules/imports.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrRenderAttrs as _ssrRenderAttrs, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport type { Import, UnimportMeta } from 'unimport'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'ComposableTree',\n __ssrInlineRender: true,\n props: {\n map: {},\n root: {},\n metadata: {}\n },\n setup(__props: any) {\n\n\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_FilepathItem = _resolveComponent(\"FilepathItem\")!\n const _component_ComposableItem = _resolveComponent(\"ComposableItem\")!\n\n _push(`<div${_ssrRenderAttrs(_attrs)}><!--[-->`)\n _ssrRenderList(__props.map.entries(), ([key, value]) => {\n _push(`<div>`)\n _push(_ssrRenderComponent(_component_FilepathItem, {\n filepath: key,\n op50: \"\",\n \"hover:underline\": \"\"\n }, null, _parent))\n _push(`<div flex=\"~ wrap gap2\" p2 pl4><!--[-->`)\n _ssrRenderList(value, (i) => {\n _push(_ssrRenderComponent(_component_ComposableItem, {\n key: i.as,\n item: i,\n metadata: __props.metadata,\n \"is-directive\": i.meta?.vueDirective === true,\n filepath: key.match(/^[\\w@]/) ? undefined : key\n }, null, _parent))\n })\n _push(`<!--]--></div></div>`)\n })\n _push(`<!--]--></div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { Import, UnimportMeta } from 'unimport'\n\ndefineProps<{\n map: Map<string, Import[]>\n root: string\n metadata?: UnimportMeta\n}>()\n</script>\n\n<template>\n <div>\n <div v-for=\"[key, value] of map.entries()\" :key=\"key\">\n <FilepathItem :filepath=\"key\" op50 hover:underline />\n <div flex=\"~ wrap gap2\" p2 pl4>\n <ComposableItem\n v-for=\"i of value\" :key=\"i.as\"\n :item=\"i\"\n :metadata=\"metadata\"\n :is-directive=\"i.meta?.vueDirective === true\"\n :filepath=\"key.match(/^[\\w@]/) ? undefined : key\"\n />\n </div>\n </div>\n </div>\n</template>\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrRenderAttrs as _ssrRenderAttrs, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport { useAutoImports } from '~/composables/state'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'HelpImportsDirs',\n __ssrInlineRender: true,\n setup(__props) {\n\nconst imports = useAutoImports()\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_FilepathItem = _resolveComponent(\"FilepathItem\")!\n\n if (_unref(imports)?.dirs) {\n _push(`<div${_ssrRenderAttrs(_mergeProps({ flex: \"~ col gap-2 items-start\" }, _attrs))}><!--[-->`)\n _ssrRenderList(_unref(imports).dirs, (dir) => {\n _push(_ssrRenderComponent(_component_FilepathItem, {\n filepath: dir,\n \"text-primary\": \"\"\n }, null, _parent))\n })\n _push(`<!--]--></div>`)\n } else {\n _push(`<!---->`)\n }\n}\n}\n\n})","<script setup lang=\"ts\">\nimport { useAutoImports } from '~/composables/state'\n\nconst imports = useAutoImports()\n</script>\n\n<template>\n <div v-if=\"imports?.dirs\" flex=\"~ col gap-2 items-start\">\n <template v-for=\"dir of imports.dirs\" :key=\"dir\">\n <FilepathItem :filepath=\"dir\" text-primary />\n </template>\n </div>\n</template>\n","import { defineComponent as _defineComponent } from 'vue'\nimport { mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderAttrs as _ssrRenderAttrs, ssrInterpolate as _ssrInterpolate, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport { computed } from 'vue'\nimport { useAutoImports } from '~/composables/state'\nimport { getModuleNameFromPath, isBuiltInModule } from '~/composables/utils'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'HelpImportsModules',\n __ssrInlineRender: true,\n setup(__props) {\n\nconst config = useAutoImports()\n\nconst modules = computed(() => {\n return [...new Set(config.value?.imports.map(i => getModuleNameFromPath(i.from)).filter(x => Boolean(x) && !isBuiltInModule(x)))]\n})\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n _push(`<div${_ssrRenderAttrs(_mergeProps({\n flex: \"~ gap-2 wrap\",\n mb6: \"\"\n }, _attrs))}><!--[-->`)\n _ssrRenderList(modules.value, (name) => {\n _push(`<code rounded bg-primary:5 p=\"x2 y0.5\" text-primary>${_ssrInterpolate(name)}</code>`)\n })\n _push(`<!--]--></div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { useAutoImports } from '~/composables/state'\nimport { getModuleNameFromPath, isBuiltInModule } from '~/composables/utils'\n\nconst config = useAutoImports()\n\nconst modules = computed(() => {\n return [...new Set(config.value?.imports.map(i => getModuleNameFromPath(i.from)).filter(x => Boolean(x) && !isBuiltInModule(x)))]\n})\n</script>\n\n<template>\n <div flex=\"~ gap-2 wrap\" mb6>\n <code v-for=\"name of modules\" :key=\"name\" rounded bg-primary:5 p=\"x2 y0.5\" text-primary>\n {{ name }}\n </code>\n </div>\n</template>\n","# Auto imports\n\nNuxt auto-imports helper functions, composables and Vue APIs to be used across your application without explicitly importing them. Based on the directory structure, every Nuxt application can also use auto-imports for its own components, composables and plugins. Components, composables or plugins can use these functions.\n\n<hr>\n\nAccording to your config, exports of files under the following folders will be registed as auto-imports entry:\n\n<HelpImportsDirs />\n\nMeanwhile, modules could also provide auto-imports for their own components. You have auto-imports from the following modules as well:\n\n<HelpImportsModules />\n\n<hr>\n\n[Learn more in the documentation](https://nuxt.com/docs/guide/concepts/auto-imports)\n\n## Directives\n\nDirectives placed in the directives/ directory are automatically registered by Nuxt. They can be used in your templates without importing them.\n\n[Learn more in the documentation](https://nuxt.com/docs/guide/directory-structure/directives)\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent } from \"vue/server-renderer\"\n\nimport type { Import } from 'unimport'\nimport Fuse from 'fuse.js'\nimport { computed, ref } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { DETAILS_MAX_ITEMS } from '~/composables/constants'\nimport { useAutoImports, useServerConfig } from '~/composables/state'\nimport { getModuleNameFromPath, isBuiltInModule, isNodeModulePath } from '~/composables/utils'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'imports',\n __ssrInlineRender: true,\n setup(__props) {\n\ndefinePageMeta({\n icon: 'carbon-function',\n title: 'Imports',\n order: 4,\n})\n\nconst config = useServerConfig()\nconst filterMode = ref<'all' | 'using' | 'not-used'>('all')\nconst filterEntries = ref<'all' | 'composables' | 'directives'>('all')\n\nconst search = ref('')\nconst autoImports = useAutoImports()\nconst importsMetadata = computed(() => autoImports.value?.metadata)\n\nconst functions = computed(() => autoImports.value?.imports.filter(i => i.as || i.name).sort((a, b) => (a.as || a.name).localeCompare(b.as || b.name))\n || [])\n\nconst fuse = computed(() => new Fuse(functions.value, {\n keys: [\n 'from',\n 'as',\n 'name',\n ],\n}))\n\nconst filtered = computed(() => {\n const user = new Map<string, Import[]>()\n const lib = new Map<string, Import[]>()\n const builtin = new Map<string, Import[]>()\n let result = search.value\n ? fuse.value.search(search.value).map(i => i.item)\n : functions.value\n\n const filter = filterEntries.value\n\n if (filter === 'composables') {\n result = result.filter(i => !(i.meta?.vueDirective === true))\n }\n else if (filter === 'directives') {\n result = result.filter(i => i.meta?.vueDirective === true)\n }\n\n if (filterMode.value === 'using' && importsMetadata.value) {\n result = result\n .filter(i => (i.as || i.name) in importsMetadata.value!.injectionsUsageMap)\n }\n else if (filterMode.value === 'not-used' && importsMetadata.value) {\n result = result\n .filter(i => !((i.as || i.name) in importsMetadata.value!.injectionsUsageMap))\n }\n\n const count = {\n user: 0,\n lib: 0,\n builtin: 0,\n }\n\n result\n .forEach((i) => {\n const map = isNodeModulePath(i.from)\n ? isBuiltInModule(getModuleNameFromPath(i.from))\n ? builtin\n : lib\n : user\n if (!map.has(i.from))\n map.set(i.from, [])\n map.get(i.from)!.push(i)\n count[map === user ? 'user' : map === lib ? 'lib' : 'builtin']++\n })\n\n return {\n user,\n lib,\n builtin,\n count,\n }\n})\n\nconst filteredUserCountTitle = computed(() => {\n return filterEntries.value === 'directives'\n ? `${filtered.value.count.user} directives from ${filtered.value.user.size} modules`\n : `${filtered.value.count.user} composables from ${filtered.value.user.size} modules`\n})\nconst filteredBuiltinTitle = computed(() => {\n return filterEntries.value === 'directives'\n ? `${filtered.value.count.builtin} directives`\n : `${filtered.value.count.builtin} composables`\n})\nconst filteredLibTitle = computed(() => {\n return filterEntries.value === 'directives'\n ? `${filtered.value.count.lib} directives from ${filtered.value.lib.size} packages`\n : `${filtered.value.count.lib} composables from ${filtered.value.lib.size} packages`\n})\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NNavbar = _resolveComponent(\"NNavbar\")!\n const _component_NIcon = _resolveComponent(\"NIcon\")!\n const _component_NSelectTabs = _resolveComponent(\"NSelectTabs\")!\n const _component_NSectionBlock = _resolveComponent(\"NSectionBlock\")!\n const _component_ComposableTree = _resolveComponent(\"ComposableTree\")!\n const _component_HelpFab = _resolveComponent(\"HelpFab\")!\n const _component_DocsImports = _resolveComponent(\"DocsImports\")!\n\n _push(`<!--[-->`)\n if (_unref(config)) {\n _push(`<div relative h-full of-auto>`)\n _push(_ssrRenderComponent(_component_NNavbar, {\n search: search.value,\n \"onUpdate:search\": ($event: any) => ((search).value = $event),\n pb3: \"\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n if (importsMetadata.value) {\n _push(`<div flex=\"~ gap-2 items-center lt-sm:col lt-sm:items-start\"${_scopeId}>`)\n _push(_ssrRenderComponent(_component_NIcon, {\n icon: \"carbon-filter\",\n op50: \"\"\n }, null, _parent, _scopeId))\n _push(_ssrRenderComponent(_component_NSelectTabs, {\n modelValue: filterMode.value,\n \"onUpdate:modelValue\": ($event: any) => ((filterMode).value = $event),\n n: \"primary sm\",\n options: [\n { label: 'All', value: 'all' },\n { label: 'Using', value: 'using' },\n { label: 'Not used', value: 'not-used' },\n ]\n }, null, _parent, _scopeId))\n _push(_ssrRenderComponent(_component_NSelectTabs, {\n modelValue: filterEntries.value,\n \"onUpdate:modelValue\": ($event: any) => ((filterEntries).value = $event),\n n: \"primary sm\",\n options: [\n { label: 'All', value: 'all' },\n { label: 'Composables', value: 'composables' },\n { label: 'Directives', value: 'directives' },\n ]\n }, null, _parent, _scopeId))\n _push(`</div>`)\n } else {\n _push(`<!---->`)\n }\n } else {\n return [\n (importsMetadata.value)\n ? (_openBlock(), _createBlock(\"div\", {\n key: 0,\n flex: \"~ gap-2 items-center lt-sm:col lt-sm:items-start\"\n }, [\n _createVNode(_component_NIcon, {\n icon: \"carbon-filter\",\n op50: \"\"\n }),\n _createVNode(_component_NSelectTabs, {\n modelValue: filterMode.value,\n \"onUpdate:modelValue\": ($event: any) => ((filterMode).value = $event),\n n: \"primary sm\",\n options: [\n { label: 'All', value: 'all' },\n { label: 'Using', value: 'using' },\n { label: 'Not used', value: 'not-used' },\n ]\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\"]),\n _createVNode(_component_NSelectTabs, {\n modelValue: filterEntries.value,\n \"onUpdate:modelValue\": ($event: any) => ((filterEntries).value = $event),\n n: \"primary sm\",\n options: [\n { label: 'All', value: 'all' },\n { label: 'Composables', value: 'composables' },\n { label: 'Directives', value: 'directives' },\n ]\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\"])\n ]))\n : _createCommentVNode(\"\", true)\n ]\n }\n }),\n _: 1\n }, _parent))\n if (filtered.value.user.size) {\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n open: filtered.value.count.user <= _unref(DETAILS_MAX_ITEMS),\n icon: filterEntries.value === 'directives' ? 'tabler:hexagon-letter-d' : 'carbon-function',\n text: `User ${filterEntries.value === 'directives' ? 'directives' : 'composables'}`,\n description: filteredUserCountTitle.value\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_ComposableTree, {\n map: filtered.value.user,\n root: _unref(config).rootDir,\n metadata: importsMetadata.value\n }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_ComposableTree, {\n map: filtered.value.user,\n root: _unref(config).rootDir,\n metadata: importsMetadata.value\n }, null, 8, [\"map\", \"root\", \"metadata\"])\n ]\n }\n }),\n _: 1\n }, _parent))\n } else {\n _push(`<!---->`)\n }\n if (filtered.value.builtin.size) {\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n open: filtered.value.count.builtin <= _unref(DETAILS_MAX_ITEMS),\n icon: \"simple-icons-nuxtdotjs\",\n text: `Built-in ${filterEntries.value === 'directives' ? 'directives' : 'composables'}`,\n description: filteredBuiltinTitle.value\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_ComposableTree, {\n map: filtered.value.builtin,\n root: _unref(config).rootDir,\n metadata: importsMetadata.value\n }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_ComposableTree, {\n map: filtered.value.builtin,\n root: _unref(config).rootDir,\n metadata: importsMetadata.value\n }, null, 8, [\"map\", \"root\", \"metadata\"])\n ]\n }\n }),\n _: 1\n }, _parent))\n } else {\n _push(`<!---->`)\n }\n if (filtered.value.lib.size) {\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n open: filtered.value.count.lib <= _unref(DETAILS_MAX_ITEMS),\n icon: \"carbon-3d-mpr-toggle\",\n text: `${filterEntries.value === 'directives' ? 'Directives' : 'Composables'} from libraries`,\n description: filteredLibTitle.value\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_ComposableTree, {\n map: filtered.value.lib,\n root: _unref(config).rootDir,\n metadata: importsMetadata.value\n }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_ComposableTree, {\n map: filtered.value.lib,\n root: _unref(config).rootDir,\n metadata: importsMetadata.value\n }, null, 8, [\"map\", \"root\", \"metadata\"])\n ]\n }\n }),\n _: 1\n }, _parent))\n } else {\n _push(`<!---->`)\n }\n _push(`</div>`)\n } else {\n _push(`<!---->`)\n }\n _push(_ssrRenderComponent(_component_HelpFab, null, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_DocsImports, null, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_DocsImports)\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(`<!--]-->`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { Import } from 'unimport'\nimport Fuse from 'fuse.js'\nimport { computed, ref } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { DETAILS_MAX_ITEMS } from '~/composables/constants'\nimport { useAutoImports, useServerConfig } from '~/composables/state'\nimport { getModuleNameFromPath, isBuiltInModule, isNodeModulePath } from '~/composables/utils'\n\ndefinePageMeta({\n icon: 'carbon-function',\n title: 'Imports',\n order: 4,\n})\n\nconst config = useServerConfig()\nconst filterMode = ref<'all' | 'using' | 'not-used'>('all')\nconst filterEntries = ref<'all' | 'composables' | 'directives'>('all')\n\nconst search = ref('')\nconst autoImports = useAutoImports()\nconst importsMetadata = computed(() => autoImports.value?.metadata)\n\nconst functions = computed(() => autoImports.value?.imports.filter(i => i.as || i.name).sort((a, b) => (a.as || a.name).localeCompare(b.as || b.name))\n || [])\n\nconst fuse = computed(() => new Fuse(functions.value, {\n keys: [\n 'from',\n 'as',\n 'name',\n ],\n}))\n\nconst filtered = computed(() => {\n const user = new Map<string, Import[]>()\n const lib = new Map<string, Import[]>()\n const builtin = new Map<string, Import[]>()\n let result = search.value\n ? fuse.value.search(search.value).map(i => i.item)\n : functions.value\n\n const filter = filterEntries.value\n\n if (filter === 'composables') {\n result = result.filter(i => !(i.meta?.vueDirective === true))\n }\n else if (filter === 'directives') {\n result = result.filter(i => i.meta?.vueDirective === true)\n }\n\n if (filterMode.value === 'using' && importsMetadata.value) {\n result = result\n .filter(i => (i.as || i.name) in importsMetadata.value!.injectionsUsageMap)\n }\n else if (filterMode.value === 'not-used' && importsMetadata.value) {\n result = result\n .filter(i => !((i.as || i.name) in importsMetadata.value!.injectionsUsageMap))\n }\n\n const count = {\n user: 0,\n lib: 0,\n builtin: 0,\n }\n\n result\n .forEach((i) => {\n const map = isNodeModulePath(i.from)\n ? isBuiltInModule(getModuleNameFromPath(i.from))\n ? builtin\n : lib\n : user\n if (!map.has(i.from))\n map.set(i.from, [])\n map.get(i.from)!.push(i)\n count[map === user ? 'user' : map === lib ? 'lib' : 'builtin']++\n })\n\n return {\n user,\n lib,\n builtin,\n count,\n }\n})\n\nconst filteredUserCountTitle = computed(() => {\n return filterEntries.value === 'directives'\n ? `${filtered.value.count.user} directives from ${filtered.value.user.size} modules`\n : `${filtered.value.count.user} composables from ${filtered.value.user.size} modules`\n})\nconst filteredBuiltinTitle = computed(() => {\n return filterEntries.value === 'directives'\n ? `${filtered.value.count.builtin} directives`\n : `${filtered.value.count.builtin} composables`\n})\nconst filteredLibTitle = computed(() => {\n return filterEntries.value === 'directives'\n ? `${filtered.value.count.lib} directives from ${filtered.value.lib.size} packages`\n : `${filtered.value.count.lib} composables from ${filtered.value.lib.size} packages`\n})\n</script>\n\n<template>\n <div v-if=\"config\" relative h-full of-auto>\n <NNavbar v-model:search=\"search\" pb3>\n <div v-if=\"importsMetadata\" flex=\"~ gap-2 items-center lt-sm:col lt-sm:items-start\">\n <NIcon icon=\"carbon-filter\" op50 />\n <NSelectTabs\n v-model=\"filterMode\"\n n=\"primary sm\"\n :options=\"[\n { label: 'All', value: 'all' },\n { label: 'Using', value: 'using' },\n { label: 'Not used', value: 'not-used' },\n ]\"\n />\n <NSelectTabs\n v-model=\"filterEntries\"\n n=\"primary sm\"\n :options=\"[\n { label: 'All', value: 'all' },\n { label: 'Composables', value: 'composables' },\n { label: 'Directives', value: 'directives' },\n ]\"\n />\n </div>\n </NNavbar>\n <NSectionBlock\n v-if=\"filtered.user.size\"\n :open=\"filtered.count.user <= DETAILS_MAX_ITEMS\"\n :icon=\"filterEntries === 'directives' ? 'tabler:hexagon-letter-d' : 'carbon-function'\"\n :text=\"`User ${filterEntries === 'directives' ? 'directives' : 'composables'}`\"\n :description=\"filteredUserCountTitle\"\n >\n <ComposableTree :map=\"filtered.user\" :root=\"config.rootDir\" :metadata=\"importsMetadata\" />\n </NSectionBlock>\n <NSectionBlock\n v-if=\"filtered.builtin.size\"\n :open=\"filtered.count.builtin <= DETAILS_MAX_ITEMS\"\n icon=\"simple-icons-nuxtdotjs\"\n :text=\"`Built-in ${filterEntries === 'directives' ? 'directives' : 'composables'}`\"\n :description=\"filteredBuiltinTitle\"\n >\n <ComposableTree :map=\"filtered.builtin\" :root=\"config.rootDir\" :metadata=\"importsMetadata\" />\n </NSectionBlock>\n <NSectionBlock\n v-if=\"filtered.lib.size\"\n :open=\"filtered.count.lib <= DETAILS_MAX_ITEMS\"\n icon=\"carbon-3d-mpr-toggle\"\n :text=\"`${filterEntries === 'directives' ? 'Directives' : 'Composables'} from libraries`\"\n :description=\"filteredLibTitle\"\n >\n <ComposableTree :map=\"filtered.lib\" :root=\"config.rootDir\" :metadata=\"importsMetadata\" />\n </NSectionBlock>\n </div>\n\n <HelpFab>\n <DocsImports />\n </HelpFab>\n</template>\n"],"version":3}
|
|
1
|
+
{"file":"imports-CY-qGueB.js","mappings":";;;;;;;;;;;;;;AAOA,IAAA,6DAA4B,8BAAiB;CAC3C,QAAQ;CACR,mBAAmB;CACnB,OAAO;EACL,KAAK,CAAC;EACN,MAAM,CAAC;EACP,UAAU,CAAC;CACb;CACA,MAAM,SAAc;EAItB,QAAQ,MAAU,OAAW,SAAa,WAAgB;GACxD,MAAM,0BAA0B;GAChC,MAAM,4BAA4B;GAElC,MAAM,OAAO,eAAgB,MAAM,EAAE,UAAU;GAC/C,cAAe,QAAQ,IAAI,QAAQ,IAAI,CAAC,KAAK,WAAW;IACtD,MAAM,OAAO;IACb,MAAM,mBAAoB,yBAAyB;KACjD,UAAU;KACV,MAAM;KACN,mBAAmB;IACrB,GAAG,MAAM,OAAO,CAAC;IACjB,MAAM,yCAAyC;IAC/C,cAAe,QAAQ,MAAM;KAC3B,MAAM,mBAAoB,2BAA2B;MACnD,KAAK,EAAE;MACP,MAAM;MACN,UAAU,QAAQ;MAClB,gBAAgB,EAAE,MAAM,iBAAiB;MACzC,UAAU,IAAI,MAAM,QAAQ,IAAI,KAAA,IAAY;KAC9C,GAAG,MAAM,OAAO,CAAC;IACnB,CAAC;IACD,MAAM,sBAAsB;GAC9B,CAAC;GACD,MAAM,gBAAgB;EACxB;CACA;AAEA,CAAC;;;;;;;;;;;;AExCD,IAAA,8DAA4B,8BAAiB;CAC3C,QAAQ;CACR,mBAAmB;CACnB,MAAM,SAAS;EAEjB,MAAM,UAAU,eAAe;EAE/B,QAAQ,MAAU,OAAW,SAAa,WAAgB;GACxD,MAAM,0BAA0B;GAEhC,IAAI,MAAO,OAAO,CAAC,EAAE,MAAM;IACzB,MAAM,OAAO,eAAgB,WAAY,EAAE,MAAM,0BAA0B,GAAG,MAAM,CAAC,EAAE,UAAU;IACjG,cAAe,MAAO,OAAO,CAAC,CAAC,OAAO,QAAQ;KAC5C,MAAM,mBAAoB,yBAAyB;MACjD,UAAU;MACV,gBAAgB;KAClB,GAAG,MAAM,OAAO,CAAC;IACnB,CAAC;IACD,MAAM,gBAAgB;GACxB,OACE,MAAM,SAAS;EAEnB;CACA;AAEA,CAAC;;;;;;;;;;;;AEvBD,IAAA,iEAA4B,8BAAiB;CAC3C,QAAQ;CACR,mBAAmB;CACnB,MAAM,SAAS;EAEjB,MAAM,SAAS,eAAe;EAE9B,MAAM,UAAU,eAAe;GAC7B,OAAO,CAAC,GAAG,IAAI,IAAI,OAAO,OAAO,QAAQ,KAAI,MAAK,sBAAsB,EAAE,IAAI,CAAC,CAAC,CAAC,QAAO,MAAK,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;EAClI,CAAC;EAED,QAAQ,MAAU,OAAW,SAAa,WAAgB;GACxD,MAAM,OAAO,eAAgB,WAAY;IACvC,MAAM;IACN,KAAK;GACP,GAAG,MAAM,CAAC,EAAE,UAAU;GACtB,cAAe,QAAQ,QAAQ,SAAS;IACtC,MAAM,uDAAuD,eAAgB,IAAI,EAAE,QAAQ;GAC7F,CAAC;GACD,MAAM,gBAAgB;EACxB;CACA;AAEA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AGnBD,IAAA,sDAA4B,8BAAiB;CAC3C,QAAQ;CACR,mBAAmB;CACnB,MAAM,SAAS;EAEjB,eAAe;GACb,MAAM;GACN,OAAO;GACP,OAAO;EACT,CAAC;EAED,MAAM,SAAS,gBAAgB;EAC/B,MAAM,aAAa,IAAkC,KAAK;EAC1D,MAAM,gBAAgB,IAA0C,KAAK;EAErE,MAAM,SAAS,IAAI,EAAE;EACrB,MAAM,cAAc,eAAe;EACnC,MAAM,kBAAkB,eAAe,YAAY,OAAO,QAAQ;EAElE,MAAM,YAAY,eAAe,YAAY,OAAO,QAAQ,QAAO,MAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE,KAAA,CAAM,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,KAChJ,CAAC,CAAC;EAEP,MAAM,OAAO,eAAe,IAAI,KAAK,UAAU,OAAO,EACpD,MAAM;GACJ;GACA;GACA;EACF,EACF,CAAC,CAAC;EAEF,MAAM,WAAW,eAAe;GAC9B,MAAM,uBAAO,IAAI,IAAsB;GACvC,MAAM,sBAAM,IAAI,IAAsB;GACtC,MAAM,0BAAU,IAAI,IAAsB;GAC1C,IAAI,SAAS,OAAO,QAChB,KAAK,MAAM,OAAO,OAAO,KAAK,CAAC,CAAC,KAAI,MAAK,EAAE,IAAI,IAC/C,UAAU;GAEd,MAAM,SAAS,cAAc;GAE7B,IAAI,WAAW,eACb,SAAS,OAAO,QAAO,MAAK,EAAE,EAAE,MAAM,iBAAiB,KAAK;QAEzD,IAAI,WAAW,cAClB,SAAS,OAAO,QAAO,MAAK,EAAE,MAAM,iBAAiB,IAAI;GAG3D,IAAI,WAAW,UAAU,WAAW,gBAAgB,OAClD,SAAS,OACN,QAAO,OAAM,EAAE,MAAM,EAAE,SAAS,gBAAgB,MAAO,kBAAkB;QAEzE,IAAI,WAAW,UAAU,cAAc,gBAAgB,OAC1D,SAAS,OACN,QAAO,MAAK,GAAG,EAAE,MAAM,EAAE,SAAS,gBAAgB,MAAO,mBAAmB;GAGjF,MAAM,QAAQ;IACZ,MAAM;IACN,KAAK;IACL,SAAS;GACX;GAEA,OACG,SAAS,MAAM;IACd,MAAM,MAAM,iBAAiB,EAAE,IAAI,IAC/B,gBAAgB,sBAAsB,EAAE,IAAI,CAAC,IAC3C,UACA,MACF;IACJ,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,GACjB,IAAI,IAAI,EAAE,MAAM,CAAC,CAAC;IACpB,IAAI,IAAI,EAAE,IAAI,CAAC,CAAE,KAAK,CAAC;IACvB,MAAM,QAAQ,OAAO,SAAS,QAAQ,MAAM,QAAQ,UAAU;GAChE,CAAC;GAEH,OAAO;IACL;IACA;IACA;IACA;GACF;EACF,CAAC;EAED,MAAM,yBAAyB,eAAe;GAC5C,OAAO,cAAc,UAAU,eAC3B,GAAG,SAAS,MAAM,MAAM,KAAK,mBAAmB,SAAS,MAAM,KAAK,KAAK,YACzE,GAAG,SAAS,MAAM,MAAM,KAAK,oBAAoB,SAAS,MAAM,KAAK,KAAK;EAChF,CAAC;EACD,MAAM,uBAAuB,eAAe;GAC1C,OAAO,cAAc,UAAU,eAC3B,GAAG,SAAS,MAAM,MAAM,QAAQ,eAChC,GAAG,SAAS,MAAM,MAAM,QAAQ;EACtC,CAAC;EACD,MAAM,mBAAmB,eAAe;GACtC,OAAO,cAAc,UAAU,eAC3B,GAAG,SAAS,MAAM,MAAM,IAAI,mBAAmB,SAAS,MAAM,IAAI,KAAK,aACvE,GAAG,SAAS,MAAM,MAAM,IAAI,oBAAoB,SAAS,MAAM,IAAI,KAAK;EAC9E,CAAC;EAED,QAAQ,MAAU,OAAW,SAAa,WAAgB;GACxD,MAAM,qBAAqB;GAC3B,MAAM,mBAAmB;GACzB,MAAM,yBAAyB;GAC/B,MAAM,2BAA2B;GACjC,MAAM,4BAA4B;GAClC,MAAM,qBAAqB;GAC3B,MAAM,yBAAyB;GAE/B,MAAM,UAAU;GAChB,IAAI,MAAO,MAAM,GAAG;IAClB,MAAM,+BAA+B;IACrC,MAAM,mBAAoB,oBAAoB;KAC5C,QAAQ,OAAO;KACf,oBAAoB,WAAiB,OAAS,QAAQ;KACtD,KAAK;IACP,GAAG;KACD,SAAS,SAAU,GAAG,OAAO,SAAS,aAAa;MACjD,IAAI,OAAO;OACT,IAAI,gBAAgB,OAAO;QACzB,MAAM,+DAA+D,SAAS,EAAE;QAChF,MAAM,mBAAoB,kBAAkB;SAC1C,MAAM;SACN,MAAM;QACR,GAAG,MAAM,SAAS,QAAQ,CAAC;QAC3B,MAAM,mBAAoB,wBAAwB;SAChD,YAAY,WAAW;SACvB,wBAAwB,WAAiB,WAAa,QAAQ;SAC9D,GAAG;SACH,SAAS;UACX;WAAE,OAAO;WAAO,OAAO;UAAM;UAC7B;WAAE,OAAO;WAAS,OAAO;UAAQ;UACjC;WAAE,OAAO;WAAY,OAAO;UAAW;SACzC;QACE,GAAG,MAAM,SAAS,QAAQ,CAAC;QAC3B,MAAM,mBAAoB,wBAAwB;SAChD,YAAY,cAAc;SAC1B,wBAAwB,WAAiB,cAAgB,QAAQ;SACjE,GAAG;SACH,SAAS;UACX;WAAE,OAAO;WAAO,OAAO;UAAM;UAC7B;WAAE,OAAO;WAAe,OAAO;UAAc;UAC7C;WAAE,OAAO;WAAc,OAAO;UAAa;SAC7C;QACE,GAAG,MAAM,SAAS,QAAQ,CAAC;QAC3B,MAAM,QAAQ;OAChB,OACE,MAAM,SAAS;MAEnB,OACE,OAAO,CACJ,gBAAgB,SACZ,UAAW,GAAG,YAAa,OAAO;OACjC,KAAK;OACL,MAAM;MACR,GAAG;OACD,YAAa,kBAAkB;QAC7B,MAAM;QACN,MAAM;OACR,CAAC;OACD,YAAa,wBAAwB;QACnC,YAAY,WAAW;QACvB,wBAAwB,WAAiB,WAAa,QAAQ;QAC9D,GAAG;QACH,SAAS;SACjB;UAAE,OAAO;UAAO,OAAO;SAAM;SAC7B;UAAE,OAAO;UAAS,OAAO;SAAQ;SACjC;UAAE,OAAO;UAAY,OAAO;SAAW;QACzC;OACQ,GAAG,MAAM,GAAG,CAAC,cAAc,qBAAqB,CAAC;OACjD,YAAa,wBAAwB;QACnC,YAAY,cAAc;QAC1B,wBAAwB,WAAiB,cAAgB,QAAQ;QACjE,GAAG;QACH,SAAS;SACjB;UAAE,OAAO;UAAO,OAAO;SAAM;SAC7B;UAAE,OAAO;UAAe,OAAO;SAAc;SAC7C;UAAE,OAAO;UAAc,OAAO;SAAa;QAC7C;OACQ,GAAG,MAAM,GAAG,CAAC,cAAc,qBAAqB,CAAC;MACnD,CAAC,KACD,mBAAoB,IAAI,IAAI,CAClC;KAEJ,CAAC;KACD,GAAG;IACL,GAAG,OAAO,CAAC;IACX,IAAI,SAAS,MAAM,KAAK,MACtB,MAAM,mBAAoB,0BAA0B;KAClD,MAAM,SAAS,MAAM,MAAM,QAAQ,MAAA,EAAwB;KAC3D,MAAM,cAAc,UAAU,eAAe,4BAA4B;KACzE,MAAM,QAAQ,cAAc,UAAU,eAAe,eAAe;KACpE,aAAa,uBAAuB;IACtC,GAAG;KACD,SAAS,SAAU,GAAG,OAAO,SAAS,aAAa;MACjD,IAAI,OACF,MAAM,mBAAoB,2BAA2B;OACnD,KAAK,SAAS,MAAM;OACpB,MAAM,MAAO,MAAM,CAAC,CAAC;OACrB,UAAU,gBAAgB;MAC5B,GAAG,MAAM,SAAS,QAAQ,CAAC;WAE3B,OAAO,CACL,YAAa,2BAA2B;OACtC,KAAK,SAAS,MAAM;OACpB,MAAM,MAAO,MAAM,CAAC,CAAC;OACrB,UAAU,gBAAgB;MAC5B,GAAG,MAAM,GAAG;OAAC;OAAO;OAAQ;MAAU,CAAC,CACzC;KAEJ,CAAC;KACD,GAAG;IACL,GAAG,OAAO,CAAC;SAEX,MAAM,SAAS;IAEjB,IAAI,SAAS,MAAM,QAAQ,MACzB,MAAM,mBAAoB,0BAA0B;KAClD,MAAM,SAAS,MAAM,MAAM,WAAW,MAAA,EAAwB;KAC9D,MAAM;KACN,MAAM,YAAY,cAAc,UAAU,eAAe,eAAe;KACxE,aAAa,qBAAqB;IACpC,GAAG;KACD,SAAS,SAAU,GAAG,OAAO,SAAS,aAAa;MACjD,IAAI,OACF,MAAM,mBAAoB,2BAA2B;OACnD,KAAK,SAAS,MAAM;OACpB,MAAM,MAAO,MAAM,CAAC,CAAC;OACrB,UAAU,gBAAgB;MAC5B,GAAG,MAAM,SAAS,QAAQ,CAAC;WAE3B,OAAO,CACL,YAAa,2BAA2B;OACtC,KAAK,SAAS,MAAM;OACpB,MAAM,MAAO,MAAM,CAAC,CAAC;OACrB,UAAU,gBAAgB;MAC5B,GAAG,MAAM,GAAG;OAAC;OAAO;OAAQ;MAAU,CAAC,CACzC;KAEJ,CAAC;KACD,GAAG;IACL,GAAG,OAAO,CAAC;SAEX,MAAM,SAAS;IAEjB,IAAI,SAAS,MAAM,IAAI,MACrB,MAAM,mBAAoB,0BAA0B;KAClD,MAAM,SAAS,MAAM,MAAM,OAAO,MAAA,EAAwB;KAC1D,MAAM;KACN,MAAM,GAAG,cAAc,UAAU,eAAe,eAAe,cAAc;KAC7E,aAAa,iBAAiB;IAChC,GAAG;KACD,SAAS,SAAU,GAAG,OAAO,SAAS,aAAa;MACjD,IAAI,OACF,MAAM,mBAAoB,2BAA2B;OACnD,KAAK,SAAS,MAAM;OACpB,MAAM,MAAO,MAAM,CAAC,CAAC;OACrB,UAAU,gBAAgB;MAC5B,GAAG,MAAM,SAAS,QAAQ,CAAC;WAE3B,OAAO,CACL,YAAa,2BAA2B;OACtC,KAAK,SAAS,MAAM;OACpB,MAAM,MAAO,MAAM,CAAC,CAAC;OACrB,UAAU,gBAAgB;MAC5B,GAAG,MAAM,GAAG;OAAC;OAAO;OAAQ;MAAU,CAAC,CACzC;KAEJ,CAAC;KACD,GAAG;IACL,GAAG,OAAO,CAAC;SAEX,MAAM,SAAS;IAEjB,MAAM,QAAQ;GAChB,OACE,MAAM,SAAS;GAEjB,MAAM,mBAAoB,oBAAoB,MAAM;IAClD,SAAS,SAAU,GAAG,OAAO,SAAS,aAAa;KACjD,IAAI,OACF,MAAM,mBAAoB,wBAAwB,MAAM,MAAM,SAAS,QAAQ,CAAC;UAEhF,OAAO,CACL,YAAa,sBAAsB,CACrC;IAEJ,CAAC;IACD,GAAG;GACL,GAAG,OAAO,CAAC;GACX,MAAM,UAAU;EAClB;CACA;AAEA,CAAC","names":[],"sources":["../../../../../../../../components/ComposableTree.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/ComposableTree.vue","../../../../../../../../components/help/HelpImportsDirs.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/help/HelpImportsDirs.vue","../../../../../../../../components/help/HelpImportsModules.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/help/HelpImportsModules.vue","../../../../../../../../components/docs/imports.md","../../../../../../../../pages/modules/imports.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../pages/modules/imports.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrRenderAttrs as _ssrRenderAttrs, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport type { Import, UnimportMeta } from 'unimport'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'ComposableTree',\n __ssrInlineRender: true,\n props: {\n map: {},\n root: {},\n metadata: {}\n },\n setup(__props: any) {\n\n\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_FilepathItem = _resolveComponent(\"FilepathItem\")!\n const _component_ComposableItem = _resolveComponent(\"ComposableItem\")!\n\n _push(`<div${_ssrRenderAttrs(_attrs)}><!--[-->`)\n _ssrRenderList(__props.map.entries(), ([key, value]) => {\n _push(`<div>`)\n _push(_ssrRenderComponent(_component_FilepathItem, {\n filepath: key,\n op50: \"\",\n \"hover:underline\": \"\"\n }, null, _parent))\n _push(`<div flex=\"~ wrap gap2\" p2 pl4><!--[-->`)\n _ssrRenderList(value, (i) => {\n _push(_ssrRenderComponent(_component_ComposableItem, {\n key: i.as,\n item: i,\n metadata: __props.metadata,\n \"is-directive\": i.meta?.vueDirective === true,\n filepath: key.match(/^[\\w@]/) ? undefined : key\n }, null, _parent))\n })\n _push(`<!--]--></div></div>`)\n })\n _push(`<!--]--></div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { Import, UnimportMeta } from 'unimport'\n\ndefineProps<{\n map: Map<string, Import[]>\n root: string\n metadata?: UnimportMeta\n}>()\n</script>\n\n<template>\n <div>\n <div v-for=\"[key, value] of map.entries()\" :key=\"key\">\n <FilepathItem :filepath=\"key\" op50 hover:underline />\n <div flex=\"~ wrap gap2\" p2 pl4>\n <ComposableItem\n v-for=\"i of value\" :key=\"i.as\"\n :item=\"i\"\n :metadata=\"metadata\"\n :is-directive=\"i.meta?.vueDirective === true\"\n :filepath=\"key.match(/^[\\w@]/) ? undefined : key\"\n />\n </div>\n </div>\n </div>\n</template>\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrRenderAttrs as _ssrRenderAttrs, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport { useAutoImports } from '~/composables/state'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'HelpImportsDirs',\n __ssrInlineRender: true,\n setup(__props) {\n\nconst imports = useAutoImports()\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_FilepathItem = _resolveComponent(\"FilepathItem\")!\n\n if (_unref(imports)?.dirs) {\n _push(`<div${_ssrRenderAttrs(_mergeProps({ flex: \"~ col gap-2 items-start\" }, _attrs))}><!--[-->`)\n _ssrRenderList(_unref(imports).dirs, (dir) => {\n _push(_ssrRenderComponent(_component_FilepathItem, {\n filepath: dir,\n \"text-primary\": \"\"\n }, null, _parent))\n })\n _push(`<!--]--></div>`)\n } else {\n _push(`<!---->`)\n }\n}\n}\n\n})","<script setup lang=\"ts\">\nimport { useAutoImports } from '~/composables/state'\n\nconst imports = useAutoImports()\n</script>\n\n<template>\n <div v-if=\"imports?.dirs\" flex=\"~ col gap-2 items-start\">\n <template v-for=\"dir of imports.dirs\" :key=\"dir\">\n <FilepathItem :filepath=\"dir\" text-primary />\n </template>\n </div>\n</template>\n","import { defineComponent as _defineComponent } from 'vue'\nimport { mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderAttrs as _ssrRenderAttrs, ssrInterpolate as _ssrInterpolate, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport { computed } from 'vue'\nimport { useAutoImports } from '~/composables/state'\nimport { getModuleNameFromPath, isBuiltInModule } from '~/composables/utils'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'HelpImportsModules',\n __ssrInlineRender: true,\n setup(__props) {\n\nconst config = useAutoImports()\n\nconst modules = computed(() => {\n return [...new Set(config.value?.imports.map(i => getModuleNameFromPath(i.from)).filter(x => Boolean(x) && !isBuiltInModule(x)))]\n})\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n _push(`<div${_ssrRenderAttrs(_mergeProps({\n flex: \"~ gap-2 wrap\",\n mb6: \"\"\n }, _attrs))}><!--[-->`)\n _ssrRenderList(modules.value, (name) => {\n _push(`<code rounded bg-primary:5 p=\"x2 y0.5\" text-primary>${_ssrInterpolate(name)}</code>`)\n })\n _push(`<!--]--></div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { useAutoImports } from '~/composables/state'\nimport { getModuleNameFromPath, isBuiltInModule } from '~/composables/utils'\n\nconst config = useAutoImports()\n\nconst modules = computed(() => {\n return [...new Set(config.value?.imports.map(i => getModuleNameFromPath(i.from)).filter(x => Boolean(x) && !isBuiltInModule(x)))]\n})\n</script>\n\n<template>\n <div flex=\"~ gap-2 wrap\" mb6>\n <code v-for=\"name of modules\" :key=\"name\" rounded bg-primary:5 p=\"x2 y0.5\" text-primary>\n {{ name }}\n </code>\n </div>\n</template>\n","# Auto imports\n\nNuxt auto-imports helper functions, composables and Vue APIs to be used across your application without explicitly importing them. Based on the directory structure, every Nuxt application can also use auto-imports for its own components, composables and plugins. Components, composables or plugins can use these functions.\n\n<hr>\n\nAccording to your config, exports of files under the following folders will be registed as auto-imports entry:\n\n<HelpImportsDirs />\n\nMeanwhile, modules could also provide auto-imports for their own components. You have auto-imports from the following modules as well:\n\n<HelpImportsModules />\n\n<hr>\n\n[Learn more in the documentation](https://nuxt.com/docs/guide/concepts/auto-imports)\n\n## Directives\n\nDirectives placed in the directives/ directory are automatically registered by Nuxt. They can be used in your templates without importing them.\n\n[Learn more in the documentation](https://nuxt.com/docs/guide/directory-structure/directives)\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent } from \"vue/server-renderer\"\n\nimport type { Import } from 'unimport'\nimport Fuse from 'fuse.js'\nimport { computed, ref } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { DETAILS_MAX_ITEMS } from '~/composables/constants'\nimport { useAutoImports, useServerConfig } from '~/composables/state'\nimport { getModuleNameFromPath, isBuiltInModule, isNodeModulePath } from '~/composables/utils'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'imports',\n __ssrInlineRender: true,\n setup(__props) {\n\ndefinePageMeta({\n icon: 'carbon-function',\n title: 'Imports',\n order: 4,\n})\n\nconst config = useServerConfig()\nconst filterMode = ref<'all' | 'using' | 'not-used'>('all')\nconst filterEntries = ref<'all' | 'composables' | 'directives'>('all')\n\nconst search = ref('')\nconst autoImports = useAutoImports()\nconst importsMetadata = computed(() => autoImports.value?.metadata)\n\nconst functions = computed(() => autoImports.value?.imports.filter(i => i.as || i.name).sort((a, b) => (a.as || a.name).localeCompare(b.as || b.name))\n || [])\n\nconst fuse = computed(() => new Fuse(functions.value, {\n keys: [\n 'from',\n 'as',\n 'name',\n ],\n}))\n\nconst filtered = computed(() => {\n const user = new Map<string, Import[]>()\n const lib = new Map<string, Import[]>()\n const builtin = new Map<string, Import[]>()\n let result = search.value\n ? fuse.value.search(search.value).map(i => i.item)\n : functions.value\n\n const filter = filterEntries.value\n\n if (filter === 'composables') {\n result = result.filter(i => !(i.meta?.vueDirective === true))\n }\n else if (filter === 'directives') {\n result = result.filter(i => i.meta?.vueDirective === true)\n }\n\n if (filterMode.value === 'using' && importsMetadata.value) {\n result = result\n .filter(i => (i.as || i.name) in importsMetadata.value!.injectionsUsageMap)\n }\n else if (filterMode.value === 'not-used' && importsMetadata.value) {\n result = result\n .filter(i => !((i.as || i.name) in importsMetadata.value!.injectionsUsageMap))\n }\n\n const count = {\n user: 0,\n lib: 0,\n builtin: 0,\n }\n\n result\n .forEach((i) => {\n const map = isNodeModulePath(i.from)\n ? isBuiltInModule(getModuleNameFromPath(i.from))\n ? builtin\n : lib\n : user\n if (!map.has(i.from))\n map.set(i.from, [])\n map.get(i.from)!.push(i)\n count[map === user ? 'user' : map === lib ? 'lib' : 'builtin']++\n })\n\n return {\n user,\n lib,\n builtin,\n count,\n }\n})\n\nconst filteredUserCountTitle = computed(() => {\n return filterEntries.value === 'directives'\n ? `${filtered.value.count.user} directives from ${filtered.value.user.size} modules`\n : `${filtered.value.count.user} composables from ${filtered.value.user.size} modules`\n})\nconst filteredBuiltinTitle = computed(() => {\n return filterEntries.value === 'directives'\n ? `${filtered.value.count.builtin} directives`\n : `${filtered.value.count.builtin} composables`\n})\nconst filteredLibTitle = computed(() => {\n return filterEntries.value === 'directives'\n ? `${filtered.value.count.lib} directives from ${filtered.value.lib.size} packages`\n : `${filtered.value.count.lib} composables from ${filtered.value.lib.size} packages`\n})\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NNavbar = _resolveComponent(\"NNavbar\")!\n const _component_NIcon = _resolveComponent(\"NIcon\")!\n const _component_NSelectTabs = _resolveComponent(\"NSelectTabs\")!\n const _component_NSectionBlock = _resolveComponent(\"NSectionBlock\")!\n const _component_ComposableTree = _resolveComponent(\"ComposableTree\")!\n const _component_HelpFab = _resolveComponent(\"HelpFab\")!\n const _component_DocsImports = _resolveComponent(\"DocsImports\")!\n\n _push(`<!--[-->`)\n if (_unref(config)) {\n _push(`<div relative h-full of-auto>`)\n _push(_ssrRenderComponent(_component_NNavbar, {\n search: search.value,\n \"onUpdate:search\": ($event: any) => ((search).value = $event),\n pb3: \"\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n if (importsMetadata.value) {\n _push(`<div flex=\"~ gap-2 items-center lt-sm:col lt-sm:items-start\"${_scopeId}>`)\n _push(_ssrRenderComponent(_component_NIcon, {\n icon: \"carbon-filter\",\n op50: \"\"\n }, null, _parent, _scopeId))\n _push(_ssrRenderComponent(_component_NSelectTabs, {\n modelValue: filterMode.value,\n \"onUpdate:modelValue\": ($event: any) => ((filterMode).value = $event),\n n: \"primary sm\",\n options: [\n { label: 'All', value: 'all' },\n { label: 'Using', value: 'using' },\n { label: 'Not used', value: 'not-used' },\n ]\n }, null, _parent, _scopeId))\n _push(_ssrRenderComponent(_component_NSelectTabs, {\n modelValue: filterEntries.value,\n \"onUpdate:modelValue\": ($event: any) => ((filterEntries).value = $event),\n n: \"primary sm\",\n options: [\n { label: 'All', value: 'all' },\n { label: 'Composables', value: 'composables' },\n { label: 'Directives', value: 'directives' },\n ]\n }, null, _parent, _scopeId))\n _push(`</div>`)\n } else {\n _push(`<!---->`)\n }\n } else {\n return [\n (importsMetadata.value)\n ? (_openBlock(), _createBlock(\"div\", {\n key: 0,\n flex: \"~ gap-2 items-center lt-sm:col lt-sm:items-start\"\n }, [\n _createVNode(_component_NIcon, {\n icon: \"carbon-filter\",\n op50: \"\"\n }),\n _createVNode(_component_NSelectTabs, {\n modelValue: filterMode.value,\n \"onUpdate:modelValue\": ($event: any) => ((filterMode).value = $event),\n n: \"primary sm\",\n options: [\n { label: 'All', value: 'all' },\n { label: 'Using', value: 'using' },\n { label: 'Not used', value: 'not-used' },\n ]\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\"]),\n _createVNode(_component_NSelectTabs, {\n modelValue: filterEntries.value,\n \"onUpdate:modelValue\": ($event: any) => ((filterEntries).value = $event),\n n: \"primary sm\",\n options: [\n { label: 'All', value: 'all' },\n { label: 'Composables', value: 'composables' },\n { label: 'Directives', value: 'directives' },\n ]\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\"])\n ]))\n : _createCommentVNode(\"\", true)\n ]\n }\n }),\n _: 1\n }, _parent))\n if (filtered.value.user.size) {\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n open: filtered.value.count.user <= _unref(DETAILS_MAX_ITEMS),\n icon: filterEntries.value === 'directives' ? 'tabler:hexagon-letter-d' : 'carbon-function',\n text: `User ${filterEntries.value === 'directives' ? 'directives' : 'composables'}`,\n description: filteredUserCountTitle.value\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_ComposableTree, {\n map: filtered.value.user,\n root: _unref(config).rootDir,\n metadata: importsMetadata.value\n }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_ComposableTree, {\n map: filtered.value.user,\n root: _unref(config).rootDir,\n metadata: importsMetadata.value\n }, null, 8, [\"map\", \"root\", \"metadata\"])\n ]\n }\n }),\n _: 1\n }, _parent))\n } else {\n _push(`<!---->`)\n }\n if (filtered.value.builtin.size) {\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n open: filtered.value.count.builtin <= _unref(DETAILS_MAX_ITEMS),\n icon: \"simple-icons-nuxtdotjs\",\n text: `Built-in ${filterEntries.value === 'directives' ? 'directives' : 'composables'}`,\n description: filteredBuiltinTitle.value\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_ComposableTree, {\n map: filtered.value.builtin,\n root: _unref(config).rootDir,\n metadata: importsMetadata.value\n }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_ComposableTree, {\n map: filtered.value.builtin,\n root: _unref(config).rootDir,\n metadata: importsMetadata.value\n }, null, 8, [\"map\", \"root\", \"metadata\"])\n ]\n }\n }),\n _: 1\n }, _parent))\n } else {\n _push(`<!---->`)\n }\n if (filtered.value.lib.size) {\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n open: filtered.value.count.lib <= _unref(DETAILS_MAX_ITEMS),\n icon: \"carbon-3d-mpr-toggle\",\n text: `${filterEntries.value === 'directives' ? 'Directives' : 'Composables'} from libraries`,\n description: filteredLibTitle.value\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_ComposableTree, {\n map: filtered.value.lib,\n root: _unref(config).rootDir,\n metadata: importsMetadata.value\n }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_ComposableTree, {\n map: filtered.value.lib,\n root: _unref(config).rootDir,\n metadata: importsMetadata.value\n }, null, 8, [\"map\", \"root\", \"metadata\"])\n ]\n }\n }),\n _: 1\n }, _parent))\n } else {\n _push(`<!---->`)\n }\n _push(`</div>`)\n } else {\n _push(`<!---->`)\n }\n _push(_ssrRenderComponent(_component_HelpFab, null, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_DocsImports, null, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_DocsImports)\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(`<!--]-->`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { Import } from 'unimport'\nimport Fuse from 'fuse.js'\nimport { computed, ref } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { DETAILS_MAX_ITEMS } from '~/composables/constants'\nimport { useAutoImports, useServerConfig } from '~/composables/state'\nimport { getModuleNameFromPath, isBuiltInModule, isNodeModulePath } from '~/composables/utils'\n\ndefinePageMeta({\n icon: 'carbon-function',\n title: 'Imports',\n order: 4,\n})\n\nconst config = useServerConfig()\nconst filterMode = ref<'all' | 'using' | 'not-used'>('all')\nconst filterEntries = ref<'all' | 'composables' | 'directives'>('all')\n\nconst search = ref('')\nconst autoImports = useAutoImports()\nconst importsMetadata = computed(() => autoImports.value?.metadata)\n\nconst functions = computed(() => autoImports.value?.imports.filter(i => i.as || i.name).sort((a, b) => (a.as || a.name).localeCompare(b.as || b.name))\n || [])\n\nconst fuse = computed(() => new Fuse(functions.value, {\n keys: [\n 'from',\n 'as',\n 'name',\n ],\n}))\n\nconst filtered = computed(() => {\n const user = new Map<string, Import[]>()\n const lib = new Map<string, Import[]>()\n const builtin = new Map<string, Import[]>()\n let result = search.value\n ? fuse.value.search(search.value).map(i => i.item)\n : functions.value\n\n const filter = filterEntries.value\n\n if (filter === 'composables') {\n result = result.filter(i => !(i.meta?.vueDirective === true))\n }\n else if (filter === 'directives') {\n result = result.filter(i => i.meta?.vueDirective === true)\n }\n\n if (filterMode.value === 'using' && importsMetadata.value) {\n result = result\n .filter(i => (i.as || i.name) in importsMetadata.value!.injectionsUsageMap)\n }\n else if (filterMode.value === 'not-used' && importsMetadata.value) {\n result = result\n .filter(i => !((i.as || i.name) in importsMetadata.value!.injectionsUsageMap))\n }\n\n const count = {\n user: 0,\n lib: 0,\n builtin: 0,\n }\n\n result\n .forEach((i) => {\n const map = isNodeModulePath(i.from)\n ? isBuiltInModule(getModuleNameFromPath(i.from))\n ? builtin\n : lib\n : user\n if (!map.has(i.from))\n map.set(i.from, [])\n map.get(i.from)!.push(i)\n count[map === user ? 'user' : map === lib ? 'lib' : 'builtin']++\n })\n\n return {\n user,\n lib,\n builtin,\n count,\n }\n})\n\nconst filteredUserCountTitle = computed(() => {\n return filterEntries.value === 'directives'\n ? `${filtered.value.count.user} directives from ${filtered.value.user.size} modules`\n : `${filtered.value.count.user} composables from ${filtered.value.user.size} modules`\n})\nconst filteredBuiltinTitle = computed(() => {\n return filterEntries.value === 'directives'\n ? `${filtered.value.count.builtin} directives`\n : `${filtered.value.count.builtin} composables`\n})\nconst filteredLibTitle = computed(() => {\n return filterEntries.value === 'directives'\n ? `${filtered.value.count.lib} directives from ${filtered.value.lib.size} packages`\n : `${filtered.value.count.lib} composables from ${filtered.value.lib.size} packages`\n})\n</script>\n\n<template>\n <div v-if=\"config\" relative h-full of-auto>\n <NNavbar v-model:search=\"search\" pb3>\n <div v-if=\"importsMetadata\" flex=\"~ gap-2 items-center lt-sm:col lt-sm:items-start\">\n <NIcon icon=\"carbon-filter\" op50 />\n <NSelectTabs\n v-model=\"filterMode\"\n n=\"primary sm\"\n :options=\"[\n { label: 'All', value: 'all' },\n { label: 'Using', value: 'using' },\n { label: 'Not used', value: 'not-used' },\n ]\"\n />\n <NSelectTabs\n v-model=\"filterEntries\"\n n=\"primary sm\"\n :options=\"[\n { label: 'All', value: 'all' },\n { label: 'Composables', value: 'composables' },\n { label: 'Directives', value: 'directives' },\n ]\"\n />\n </div>\n </NNavbar>\n <NSectionBlock\n v-if=\"filtered.user.size\"\n :open=\"filtered.count.user <= DETAILS_MAX_ITEMS\"\n :icon=\"filterEntries === 'directives' ? 'tabler:hexagon-letter-d' : 'carbon-function'\"\n :text=\"`User ${filterEntries === 'directives' ? 'directives' : 'composables'}`\"\n :description=\"filteredUserCountTitle\"\n >\n <ComposableTree :map=\"filtered.user\" :root=\"config.rootDir\" :metadata=\"importsMetadata\" />\n </NSectionBlock>\n <NSectionBlock\n v-if=\"filtered.builtin.size\"\n :open=\"filtered.count.builtin <= DETAILS_MAX_ITEMS\"\n icon=\"simple-icons-nuxtdotjs\"\n :text=\"`Built-in ${filterEntries === 'directives' ? 'directives' : 'composables'}`\"\n :description=\"filteredBuiltinTitle\"\n >\n <ComposableTree :map=\"filtered.builtin\" :root=\"config.rootDir\" :metadata=\"importsMetadata\" />\n </NSectionBlock>\n <NSectionBlock\n v-if=\"filtered.lib.size\"\n :open=\"filtered.count.lib <= DETAILS_MAX_ITEMS\"\n icon=\"carbon-3d-mpr-toggle\"\n :text=\"`${filterEntries === 'directives' ? 'Directives' : 'Composables'} from libraries`\"\n :description=\"filteredLibTitle\"\n >\n <ComposableTree :map=\"filtered.lib\" :root=\"config.rootDir\" :metadata=\"importsMetadata\" />\n </NSectionBlock>\n </div>\n\n <HelpFab>\n <DocsImports />\n </HelpFab>\n</template>\n"],"version":3}
|