diff --git a/docs/functions/functions.md b/docs/functions/functions.md index 6ef680cf5..347fbb0cc 100644 --- a/docs/functions/functions.md +++ b/docs/functions/functions.md @@ -26,6 +26,29 @@ import { environment } from '../environments/environment'; export class AppModule {} ``` +### Configure the Function region with the FunctionsRegionToken Injection Token + +Allow configuration of Function region with the `FunctionsRegionToken` Injection Token by adding it to the `providers` section of your `NgModule`. The default is `us-central1`. + +```ts +import { NgModule } from '@angular/core'; +import { AngularFireFunctionsModule, FunctionsRegionToken } from '@angular/fire/functions'; + +@NgModule({ + imports: [ + ... + AngularFireFunctionsModule, + ... + ], + ... + providers: [ + { provide: FunctionsRegionToken, useValue: 'asia-northeast1' } + ] +}) +export class AppModule {} + +``` + ### Injecting the AngularFireFunctions service Once the `AngularFireFunctionsModule` is registered you can inject the `AngularFireFunctions` service. diff --git a/src/functions/functions.ts b/src/functions/functions.ts index cf2ff65b7..2d0fbc242 100644 --- a/src/functions/functions.ts +++ b/src/functions/functions.ts @@ -5,6 +5,7 @@ import { FirebaseOptions, FirebaseAppConfig } from '@angular/fire'; import { FirebaseFunctions, FirebaseOptionsToken, FirebaseNameOrConfigToken, _firebaseAppFactory, FirebaseZoneScheduler } from '@angular/fire'; export const FunctionsRegionToken = new InjectionToken('angularfire2.functions.region'); +export const FunctionsDefaultRegion = 'us-central1'; @Injectable() export class AngularFireFunctions { @@ -27,7 +28,7 @@ export class AngularFireFunctions { this.functions = zone.runOutsideAngular(() => { const app = _firebaseAppFactory(options, nameOrConfig); - return app.functions(region); + return app.functions(region || FunctionsDefaultRegion); }); }