functions package

Cloud Functions for Firebase

Functions

Function Description
function(app, ...)
getFunctions(app, regionOrCustomDomain) Returns a Functions instance for the given app.
function(functionsInstance, ...)
connectFunctionsEmulator(functionsInstance, host, port) Modify this instance to communicate with the Cloud Functions emulator.Note: this must be called before this instance has been used to do any operations.
httpsCallable(functionsInstance, name, options) Returns a reference to the callable HTTPS trigger with the given name.
httpsCallableFromURL(functionsInstance, url, options) Returns a reference to the callable HTTPS trigger with the specified url.

Interfaces

Interface Description
Functions A Functions instance.
FunctionsError An error returned by the Firebase Functions client SDK.
HttpsCallableOptions An interface for metadata about how calls should be executed.
HttpsCallableResult An HttpsCallableResult wraps a single result from a function call.

Type Aliases

Type Alias Description
FunctionsErrorCode The set of Firebase Functions status codes. The codes are the same at the ones exposed by gRPC here: https://github.com/grpc/grpc/blob/master/doc/statuscodes.mdPossible values: - 'cancelled': The operation was cancelled (typically by the caller). - 'unknown': Unknown error or an error from a different error domain. - 'invalid-argument': Client specified an invalid argument. Note that this differs from 'failed-precondition'. 'invalid-argument' indicates arguments that are problematic regardless of the state of the system (e.g. an invalid field name). - 'deadline-exceeded': Deadline expired before operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire. - 'not-found': Some requested document was not found. - 'already-exists': Some document that we attempted to create already exists. - 'permission-denied': The caller does not have permission to execute the specified operation. - 'resource-exhausted': Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space. - 'failed-precondition': Operation was rejected because the system is not in a state required for the operation's execution. - 'aborted': The operation was aborted, typically due to a concurrency issue like transaction aborts, etc. - 'out-of-range': Operation was attempted past the valid range. - 'unimplemented': Operation is not implemented or not supported/enabled. - 'internal': Internal errors. Means some invariants expected by underlying system has been broken. If you see one of these errors, something is very broken. - 'unavailable': The service is currently unavailable. This is most likely a transient condition and may be corrected by retrying with a backoff. - 'data-loss': Unrecoverable data loss or corruption. - 'unauthenticated': The request does not have valid authentication credentials for the operation.
FunctionsErrorCodeCore Functions error code string appended after "functions/" product prefix. See FunctionsErrorCode for full documentation of codes.
HttpsCallable A reference to a "callable" HTTP trigger in Google Cloud Functions.

function(app, ...)

getFunctions(app, regionOrCustomDomain)

Returns a Functions instance for the given app.

Signature:

export declare function getFunctions(app?: FirebaseApp, regionOrCustomDomain?: string): Functions;

Parameters

Parameter Type Description
app FirebaseApp The FirebaseApp to use.
regionOrCustomDomain string one of: a) The region the callable functions are located in (ex: us-central1) b) A custom domain hosting the callable functions (ex: https://mydomain.com)

Returns:

Functions

function(functionsInstance, ...)

connectFunctionsEmulator(functionsInstance, host, port)

Modify this instance to communicate with the Cloud Functions emulator.

Signature:

export declare function connectFunctionsEmulator(functionsInstance: Functions, host: string, port: number): void;

Parameters

Parameter Type Description
functionsInstance Functions
host string The emulator host (ex: localhost)
port number The emulator port (ex: 5001)

Returns:

void

httpsCallable(functionsInstance, name, options)

Returns a reference to the callable HTTPS trigger with the given name.

Signature:

export declare function httpsCallable<RequestData = unknown, ResponseData = unknown>(functionsInstance: Functions, name: string, options?: HttpsCallableOptions): HttpsCallable<RequestData, ResponseData>;

Parameters

Parameter Type Description
functionsInstance Functions
name string The name of the trigger.
options HttpsCallableOptions

Returns:

HttpsCallable<RequestData, ResponseData>

httpsCallableFromURL(functionsInstance, url, options)

Returns a reference to the callable HTTPS trigger with the specified url.

Signature:

export declare function httpsCallableFromURL<RequestData = unknown, ResponseData = unknown>(functionsInstance: Functions, url: string, options?: HttpsCallableOptions): HttpsCallable<RequestData, ResponseData>;

Parameters

Parameter Type Description
functionsInstance Functions
url string The url of the trigger.
options HttpsCallableOptions

Returns:

HttpsCallable<RequestData, ResponseData>

FunctionsErrorCode

The set of Firebase Functions status codes. The codes are the same at the ones exposed by gRPC here: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md

Possible values: - 'cancelled': The operation was cancelled (typically by the caller). - 'unknown': Unknown error or an error from a different error domain. - 'invalid-argument': Client specified an invalid argument. Note that this differs from 'failed-precondition'. 'invalid-argument' indicates arguments that are problematic regardless of the state of the system (e.g. an invalid field name). - 'deadline-exceeded': Deadline expired before operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire. - 'not-found': Some requested document was not found. - 'already-exists': Some document that we attempted to create already exists. - 'permission-denied': The caller does not have permission to execute the specified operation. - 'resource-exhausted': Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space. - 'failed-precondition': Operation was rejected because the system is not in a state required for the operation's execution. - 'aborted': The operation was aborted, typically due to a concurrency issue like transaction aborts, etc. - 'out-of-range': Operation was attempted past the valid range. - 'unimplemented': Operation is not implemented or not supported/enabled. - 'internal': Internal errors. Means some invariants expected by underlying system has been broken. If you see one of these errors, something is very broken. - 'unavailable': The service is currently unavailable. This is most likely a transient condition and may be corrected by retrying with a backoff. - 'data-loss': Unrecoverable data loss or corruption. - 'unauthenticated': The request does not have valid authentication credentials for the operation.

Signature:

export declare type FunctionsErrorCode = `functions/${FunctionsErrorCodeCore}`;

FunctionsErrorCodeCore

Functions error code string appended after "functions/" product prefix. See FunctionsErrorCode for full documentation of codes.

Signature:

export declare type FunctionsErrorCodeCore = 'ok' | 'cancelled' | 'unknown' | 'invalid-argument' | 'deadline-exceeded' | 'not-found' | 'already-exists' | 'permission-denied' | 'resource-exhausted' | 'failed-precondition' | 'aborted' | 'out-of-range' | 'unimplemented' | 'internal' | 'unavailable' | 'data-loss' | 'unauthenticated';

HttpsCallable

A reference to a "callable" HTTP trigger in Google Cloud Functions.

Signature:

export declare type HttpsCallable<RequestData = unknown, ResponseData = unknown> = (data?: RequestData | null) => Promise<HttpsCallableResult<ResponseData>>;