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
JavaScript
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;
;