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
168 lines (135 loc) • 5.2 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 _reference = _interopRequireDefault(require("./reference"));
var _events = require("../../utils/events");
var _log = require("../../utils/log");
var _utils = require("../../utils");
var _ModuleBase = _interopRequireDefault(require("../../utils/ModuleBase"));
var _native = require("../../utils/native");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
*
* Storage representation wrapper
*/
const FirebaseStorage = _reactNative.NativeModules.RNFirebaseStorage;
const NATIVE_EVENTS = ['storage_event', 'storage_error'];
const MODULE_NAME = 'RNFirebaseStorage';
exports.MODULE_NAME = MODULE_NAME;
const NAMESPACE = 'storage';
exports.NAMESPACE = NAMESPACE;
class Storage extends _ModuleBase.default {
/**
*
* @param app
* @param options
*/
constructor(app) {
super(app, {
events: NATIVE_EVENTS,
moduleName: MODULE_NAME,
hasMultiAppSupport: true,
hasCustomUrlSupport: false,
namespace: NAMESPACE
});
_events.SharedEventEmitter.addListener((0, _events.getAppEventName)(this, 'storage_event'), this._handleStorageEvent.bind(this));
_events.SharedEventEmitter.addListener((0, _events.getAppEventName)(this, 'storage_error'), this._handleStorageEvent.bind(this));
}
/**
* Returns a reference for the given path in the default bucket.
* @url https://firebase.google.com/docs/reference/js/firebase.storage.Storage#ref
* @param path
* @returns {StorageReference}
*/
ref(path) {
return new _reference.default(this, path);
}
/**
* Returns a reference for the given absolute URL.
* @url https://firebase.google.com/docs/reference/js/firebase.storage.Storage#refFromURL
* @param url
* @returns {StorageReference}
*/
refFromURL(url) {
// TODO don't think this is correct?
return new _reference.default(this, `url::${url}`);
}
/**
* setMaxOperationRetryTime
* @url https://firebase.google.com/docs/reference/js/firebase.storage.Storage#setMaxOperationRetryTime
* @param time The new maximum operation retry time in milliseconds.
*/
setMaxOperationRetryTime(time) {
(0, _native.getNativeModule)(this).setMaxOperationRetryTime(time);
}
/**
* setMaxUploadRetryTime
* @url https://firebase.google.com/docs/reference/js/firebase.storage.Storage#setMaxUploadRetryTime
* @param time The new maximum upload retry time in milliseconds.
*/
setMaxUploadRetryTime(time) {
(0, _native.getNativeModule)(this).setMaxUploadRetryTime(time);
}
/**
* setMaxDownloadRetryTime
* @url N/A
* @param time The new maximum download retry time in milliseconds.
*/
setMaxDownloadRetryTime(time) {
(0, _native.getNativeModule)(this).setMaxDownloadRetryTime(time);
}
/**
* INTERNALS
*/
_getSubEventName(path, eventName) {
return (0, _events.getAppEventName)(this, `${path}-${eventName}`);
}
_handleStorageEvent(event) {
const path = event.path,
eventName = event.eventName;
const body = event.body || {};
(0, _log.getLogger)(this).debug('_handleStorageEvent: ', path, eventName, body);
_events.SharedEventEmitter.emit(this._getSubEventName(path, eventName), body);
}
_handleStorageError(err) {
const path = err.path,
eventName = err.eventName;
const body = err.body || {};
(0, _log.getLogger)(this).debug('_handleStorageError ->', err);
_events.SharedEventEmitter.emit(this._getSubEventName(path, eventName), body);
}
_addListener(path, eventName, cb) {
_events.SharedEventEmitter.addListener(this._getSubEventName(path, eventName), cb);
}
_removeListener(path, eventName, origCB) {
_events.SharedEventEmitter.removeListener(this._getSubEventName(path, eventName), origCB);
}
}
exports.default = Storage;
const statics = {
TaskEvent: {
STATE_CHANGED: 'state_changed'
},
TaskState: {
RUNNING: 'running',
PAUSED: 'paused',
SUCCESS: 'success',
CANCELLED: 'cancelled',
ERROR: 'error'
},
Native: FirebaseStorage ? {
MAIN_BUNDLE_PATH: (0, _utils.stripTrailingSlash)(FirebaseStorage.MAIN_BUNDLE_PATH),
CACHES_DIRECTORY_PATH: (0, _utils.stripTrailingSlash)(FirebaseStorage.CACHES_DIRECTORY_PATH),
DOCUMENT_DIRECTORY_PATH: (0, _utils.stripTrailingSlash)(FirebaseStorage.DOCUMENT_DIRECTORY_PATH),
EXTERNAL_DIRECTORY_PATH: (0, _utils.stripTrailingSlash)(FirebaseStorage.EXTERNAL_DIRECTORY_PATH),
EXTERNAL_STORAGE_DIRECTORY_PATH: (0, _utils.stripTrailingSlash)(FirebaseStorage.EXTERNAL_STORAGE_DIRECTORY_PATH),
TEMP_DIRECTORY_PATH: (0, _utils.stripTrailingSlash)(FirebaseStorage.TEMP_DIRECTORY_PATH),
LIBRARY_DIRECTORY_PATH: (0, _utils.stripTrailingSlash)(FirebaseStorage.LIBRARY_DIRECTORY_PATH),
FILETYPE_REGULAR: (0, _utils.stripTrailingSlash)(FirebaseStorage.FILETYPE_REGULAR),
FILETYPE_DIRECTORY: (0, _utils.stripTrailingSlash)(FirebaseStorage.FILETYPE_DIRECTORY)
} : {}
};
exports.statics = statics;
;