/*! @azure/msal-common v14.4.0 2023-11-07 */ 'use strict'; import { createClientAuthError } from '../error/ClientAuthError.mjs'; import { Separators, Constants } from '../utils/Constants.mjs'; import { clientInfoEmptyError, clientInfoDecodingError } from '../error/ClientAuthErrorCodes.mjs'; /* * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. */ /** * Function to build a client info object from server clientInfo string * @param rawClientInfo * @param crypto */ function buildClientInfo(rawClientInfo, crypto) { if (!rawClientInfo) { throw createClientAuthError(clientInfoEmptyError); } try { const decodedClientInfo = crypto.base64Decode(rawClientInfo); return JSON.parse(decodedClientInfo); } catch (e) { throw createClientAuthError(clientInfoDecodingError); } } /** * Function to build a client info object from cached homeAccountId string * @param homeAccountId */ function buildClientInfoFromHomeAccountId(homeAccountId) { if (!homeAccountId) { throw createClientAuthError(clientInfoDecodingError); } const clientInfoParts = homeAccountId.split(Separators.CLIENT_INFO_SEPARATOR, 2); return { uid: clientInfoParts[0], utid: clientInfoParts.length < 2 ? Constants.EMPTY_STRING : clientInfoParts[1], }; } export { buildClientInfo, buildClientInfoFromHomeAccountId }; //# sourceMappingURL=ClientInfo.mjs.map