{"version":3,"file":"firebase-functions.js","sources":["../util/src/constants.ts","../util/src/errors.ts","../util/src/compat.ts","../component/src/component.ts","../functions/src/serializer.ts","../functions/src/constants.ts","../functions/src/error.ts","../functions/src/context.ts","../functions/src/service.ts","../functions/src/config.ts","../functions/src/api.ts","../functions/src/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Firebase constants. Some of these (@defines) can be overridden at compile-time.\n */\n\nexport const CONSTANTS = {\n /**\n * @define {boolean} Whether this is the client Node.js SDK.\n */\n NODE_CLIENT: false,\n /**\n * @define {boolean} Whether this is the Admin Node.js SDK.\n */\n NODE_ADMIN: false,\n\n /**\n * Firebase SDK Version\n */\n SDK_VERSION: '${JSCORE_VERSION}'\n};\n","/**\n * @license\n * Copyright 2017 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @fileoverview Standardized Firebase Error.\n *\n * Usage:\n *\n * // Typescript string literals for type-safe codes\n * type Err =\n * 'unknown' |\n * 'object-not-found'\n * ;\n *\n * // Closure enum for type-safe error codes\n * // at-enum {string}\n * var Err = {\n * UNKNOWN: 'unknown',\n * OBJECT_NOT_FOUND: 'object-not-found',\n * }\n *\n * let errors: Map = {\n * 'generic-error': \"Unknown error\",\n * 'file-not-found': \"Could not find file: {$file}\",\n * };\n *\n * // Type-safe function - must pass a valid error code as param.\n * let error = new ErrorFactory('service', 'Service', errors);\n *\n * ...\n * throw error.create(Err.GENERIC);\n * ...\n * throw error.create(Err.FILE_NOT_FOUND, {'file': fileName});\n * ...\n * // Service: Could not file file: foo.txt (service/file-not-found).\n *\n * catch (e) {\n * assert(e.message === \"Could not find file: foo.txt.\");\n * if ((e as FirebaseError)?.code === 'service/file-not-found') {\n * console.log(\"Could not read file: \" + e['file']);\n * }\n * }\n */\n\nexport type ErrorMap = {\n readonly [K in ErrorCode]: string;\n};\n\nconst ERROR_NAME = 'FirebaseError';\n\nexport interface StringLike {\n toString(): string;\n}\n\nexport interface ErrorData {\n [key: string]: unknown;\n}\n\n// Based on code from:\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Custom_Error_Types\nexport class FirebaseError extends Error {\n /** The custom name for all FirebaseErrors. */\n readonly name: string = ERROR_NAME;\n\n constructor(\n /** The error code for this error. */\n readonly code: string,\n message: string,\n /** Custom data for this error. */\n public customData?: Record\n ) {\n super(message);\n\n // Fix For ES5\n // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\n Object.setPrototypeOf(this, FirebaseError.prototype);\n\n // Maintains proper stack trace for where our error was thrown.\n // Only available on V8.\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, ErrorFactory.prototype.create);\n }\n }\n}\n\nexport class ErrorFactory<\n ErrorCode extends string,\n ErrorParams extends { readonly [K in ErrorCode]?: ErrorData } = {}\n> {\n constructor(\n private readonly service: string,\n private readonly serviceName: string,\n private readonly errors: ErrorMap\n ) {}\n\n create(\n code: K,\n ...data: K extends keyof ErrorParams ? [ErrorParams[K]] : []\n ): FirebaseError {\n const customData = (data[0] as ErrorData) || {};\n const fullCode = `${this.service}/${code}`;\n const template = this.errors[code];\n\n const message = template ? replaceTemplate(template, customData) : 'Error';\n // Service Name: Error message (service/code).\n const fullMessage = `${this.serviceName}: ${message} (${fullCode}).`;\n\n const error = new FirebaseError(fullCode, fullMessage, customData);\n\n return error;\n }\n}\n\nfunction replaceTemplate(template: string, data: ErrorData): string {\n return template.replace(PATTERN, (_, key) => {\n const value = data[key];\n return value != null ? String(value) : `<${key}?>`;\n });\n}\n\nconst PATTERN = /\\{\\$([^}]+)}/g;\n","/**\n * @license\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface Compat {\n _delegate: T;\n}\n\nexport function getModularInstance(\n service: Compat | ExpService\n): ExpService {\n if (service && (service as Compat)._delegate) {\n return (service as Compat)._delegate;\n } else {\n return service as ExpService;\n }\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {\n InstantiationMode,\n InstanceFactory,\n ComponentType,\n Dictionary,\n Name,\n onInstanceCreatedCallback\n} from './types';\n\n/**\n * Component for service name T, e.g. `auth`, `auth-internal`\n */\nexport class Component {\n multipleInstances = false;\n /**\n * Properties to be added to the service namespace\n */\n serviceProps: Dictionary = {};\n\n instantiationMode = InstantiationMode.LAZY;\n\n onInstanceCreated: onInstanceCreatedCallback | null = null;\n\n /**\n *\n * @param name The public service name, e.g. app, auth, firestore, database\n * @param instanceFactory Service factory responsible for creating the public interface\n * @param type whether the service provided by the component is public or private\n */\n constructor(\n readonly name: T,\n readonly instanceFactory: InstanceFactory,\n readonly type: ComponentType\n ) {}\n\n setInstantiationMode(mode: InstantiationMode): this {\n this.instantiationMode = mode;\n return this;\n }\n\n setMultipleInstances(multipleInstances: boolean): this {\n this.multipleInstances = multipleInstances;\n return this;\n }\n\n setServiceProps(props: Dictionary): this {\n this.serviceProps = props;\n return this;\n }\n\n setInstanceCreatedCallback(callback: onInstanceCreatedCallback): this {\n this.onInstanceCreated = callback;\n return this;\n }\n}\n","/**\n * @license\n * Copyright 2017 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nconst LONG_TYPE = 'type.googleapis.com/google.protobuf.Int64Value';\nconst UNSIGNED_LONG_TYPE = 'type.googleapis.com/google.protobuf.UInt64Value';\n\nfunction mapValues(\n // { [k: string]: unknown } is no longer a wildcard assignment target after typescript 3.5\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n o: { [key: string]: any },\n f: (arg0: unknown) => unknown\n): object {\n const result: { [key: string]: unknown } = {};\n for (const key in o) {\n if (o.hasOwnProperty(key)) {\n result[key] = f(o[key]);\n }\n }\n return result;\n}\n\n/**\n * Takes data and encodes it in a JSON-friendly way, such that types such as\n * Date are preserved.\n * @internal\n * @param data - Data to encode.\n */\nexport function encode(data: unknown): unknown {\n if (data == null) {\n return null;\n }\n if (data instanceof Number) {\n data = data.valueOf();\n }\n if (typeof data === 'number' && isFinite(data)) {\n // Any number in JS is safe to put directly in JSON and parse as a double\n // without any loss of precision.\n return data;\n }\n if (data === true || data === false) {\n return data;\n }\n if (Object.prototype.toString.call(data) === '[object String]') {\n return data;\n }\n if (data instanceof Date) {\n return data.toISOString();\n }\n if (Array.isArray(data)) {\n return data.map(x => encode(x));\n }\n if (typeof data === 'function' || typeof data === 'object') {\n return mapValues(data!, x => encode(x));\n }\n // If we got this far, the data is not encodable.\n throw new Error('Data cannot be encoded in JSON: ' + data);\n}\n\n/**\n * Takes data that's been encoded in a JSON-friendly form and returns a form\n * with richer datatypes, such as Dates, etc.\n * @internal\n * @param json - JSON to convert.\n */\nexport function decode(json: unknown): unknown {\n if (json == null) {\n return json;\n }\n if ((json as { [key: string]: unknown })['@type']) {\n switch ((json as { [key: string]: unknown })['@type']) {\n case LONG_TYPE:\n // Fall through and handle this the same as unsigned.\n case UNSIGNED_LONG_TYPE: {\n // Technically, this could work return a valid number for malformed\n // data if there was a number followed by garbage. But it's just not\n // worth all the extra code to detect that case.\n const value = Number((json as { [key: string]: unknown })['value']);\n if (isNaN(value)) {\n throw new Error('Data cannot be decoded from JSON: ' + json);\n }\n return value;\n }\n default: {\n throw new Error('Data cannot be decoded from JSON: ' + json);\n }\n }\n }\n if (Array.isArray(json)) {\n return json.map(x => decode(x));\n }\n if (typeof json === 'function' || typeof json === 'object') {\n return mapValues(json!, x => decode(x));\n }\n // Anything else is safe to return.\n return json;\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Type constant for Firebase Functions.\n */\nexport const FUNCTIONS_TYPE = 'functions';\n","/**\n * @license\n * Copyright 2017 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FunctionsErrorCodeCore as FunctionsErrorCode } from './public-types';\nimport { decode } from './serializer';\nimport { HttpResponseBody } from './service';\nimport { FirebaseError } from '@firebase/util';\nimport { FUNCTIONS_TYPE } from './constants';\n\n/**\n * Standard error codes for different ways a request can fail, as defined by:\n * https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto\n *\n * This map is used primarily to convert from a backend error code string to\n * a client SDK error code string, and make sure it's in the supported set.\n */\nconst errorCodeMap: { [name: string]: FunctionsErrorCode } = {\n OK: 'ok',\n CANCELLED: 'cancelled',\n UNKNOWN: 'unknown',\n INVALID_ARGUMENT: 'invalid-argument',\n DEADLINE_EXCEEDED: 'deadline-exceeded',\n NOT_FOUND: 'not-found',\n ALREADY_EXISTS: 'already-exists',\n PERMISSION_DENIED: 'permission-denied',\n UNAUTHENTICATED: 'unauthenticated',\n RESOURCE_EXHAUSTED: 'resource-exhausted',\n FAILED_PRECONDITION: 'failed-precondition',\n ABORTED: 'aborted',\n OUT_OF_RANGE: 'out-of-range',\n UNIMPLEMENTED: 'unimplemented',\n INTERNAL: 'internal',\n UNAVAILABLE: 'unavailable',\n DATA_LOSS: 'data-loss'\n};\n\n/**\n * An explicit error that can be thrown from a handler to send an error to the\n * client that called the function.\n */\nexport class FunctionsError extends FirebaseError {\n constructor(\n /**\n * A standard error code that will be returned to the client. This also\n * determines the HTTP status code of the response, as defined in code.proto.\n */\n code: FunctionsErrorCode,\n message?: string,\n /**\n * Extra data to be converted to JSON and included in the error response.\n */\n readonly details?: unknown\n ) {\n super(`${FUNCTIONS_TYPE}/${code}`, message || '');\n }\n}\n\n/**\n * Takes an HTTP status code and returns the corresponding ErrorCode.\n * This is the standard HTTP status code -> error mapping defined in:\n * https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto\n *\n * @param status An HTTP status code.\n * @return The corresponding ErrorCode, or ErrorCode.UNKNOWN if none.\n */\nfunction codeForHTTPStatus(status: number): FunctionsErrorCode {\n // Make sure any successful status is OK.\n if (status >= 200 && status < 300) {\n return 'ok';\n }\n switch (status) {\n case 0:\n // This can happen if the server returns 500.\n return 'internal';\n case 400:\n return 'invalid-argument';\n case 401:\n return 'unauthenticated';\n case 403:\n return 'permission-denied';\n case 404:\n return 'not-found';\n case 409:\n return 'aborted';\n case 429:\n return 'resource-exhausted';\n case 499:\n return 'cancelled';\n case 500:\n return 'internal';\n case 501:\n return 'unimplemented';\n case 503:\n return 'unavailable';\n case 504:\n return 'deadline-exceeded';\n default: // ignore\n }\n return 'unknown';\n}\n\n/**\n * Takes an HTTP response and returns the corresponding Error, if any.\n */\nexport function _errorForResponse(\n status: number,\n bodyJSON: HttpResponseBody | null\n): Error | null {\n let code = codeForHTTPStatus(status);\n\n // Start with reasonable defaults from the status code.\n let description: string = code;\n\n let details: unknown = undefined;\n\n // Then look through the body for explicit details.\n try {\n const errorJSON = bodyJSON && bodyJSON.error;\n if (errorJSON) {\n const status = errorJSON.status;\n if (typeof status === 'string') {\n if (!errorCodeMap[status]) {\n // They must've included an unknown error code in the body.\n return new FunctionsError('internal', 'internal');\n }\n code = errorCodeMap[status];\n\n // TODO(klimt): Add better default descriptions for error enums.\n // The default description needs to be updated for the new code.\n description = status;\n }\n\n const message = errorJSON.message;\n if (typeof message === 'string') {\n description = message;\n }\n\n details = errorJSON.details;\n if (details !== undefined) {\n details = decode(details);\n }\n }\n } catch (e) {\n // If we couldn't parse explicit error data, that's fine.\n }\n\n if (code === 'ok') {\n // Technically, there's an edge case where a developer could explicitly\n // return an error code of OK, and we will treat it as success, but that\n // seems reasonable.\n return null;\n }\n\n return new FunctionsError(code, description, details);\n}\n","/**\n * @license\n * Copyright 2017 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Provider } from '@firebase/component';\nimport {\n AppCheckInternalComponentName,\n FirebaseAppCheckInternal\n} from '@firebase/app-check-interop-types';\nimport {\n MessagingInternal,\n MessagingInternalComponentName\n} from '@firebase/messaging-interop-types';\nimport {\n FirebaseAuthInternal,\n FirebaseAuthInternalName\n} from '@firebase/auth-interop-types';\n\n/**\n * The metadata that should be supplied with function calls.\n * @internal\n */\nexport interface Context {\n authToken?: string;\n messagingToken?: string;\n appCheckToken: string | null;\n}\n\n/**\n * Helper class to get metadata that should be included with a function call.\n * @internal\n */\nexport class ContextProvider {\n private auth: FirebaseAuthInternal | null = null;\n private messaging: MessagingInternal | null = null;\n private appCheck: FirebaseAppCheckInternal | null = null;\n constructor(\n authProvider: Provider,\n messagingProvider: Provider,\n appCheckProvider: Provider\n ) {\n this.auth = authProvider.getImmediate({ optional: true });\n this.messaging = messagingProvider.getImmediate({\n optional: true\n });\n\n if (!this.auth) {\n authProvider.get().then(\n auth => (this.auth = auth),\n () => {\n /* get() never rejects */\n }\n );\n }\n\n if (!this.messaging) {\n messagingProvider.get().then(\n messaging => (this.messaging = messaging),\n () => {\n /* get() never rejects */\n }\n );\n }\n\n if (!this.appCheck) {\n appCheckProvider.get().then(\n appCheck => (this.appCheck = appCheck),\n () => {\n /* get() never rejects */\n }\n );\n }\n }\n\n async getAuthToken(): Promise {\n if (!this.auth) {\n return undefined;\n }\n\n try {\n const token = await this.auth.getToken();\n return token?.accessToken;\n } catch (e) {\n // If there's any error when trying to get the auth token, leave it off.\n return undefined;\n }\n }\n\n async getMessagingToken(): Promise {\n if (\n !this.messaging ||\n !('Notification' in self) ||\n Notification.permission !== 'granted'\n ) {\n return undefined;\n }\n\n try {\n return await this.messaging.getToken();\n } catch (e) {\n // We don't warn on this, because it usually means messaging isn't set up.\n // console.warn('Failed to retrieve instance id token.', e);\n\n // If there's any error when trying to get the token, leave it off.\n return undefined;\n }\n }\n\n async getAppCheckToken(): Promise {\n if (this.appCheck) {\n const result = await this.appCheck.getToken();\n if (result.error) {\n // Do not send the App Check header to the functions endpoint if\n // there was an error from the App Check exchange endpoint. The App\n // Check SDK will already have logged the error to console.\n return null;\n }\n return result.token;\n }\n return null;\n }\n\n async getContext(): Promise {\n const authToken = await this.getAuthToken();\n const messagingToken = await this.getMessagingToken();\n const appCheckToken = await this.getAppCheckToken();\n return { authToken, messagingToken, appCheckToken };\n }\n}\n","/**\n * @license\n * Copyright 2017 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseApp, _FirebaseService } from '@firebase/app';\nimport {\n HttpsCallable,\n HttpsCallableResult,\n HttpsCallableOptions\n} from './public-types';\nimport { _errorForResponse, FunctionsError } from './error';\nimport { ContextProvider } from './context';\nimport { encode, decode } from './serializer';\nimport { Provider } from '@firebase/component';\nimport { FirebaseAuthInternalName } from '@firebase/auth-interop-types';\nimport { MessagingInternalComponentName } from '@firebase/messaging-interop-types';\nimport { AppCheckInternalComponentName } from '@firebase/app-check-interop-types';\n\nexport const DEFAULT_REGION = 'us-central1';\n\n/**\n * The response to an http request.\n */\ninterface HttpResponse {\n status: number;\n json: HttpResponseBody | null;\n}\n/**\n * Describes the shape of the HttpResponse body.\n * It makes functions that would otherwise take {} able to access the\n * possible elements in the body more easily\n */\nexport interface HttpResponseBody {\n data?: unknown;\n result?: unknown;\n error?: {\n message?: unknown;\n status?: unknown;\n details?: unknown;\n };\n}\n\ninterface CancellablePromise {\n promise: Promise;\n cancel: () => void;\n}\n\n/**\n * Returns a Promise that will be rejected after the given duration.\n * The error will be of type FunctionsError.\n *\n * @param millis Number of milliseconds to wait before rejecting.\n */\nfunction failAfter(millis: number): CancellablePromise {\n // Node timers and browser timers are fundamentally incompatible, but we\n // don't care about the value here\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let timer: any | null = null;\n return {\n promise: new Promise((_, reject) => {\n timer = setTimeout(() => {\n reject(new FunctionsError('deadline-exceeded', 'deadline-exceeded'));\n }, millis);\n }),\n cancel: () => {\n if (timer) {\n clearTimeout(timer);\n }\n }\n };\n}\n\n/**\n * The main class for the Firebase Functions SDK.\n * @internal\n */\nexport class FunctionsService implements _FirebaseService {\n readonly contextProvider: ContextProvider;\n emulatorOrigin: string | null = null;\n cancelAllRequests: Promise;\n deleteService!: () => Promise;\n region: string;\n customDomain: string | null;\n\n /**\n * Creates a new Functions service for the given app.\n * @param app - The FirebaseApp to use.\n */\n constructor(\n readonly app: FirebaseApp,\n authProvider: Provider,\n messagingProvider: Provider,\n appCheckProvider: Provider,\n regionOrCustomDomain: string = DEFAULT_REGION,\n readonly fetchImpl: typeof fetch\n ) {\n this.contextProvider = new ContextProvider(\n authProvider,\n messagingProvider,\n appCheckProvider\n );\n // Cancels all ongoing requests when resolved.\n this.cancelAllRequests = new Promise(resolve => {\n this.deleteService = () => {\n return Promise.resolve(resolve());\n };\n });\n\n // Resolve the region or custom domain overload by attempting to parse it.\n try {\n const url = new URL(regionOrCustomDomain);\n this.customDomain = url.origin;\n this.region = DEFAULT_REGION;\n } catch (e) {\n this.customDomain = null;\n this.region = regionOrCustomDomain;\n }\n }\n\n _delete(): Promise {\n return this.deleteService();\n }\n\n /**\n * Returns the URL for a callable with the given name.\n * @param name - The name of the callable.\n * @internal\n */\n _url(name: string): string {\n const projectId = this.app.options.projectId;\n if (this.emulatorOrigin !== null) {\n const origin = this.emulatorOrigin;\n return `${origin}/${projectId}/${this.region}/${name}`;\n }\n\n if (this.customDomain !== null) {\n return `${this.customDomain}/${name}`;\n }\n\n return `https://${this.region}-${projectId}.cloudfunctions.net/${name}`;\n }\n}\n\n/**\n * Modify this instance to communicate with the Cloud Functions emulator.\n *\n * Note: this must be called before this instance has been used to do any operations.\n *\n * @param host The emulator host (ex: localhost)\n * @param port The emulator port (ex: 5001)\n * @public\n */\nexport function connectFunctionsEmulator(\n functionsInstance: FunctionsService,\n host: string,\n port: number\n): void {\n functionsInstance.emulatorOrigin = `http://${host}:${port}`;\n}\n\n/**\n * Returns a reference to the callable https trigger with the given name.\n * @param name - The name of the trigger.\n * @public\n */\nexport function httpsCallable(\n functionsInstance: FunctionsService,\n name: string,\n options?: HttpsCallableOptions\n): HttpsCallable {\n return (data => {\n return call(functionsInstance, name, data, options || {});\n }) as HttpsCallable;\n}\n\n/**\n * Returns a reference to the callable https trigger with the given url.\n * @param url - The url of the trigger.\n * @public\n */\nexport function httpsCallableFromURL(\n functionsInstance: FunctionsService,\n url: string,\n options?: HttpsCallableOptions\n): HttpsCallable {\n return (data => {\n return callAtURL(functionsInstance, url, data, options || {});\n }) as HttpsCallable;\n}\n\n/**\n * Does an HTTP POST and returns the completed response.\n * @param url The url to post to.\n * @param body The JSON body of the post.\n * @param headers The HTTP headers to include in the request.\n * @return A Promise that will succeed when the request finishes.\n */\nasync function postJSON(\n url: string,\n body: unknown,\n headers: { [key: string]: string },\n fetchImpl: typeof fetch\n): Promise {\n headers['Content-Type'] = 'application/json';\n\n let response: Response;\n try {\n response = await fetchImpl(url, {\n method: 'POST',\n body: JSON.stringify(body),\n headers\n });\n } catch (e) {\n // This could be an unhandled error on the backend, or it could be a\n // network error. There's no way to know, since an unhandled error on the\n // backend will fail to set the proper CORS header, and thus will be\n // treated as a network error by fetch.\n return {\n status: 0,\n json: null\n };\n }\n let json: HttpResponseBody | null = null;\n try {\n json = await response.json();\n } catch (e) {\n // If we fail to parse JSON, it will fail the same as an empty body.\n }\n return {\n status: response.status,\n json\n };\n}\n\n/**\n * Calls a callable function asynchronously and returns the result.\n * @param name The name of the callable trigger.\n * @param data The data to pass as params to the function.s\n */\nfunction call(\n functionsInstance: FunctionsService,\n name: string,\n data: unknown,\n options: HttpsCallableOptions\n): Promise {\n const url = functionsInstance._url(name);\n return callAtURL(functionsInstance, url, data, options);\n}\n\n/**\n * Calls a callable function asynchronously and returns the result.\n * @param url The url of the callable trigger.\n * @param data The data to pass as params to the function.s\n */\nasync function callAtURL(\n functionsInstance: FunctionsService,\n url: string,\n data: unknown,\n options: HttpsCallableOptions\n): Promise {\n // Encode any special types, such as dates, in the input data.\n data = encode(data);\n const body = { data };\n\n // Add a header for the authToken.\n const headers: { [key: string]: string } = {};\n const context = await functionsInstance.contextProvider.getContext();\n if (context.authToken) {\n headers['Authorization'] = 'Bearer ' + context.authToken;\n }\n if (context.messagingToken) {\n headers['Firebase-Instance-ID-Token'] = context.messagingToken;\n }\n if (context.appCheckToken !== null) {\n headers['X-Firebase-AppCheck'] = context.appCheckToken;\n }\n\n // Default timeout to 70s, but let the options override it.\n const timeout = options.timeout || 70000;\n\n const failAfterHandle = failAfter(timeout);\n const response = await Promise.race([\n postJSON(url, body, headers, functionsInstance.fetchImpl),\n failAfterHandle.promise,\n functionsInstance.cancelAllRequests\n ]);\n\n // Always clear the failAfter timeout\n failAfterHandle.cancel();\n\n // If service was deleted, interrupted response throws an error.\n if (!response) {\n throw new FunctionsError(\n 'cancelled',\n 'Firebase Functions instance was deleted.'\n );\n }\n\n // Check for an error status, regardless of http status.\n const error = _errorForResponse(response.status, response.json);\n if (error) {\n throw error;\n }\n\n if (!response.json) {\n throw new FunctionsError('internal', 'Response is not valid JSON object.');\n }\n\n let responseData = response.json.data;\n // TODO(klimt): For right now, allow \"result\" instead of \"data\", for\n // backwards compatibility.\n if (typeof responseData === 'undefined') {\n responseData = response.json.result;\n }\n if (typeof responseData === 'undefined') {\n // Consider the response malformed.\n throw new FunctionsError('internal', 'Response is missing data field.');\n }\n\n // Decode any special types, such as dates, in the returned data.\n const decodedData = decode(responseData);\n\n return { data: decodedData };\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { _registerComponent, registerVersion } from '@firebase/app';\nimport { FunctionsService } from './service';\nimport {\n Component,\n ComponentType,\n ComponentContainer,\n InstanceFactory\n} from '@firebase/component';\nimport { FUNCTIONS_TYPE } from './constants';\nimport { FirebaseAuthInternalName } from '@firebase/auth-interop-types';\nimport { AppCheckInternalComponentName } from '@firebase/app-check-interop-types';\nimport { MessagingInternalComponentName } from '@firebase/messaging-interop-types';\nimport { name, version } from '../package.json';\n\nconst AUTH_INTERNAL_NAME: FirebaseAuthInternalName = 'auth-internal';\nconst APP_CHECK_INTERNAL_NAME: AppCheckInternalComponentName =\n 'app-check-internal';\nconst MESSAGING_INTERNAL_NAME: MessagingInternalComponentName =\n 'messaging-internal';\n\nexport function registerFunctions(\n fetchImpl: typeof fetch,\n variant?: string\n): void {\n const factory: InstanceFactory<'functions'> = (\n container: ComponentContainer,\n { instanceIdentifier: regionOrCustomDomain }\n ) => {\n // Dependencies\n const app = container.getProvider('app').getImmediate();\n const authProvider = container.getProvider(AUTH_INTERNAL_NAME);\n const messagingProvider = container.getProvider(MESSAGING_INTERNAL_NAME);\n const appCheckProvider = container.getProvider(APP_CHECK_INTERNAL_NAME);\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return new FunctionsService(\n app,\n authProvider,\n messagingProvider,\n appCheckProvider,\n regionOrCustomDomain,\n fetchImpl\n );\n };\n\n _registerComponent(\n new Component(\n FUNCTIONS_TYPE,\n factory,\n ComponentType.PUBLIC\n ).setMultipleInstances(true)\n );\n\n registerVersion(name, version, variant);\n // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation\n registerVersion(name, version, '__BUILD_TARGET__');\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { _getProvider, FirebaseApp, getApp } from '@firebase/app';\nimport { FUNCTIONS_TYPE } from './constants';\n\nimport { Provider } from '@firebase/component';\nimport { Functions, HttpsCallableOptions, HttpsCallable } from './public-types';\nimport {\n FunctionsService,\n DEFAULT_REGION,\n connectFunctionsEmulator as _connectFunctionsEmulator,\n httpsCallable as _httpsCallable,\n httpsCallableFromURL as _httpsCallableFromURL\n} from './service';\nimport { getModularInstance } from '@firebase/util';\n\nexport * from './public-types';\n\n/**\n * Returns a {@link Functions} instance for the given app.\n * @param app - The {@link @firebase/app#FirebaseApp} to use.\n * @param regionOrCustomDomain - one of:\n * a) The region the callable functions are located in (ex: us-central1)\n * b) A custom domain hosting the callable functions (ex: https://mydomain.com)\n * @public\n */\nexport function getFunctions(\n app: FirebaseApp = getApp(),\n regionOrCustomDomain: string = DEFAULT_REGION\n): Functions {\n // Dependencies\n const functionsProvider: Provider<'functions'> = _getProvider(\n getModularInstance(app),\n FUNCTIONS_TYPE\n );\n const functionsInstance = functionsProvider.getImmediate({\n identifier: regionOrCustomDomain\n });\n return functionsInstance;\n}\n\n/**\n * Modify this instance to communicate with the Cloud Functions emulator.\n *\n * Note: this must be called before this instance has been used to do any operations.\n *\n * @param host - The emulator host (ex: localhost)\n * @param port - The emulator port (ex: 5001)\n * @public\n */\nexport function connectFunctionsEmulator(\n functionsInstance: Functions,\n host: string,\n port: number\n): void {\n _connectFunctionsEmulator(\n getModularInstance(functionsInstance as FunctionsService),\n host,\n port\n );\n}\n\n/**\n * Returns a reference to the callable HTTPS trigger with the given name.\n * @param name - The name of the trigger.\n * @public\n */\nexport function httpsCallable(\n functionsInstance: Functions,\n name: string,\n options?: HttpsCallableOptions\n): HttpsCallable {\n return _httpsCallable(\n getModularInstance(functionsInstance as FunctionsService),\n name,\n options\n );\n}\n\n/**\n * Returns a reference to the callable HTTPS trigger with the specified url.\n * @param url - The url of the trigger.\n * @public\n */\nexport function httpsCallableFromURL<\n RequestData = unknown,\n ResponseData = unknown\n>(\n functionsInstance: Functions,\n url: string,\n options?: HttpsCallableOptions\n): HttpsCallable {\n return _httpsCallableFromURL(\n getModularInstance(functionsInstance as FunctionsService),\n url,\n options\n );\n}\n","/**\n * Cloud Functions for Firebase\n *\n * @packageDocumentation\n */\n\n/**\n * @license\n * Copyright 2017 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { registerFunctions } from './config';\n\nexport * from './api';\nexport * from './public-types';\n\nregisterFunctions(fetch.bind(self));\n"],"names":["connectFunctionsEmulator","httpsCallable","httpsCallableFromURL","_connectFunctionsEmulator","_httpsCallable","_httpsCallableFromURL"],"mappings":"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","preExistingComment":"firebase-functions.js.map"}