Skip to content

Commit ea4b0e5

Browse files
bmass02laurenzlong
authored andcommitted
Improve typings for config() (#138)
1 parent c2c5601 commit ea4b0e5

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/config.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ export function config(): config.Config {
3535
export namespace config {
3636
// Config type is usable as a object (dot notation allowed), and firebase
3737
// property will also code complete.
38-
export type Config = { [key: string]: any } & { firebase?: firebase.AppOptions };
38+
export type Config = { [key: string]: any } & { firebase: firebase.AppOptions };
3939

4040
/** @internal */
4141
export let singleton: config.Config;
@@ -56,11 +56,15 @@ function init (credential: firebase.credential.Credential) {
5656
}
5757
let merged= _.merge({}, loadedFromFile, firebaseEnv);
5858

59-
if (!_.has(merged, 'firebase')) {
59+
if (!hasFirebase(merged)) {
6060
throw new Error('Firebase config variables are not available. ' +
6161
'Please use the latest version of the Firebase CLI to deploy this function.');
6262
}
6363

6464
_.set(merged, 'firebase.credential', credential);
6565
config.singleton = merged;
6666
}
67+
68+
function hasFirebase (merged: { [key: string]: any }): merged is config.Config {
69+
return _.has(merged, 'firebase');
70+
}

0 commit comments

Comments
 (0)