UNPKG

@azure/msal-browser

Version:
74 lines (66 loc) 2.16 kB
/* * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. */ import { AuthFlowResultBase } from "../../../core/auth_flow/AuthFlowResultBase.js"; import { CustomAuthAccountData } from "../CustomAuthAccountData.js"; import { GetAccountError } from "../error_type/GetAccountError.js"; import { GetAccountCompletedState, GetAccountFailedState, } from "../state/GetAccountState.js"; import { GET_ACCOUNT_COMPLETED_STATE_TYPE, GET_ACCOUNT_FAILED_STATE_TYPE, } from "../../../core/auth_flow/AuthFlowStateTypes.js"; /* * Result of getting an account. */ export class GetAccountResult extends AuthFlowResultBase< GetAccountResultState, GetAccountError, CustomAuthAccountData > { /** * Creates a new instance of GetAccountResult. * @param resultData The result data. */ constructor(resultData?: CustomAuthAccountData) { super(new GetAccountCompletedState(), resultData); } /** * Creates a new instance of GetAccountResult with an error. * @param error The error data. */ static createWithError(error: unknown): GetAccountResult { const result = new GetAccountResult(); result.error = new GetAccountError( GetAccountResult.createErrorData(error) ); result.state = new GetAccountFailedState(); return result; } /** * Checks if the result is in a completed state. */ isCompleted(): this is GetAccountResult & { state: GetAccountCompletedState; } { return this.state.stateType === GET_ACCOUNT_COMPLETED_STATE_TYPE; } /** * Checks if the result is in a failed state. */ isFailed(): this is GetAccountResult & { state: GetAccountFailedState } { return this.state.stateType === GET_ACCOUNT_FAILED_STATE_TYPE; } } /** * The possible states for the GetAccountResult. * This includes: * - GetAccountCompletedState: The account was successfully retrieved. * - GetAccountFailedState: The account retrieval failed. */ export type GetAccountResultState = | GetAccountCompletedState | GetAccountFailedState;