@react-native-firebase/database
Version:
React Native Firebase - The Firebase Realtime Database is a cloud-hosted database. Data is stored as JSON and synchronized in realtime to every connected client. React Native Firebase provides native integration with the Android & iOS Firebase SDKs, suppo
132 lines (112 loc) • 2.57 kB
JavaScript
import { getApp } from '@react-native-firebase/app';
import DatabaseStatics from '../DatabaseStatics';
const { ServerValue } = DatabaseStatics;
/**
* @typedef {import("..").FirebaseApp} FirebaseApp
* @typedef {import("..").FirebaseDatabaseTypes.Module} Database
*/
/**
* @param {FirebaseApp?} app - The FirebaseApp instance that the returned Realtime Database instance is associated with.
* @param {string?} url
* @returns {Database}
*/
export function getDatabase(app, url) {
if (app) {
return getApp(app.name).database(url);
}
return getApp().database(url);
}
/**
* @param {Database} db
* @param {string} host
* @param {number} port
* @returns {void}
*/
export function connectDatabaseEmulator(db, host, port) {
db.useEmulator(host, port);
}
/**
* @param {Database} db
* @returns {Promise<void>}
*/
export function goOffline(db) {
return db.goOffline();
}
/**
* @param {Database} db
* @returns {Promise<void>}
*/
export function goOnline(db) {
return db.goOnline();
}
/**
* @param {Database} db
* @param {string?} path
* @returns {DatabaseReference}
*/
export function ref(db, path) {
return db.ref(path);
}
/**
* @param {Database} db
* @param {string} url
* @returns {DatabaseReference}
*/
export function refFromURL(db, url) {
return db.refFromURL(url);
}
/**
* @param {Database} db
* @param {boolean} enabled
* @returns {void}
*/
export function setPersistenceEnabled(db, enabled) {
return db.setPersistenceEnabled(enabled);
}
/**
* @param {Database} db
* @param {boolean} enabled
* @returns {void}
*/
export function setLoggingEnabled(db, enabled) {
return db.setLoggingEnabled(enabled);
}
/**
* @param {Database} db
* @param {number} bytes
* @returns {void}
*/
export function setPersistenceCacheSizeBytes(db, bytes) {
return db.setPersistenceCacheSizeBytes(bytes);
}
export function forceLongPolling() {
throw new Error('forceLongPolling() is not implemented');
}
export function forceWebSockets() {
throw new Error('forceWebSockets() is not implemented');
}
/**
* @param {Database} db
* @returns {Date}
*/
export function getServerTime(db) {
return db.getServerTime();
}
/**
* @returns {object}
*/
export function serverTimestamp() {
return ServerValue.TIMESTAMP;
}
/**
* @param {number} delta
* @returns {object}
*/
export function increment(delta) {
return ServerValue.increment(delta);
}
export function enableLogging(_enabled, _persistent) {
throw new Error('enableLogging() is not implemented');
}
export * from './query';
export * from './transaction';