From 05423ce299fc99045645849c0556e878731d203d Mon Sep 17 00:00:00 2001 From: Adam Duren Date: Sun, 3 Jun 2018 09:32:04 -0400 Subject: [PATCH] feat(firebase-config): add firebase-config wrapper (#2517) * feat(firebase-config): add firebase-config wrapper * refactor * refactor --- .../plugins/firebase-config/index.ts | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 src/@ionic-native/plugins/firebase-config/index.ts diff --git a/src/@ionic-native/plugins/firebase-config/index.ts b/src/@ionic-native/plugins/firebase-config/index.ts new file mode 100644 index 000000000..d62f90c82 --- /dev/null +++ b/src/@ionic-native/plugins/firebase-config/index.ts @@ -0,0 +1,93 @@ +import { Injectable } from '@angular/core'; +import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; + +/** + * @beta + * @name Firebase Config + * @description + * Cordova plugin for Firebase Config + * + * @usage + * ```typescript + * import { FirebaseConfig } from '@ionic-native/firebase-config'; + * + * + * constructor(private firebaseConfig: FirebaseConfig) { } + * + * ... + * + * + * this.firebaseConfig.getBoolean('my_key') + * .then((res: any) => console.log(res)) + * .catch((error: any) => console.error(error)); + * + * ``` + */ +@Plugin({ + pluginName: 'FirebaseConfig', + plugin: 'cordova-plugin-firebase-config', + pluginRef: 'cordova.plugins.firebase.config', + repo: 'https://github.com/chemerisuk/cordova-plugin-firebase-config', + platforms: ['Android', 'iOS'] +}) +@Injectable() +export class FirebaseConfig extends IonicNativePlugin { + /** + * Fetches remote config values with appropriate TTL and then activates them. + * + * @param {number} ttlSeconds + * @returns {Promise} + */ + @Cordova({ sync: true }) + update(ttlSeconds: number): Promise { + return; + } + + /** + * Fetches a boolean configuration value from RemoteConfig + * + * @param {string} key + * @param {string} [namespace] + * @returns {Promise} + */ + @Cordova({ sync: true }) + getBoolean(key: string, namespace?: string): Promise { + return; + } + + /** + * Fetches a string configuration value from RemoteConfig + * + * @param {string} key + * @param {string} [namespace] + * @returns {Promise} + */ + @Cordova({ sync: true }) + getString(key: string, namespace?: string): Promise { + return; + } + + /** + * Fetches a numeric configuration value from RemoteConfig + * + * @param {string} key + * @param {string} [namespace] + * @returns {Promise} + */ + @Cordova({ sync: true }) + getNumber(key: string, namespace?: string): Promise { + return; + } + + /** + * Fetches an array of bytes configuration value from RemoteConfig + * + * @param {string} key + * @param {string} [namespace] + * @returns {Promise} + */ + @Cordova({ sync: true }) + getBytes(key: string, namespace?: string): Promise { + return; + } +}