{"version":3,"file":"index.cjs","sources":["../../../src/auth/decodeGoogleIdToken.ts","../../../src/auth/email-utils.ts"],"sourcesContent":["import { OAuth2Client, type TokenPayload } from 'google-auth-library';\n\nexport type GoogleIdTokenPayloadType = TokenPayload & {\n  email: string;\n};\n\n/**\n * Verifies a Google ID token and returns the email address if the token is valid and the email is authorized.\n * @param googleClientId - The client ID of the Google application.\n * @param idToken - The ID token to verify.\n * @returns The email address if the token is valid and the email is authorized, or null if not.\n */\nexport async function decodeGoogleIdToken(googleClientId: string, idToken: string): Promise<GoogleIdTokenPayloadType> {\n  const oauth2Client = new OAuth2Client(googleClientId);\n\n  const ticket = await oauth2Client.verifyIdToken({\n    audience: googleClientId,\n    idToken: idToken.trim(),\n  });\n  const payload = ticket.getPayload();\n\n  if (!payload) {\n    throw new Error('Invalid token', {\n      cause: 'INVALID_GOOGLE_ID_TOKEN',\n    });\n  }\n\n  return payload as GoogleIdTokenPayloadType;\n}\n","interface ParsedEmailAddressType {\n  originalValue: string;\n  username: string;\n  domain: string;\n  isValid: boolean;\n}\n\nconst emailRegex = /^[a-zA-Z0-9._%+-]+@([a-zA-Z0-9.-]+\\.[a-zA-Z]{2,})$/;\n\nexport function parseEmailAddress(email: string): ParsedEmailAddressType {\n  // Normalize the email to lowercase\n  email = email?.toLowerCase() ?? '';\n\n  const isValid = emailRegex.test(email);\n  if (!isValid) {\n    return {\n      originalValue: email,\n      username: '',\n      domain: '',\n      isValid: false,\n    };\n  }\n\n  const [username, domain] = email.split('@');\n\n  return {\n    originalValue: email,\n    username,\n    domain,\n    isValid: true,\n  };\n}\n"],"names":["OAuth2Client"],"mappings":";;;;AAMA;;;;;AAKG;AACI,eAAe,mBAAmB,CAAC,cAAsB,EAAE,OAAe,EAAA;AAC/E,IAAA,MAAM,YAAY,GAAG,IAAIA,8BAAY,CAAC,cAAc,CAAC;AAErD,IAAA,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC;AAC9C,QAAA,QAAQ,EAAE,cAAc;AACxB,QAAA,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;AACxB,KAAA,CAAC;AACF,IAAA,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE;IAEnC,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,MAAM,IAAI,KAAK,CAAC,eAAe,EAAE;AAC/B,YAAA,KAAK,EAAE,yBAAyB;AACjC,SAAA,CAAC;;AAGJ,IAAA,OAAO,OAAmC;AAC5C;;ACrBA,MAAM,UAAU,GAAG,oDAAoD;AAEjE,SAAU,iBAAiB,CAAC,KAAa,EAAA;;AAE7C,IAAA,KAAK,GAAG,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE;IAElC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;IACtC,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO;AACL,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,OAAO,EAAE,KAAK;SACf;;AAGH,IAAA,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;IAE3C,OAAO;AACL,QAAA,aAAa,EAAE,KAAK;QACpB,QAAQ;QACR,MAAM;AACN,QAAA,OAAO,EAAE,IAAI;KACd;AACH;;;;;"}