public async waitForLogin()

in src/login/AzureAccountExtensionApi.ts [44:66]


	public async waitForLogin(isLegacyApi?: boolean): Promise<boolean> {
		return await callWithTelemetryAndErrorHandling('waitForLogin', (context: IActionContext) => {
			context.telemetry.properties.isLegacyApi = String(!!isLegacyApi);

			switch (this.status) {
				case 'LoggedIn':
					return true;
				case 'LoggedOut':
					return false;
				case 'Initializing':
				case 'LoggingIn':
					return new Promise<boolean>(resolve => {
						const subscription: Disposable = this.onStatusChanged(() => {
							subscription.dispose();
							resolve(this.waitForLogin());
						});
					});
				default:
					const status: never = this.status;
					throw new Error(`Unexpected status '${status}'`);
			}
		}) || false;
	}