UNPKG

@angular/fire

Version:

The official library for Firebase and Angular

62 lines 4.88 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @param {?} value * @return {?} */ export function isString(value) { return typeof value === 'string'; } /** * @param {?} value * @return {?} */ export function isFirebaseDataSnapshot(value) { return typeof value.exportVal === 'function'; } /** * @param {?} obj * @return {?} */ export function isNil(obj) { return obj === undefined || obj === null; } /** * @param {?} value * @return {?} */ 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 * @return {?} */ export function getRef(database, pathRef) { // if a db ref was passed in, just return it return isFirebaseRef(pathRef) ? (/** @type {?} */ (pathRef)) : database.ref((/** @type {?} */ (pathRef))); } /** * @param {?} item * @param {?} cases * @return {?} */ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGF0YWJhc2UvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHQSxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQVU7SUFDakMsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUM7QUFDbkMsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsS0FBVTtJQUMvQyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsS0FBSyxVQUFVLENBQUM7QUFDL0MsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsS0FBSyxDQUFDLEdBQVE7SUFDNUIsT0FBTyxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUM7QUFDM0MsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQVU7SUFDdEMsT0FBTyxPQUFPLEtBQUssQ0FBQyxHQUFHLEtBQUssVUFBVSxDQUFDO0FBQ3pDLENBQUM7Ozs7Ozs7O0FBUUQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxRQUEyQixFQUFFLE9BQXNCO0lBQ3hFLDRDQUE0QztJQUM1QyxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQUEsT0FBTyxFQUFxQjtRQUMxRCxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxtQkFBQSxPQUFPLEVBQVUsQ0FBQyxDQUFDO0FBQ3RDLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxJQUF1QixFQUFFLEtBQTZCO0lBQ3hGLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2xCLE9BQU8sS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0tBQzNCO1NBQU0sSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDOUIsT0FBTyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7S0FDN0I7U0FBTSxJQUFJLHNCQUFzQixDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0tBQzdCO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxrREFBa0QsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQ25GLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhYmFzZVJlZmVyZW5jZSwgRmlyZWJhc2VPcGVyYXRpb24sIEZpcmViYXNlT3BlcmF0aW9uQ2FzZXMsIFBhdGhSZWZlcmVuY2UgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZGF0YWJhc2UgfSBmcm9tICdmaXJlYmFzZS9hcHAnO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNTdHJpbmcodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRmlyZWJhc2VEYXRhU25hcHNob3QodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlLmV4cG9ydFZhbCA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTmlsKG9iajogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiBvYmogPT09IHVuZGVmaW5lZCB8fCBvYmogPT09IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0ZpcmViYXNlUmVmKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZS5zZXQgPT09ICdmdW5jdGlvbic7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGRhdGFiYXNlIHJlZmVyZW5jZSBnaXZlbiBhIEZpcmViYXNlIEFwcCBhbmQgYW5cbiAqIGFic29sdXRlIG9yIHJlbGF0aXZlIHBhdGguXG4gKiBAcGFyYW0gZGF0YWJhc2UgLSBGaXJlYmFzZSBEYXRhYmFzZVxuICogQHBhcmFtIHBhdGhSZWYgLSBEYXRhYmFzZSBwYXRoLCByZWxhdGl2ZSBvciBhYnNvbHV0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVmKGRhdGFiYXNlOiBkYXRhYmFzZS5EYXRhYmFzZSwgcGF0aFJlZjogUGF0aFJlZmVyZW5jZSk6IERhdGFiYXNlUmVmZXJlbmNlIHtcbiAgLy8gaWYgYSBkYiByZWYgd2FzIHBhc3NlZCBpbiwganVzdCByZXR1cm4gaXRcbiAgcmV0dXJuIGlzRmlyZWJhc2VSZWYocGF0aFJlZikgPyBwYXRoUmVmIGFzIERhdGFiYXNlUmVmZXJlbmNlXG4gICAgOiBkYXRhYmFzZS5yZWYocGF0aFJlZiBhcyBzdHJpbmcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tPcGVyYXRpb25DYXNlcyhpdGVtOiBGaXJlYmFzZU9wZXJhdGlvbiwgY2FzZXM6IEZpcmViYXNlT3BlcmF0aW9uQ2FzZXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKGlzU3RyaW5nKGl0ZW0pKSB7XG4gICAgcmV0dXJuIGNhc2VzLnN0cmluZ0Nhc2UoKTtcbiAgfSBlbHNlIGlmIChpc0ZpcmViYXNlUmVmKGl0ZW0pKSB7XG4gICAgcmV0dXJuIGNhc2VzLmZpcmViYXNlQ2FzZSgpO1xuICB9IGVsc2UgaWYgKGlzRmlyZWJhc2VEYXRhU25hcHNob3QoaXRlbSkpIHtcbiAgICByZXR1cm4gY2FzZXMuc25hcHNob3RDYXNlKCk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RzIGEgc3RyaW5nLCBzbmFwc2hvdCwgb3IgcmVmZXJlbmNlLiBHb3Q6ICR7dHlwZW9mIGl0ZW19YCk7XG59XG4iXX0=