@cloudcome/utils-vue
Version:
cloudcome utils for vue
1 lines • 1.26 kB
Source Map (JSON)
{"version":3,"file":"page.cjs","sources":["../src/page.ts"],"sourcesContent":["import type { MaybePromise } from '@cloudcome/utils-core/types';\nimport { onBeforeMount as onBeforeMountHook, onBeforeUnmount, onMounted as onMountedHook, onUnmounted } from 'vue';\n\nexport type HookListener = () => MaybePromise<unknown>;\nexport type HookListenerWithDispose = () => MaybePromise<undefined | HookListener>;\n\nexport function usePageMount(onBeforeMount: HookListenerWithDispose) {\n let un: HookListener | undefined;\n\n onBeforeMountHook(async () => {\n un = await onBeforeMount();\n });\n\n onBeforeUnmount(() => {\n un?.();\n });\n}\n\nexport function usePageMounted(onMounted: HookListenerWithDispose) {\n let un: HookListener | undefined;\n\n onMountedHook(async () => {\n un = await onMounted();\n });\n\n onUnmounted(() => {\n un?.();\n });\n}\n"],"names":["onBeforeMountHook","onBeforeUnmount","onMountedHook","onUnmounted"],"mappings":";;;AAMO,SAAS,aAAa,eAAwC;AAC/D,MAAA;AAEJA,MAAAA,cAAkB,YAAY;AAC5B,SAAK,MAAM,cAAc;AAAA,EAAA,CAC1B;AAEDC,MAAAA,gBAAgB,MAAM;AACf,SAAA;AAAA,EAAA,CACN;AACH;AAEO,SAAS,eAAe,WAAoC;AAC7D,MAAA;AAEJC,MAAAA,UAAc,YAAY;AACxB,SAAK,MAAM,UAAU;AAAA,EAAA,CACtB;AAEDC,MAAAA,YAAY,MAAM;AACX,SAAA;AAAA,EAAA,CACN;AACH;;;"}