{"version":3,"file":"auth.ad7d8777.js","sources":["../../../../composables/auth.ts"],"sourcesContent":["import * as auth0 from '@auth0/auth0-vue';\nimport { unref, watchEffect } from 'vue';\n\nfunction watchEffectOnceAsync(watcher: () => T) {\n return new Promise((resolve) => {\n watchEffectOnce(watcher, resolve);\n });\n}\n\n/**\n * @ignore\n * Run watchEffect untill the watcher returns true, then stop the watch.\n * Once it returns true, it will call the provided function.\n */\nfunction watchEffectOnce(watcher: () => T, fn: Function) {\n const stopWatch = watchEffect(() => {\n if (watcher()) {\n fn();\n stopWatch();\n }\n });\n}\n\nexport const useAuth = () => {\n const auth = auth0.useAuth0();\n\n const guardHandler = async () => {\n const fn = async () => {\n if (unref(auth.isAuthenticated)) {\n return true;\n }\n return false;\n };\n if (!unref(auth.isLoading)) {\n return fn();\n }\n await watchEffectOnceAsync(() => !unref(auth.isLoading));\n return fn();\n };\n\n return {\n auth,\n guardHandler,\n };\n};\n"],"names":["watchEffectOnceAsync","watcher","resolve","watchEffectOnce","fn","stopWatch","watchEffect","useAuth","auth","auth0.useAuth0","unref"],"mappings":"sDAGA,SAASA,EAAwBC,EAAkB,CAC1C,OAAA,IAAI,QAAeC,GAAY,CACpCC,EAAgBF,EAASC,CAAO,CAAA,CACjC,CACH,CAOA,SAASC,EAAmBF,EAAkBG,EAAc,CACpD,MAAAC,EAAYC,EAAY,IAAM,CAC9BL,MACCG,IACOC,IACZ,CACD,CACH,CAEO,MAAME,EAAU,IAAM,CACrB,MAAAC,EAAOC,IAgBN,MAAA,CACL,KAAAD,EACA,aAhBmB,SAAY,CAC/B,MAAMJ,EAAK,SACL,EAAAM,EAAMF,EAAK,eAAe,EAKhC,OAAKE,EAAMF,EAAK,SAAS,GAGzB,MAAMR,EAAqB,IAAM,CAACU,EAAMF,EAAK,SAAS,CAAC,EAChDJ,EAAG,CAAA,CAKV,CAEJ"}