UNPKG

@web3auth/no-modal

Version:
51 lines (48 loc) 1.36 kB
import { ref, watch } from 'vue'; import { useWeb3AuthInner } from './useWeb3AuthInner.js'; import { WalletInitializationError } from '../../base/errors/index.js'; import { log } from '../../base/loglevel.js'; const useIdentityToken = () => { const { web3Auth, isAuthorized } = useWeb3AuthInner(); const loading = ref(false); const error = ref(null); const token = ref(null); const getIdentityToken = async () => { try { if (!web3Auth.value) throw WalletInitializationError.notReady(); error.value = null; loading.value = true; const result = await web3Auth.value.getIdentityToken(); if (result !== null && result !== void 0 && result.idToken) { token.value = result.idToken; } return result === null || result === void 0 ? void 0 : result.idToken; } catch (err) { log.error("Error getting identity token", err); error.value = err; } finally { loading.value = false; } }; watch(isAuthorized, newIsAuthorized => { if (!web3Auth.value) return; if (!newIsAuthorized && token.value) { token.value = null; } if (newIsAuthorized && !token.value) { token.value = web3Auth.value.idToken; } }, { immediate: true }); return { loading, error, token, getIdentityToken }; }; export { useIdentityToken };