API/api.medcify.app/node_modules/firebase-functions/lib/function-builder.d.ts

190 lines
8.6 KiB
TypeScript
Raw Normal View History

2022-09-26 06:11:44 +00:00
import * as express from 'express';
import { CloudFunction, EventContext } from './cloud-functions';
import { DeploymentOptions, RuntimeOptions, SUPPORTED_REGIONS } from './function-configuration';
import * as analytics from './providers/analytics';
import * as auth from './providers/auth';
import * as database from './providers/database';
import * as firestore from './providers/firestore';
import * as https from './providers/https';
import * as pubsub from './providers/pubsub';
import * as remoteConfig from './providers/remoteConfig';
import * as storage from './providers/storage';
import * as tasks from './providers/tasks';
import * as testLab from './providers/testLab';
/**
* Configure the regions that the function is deployed to.
* @param regions One of more region strings.
* @example
* functions.region('us-east1')
* @example
* functions.region('us-east1', 'us-central1')
*/
export declare function region(...regions: Array<typeof SUPPORTED_REGIONS[number] | string>): FunctionBuilder;
/**
* Configure runtime options for the function.
* @param runtimeOptions Object with optional fields:
* 1. `memory`: amount of memory to allocate to the function, possible values
* are: '128MB', '256MB', '512MB', '1GB', '2GB', '4GB', and '8GB'.
* 2. `timeoutSeconds`: timeout for the function in seconds, possible values are
* 0 to 540.
* 3. `failurePolicy`: failure policy of the function, with boolean `true` being
* equivalent to providing an empty retry object.
* 4. `vpcConnector`: id of a VPC connector in same project and region.
* 5. `vpcConnectorEgressSettings`: when a vpcConnector is set, control which
* egress traffic is sent through the vpcConnector.
* 6. `serviceAccount`: Specific service account for the function.
* 7. `ingressSettings`: ingress settings for the function, which control where a HTTPS
* function can be called from.
*
* Value must not be null.
*/
export declare function runWith(runtimeOptions: RuntimeOptions): FunctionBuilder;
export declare class FunctionBuilder {
private options;
constructor(options: DeploymentOptions);
/**
* Configure the regions that the function is deployed to.
* @param regions One or more region strings.
* @example
* functions.region('us-east1')
* @example
* functions.region('us-east1', 'us-central1')
*/
region(...regions: Array<typeof SUPPORTED_REGIONS[number] | string>): FunctionBuilder;
/**
* Configure runtime options for the function.
* @param runtimeOptions Object with optional fields:
* 1. `memory`: amount of memory to allocate to the function, possible values
* are: '128MB', '256MB', '512MB', '1GB', '2GB', '4GB', and '8GB'.
* 2. `timeoutSeconds`: timeout for the function in seconds, possible values are
* 0 to 540.
* 3. `failurePolicy`: failure policy of the function, with boolean `true` being
* equivalent to providing an empty retry object.
* 4. `vpcConnector`: id of a VPC connector in the same project and region
* 5. `vpcConnectorEgressSettings`: when a `vpcConnector` is set, control which
* egress traffic is sent through the `vpcConnector`.
*
* Value must not be null.
*/
runWith(runtimeOptions: RuntimeOptions): FunctionBuilder;
get https(): {
/**
* Handle HTTP requests.
* @param handler A function that takes a request and response object,
* same signature as an Express app.
*/
onRequest: (handler: (req: https.Request, resp: express.Response) => void | Promise<void>) => import("./cloud-functions").HttpsFunction;
/**
* Declares a callable method for clients to call using a Firebase SDK.
* @param handler A method that takes a data and context and returns a value.
*/
onCall: (handler: (data: any, context: https.CallableContext) => any | Promise<any>) => import("./cloud-functions").HttpsFunction & import("./cloud-functions").Runnable<any>;
};
get tasks(): {
/**
* Declares a task queue function for clients to call using a Firebase Admin SDK.
* @param options Configurations for the task queue function.
*/
/** @hidden */
taskQueue: (options?: tasks.TaskQueueOptions) => tasks.TaskQueueBuilder;
};
get database(): {
/**
* Selects a database instance that will trigger the function. If omitted,
* will pick the default database for your project.
* @param instance The Realtime Database instance to use.
*/
instance: (instance: string) => database.InstanceBuilder;
/**
* Select Firebase Realtime Database Reference to listen to.
*
* This method behaves very similarly to the method of the same name in
* the client and Admin Firebase SDKs. Any change to the Database that
* affects the data at or below the provided `path` will fire an event in
* Cloud Functions.
*
* There are three important differences between listening to a Realtime
* Database event in Cloud Functions and using the Realtime Database in
* the client and Admin SDKs:
* 1. Cloud Functions allows wildcards in the `path` name. Any `path`
* component in curly brackets (`{}`) is a wildcard that matches all
* strings. The value that matched a certain invocation of a Cloud
* Function is returned as part of the `context.params` object. For
* example, `ref("messages/{messageId}")` matches changes at
* `/messages/message1` or `/messages/message2`, resulting in
* `context.params.messageId` being set to `"message1"` or
* `"message2"`, respectively.
* 2. Cloud Functions do not fire an event for data that already existed
* before the Cloud Function was deployed.
* 3. Cloud Function events have access to more information, including
* information about the user who triggered the Cloud Function.
* @param ref Path of the database to listen to.
*/
ref: (path: string) => database.RefBuilder;
};
get firestore(): {
/**
* Select the Firestore document to listen to for events.
* @param path Full database path to listen to. This includes the name of
* the collection that the document is a part of. For example, if the
* collection is named "users" and the document is named "Ada", then the
* path is "/users/Ada".
*/
document: (path: string) => firestore.DocumentBuilder;
/** @hidden */
namespace: (namespace: string) => firestore.NamespaceBuilder;
/** @hidden */
database: (database: string) => firestore.DatabaseBuilder;
};
get analytics(): {
/**
* Select analytics events to listen to for events.
* @param analyticsEventType Name of the analytics event type.
*/
event: (analyticsEventType: string) => analytics.AnalyticsEventBuilder;
};
get remoteConfig(): {
/**
* Handle all updates (including rollbacks) that affect a Remote Config
* project.
* @param handler A function that takes the updated Remote Config template
* version metadata as an argument.
*/
onUpdate: (handler: (version: remoteConfig.TemplateVersion, context: EventContext) => PromiseLike<any> | any) => CloudFunction<remoteConfig.TemplateVersion>;
};
get storage(): {
/**
* The optional bucket function allows you to choose which buckets' events
* to handle. This step can be bypassed by calling object() directly,
* which will use the default Cloud Storage for Firebase bucket.
* @param bucket Name of the Google Cloud Storage bucket to listen to.
*/
bucket: (bucket?: string) => storage.BucketBuilder;
/**
* Handle events related to Cloud Storage objects.
*/
object: () => storage.ObjectBuilder;
};
get pubsub(): {
/**
* Select Cloud Pub/Sub topic to listen to.
* @param topic Name of Pub/Sub topic, must belong to the same project as
* the function.
*/
topic: (topic: string) => pubsub.TopicBuilder;
schedule: (schedule: string) => pubsub.ScheduleBuilder;
};
get auth(): {
/**
* Handle events related to Firebase authentication users.
*/
user: (userOptions?: auth.UserOptions) => auth.UserBuilder;
};
get testLab(): {
/**
* Handle events related to Test Lab test matrices.
*/
testMatrix: () => testLab.TestMatrixBuilder;
};
}