UNPKG

vuestic-ui

Version:
1 lines 793 B
{"version":3,"file":"useClientOnly.mjs","sources":["../../../../src/composables/useClientOnly.ts"],"sourcesContent":["import { computed, ref, UnwrapRef, watch } from 'vue'\nimport { isClient } from '../utils/ssr'\n\n/** Returns cb result only on client. Returns null on server */\nexport const useClientOnly = <T>(cb: () => T) => {\n const isMounted = computed(isClient)\n const result = ref<T | null>(null)\n\n watch(isMounted, () => {\n if (isMounted.value) {\n result.value = cb() as UnwrapRef<T>\n }\n }, { immediate: true })\n\n return result\n}\n"],"names":[],"mappings":";;AAIa,MAAA,gBAAgB,CAAI,OAAgB;AACzC,QAAA,YAAY,SAAS,QAAQ;AAC7B,QAAA,SAAS,IAAc,IAAI;AAEjC,QAAM,WAAW,MAAM;AACrB,QAAI,UAAU,OAAO;AACnB,aAAO,QAAQ;IACjB;AAAA,EAAA,GACC,EAAE,WAAW,KAAA,CAAM;AAEf,SAAA;AACT;"}