Skip to content

Export public types from auth-exp #4362

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jan 29, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 109 additions & 1 deletion common/api-review/auth-exp.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,57 @@

```ts

import { ActionCodeInfo } from '@firebase/auth-types-exp';
import { ActionCodeOperation } from '@firebase/auth-types-exp';
import { ActionCodeSettings } from '@firebase/auth-types-exp';
import { AdditionalUserInfo } from '@firebase/auth-types-exp';
import { ApplicationVerifier } from '@firebase/auth-types-exp';
import { Auth } from '@firebase/auth-types-exp';
import { AuthError } from '@firebase/auth-types-exp';
import { AuthErrorMap } from '@firebase/auth-types-exp';
import { AuthProvider } from '@firebase/auth-types-exp';
import { AuthSettings } from '@firebase/auth-types-exp';
import { CompleteFn } from '@firebase/util';
import { Config } from '@firebase/auth-types-exp';
import { ConfirmationResult } from '@firebase/auth-types-exp';
import { ErrorFactory } from '@firebase/util';
import { ErrorFn } from '@firebase/util';
import * as externs from '@firebase/auth-types-exp';
import { FactorId } from '@firebase/auth-types-exp';
import { FirebaseApp } from '@firebase/app-types-exp';
import { FirebaseError } from '@firebase/util';
import { IdTokenResult } from '@firebase/auth-types-exp';
import { MultiFactorAssertion } from '@firebase/auth-types-exp';
import { MultiFactorError } from '@firebase/auth-types-exp';
import { MultiFactorInfo } from '@firebase/auth-types-exp';
import { MultiFactorResolver } from '@firebase/auth-types-exp';
import { MultiFactorSession } from '@firebase/auth-types-exp';
import { MultiFactorUser } from '@firebase/auth-types-exp';
import { NextFn } from '@firebase/util';
import { OperationType } from '@firebase/auth-types-exp';
import { ParsedToken } from '@firebase/auth-types-exp';
import { Persistence } from '@firebase/auth-types-exp';
import { PhoneInfoOptions } from '@firebase/auth-types-exp';
import { PhoneMultiFactorAssertion } from '@firebase/auth-types-exp';
import { PhoneMultiFactorEnrollInfoOptions } from '@firebase/auth-types-exp';
import { PhoneMultiFactorSignInInfoOptions } from '@firebase/auth-types-exp';
import { PhoneSingleFactorInfoOptions } from '@firebase/auth-types-exp';
import { PopupRedirectResolver } from '@firebase/auth-types-exp';
import { ProviderId } from '@firebase/auth-types-exp';
import { ReactNativeAsyncStorage } from '@firebase/auth-types-exp';
import { SignInMethod } from '@firebase/auth-types-exp';
import { Unsubscribe } from '@firebase/util';
import { User } from '@firebase/auth-types-exp';
import { UserCredential } from '@firebase/auth-types-exp';
import { UserInfo } from '@firebase/auth-types-exp';
import { UserMetadata } from '@firebase/auth-types-exp';
import { UserProfile } from '@firebase/auth-types-exp';

export { ActionCodeInfo }

export { ActionCodeOperation }

export { ActionCodeSettings }

// @public (undocumented)
export class ActionCodeURL implements externs.ActionCodeURL {
Expand All @@ -36,9 +76,15 @@ export class ActionCodeURL implements externs.ActionCodeURL {
readonly tenantId: string | null;
}

export { AdditionalUserInfo }

export { ApplicationVerifier }

// @public
export function applyActionCode(auth: externs.Auth, oobCode: string): Promise<void>;

export { Auth }

// @public (undocumented)
export class AuthCredential {
// @internal
Expand All @@ -62,6 +108,14 @@ export class AuthCredential {
toJSON(): object;
}

export { AuthError }

export { AuthErrorMap }

export { AuthProvider }

export { AuthSettings }

// @public
export const browserLocalPersistence: externs.Persistence;

Expand All @@ -74,6 +128,10 @@ export const browserSessionPersistence: externs.Persistence;
// @public
export function checkActionCode(auth: externs.Auth, oobCode: string): Promise<externs.ActionCodeInfo>;

export { Config }

export { ConfirmationResult }

// @public
export function confirmPasswordReset(auth: externs.Auth, oobCode: string, newPassword: string): Promise<void>;

Expand Down Expand Up @@ -139,6 +197,8 @@ export class FacebookAuthProvider extends OAuthProvider {
static readonly PROVIDER_ID = externs.ProviderId.FACEBOOK;
}

export { FactorId }

// @public
export function fetchSignInMethodsForEmail(auth: externs.Auth, email: string): Promise<string[]>;

Expand Down Expand Up @@ -180,6 +240,8 @@ export class GoogleAuthProvider extends OAuthProvider {
static readonly PROVIDER_ID = externs.ProviderId.GOOGLE;
}

export { IdTokenResult }

// @public
export const indexedDBLocalPersistence: externs.Persistence;

Expand Down Expand Up @@ -209,6 +271,18 @@ export function linkWithRedirect(user: externs.User, provider: externs.AuthProvi
// @public
export function multiFactor(user: externs.User): externs.MultiFactorUser;

export { MultiFactorAssertion }

export { MultiFactorError }

export { MultiFactorInfo }

export { MultiFactorResolver }

export { MultiFactorSession }

export { MultiFactorUser }

// @public (undocumented)
export class OAuthCredential extends AuthCredential implements externs.OAuthCredential {
// (undocumented)
Expand Down Expand Up @@ -267,9 +341,15 @@ export function onAuthStateChanged(auth: externs.Auth, nextOrObserver: externs.N
// @public
export function onIdTokenChanged(auth: externs.Auth, nextOrObserver: externs.NextOrObserver<externs.User>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;

export { OperationType }

// @public (undocumented)
export function parseActionCodeURL(link: string): externs.ActionCodeURL | null;

export { ParsedToken }

export { Persistence }

// @public (undocumented)
export class PhoneAuthCredential extends AuthCredential implements externs.PhoneAuthCredential {
// (undocumented)
Expand Down Expand Up @@ -309,15 +389,31 @@ export class PhoneAuthProvider implements externs.PhoneAuthProvider {
verifyPhoneNumber(phoneOptions: externs.PhoneInfoOptions | string, applicationVerifier: externs.ApplicationVerifier): Promise<string>;
}

export { PhoneInfoOptions }

export { PhoneMultiFactorAssertion }

export { PhoneMultiFactorEnrollInfoOptions }

// @public (undocumented)
export class PhoneMultiFactorGenerator implements externs.PhoneMultiFactorGenerator {
// (undocumented)
static assertion(credential: externs.PhoneAuthCredential): externs.PhoneMultiFactorAssertion;
}

export { PhoneMultiFactorSignInInfoOptions }

export { PhoneSingleFactorInfoOptions }

export { PopupRedirectResolver }

// @public
export const prodErrorMap: externs.AuthErrorMap;

export { ProviderId }

export { ReactNativeAsyncStorage }

// @public
export function reauthenticateWithCredential(user: externs.User, credential: externs.AuthCredential): Promise<externs.UserCredential>;

Expand All @@ -333,7 +429,7 @@ export function reauthenticateWithRedirect(user: externs.User, provider: externs
// Warning: (ae-forgotten-export) The symbol "ApplicationVerifier" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
export class RecaptchaVerifier implements externs.RecaptchaVerifier, ApplicationVerifier {
export class RecaptchaVerifier implements externs.RecaptchaVerifier, ApplicationVerifier_2 {
// Warning: (ae-forgotten-export) The symbol "Parameters" needs to be exported by the entry point index.d.ts
constructor(containerOrId: HTMLElement | string, parameters: Parameters_2, authExtern: externs.Auth);
// (undocumented)
Expand Down Expand Up @@ -370,6 +466,8 @@ export function setPersistence(auth: externs.Auth, persistence: externs.Persiste
// @public
export function signInAnonymously(auth: externs.Auth): Promise<externs.UserCredential>;

export { SignInMethod }

// @public
export function signInWithCredential(auth: externs.Auth, credential: externs.AuthCredential): Promise<externs.UserCredential>;

Expand Down Expand Up @@ -429,6 +527,16 @@ export function updateProfile(user: externs.User, { displayName, photoURL: photo
// @public
export function useDeviceLanguage(auth: externs.Auth): void;

export { User }

export { UserCredential }

export { UserInfo }

export { UserMetadata }

export { UserProfile }

// @public
export function verifyBeforeUpdateEmail(user: externs.User, newEmail: string, actionCodeSettings?: externs.ActionCodeSettings | null): Promise<void>;

Expand Down
86 changes: 85 additions & 1 deletion packages-exp/auth-exp/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
*/

import { FirebaseApp } from '@firebase/app-types-exp';
import { Auth } from '@firebase/auth-types-exp';

import { initializeAuth } from './src';
import { registerAuth } from './src/core/auth/register';
Expand All @@ -25,6 +24,91 @@ import { browserLocalPersistence } from './src/platform_browser/persistence/loca
import { indexedDBLocalPersistence } from './src/platform_browser/persistence/indexed_db';
import { browserPopupRedirectResolver } from './src/platform_browser/popup_redirect';

import {
// Enums
ActionCodeOperation,
FactorId,
OperationType,
ProviderId,
SignInMethod,
// Interfaces
ActionCodeInfo,
ActionCodeSettings,
AdditionalUserInfo,
ApplicationVerifier,
Auth,
AuthError,
AuthErrorMap,
AuthProvider,
AuthSettings,
Config,
ConfirmationResult,
IdTokenResult,
MultiFactorAssertion,
MultiFactorError,
MultiFactorInfo,
MultiFactorResolver,
MultiFactorSession,
MultiFactorUser,
ParsedToken,
Persistence,
PhoneMultiFactorAssertion,
PhoneMultiFactorEnrollInfoOptions,
PhoneMultiFactorSignInInfoOptions,
PhoneSingleFactorInfoOptions,
PopupRedirectResolver,
ReactNativeAsyncStorage,
User,
UserCredential,
UserInfo,
UserMetadata,
UserProfile,
PhoneInfoOptions
} from '@firebase/auth-types-exp';

// Public types
export {
// Enums
ActionCodeOperation,
FactorId,
OperationType,
ProviderId,
SignInMethod,
// Interfaces
ActionCodeInfo,
ActionCodeSettings,
AdditionalUserInfo,
ApplicationVerifier,
Auth,
AuthError,
AuthErrorMap,
AuthProvider,
AuthSettings,
Config,
ConfirmationResult,
IdTokenResult,
MultiFactorAssertion,
MultiFactorError,
MultiFactorInfo,
MultiFactorResolver,
MultiFactorSession,
MultiFactorUser,
ParsedToken,
Persistence,
PhoneMultiFactorAssertion,
PhoneMultiFactorEnrollInfoOptions,
PhoneMultiFactorSignInInfoOptions,
PhoneSingleFactorInfoOptions,
PopupRedirectResolver,
ReactNativeAsyncStorage,
User,
UserCredential,
UserInfo,
UserMetadata,
UserProfile,
PhoneInfoOptions
};

// Core functionality shared by all clients
export * from './src';

Expand Down
2 changes: 1 addition & 1 deletion packages-exp/auth-types-exp/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1067,7 +1067,7 @@ export interface MultiFactorInfo {
*
* @public
*/
export abstract class MultiFactorResolver {
export interface MultiFactorResolver {
/**
* The list of hints for the second factors needed to complete the sign-in for the current
* session.
Expand Down