UNPKG

react-native-firebase-compiled

Version:

A well tested, feature rich Firebase implementation for React Native, supporting iOS & Android. Individual module support for Admob, Analytics, Auth, Crash Reporting, Cloud Firestore, Database, Dynamic Links, Functions, Messaging (FCM), Remote Config, Sto

125 lines (99 loc) 3.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.statics = exports.default = exports.NAMESPACE = exports.MODULE_NAME = void 0; var _reactNative = require("react-native"); var _internals = _interopRequireDefault(require("../../utils/internals")); var _utils = require("../../utils"); var _ModuleBase = _interopRequireDefault(require("../../utils/ModuleBase")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const FirebaseCoreModule = _reactNative.NativeModules.RNFirebase; const MODULE_NAME = 'RNFirebaseUtils'; exports.MODULE_NAME = MODULE_NAME; const NAMESPACE = 'utils'; exports.NAMESPACE = NAMESPACE; class RNFirebaseUtils extends _ModuleBase.default { constructor(app) { super(app, { moduleName: MODULE_NAME, hasMultiAppSupport: false, hasCustomUrlSupport: false, namespace: NAMESPACE }); } /** * */ checkPlayServicesAvailability() { if (_utils.isIOS) return; const status = this.playServicesAvailability.status; if (!this.playServicesAvailability.isAvailable) { if (_internals.default.OPTIONS.promptOnMissingPlayServices && this.playServicesAvailability.isUserResolvableError) { this.promptForPlayServices(); } else { const error = _internals.default.STRINGS.ERROR_PLAY_SERVICES(status); if (_internals.default.OPTIONS.errorOnMissingPlayServices) { if (status === 2) console.warn(error); // only warn if it exists but may need an update else throw new Error(error); } else { console.warn(error); } } } } getPlayServicesStatus() { if (_utils.isIOS) return Promise.resolve(null); return FirebaseCoreModule.getPlayServicesStatus(); } promptForPlayServices() { if (_utils.isIOS) return null; return FirebaseCoreModule.promptForPlayServices(); } resolutionForPlayServices() { if (_utils.isIOS) return null; return FirebaseCoreModule.resolutionForPlayServices(); } makePlayServicesAvailable() { if (_utils.isIOS) return null; return FirebaseCoreModule.makePlayServicesAvailable(); } /** * Set the global logging level for all logs. * * @param logLevel */ set logLevel(logLevel) { _internals.default.OPTIONS.logLevel = logLevel; } /** * Returns props from the android GoogleApiAvailability sdk * @android * @return {RNFirebase.GoogleApiAvailabilityType|{isAvailable: boolean, status: number}} */ get playServicesAvailability() { return FirebaseCoreModule.playServicesAvailability || { isAvailable: true, status: 0 }; } /** * Enable/Disable throwing an error or warning on detecting a play services problem * @android * @param bool */ set errorOnMissingPlayServices(bool) { _internals.default.OPTIONS.errorOnMissingPlayServices = bool; } /** * Enable/Disable automatic prompting of the play services update dialog * @android * @param bool */ set promptOnMissingPlayServices(bool) { _internals.default.OPTIONS.promptOnMissingPlayServices = bool; } } exports.default = RNFirebaseUtils; const statics = {}; exports.statics = statics;