UNPKG

@smartface/plugin-firebase

Version:

Smartface Firebase Plugin for Smartface Native Framework

116 lines 3.99 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var invocation_1 = __importDefault(require("@smartface/native/util/iOS/invocation")); var Analytics_1 = __importDefault(require("./Analytics")); var App_1 = __importDefault(require("./App")); var Auth_1 = __importDefault(require("./Auth")); var Messaging_1 = __importDefault(require("./Messaging")); var Firebase = /** @class */ (function () { function Firebase() { } /** * Initialize your SDK * @method initializeApp * @static * @public * @param {Object} config * @param {IO.File} config.iosFile - iOS plist file * @param {String} name(Optional) * @example * import Firebase from '@smartace/plugin-firebase'; * const File = require('@smartface/native/io/file'); * * var iOSPlistFile = new File({ * path: 'assets://GoogleService-Info.plist' * }); * var firebaseConfig = { * iosFile : iOSPlistFile * }; * Firebase.initializeApp(firebaseConfig); */ Firebase.initializeApp = function (config, name) { var _a; if ((_a = config === null || config === void 0 ? void 0 : config.iosFile) === null || _a === void 0 ? void 0 : _a.exists) { // @ts-ignore var pathPlist = config.iosFile.nativeObject.getActualPath(); var alloc = invocation_1.default.invokeClassMethod('FIROptions', 'alloc', [], 'id'); // @ts-ignore var argPathPlist = new invocation_1.default.Argument({ type: 'NSString', value: pathPlist }); var firOptions = invocation_1.default.invokeInstanceMethod(alloc, 'initWithContentsOfFile:', [argPathPlist], 'NSObject'); var nativeFirebaseApp = void 0; if (name) { App_1.default.ios.native.configureWithNameOptions(name, firOptions); nativeFirebaseApp = App_1.default.ios.native.appNamed(name); } else { App_1.default.ios.native.configureWithOptions(firOptions); nativeFirebaseApp = App_1.default.ios.native.defaultApp(); } return new App_1.default(nativeFirebaseApp); } }; /** * When called with no arguments, the default app is returned * @method app * @static * @param {string} [name] - When an app name is provided, the app corresponding to that name is returned. * @public * @returns {FirebaseApp} */ Firebase.app = function (name) { var nativeFirebaseApp; if (name) { nativeFirebaseApp = App_1.default.ios.native.appNamed(name); } else { nativeFirebaseApp = App_1.default.ios.native.defaultApp(); } return new App_1.default(nativeFirebaseApp); }; /** * Gets the FirebaseApp Array. * @method apps * @static * @public * @returns {FirebaseApp[]} apps */ Firebase.apps = function () { var apps = App_1.default.ios.native.allApps(); var appArray = []; if (!apps) { return appArray; } var keys = Object.keys(apps); for (var i in keys) { appArray.push(new App_1.default(apps[keys[i]])); } return appArray; }; Firebase.auth = function (firebaseApp) { return new Auth_1.default(firebaseApp); }; /** * Firebase Analytics service * @static * @public * @property {object} */ Firebase.analytics = Analytics_1.default; /** * Gets the messaging service. * @property {object} * @static * @readonly * @public */ Firebase.messaging = Messaging_1.default; return Firebase; }()); exports.default = Firebase; //# sourceMappingURL=firebase-iOS.js.map