UNPKG

@angular/fire

Version:

The official Angular library for Firebase.

36 lines 4.4 kB
export function isString(value) { return typeof value === 'string'; } export function isFirebaseDataSnapshot(value) { return typeof value.exportVal === 'function'; } export function isNil(obj) { return obj === undefined || obj === null; } export function isFirebaseRef(value) { return typeof value.set === 'function'; } /** * Returns a database reference given a Firebase App and an * absolute or relative path. * @param database - Firebase Database * @param pathRef - Database path, relative or absolute */ export function getRef(database, pathRef) { // if a db ref was passed in, just return it return isFirebaseRef(pathRef) ? pathRef : database.ref(pathRef); } export function checkOperationCases(item, cases) { if (isString(item)) { return cases.stringCase(); } else if (isFirebaseRef(item)) { return cases.firebaseCase(); } else if (isFirebaseDataSnapshot(item)) { return cases.snapshotCase(); } throw new Error(`Expects a string, snapshot, or reference. Got: ${typeof item}`); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcGF0L2RhdGFiYXNlL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBVTtJQUNqQyxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQztBQUNuQyxDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEtBQVU7SUFDL0MsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLEtBQUssVUFBVSxDQUFDO0FBQy9DLENBQUM7QUFFRCxNQUFNLFVBQVUsS0FBSyxDQUFDLEdBQVE7SUFDNUIsT0FBTyxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUM7QUFDM0MsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBVTtJQUN0QyxPQUFPLE9BQU8sS0FBSyxDQUFDLEdBQUcsS0FBSyxVQUFVLENBQUM7QUFDekMsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FBQyxRQUFvQyxFQUFFLE9BQXNCO0lBQ2pGLDRDQUE0QztJQUM1QyxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBNEI7UUFDMUQsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBaUIsQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsSUFBdUIsRUFBRSxLQUE2QjtJQUN4RixJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNsQixPQUFPLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztLQUMzQjtTQUFNLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzlCLE9BQU8sS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0tBQzdCO1NBQU0sSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN2QyxPQUFPLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztLQUM3QjtJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsa0RBQWtELE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNuRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YWJhc2VSZWZlcmVuY2UsIEZpcmViYXNlT3BlcmF0aW9uLCBGaXJlYmFzZU9wZXJhdGlvbkNhc2VzLCBQYXRoUmVmZXJlbmNlIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCBmaXJlYmFzZSBmcm9tICdmaXJlYmFzZS9jb21wYXQvYXBwJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RyaW5nKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0ZpcmViYXNlRGF0YVNuYXBzaG90KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZS5leHBvcnRWYWwgPT09ICdmdW5jdGlvbic7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05pbChvYmo6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gb2JqID09PSB1bmRlZmluZWQgfHwgb2JqID09PSBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNGaXJlYmFzZVJlZih2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUuc2V0ID09PSAnZnVuY3Rpb24nO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBkYXRhYmFzZSByZWZlcmVuY2UgZ2l2ZW4gYSBGaXJlYmFzZSBBcHAgYW5kIGFuXG4gKiBhYnNvbHV0ZSBvciByZWxhdGl2ZSBwYXRoLlxuICogQHBhcmFtIGRhdGFiYXNlIC0gRmlyZWJhc2UgRGF0YWJhc2VcbiAqIEBwYXJhbSBwYXRoUmVmIC0gRGF0YWJhc2UgcGF0aCwgcmVsYXRpdmUgb3IgYWJzb2x1dGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJlZihkYXRhYmFzZTogZmlyZWJhc2UuZGF0YWJhc2UuRGF0YWJhc2UsIHBhdGhSZWY6IFBhdGhSZWZlcmVuY2UpOiBEYXRhYmFzZVJlZmVyZW5jZSB7XG4gIC8vIGlmIGEgZGIgcmVmIHdhcyBwYXNzZWQgaW4sIGp1c3QgcmV0dXJuIGl0XG4gIHJldHVybiBpc0ZpcmViYXNlUmVmKHBhdGhSZWYpID8gcGF0aFJlZiBhcyBEYXRhYmFzZVJlZmVyZW5jZVxuICAgIDogZGF0YWJhc2UucmVmKHBhdGhSZWYgYXMgc3RyaW5nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrT3BlcmF0aW9uQ2FzZXMoaXRlbTogRmlyZWJhc2VPcGVyYXRpb24sIGNhc2VzOiBGaXJlYmFzZU9wZXJhdGlvbkNhc2VzKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmIChpc1N0cmluZyhpdGVtKSkge1xuICAgIHJldHVybiBjYXNlcy5zdHJpbmdDYXNlKCk7XG4gIH0gZWxzZSBpZiAoaXNGaXJlYmFzZVJlZihpdGVtKSkge1xuICAgIHJldHVybiBjYXNlcy5maXJlYmFzZUNhc2UoKTtcbiAgfSBlbHNlIGlmIChpc0ZpcmViYXNlRGF0YVNuYXBzaG90KGl0ZW0pKSB7XG4gICAgcmV0dXJuIGNhc2VzLnNuYXBzaG90Q2FzZSgpO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihgRXhwZWN0cyBhIHN0cmluZywgc25hcHNob3QsIG9yIHJlZmVyZW5jZS4gR290OiAke3R5cGVvZiBpdGVtfWApO1xufVxuIl19