diff options
| author | altaf-creator <dev@altafcreator.com> | 2025-11-09 11:15:19 +0800 |
|---|---|---|
| committer | altaf-creator <dev@altafcreator.com> | 2025-11-09 11:15:19 +0800 |
| commit | 8eff962cab608341a6f2fedc640a0e32d96f26e2 (patch) | |
| tree | 05534d1a720ddc3691d346c69b4972555820a061 /frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser | |
pain
Diffstat (limited to 'frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser')
28 files changed, 1570 insertions, 0 deletions
diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/auth_window.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/auth_window.d.ts new file mode 100644 index 0000000..b3087c7 --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/auth_window.d.ts @@ -0,0 +1,37 @@ +/** + * @license + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { Recaptcha, GreCAPTCHATopLevel } from './recaptcha/recaptcha'; +/** + * A specialized window type that melds the normal window type plus the + * various bits we need. The three different blocks that are &'d together + * cant be defined in the same block together. + */ +export type AuthWindow = { + [T in keyof Window]: Window[T]; +} & { + grecaptcha?: Recaptcha | GreCAPTCHATopLevel; + ___jsl?: Record<string, any>; + gapi?: typeof gapi; +} & { + [callback: string]: (...args: unknown[]) => void; +}; +/** + * Lazy accessor for window, since the compat layer won't tree shake this out, + * we need to make sure not to mess with window unless we have to + */ +export declare function _window(): AuthWindow; +export declare function _setWindowLocation(url: string): void; diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/iframe/gapi.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/iframe/gapi.d.ts new file mode 100644 index 0000000..c2a65cd --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/iframe/gapi.d.ts @@ -0,0 +1,19 @@ +/** + * @license + * Copyright 2020 Google LLC. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { AuthInternal } from '../../model/auth'; +export declare function _loadGapi(auth: AuthInternal): Promise<gapi.iframes.Context>; +export declare function _resetLoader(): void; diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/iframe/gapi.iframes.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/iframe/gapi.iframes.d.ts new file mode 100644 index 0000000..9b5f24b --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/iframe/gapi.iframes.d.ts @@ -0,0 +1,47 @@ +/** + * @license + * Copyright 2020 Google LLC. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +declare namespace gapi { + type LoadCallback = () => void; + interface LoadConfig { + } + interface LoadOptions { + callback?: LoadCallback; + timeout?: number; + ontimeout?: LoadCallback; + } + function load(features: 'gapi.iframes', options?: LoadOptions | LoadCallback): void; +} +declare namespace gapi.iframes { + interface Message { + type: string; + } + type IframesFilter = (iframe: Iframe) => boolean; + type MessageHandler<T extends Message> = (message: T) => unknown | Promise<void>; + type SendCallback = () => void; + type Callback = (iframe: Iframe) => void; + class Context { + open(options: Record<string, unknown>, callback?: Callback): Promise<Iframe>; + } + class Iframe { + register<T extends Message>(message: string, handler: MessageHandler<T>, filter?: IframesFilter): void; + send<T extends Message, U extends Message>(type: string, data: T, callback?: MessageHandler<U>, filter?: IframesFilter): void; + ping(callback: SendCallback, data?: unknown): Promise<unknown[]>; + restyle(style: Record<string, string | boolean>, callback?: SendCallback): Promise<unknown[]>; + } + const CROSS_ORIGIN_IFRAMES_FILTER: IframesFilter; + function getContext(): Context; +} diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/iframe/iframe.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/iframe/iframe.d.ts new file mode 100644 index 0000000..781c92f --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/iframe/iframe.d.ts @@ -0,0 +1,18 @@ +/** + * @license + * Copyright 2020 Google LLC. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { AuthInternal } from '../../model/auth'; +export declare function _openIframe(auth: AuthInternal): Promise<gapi.iframes.Iframe>; diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/index.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/index.d.ts new file mode 100644 index 0000000..ebd5cb8 --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/index.d.ts @@ -0,0 +1,27 @@ +/** + * @license + * Copyright 2021 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { FirebaseApp } from '@firebase/app'; +import { Auth } from '../model/public_types'; +/** + * Returns the Auth instance associated with the provided {@link @firebase/app#FirebaseApp}. + * If no instance exists, initializes an Auth instance with platform-specific default dependencies. + * + * @param app - The Firebase App. + * + * @public + */ +export declare function getAuth(app?: FirebaseApp): Auth; diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/load_js.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/load_js.d.ts new file mode 100644 index 0000000..861517a --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/load_js.d.ts @@ -0,0 +1,29 @@ +/** + * @license + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +interface ExternalJSProvider { + loadJS(url: string): Promise<Event>; + recaptchaV2Script: string; + recaptchaEnterpriseScript: string; + gapiScript: string; +} +export declare function _setExternalJSProvider(p: ExternalJSProvider): void; +export declare function _loadJS(url: string): Promise<Event>; +export declare function _recaptchaV2ScriptUrl(): string; +export declare function _recaptchaEnterpriseScriptUrl(): string; +export declare function _gapiScriptUrl(): string; +export declare function _generateCallbackName(prefix: string): string; +export {}; diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/messagechannel/index.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/messagechannel/index.d.ts new file mode 100644 index 0000000..78beb52 --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/messagechannel/index.d.ts @@ -0,0 +1,87 @@ +/** + * @license + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { PromiseSettledResult } from './promise'; +export declare const enum _TimeoutDuration { + ACK = 50, + COMPLETION = 3000, + LONG_ACK = 800 +} +/** + * Enumeration of possible response types from the Receiver. + */ +export declare const enum _Status { + ACK = "ack", + DONE = "done" +} +export declare const enum _MessageError { + CONNECTION_CLOSED = "connection_closed", + CONNECTION_UNAVAILABLE = "connection_unavailable", + INVALID_RESPONSE = "invalid_response", + TIMEOUT = "timeout", + UNKNOWN = "unknown_error", + UNSUPPORTED_EVENT = "unsupported_event" +} +/** + * Enumeration of possible events sent by the Sender. + */ +export declare const enum _EventType { + KEY_CHANGED = "keyChanged", + PING = "ping" +} +/** + * Response to a {@link EventType.KEY_CHANGED} event. + */ +export interface KeyChangedResponse { + keyProcessed: boolean; +} +/** + * Response to a {@link EventType.PING} event. + */ +export type _PingResponse = _EventType[]; +export type _ReceiverResponse = KeyChangedResponse | _PingResponse; +interface MessageEvent { + eventType: _EventType; + eventId: string; +} +/** + * Request for a {@link EventType.KEY_CHANGED} event. + */ +export interface KeyChangedRequest { + key: string; +} +/** + * Request for a {@link EventType.PING} event. + */ +export interface PingRequest { +} +/** Data sent by Sender */ +export type _SenderRequest = KeyChangedRequest | PingRequest; +/** Receiver handler to process events sent by the Sender */ +export interface ReceiverHandler<T extends _ReceiverResponse, S extends _SenderRequest> { + (origin: string, data: S): T | Promise<T>; +} +/** Full message sent by Sender */ +export interface SenderMessageEvent<T extends _SenderRequest> extends MessageEvent { + data: T; +} +export type _ReceiverMessageResponse<T extends _ReceiverResponse> = Array<PromiseSettledResult<T>> | null; +/** Full message sent by Receiver */ +export interface ReceiverMessageEvent<T extends _ReceiverResponse> extends MessageEvent { + status: _Status; + response: _ReceiverMessageResponse<T>; +} +export {}; diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/messagechannel/promise.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/messagechannel/promise.d.ts new file mode 100644 index 0000000..d57013b --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/messagechannel/promise.d.ts @@ -0,0 +1,33 @@ +/** + * @license + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** TODO: remove this once tslib has a polyfill for Promise.allSettled */ +interface PromiseFulfilledResult<T> { + fulfilled: true; + value: T; +} +interface PromiseRejectedResult { + fulfilled: false; + reason: any; +} +export type PromiseSettledResult<T> = PromiseFulfilledResult<T> | PromiseRejectedResult; +/** + * Shim for Promise.allSettled, note the slightly different format of `fulfilled` vs `status`. + * + * @param promises - Array of promises to wait on. + */ +export declare function _allSettled<T>(promises: Array<Promise<T>>): Promise<Array<PromiseSettledResult<T>>>; +export {}; diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/messagechannel/receiver.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/messagechannel/receiver.d.ts new file mode 100644 index 0000000..394de7b --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/messagechannel/receiver.d.ts @@ -0,0 +1,63 @@ +/** + * @license + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { ReceiverHandler, _EventType, _ReceiverResponse, _SenderRequest } from './index'; +/** + * Interface class for receiving messages. + * + */ +export declare class Receiver { + private readonly eventTarget; + private static readonly receivers; + private readonly boundEventHandler; + private readonly handlersMap; + constructor(eventTarget: EventTarget); + /** + * Obtain an instance of a Receiver for a given event target, if none exists it will be created. + * + * @param eventTarget - An event target (such as window or self) through which the underlying + * messages will be received. + */ + static _getInstance(eventTarget: EventTarget): Receiver; + private isListeningto; + /** + * Fans out a MessageEvent to the appropriate listeners. + * + * @remarks + * Sends an {@link Status.ACK} upon receipt and a {@link Status.DONE} once all handlers have + * finished processing. + * + * @param event - The MessageEvent. + * + */ + private handleEvent; + /** + * Subscribe an event handler for a particular event. + * + * @param eventType - Event name to subscribe to. + * @param eventHandler - The event handler which should receive the events. + * + */ + _subscribe<T extends _ReceiverResponse, S extends _SenderRequest>(eventType: _EventType, eventHandler: ReceiverHandler<T, S>): void; + /** + * Unsubscribe an event handler from a particular event. + * + * @param eventType - Event name to unsubscribe from. + * @param eventHandler - Optional event handler, if none provided, unsubscribe all handlers on this event. + * + */ + _unsubscribe<T extends _ReceiverResponse, S extends _SenderRequest>(eventType: _EventType, eventHandler?: ReceiverHandler<T, S>): void; +} diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/messagechannel/sender.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/messagechannel/sender.d.ts new file mode 100644 index 0000000..a1121b6 --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/messagechannel/sender.d.ts @@ -0,0 +1,46 @@ +/** + * @license + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { _SenderRequest, _EventType, _ReceiverMessageResponse, _ReceiverResponse, _TimeoutDuration } from './index'; +/** + * Interface for sending messages and waiting for a completion response. + * + */ +export declare class Sender { + private readonly target; + private readonly handlers; + constructor(target: ServiceWorker); + /** + * Unsubscribe the handler and remove it from our tracking Set. + * + * @param handler - The handler to unsubscribe. + */ + private removeMessageHandler; + /** + * Send a message to the Receiver located at {@link target}. + * + * @remarks + * We'll first wait a bit for an ACK , if we get one we will wait significantly longer until the + * receiver has had a chance to fully process the event. + * + * @param eventType - Type of event to send. + * @param data - The payload of the event. + * @param timeout - Timeout for waiting on an ACK from the receiver. + * + * @returns An array of settled promises from all the handlers that were listening on the receiver. + */ + _send<T extends _ReceiverResponse, S extends _SenderRequest>(eventType: _EventType, data: S, timeout?: _TimeoutDuration): Promise<_ReceiverMessageResponse<T>>; +} diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/mfa/assertions/phone.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/mfa/assertions/phone.d.ts new file mode 100644 index 0000000..dc0292d --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/mfa/assertions/phone.d.ts @@ -0,0 +1,59 @@ +/** + * @license + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { PhoneMultiFactorAssertion } from '../../../model/public_types'; +import { MultiFactorAssertionImpl } from '../../../mfa/mfa_assertion'; +import { AuthInternal } from '../../../model/auth'; +import { PhoneAuthCredential } from '../../../core/credentials/phone'; +import { FinalizeMfaResponse } from '../../../api/authentication/mfa'; +/** + * {@inheritdoc PhoneMultiFactorAssertion} + * + * @public + */ +export declare class PhoneMultiFactorAssertionImpl extends MultiFactorAssertionImpl implements PhoneMultiFactorAssertion { + private readonly credential; + private constructor(); + /** @internal */ + static _fromCredential(credential: PhoneAuthCredential): PhoneMultiFactorAssertionImpl; + /** @internal */ + _finalizeEnroll(auth: AuthInternal, idToken: string, displayName?: string | null): Promise<FinalizeMfaResponse>; + /** @internal */ + _finalizeSignIn(auth: AuthInternal, mfaPendingCredential: string): Promise<FinalizeMfaResponse>; +} +/** + * Provider for generating a {@link PhoneMultiFactorAssertion}. + * + * @public + */ +export declare class PhoneMultiFactorGenerator { + private constructor(); + /** + * Provides a {@link PhoneMultiFactorAssertion} to confirm ownership of the phone second factor. + * + * @remarks + * This method does not work in a Node.js environment. + * + * @param phoneAuthCredential - A credential provided by {@link PhoneAuthProvider.credential}. + * @returns A {@link PhoneMultiFactorAssertion} which can be used with + * {@link MultiFactorResolver.resolveSignIn} + */ + static assertion(credential: PhoneAuthCredential): PhoneMultiFactorAssertion; + /** + * The identifier of the phone second factor: `phone`. + */ + static FACTOR_ID: string; +} diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/persistence/browser.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/persistence/browser.d.ts new file mode 100644 index 0000000..5635d97 --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/persistence/browser.d.ts @@ -0,0 +1,27 @@ +/** + * @license + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { PersistenceValue, PersistenceType } from '../../core/persistence'; +export declare abstract class BrowserPersistenceClass { + protected readonly storageRetriever: () => Storage; + readonly type: PersistenceType; + protected constructor(storageRetriever: () => Storage, type: PersistenceType); + _isAvailable(): Promise<boolean>; + _set(key: string, value: PersistenceValue): Promise<void>; + _get<T extends PersistenceValue>(key: string): Promise<T | null>; + _remove(key: string): Promise<void>; + protected get storage(): Storage; +} diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/persistence/cookie_storage.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/persistence/cookie_storage.d.ts new file mode 100644 index 0000000..f30bcef --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/persistence/cookie_storage.d.ts @@ -0,0 +1,40 @@ +/** + * @license + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { Persistence } from '../../model/public_types'; +import { PersistenceInternal, PersistenceType, PersistenceValue, StorageEventListener } from '../../core/persistence'; +export declare class CookiePersistence implements PersistenceInternal { + static type: 'COOKIE'; + readonly type = PersistenceType.COOKIE; + listenerUnsubscribes: Map<StorageEventListener, () => void>; + _getFinalTarget(originalUrl: string): URL | string; + _isAvailable(): Promise<boolean>; + _set(_key: string, _value: PersistenceValue): Promise<void>; + _get<T extends PersistenceValue>(key: string): Promise<T | null>; + _remove(key: string): Promise<void>; + _addListener(key: string, listener: StorageEventListener): void; + _removeListener(_key: string, listener: StorageEventListener): void; +} +/** + * An implementation of {@link Persistence} of type `COOKIE`, for use on the client side in + * applications leveraging hybrid rendering and middleware. + * + * @remarks This persistence method requires companion middleware to function, such as that provided + * by {@link https://firebaseopensource.com/projects/firebaseextended/reactfire/ | ReactFire} for + * NextJS. + * @beta + */ +export declare const browserCookiePersistence: Persistence; diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/persistence/indexed_db.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/persistence/indexed_db.d.ts new file mode 100644 index 0000000..23c1604 --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/persistence/indexed_db.d.ts @@ -0,0 +1,33 @@ +/** + * @license + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { Persistence } from '../../model/public_types'; +import { PersistenceValue } from '../../core/persistence/'; +export declare const DB_NAME = "firebaseLocalStorageDb"; +export declare function _clearDatabase(db: IDBDatabase): Promise<void>; +export declare function _deleteDatabase(): Promise<void>; +export declare function _openDatabase(): Promise<IDBDatabase>; +export declare function _putObject(db: IDBDatabase, key: string, value: PersistenceValue | string): Promise<void>; +export declare function _deleteObject(db: IDBDatabase, key: string): Promise<void>; +export declare const _POLLING_INTERVAL_MS = 800; +export declare const _TRANSACTION_RETRY_COUNT = 3; +/** + * An implementation of {@link Persistence} of type `LOCAL` using `indexedDB` + * for the underlying storage. + * + * @public + */ +export declare const indexedDBLocalPersistence: Persistence; diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/persistence/local_storage.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/persistence/local_storage.d.ts new file mode 100644 index 0000000..34d8d64 --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/persistence/local_storage.d.ts @@ -0,0 +1,25 @@ +/** + * @license + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { Persistence } from '../../model/public_types'; +export declare const _POLLING_INTERVAL_MS = 1000; +/** + * An implementation of {@link Persistence} of type `LOCAL` using `localStorage` + * for the underlying storage. + * + * @public + */ +export declare const browserLocalPersistence: Persistence; diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/persistence/session_storage.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/persistence/session_storage.d.ts new file mode 100644 index 0000000..117c558 --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/persistence/session_storage.d.ts @@ -0,0 +1,24 @@ +/** + * @license + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { Persistence } from '../../model/public_types'; +/** + * An implementation of {@link Persistence} of `SESSION` using `sessionStorage` + * for the underlying storage. + * + * @public + */ +export declare const browserSessionPersistence: Persistence; diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/popup_redirect.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/popup_redirect.d.ts new file mode 100644 index 0000000..61b8ca7 --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/popup_redirect.d.ts @@ -0,0 +1,27 @@ +/** + * @license + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { PopupRedirectResolver } from '../model/public_types'; +/** + * An implementation of {@link PopupRedirectResolver} suitable for browser + * based applications. + * + * @remarks + * This method does not work in a Node.js environment. + * + * @public + */ +export declare const browserPopupRedirectResolver: PopupRedirectResolver; diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/providers/phone.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/providers/phone.d.ts new file mode 100644 index 0000000..6c1d728 --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/providers/phone.d.ts @@ -0,0 +1,154 @@ +/** + * @license + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { Auth, PhoneInfoOptions, ApplicationVerifier, UserCredential } from '../../model/public_types'; +import { PhoneAuthCredential } from '../../core/credentials/phone'; +import { AuthCredential } from '../../core'; +import { FirebaseError } from '@firebase/util'; +/** + * Provider for generating an {@link PhoneAuthCredential}. + * + * @remarks + * `PhoneAuthProvider` does not work in a Node.js environment. + * + * @example + * ```javascript + * // 'recaptcha-container' is the ID of an element in the DOM. + * const applicationVerifier = new RecaptchaVerifier('recaptcha-container'); + * const provider = new PhoneAuthProvider(auth); + * const verificationId = await provider.verifyPhoneNumber('+16505550101', applicationVerifier); + * // Obtain the verificationCode from the user. + * const phoneCredential = PhoneAuthProvider.credential(verificationId, verificationCode); + * const userCredential = await signInWithCredential(auth, phoneCredential); + * ``` + * + * @public + */ +export declare class PhoneAuthProvider { + /** Always set to {@link ProviderId}.PHONE. */ + static readonly PROVIDER_ID: 'phone'; + /** Always set to {@link SignInMethod}.PHONE. */ + static readonly PHONE_SIGN_IN_METHOD: 'phone'; + /** Always set to {@link ProviderId}.PHONE. */ + readonly providerId: "phone"; + private readonly auth; + /** + * @param auth - The Firebase {@link Auth} instance in which sign-ins should occur. + * + */ + constructor(auth: Auth); + /** + * + * Starts a phone number authentication flow by sending a verification code to the given phone + * number. + * + * @example + * ```javascript + * const provider = new PhoneAuthProvider(auth); + * const verificationId = await provider.verifyPhoneNumber(phoneNumber, applicationVerifier); + * // Obtain verificationCode from the user. + * const authCredential = PhoneAuthProvider.credential(verificationId, verificationCode); + * const userCredential = await signInWithCredential(auth, authCredential); + * ``` + * + * @example + * An alternative flow is provided using the `signInWithPhoneNumber` method. + * ```javascript + * const confirmationResult = signInWithPhoneNumber(auth, phoneNumber, applicationVerifier); + * // Obtain verificationCode from the user. + * const userCredential = confirmationResult.confirm(verificationCode); + * ``` + * + * @param phoneInfoOptions - The user's {@link PhoneInfoOptions}. The phone number should be in + * E.164 format (e.g. +16505550101). + * @param applicationVerifier - An {@link ApplicationVerifier}, which prevents + * requests from unauthorized clients. This SDK includes an implementation + * based on reCAPTCHA v2, {@link RecaptchaVerifier}. If you've enabled + * reCAPTCHA Enterprise bot protection in Enforce mode, this parameter is + * optional; in all other configurations, the parameter is required. + * + * @returns A Promise for a verification ID that can be passed to + * {@link PhoneAuthProvider.credential} to identify this flow. + */ + verifyPhoneNumber(phoneOptions: PhoneInfoOptions | string, applicationVerifier?: ApplicationVerifier): Promise<string>; + /** + * Creates a phone auth credential, given the verification ID from + * {@link PhoneAuthProvider.verifyPhoneNumber} and the code that was sent to the user's + * mobile device. + * + * @example + * ```javascript + * const provider = new PhoneAuthProvider(auth); + * const verificationId = provider.verifyPhoneNumber(phoneNumber, applicationVerifier); + * // Obtain verificationCode from the user. + * const authCredential = PhoneAuthProvider.credential(verificationId, verificationCode); + * const userCredential = signInWithCredential(auth, authCredential); + * ``` + * + * @example + * An alternative flow is provided using the `signInWithPhoneNumber` method. + * ```javascript + * const confirmationResult = await signInWithPhoneNumber(auth, phoneNumber, applicationVerifier); + * // Obtain verificationCode from the user. + * const userCredential = await confirmationResult.confirm(verificationCode); + * ``` + * + * @param verificationId - The verification ID returned from {@link PhoneAuthProvider.verifyPhoneNumber}. + * @param verificationCode - The verification code sent to the user's mobile device. + * + * @returns The auth provider credential. + */ + static credential(verificationId: string, verificationCode: string): PhoneAuthCredential; + /** + * Generates an {@link AuthCredential} from a {@link UserCredential}. + * @param userCredential - The user credential. + */ + static credentialFromResult(userCredential: UserCredential): AuthCredential | null; + /** + * Returns an {@link AuthCredential} when passed an error. + * + * @remarks + * + * This method works for errors like + * `auth/account-exists-with-different-credentials`. This is useful for + * recovering when attempting to set a user's phone number but the number + * in question is already tied to another account. For example, the following + * code tries to update the current user's phone number, and if that + * fails, links the user with the account associated with that number: + * + * ```js + * const provider = new PhoneAuthProvider(auth); + * const verificationId = await provider.verifyPhoneNumber(number, verifier); + * try { + * const code = ''; // Prompt the user for the verification code + * await updatePhoneNumber( + * auth.currentUser, + * PhoneAuthProvider.credential(verificationId, code)); + * } catch (e) { + * if ((e as FirebaseError)?.code === 'auth/account-exists-with-different-credential') { + * const cred = PhoneAuthProvider.credentialFromError(e); + * await linkWithCredential(auth.currentUser, cred); + * } + * } + * + * // At this point, auth.currentUser.phoneNumber === number. + * ``` + * + * @param error - The error to generate a credential from. + */ + static credentialFromError(error: FirebaseError): AuthCredential | null; + private static credentialFromTaggedObject; +} diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/recaptcha/recaptcha.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/recaptcha/recaptcha.d.ts new file mode 100644 index 0000000..e47806b --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/recaptcha/recaptcha.d.ts @@ -0,0 +1,78 @@ +/** + * @license + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { RecaptchaParameters } from '../../model/public_types'; +import { GetRecaptchaConfigResponse, RecaptchaEnforcementProviderState } from '../../api/authentication/recaptcha'; +import { EnforcementState } from '../../api/index'; +export interface Recaptcha { + render: (container: HTMLElement, parameters: RecaptchaParameters) => number; + getResponse: (id: number) => string; + execute: (id: number) => unknown; + reset: (id: number) => unknown; +} +export declare function isV2(grecaptcha: Recaptcha | GreCAPTCHA | undefined): grecaptcha is Recaptcha; +export interface GreCAPTCHATopLevel extends GreCAPTCHA { + enterprise: GreCAPTCHA; +} +export interface GreCAPTCHA { + ready: (callback: () => void) => void; + execute: (siteKey: string, options: { + action: string; + }) => Promise<string>; + render: (container: string | HTMLElement, parameters: GreCAPTCHARenderOption) => string; +} +export interface GreCAPTCHARenderOption { + sitekey: string; + size: 'invisible'; +} +export declare function isEnterprise(grecaptcha: Recaptcha | GreCAPTCHA | undefined): grecaptcha is GreCAPTCHATopLevel; +declare global { + interface Window { + grecaptcha?: Recaptcha | GreCAPTCHATopLevel; + } +} +export declare class RecaptchaConfig { + /** + * The reCAPTCHA site key. + */ + siteKey: string; + /** + * The list of providers and their enablement status for reCAPTCHA Enterprise. + */ + recaptchaEnforcementState: RecaptchaEnforcementProviderState[]; + constructor(response: GetRecaptchaConfigResponse); + /** + * Returns the reCAPTCHA Enterprise enforcement state for the given provider. + * + * @param providerStr - The provider whose enforcement state is to be returned. + * @returns The reCAPTCHA Enterprise enforcement state for the given provider. + */ + getProviderEnforcementState(providerStr: string): EnforcementState | null; + /** + * Returns true if the reCAPTCHA Enterprise enforcement state for the provider is set to ENFORCE or AUDIT. + * + * @param providerStr - The provider whose enablement state is to be returned. + * @returns Whether or not reCAPTCHA Enterprise protection is enabled for the given provider. + */ + isProviderEnabled(providerStr: string): boolean; + /** + * Returns true if reCAPTCHA Enterprise protection is enabled in at least one provider, otherwise + * returns false. + * + * @returns Whether or not reCAPTCHA Enterprise protection is enabled for at least one provider. + */ + isAnyProviderEnabled(): boolean; +} diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts new file mode 100644 index 0000000..adead53 --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts @@ -0,0 +1,45 @@ +/** + * @license + * Copyright 2022 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { RecaptchaActionName, RecaptchaAuthProvider } from '../../api'; +import { Auth } from '../../model/public_types'; +import { AuthInternal } from '../../model/auth'; +export declare const RECAPTCHA_ENTERPRISE_VERIFIER_TYPE = "recaptcha-enterprise"; +export declare const FAKE_TOKEN = "NO_RECAPTCHA"; +export declare class RecaptchaEnterpriseVerifier { + /** + * Identifies the type of application verifier (e.g. "recaptcha-enterprise"). + */ + readonly type = "recaptcha-enterprise"; + private readonly auth; + /** + * + * @param authExtern - The corresponding Firebase {@link Auth} instance. + * + */ + constructor(authExtern: Auth); + /** + * Executes the verification process. + * + * @returns A Promise for a token that can be used to assert the validity of a request. + */ + verify(action?: string, forceRefresh?: boolean): Promise<string>; +} +export declare function injectRecaptchaFields<T extends object>(auth: AuthInternal, request: T, action: RecaptchaActionName, isCaptchaResp?: boolean, isFakeToken?: boolean): Promise<T>; +type ActionMethod<TRequest, TResponse> = (auth: AuthInternal, request: TRequest) => Promise<TResponse>; +export declare function handleRecaptchaFlow<TRequest extends object, TResponse>(authInstance: AuthInternal, request: TRequest, actionName: RecaptchaActionName, actionMethod: ActionMethod<TRequest, TResponse>, recaptchaAuthProvider: RecaptchaAuthProvider): Promise<TResponse>; +export declare function _initializeRecaptchaConfig(auth: Auth): Promise<void>; +export {}; diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/recaptcha/recaptcha_loader.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/recaptcha/recaptcha_loader.d.ts new file mode 100644 index 0000000..b0fc1d9 --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/recaptcha/recaptcha_loader.d.ts @@ -0,0 +1,49 @@ +/** + * @license + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { AuthInternal } from '../../model/auth'; +import { Recaptcha } from './recaptcha'; +export declare const _JSLOAD_CALLBACK: string; +/** + * We need to mark this interface as internal explicitly to exclude it in the public typings, because + * it references AuthInternal which has a circular dependency with UserInternal. + * + * @internal + */ +export interface ReCaptchaLoader { + load(auth: AuthInternal, hl?: string): Promise<Recaptcha>; + clearedOneInstance(): void; +} +/** + * Loader for the GReCaptcha library. There should only ever be one of this. + */ +export declare class ReCaptchaLoaderImpl implements ReCaptchaLoader { + private hostLanguage; + private counter; + /** + * Check for `render()` method. `window.grecaptcha` will exist if the Enterprise + * version of the ReCAPTCHA script was loaded by someone else (e.g. App Check) but + * `window.grecaptcha.render()` will not. Another load will add it. + */ + private readonly librarySeparatelyLoaded; + load(auth: AuthInternal, hl?: string): Promise<Recaptcha>; + clearedOneInstance(): void; + private shouldResolveImmediately; +} +export declare class MockReCaptchaLoaderImpl implements ReCaptchaLoader { + load(auth: AuthInternal): Promise<Recaptcha>; + clearedOneInstance(): void; +} diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/recaptcha/recaptcha_mock.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/recaptcha/recaptcha_mock.d.ts new file mode 100644 index 0000000..9cab21a --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/recaptcha/recaptcha_mock.d.ts @@ -0,0 +1,66 @@ +/** + * @license + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { AuthInternal } from '../../model/auth'; +import { RecaptchaParameters } from '../../model/public_types'; +import { Recaptcha, GreCAPTCHATopLevel, GreCAPTCHARenderOption, GreCAPTCHA } from './recaptcha'; +export declare const _SOLVE_TIME_MS = 500; +export declare const _EXPIRATION_TIME_MS = 60000; +export declare const _WIDGET_ID_START = 1000000000000; +export interface Widget { + getResponse: () => string | null; + delete: () => void; + execute: () => void; +} +export declare class MockReCaptcha implements Recaptcha { + private readonly auth; + private counter; + _widgets: Map<number, Widget>; + constructor(auth: AuthInternal); + render(container: string | HTMLElement, parameters?: RecaptchaParameters): number; + reset(optWidgetId?: number): void; + getResponse(optWidgetId?: number): string; + execute(optWidgetId?: number | string): Promise<string>; +} +export declare class MockGreCAPTCHATopLevel implements GreCAPTCHATopLevel { + enterprise: GreCAPTCHA; + ready(callback: () => void): void; + execute(_siteKey: string, _options: { + action: string; + }): Promise<string>; + render(_container: string | HTMLElement, _parameters: GreCAPTCHARenderOption): string; +} +export declare class MockGreCAPTCHA implements GreCAPTCHA { + ready(callback: () => void): void; + execute(_siteKey: string, _options: { + action: string; + }): Promise<string>; + render(_container: string | HTMLElement, _parameters: GreCAPTCHARenderOption): string; +} +export declare class MockWidget { + private readonly params; + private readonly container; + private readonly isVisible; + private timerId; + private deleted; + private responseToken; + private readonly clickHandler; + constructor(containerOrId: string | HTMLElement, appName: string, params: RecaptchaParameters); + getResponse(): string | null; + delete(): void; + execute(): void; + private checkIfDeleted; +} diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/recaptcha/recaptcha_verifier.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/recaptcha/recaptcha_verifier.d.ts new file mode 100644 index 0000000..cfca5c6 --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/recaptcha/recaptcha_verifier.d.ts @@ -0,0 +1,92 @@ +/** + * @license + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { Auth, RecaptchaParameters } from '../../model/public_types'; +import { ApplicationVerifierInternal } from '../../model/application_verifier'; +import { ReCaptchaLoader } from './recaptcha_loader'; +export declare const RECAPTCHA_VERIFIER_TYPE = "recaptcha"; +/** + * An {@link https://www.google.com/recaptcha/ | reCAPTCHA}-based application verifier. + * + * @remarks + * `RecaptchaVerifier` does not work in a Node.js environment. + * + * @public + */ +export declare class RecaptchaVerifier implements ApplicationVerifierInternal { + private readonly parameters; + /** + * The application verifier type. + * + * @remarks + * For a reCAPTCHA verifier, this is 'recaptcha'. + */ + readonly type = "recaptcha"; + private destroyed; + private widgetId; + private readonly container; + private readonly isInvisible; + private readonly tokenChangeListeners; + private renderPromise; + private readonly auth; + /** @internal */ + readonly _recaptchaLoader: ReCaptchaLoader; + private recaptcha; + /** + * @param authExtern - The corresponding Firebase {@link Auth} instance. + * + * @param containerOrId - The reCAPTCHA container parameter. + * + * @remarks + * This has different meaning depending on whether the reCAPTCHA is hidden or visible. For a + * visible reCAPTCHA the container must be empty. If a string is used, it has to correspond to + * an element ID. The corresponding element must also must be in the DOM at the time of + * initialization. + * + * @param parameters - The optional reCAPTCHA parameters. + * + * @remarks + * Check the reCAPTCHA docs for a comprehensive list. All parameters are accepted except for + * the sitekey. Firebase Auth backend provisions a reCAPTCHA for each project and will + * configure this upon rendering. For an invisible reCAPTCHA, a size key must have the value + * 'invisible'. + */ + constructor(authExtern: Auth, containerOrId: HTMLElement | string, parameters?: RecaptchaParameters); + /** + * Waits for the user to solve the reCAPTCHA and resolves with the reCAPTCHA token. + * + * @returns A Promise for the reCAPTCHA token. + */ + verify(): Promise<string>; + /** + * Renders the reCAPTCHA widget on the page. + * + * @returns A Promise that resolves with the reCAPTCHA widget ID. + */ + render(): Promise<number>; + /** @internal */ + _reset(): void; + /** + * Clears the reCAPTCHA widget from the page and destroys the instance. + */ + clear(): void; + private validateStartingState; + private makeTokenCallback; + private assertNotDestroyed; + private makeRenderPromise; + private init; + private getAssertedRecaptcha; +} diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/strategies/phone.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/strategies/phone.d.ts new file mode 100644 index 0000000..26dab0b --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/strategies/phone.d.ts @@ -0,0 +1,116 @@ +/** + * @license + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { ApplicationVerifier, Auth, ConfirmationResult, PhoneInfoOptions, User } from '../../model/public_types'; +import { ApplicationVerifierInternal } from '../../model/application_verifier'; +import { PhoneAuthCredential } from '../../core/credentials/phone'; +import { AuthInternal } from '../../model/auth'; +/** + * Asynchronously signs in using a phone number. + * + * @remarks + * This method sends a code via SMS to the given + * phone number, and returns a {@link ConfirmationResult}. After the user + * provides the code sent to their phone, call {@link ConfirmationResult.confirm} + * with the code to sign the user in. + * + * For abuse prevention, this method requires a {@link ApplicationVerifier}. + * This SDK includes an implementation based on reCAPTCHA v2, {@link RecaptchaVerifier}. + * This function can work on other platforms that do not support the + * {@link RecaptchaVerifier} (like React Native), but you need to use a + * third-party {@link ApplicationVerifier} implementation. + * + * If you've enabled project-level reCAPTCHA Enterprise bot protection in + * Enforce mode, you can omit the {@link ApplicationVerifier}. + * + * This method does not work in a Node.js environment or with {@link Auth} instances created with a + * {@link @firebase/app#FirebaseServerApp}. + * + * @example + * ```javascript + * // 'recaptcha-container' is the ID of an element in the DOM. + * const applicationVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container'); + * const confirmationResult = await signInWithPhoneNumber(auth, phoneNumber, applicationVerifier); + * // Obtain a verificationCode from the user. + * const credential = await confirmationResult.confirm(verificationCode); + * ``` + * + * @param auth - The {@link Auth} instance. + * @param phoneNumber - The user's phone number in E.164 format (e.g. +16505550101). + * @param appVerifier - The {@link ApplicationVerifier}. + * + * @public + */ +export declare function signInWithPhoneNumber(auth: Auth, phoneNumber: string, appVerifier?: ApplicationVerifier): Promise<ConfirmationResult>; +/** + * Links the user account with the given phone number. + * + * @remarks + * This method does not work in a Node.js environment. + * + * @param user - The user. + * @param phoneNumber - The user's phone number in E.164 format (e.g. +16505550101). + * @param appVerifier - The {@link ApplicationVerifier}. + * + * @public + */ +export declare function linkWithPhoneNumber(user: User, phoneNumber: string, appVerifier?: ApplicationVerifier): Promise<ConfirmationResult>; +/** + * Re-authenticates a user using a fresh phone credential. + * + * @remarks + * Use before operations such as {@link updatePassword} that require tokens from recent sign-in attempts. + * + * This method does not work in a Node.js environment or on any {@link User} signed in by + * {@link Auth} instances created with a {@link @firebase/app#FirebaseServerApp}. + * + * @param user - The user. + * @param phoneNumber - The user's phone number in E.164 format (e.g. +16505550101). + * @param appVerifier - The {@link ApplicationVerifier}. + * + * @public + */ +export declare function reauthenticateWithPhoneNumber(user: User, phoneNumber: string, appVerifier?: ApplicationVerifier): Promise<ConfirmationResult>; +/** + * Returns a verification ID to be used in conjunction with the SMS code that is sent. + * + */ +export declare function _verifyPhoneNumber(auth: AuthInternal, options: PhoneInfoOptions | string, verifier?: ApplicationVerifierInternal): Promise<string>; +/** + * Updates the user's phone number. + * + * @remarks + * This method does not work in a Node.js environment or on any {@link User} signed in by + * {@link Auth} instances created with a {@link @firebase/app#FirebaseServerApp}. + * + * @example + * ``` + * // 'recaptcha-container' is the ID of an element in the DOM. + * const applicationVerifier = new RecaptchaVerifier('recaptcha-container'); + * const provider = new PhoneAuthProvider(auth); + * const verificationId = await provider.verifyPhoneNumber('+16505550101', applicationVerifier); + * // Obtain the verificationCode from the user. + * const phoneCredential = PhoneAuthProvider.credential(verificationId, verificationCode); + * await updatePhoneNumber(user, phoneCredential); + * ``` + * + * @param user - The user. + * @param credential - A credential authenticating the new phone number. + * + * @public + */ +export declare function updatePhoneNumber(user: User, credential: PhoneAuthCredential): Promise<void>; +export declare function injectRecaptchaV2Token<T extends object>(auth: AuthInternal, request: T, recaptchaV2Verifier: ApplicationVerifierInternal): Promise<T>; diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/strategies/popup.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/strategies/popup.d.ts new file mode 100644 index 0000000..72ba03a --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/strategies/popup.d.ts @@ -0,0 +1,109 @@ +/** + * @license + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { Auth, AuthProvider, PopupRedirectResolver, User, UserCredential } from '../../model/public_types'; +import { Delay } from '../../core/util/delay'; +export declare const enum _Timeout { + AUTH_EVENT = 8000 +} +export declare const _POLL_WINDOW_CLOSE_TIMEOUT: Delay; +/** + * Authenticates a Firebase client using a popup-based OAuth authentication flow. + * + * @remarks + * If succeeds, returns the signed in user along with the provider's credential. If sign in was + * unsuccessful, returns an error object containing additional information about the error. + * + * This method does not work in a Node.js environment or with {@link Auth} instances created with a + * {@link @firebase/app#FirebaseServerApp}. + * + * @example + * ```javascript + * // Sign in using a popup. + * const provider = new FacebookAuthProvider(); + * const result = await signInWithPopup(auth, provider); + * + * // The signed-in user info. + * const user = result.user; + * // This gives you a Facebook Access Token. + * const credential = provider.credentialFromResult(auth, result); + * const token = credential.accessToken; + * ``` + * + * @param auth - The {@link Auth} instance. + * @param provider - The provider to authenticate. The provider has to be an {@link OAuthProvider}. + * Non-OAuth providers like {@link EmailAuthProvider} will throw an error. + * @param resolver - An instance of {@link PopupRedirectResolver}, optional + * if already supplied to {@link initializeAuth} or provided by {@link getAuth}. + * + * @public + */ +export declare function signInWithPopup(auth: Auth, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>; +/** + * Reauthenticates the current user with the specified {@link OAuthProvider} using a pop-up based + * OAuth flow. + * + * @remarks + * If the reauthentication is successful, the returned result will contain the user and the + * provider's credential. + * + * This method does not work in a Node.js environment or on any {@link User} signed in by + * {@link Auth} instances created with a {@link @firebase/app#FirebaseServerApp}. + * + * @example + * ```javascript + * // Sign in using a popup. + * const provider = new FacebookAuthProvider(); + * const result = await signInWithPopup(auth, provider); + * // Reauthenticate using a popup. + * await reauthenticateWithPopup(result.user, provider); + * ``` + * + * @param user - The user. + * @param provider - The provider to authenticate. The provider has to be an {@link OAuthProvider}. + * Non-OAuth providers like {@link EmailAuthProvider} will throw an error. + * @param resolver - An instance of {@link PopupRedirectResolver}, optional + * if already supplied to {@link initializeAuth} or provided by {@link getAuth}. + * + * @public + */ +export declare function reauthenticateWithPopup(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>; +/** + * Links the authenticated provider to the user account using a pop-up based OAuth flow. + * + * @remarks + * If the linking is successful, the returned result will contain the user and the provider's credential. + * + * This method does not work in a Node.js environment. + * + * @example + * ```javascript + * // Sign in using some other provider. + * const result = await signInWithEmailAndPassword(auth, email, password); + * // Link using a popup. + * const provider = new FacebookAuthProvider(); + * await linkWithPopup(result.user, provider); + * ``` + * + * @param user - The user. + * @param provider - The provider to authenticate. The provider has to be an {@link OAuthProvider}. + * Non-OAuth providers like {@link EmailAuthProvider} will throw an error. + * @param resolver - An instance of {@link PopupRedirectResolver}, optional + * if already supplied to {@link initializeAuth} or provided by {@link getAuth}. + * + * @public + */ +export declare function linkWithPopup(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>; diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/strategies/redirect.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/strategies/redirect.d.ts new file mode 100644 index 0000000..d0a9ae5 --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/strategies/redirect.d.ts @@ -0,0 +1,176 @@ +/** + * @license + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { Auth, AuthProvider, PopupRedirectResolver, User, UserCredential } from '../../model/public_types'; +/** + * Authenticates a Firebase client using a full-page redirect flow. + * + * @remarks + * To handle the results and errors for this operation, refer to {@link getRedirectResult}. + * Follow the {@link https://firebase.google.com/docs/auth/web/redirect-best-practices + * | best practices} when using {@link signInWithRedirect}. + * + * This method does not work in a Node.js environment or with {@link Auth} instances created with a + * {@link @firebase/app#FirebaseServerApp}. + * + * @example + * ```javascript + * // Sign in using a redirect. + * const provider = new FacebookAuthProvider(); + * // You can add additional scopes to the provider: + * provider.addScope('user_birthday'); + * // Start a sign in process for an unauthenticated user. + * await signInWithRedirect(auth, provider); + * // This will trigger a full page redirect away from your app + * + * // After returning from the redirect when your app initializes you can obtain the result + * const result = await getRedirectResult(auth); + * if (result) { + * // This is the signed-in user + * const user = result.user; + * // This gives you a Facebook Access Token. + * const credential = provider.credentialFromResult(auth, result); + * const token = credential.accessToken; + * } + * // As this API can be used for sign-in, linking and reauthentication, + * // check the operationType to determine what triggered this redirect + * // operation. + * const operationType = result.operationType; + * ``` + * + * @param auth - The {@link Auth} instance. + * @param provider - The provider to authenticate. The provider has to be an {@link OAuthProvider}. + * Non-OAuth providers like {@link EmailAuthProvider} will throw an error. + * @param resolver - An instance of {@link PopupRedirectResolver}, optional + * if already supplied to {@link initializeAuth} or provided by {@link getAuth}. + * + * @public + */ +export declare function signInWithRedirect(auth: Auth, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<never>; +export declare function _signInWithRedirect(auth: Auth, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<void | never>; +/** + * Reauthenticates the current user with the specified {@link OAuthProvider} using a full-page redirect flow. + * @remarks + * To handle the results and errors for this operation, refer to {@link getRedirectResult}. + * Follow the {@link https://firebase.google.com/docs/auth/web/redirect-best-practices + * | best practices} when using {@link reauthenticateWithRedirect}. + * + * This method does not work in a Node.js environment or with {@link Auth} instances + * created with a {@link @firebase/app#FirebaseServerApp}. + * + * @example + * ```javascript + * // Sign in using a redirect. + * const provider = new FacebookAuthProvider(); + * const result = await signInWithRedirect(auth, provider); + * // This will trigger a full page redirect away from your app + * + * // After returning from the redirect when your app initializes you can obtain the result + * const result = await getRedirectResult(auth); + * // Reauthenticate using a redirect. + * await reauthenticateWithRedirect(result.user, provider); + * // This will again trigger a full page redirect away from your app + * + * // After returning from the redirect when your app initializes you can obtain the result + * const result = await getRedirectResult(auth); + * ``` + * + * @param user - The user. + * @param provider - The provider to authenticate. The provider has to be an {@link OAuthProvider}. + * Non-OAuth providers like {@link EmailAuthProvider} will throw an error. + * @param resolver - An instance of {@link PopupRedirectResolver}, optional + * if already supplied to {@link initializeAuth} or provided by {@link getAuth}. + * + * @public + */ +export declare function reauthenticateWithRedirect(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<never>; +export declare function _reauthenticateWithRedirect(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<void | never>; +/** + * Links the {@link OAuthProvider} to the user account using a full-page redirect flow. + * @remarks + * To handle the results and errors for this operation, refer to {@link getRedirectResult}. + * Follow the {@link https://firebase.google.com/docs/auth/web/redirect-best-practices + * | best practices} when using {@link linkWithRedirect}. + * + * This method does not work in a Node.js environment or with {@link Auth} instances + * created with a {@link @firebase/app#FirebaseServerApp}. + * + * @example + * ```javascript + * // Sign in using some other provider. + * const result = await signInWithEmailAndPassword(auth, email, password); + * // Link using a redirect. + * const provider = new FacebookAuthProvider(); + * await linkWithRedirect(result.user, provider); + * // This will trigger a full page redirect away from your app + * + * // After returning from the redirect when your app initializes you can obtain the result + * const result = await getRedirectResult(auth); + * ``` + * + * @param user - The user. + * @param provider - The provider to authenticate. The provider has to be an {@link OAuthProvider}. + * Non-OAuth providers like {@link EmailAuthProvider} will throw an error. + * @param resolver - An instance of {@link PopupRedirectResolver}, optional + * if already supplied to {@link initializeAuth} or provided by {@link getAuth}. + * + * @public + */ +export declare function linkWithRedirect(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<never>; +export declare function _linkWithRedirect(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<void | never>; +/** + * Returns a {@link UserCredential} from the redirect-based sign-in flow. + * + * @remarks + * If sign-in succeeded, returns the signed in user. If sign-in was unsuccessful, fails with an + * error. If no redirect operation was called, returns `null`. + * + * This method does not work in a Node.js environment or with {@link Auth} instances created with a + * {@link @firebase/app#FirebaseServerApp}. + * + * @example + * ```javascript + * // Sign in using a redirect. + * const provider = new FacebookAuthProvider(); + * // You can add additional scopes to the provider: + * provider.addScope('user_birthday'); + * // Start a sign in process for an unauthenticated user. + * await signInWithRedirect(auth, provider); + * // This will trigger a full page redirect away from your app + * + * // After returning from the redirect when your app initializes you can obtain the result + * const result = await getRedirectResult(auth); + * if (result) { + * // This is the signed-in user + * const user = result.user; + * // This gives you a Facebook Access Token. + * const credential = provider.credentialFromResult(auth, result); + * const token = credential.accessToken; + * } + * // As this API can be used for sign-in, linking and reauthentication, + * // check the operationType to determine what triggered this redirect + * // operation. + * const operationType = result.operationType; + * ``` + * + * @param auth - The {@link Auth} instance. + * @param resolver - An instance of {@link PopupRedirectResolver}, optional + * if already supplied to {@link initializeAuth} or provided by {@link getAuth}. + * + * @public + */ +export declare function getRedirectResult(auth: Auth, resolver?: PopupRedirectResolver): Promise<UserCredential | null>; +export declare function _getRedirectResult(auth: Auth, resolverExtern?: PopupRedirectResolver, bypassAuthState?: boolean): Promise<UserCredential | null>; diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/util/popup.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/util/popup.d.ts new file mode 100644 index 0000000..111ca83 --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/util/popup.d.ts @@ -0,0 +1,24 @@ +/** + * @license + * Copyright 2020 Google LLC. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { AuthInternal } from '../../model/auth'; +export declare class AuthPopup { + readonly window: Window | null; + associatedEvent: string | null; + constructor(window: Window | null); + close(): void; +} +export declare function _open(auth: AuthInternal, url?: string, name?: string, width?: number, height?: number): AuthPopup; diff --git a/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/util/worker.d.ts b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/util/worker.d.ts new file mode 100644 index 0000000..c871903 --- /dev/null +++ b/frontend-old/node_modules/@firebase/auth/dist/esm/src/platform_browser/util/worker.d.ts @@ -0,0 +1,20 @@ +/** + * @license + * Copyright 2020 Google LLC. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +export declare function _isWorker(): boolean; +export declare function _getActiveServiceWorker(): Promise<ServiceWorker | null>; +export declare function _getServiceWorkerController(): ServiceWorker | null; +export declare function _getWorkerGlobalScope(): ServiceWorker | null; |
