This repository has been archived by the owner. It is now read-only.
An experimental toolset for Firebase
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Merge pull request #78 from tylermcginnis/patch-1 Sep 30, 2016
.jshintrc Added scaffold command to gulp, linted test units, fleshing out classes. Sep 24, 2014
.travis.yml Added some e2e testing. Refactored _trigger to be a proper private me… Jan 15, 2015
LICENSE Archive Jan 11, 2019
karma.conf.js Refactoring child/snapshot related features for more reliable handlin… Nov 6, 2014
package.json Added version numbers to bower.json and package.json (#105) Feb 22, 2017

Status: Archived

This repository has been archived and is no longer maintained.

status: inactive


Build Status Coverage Status Version

This is a collection of power toys (mostly experimental) and utilities for use in Firebase.

The Tools

  • Firebase.util.NormalizedCollection Sync to multiple Firebase database paths and seamlessly merge the data into a single object. You can use most of your favorite Firebase database methods (on, once, set, etc) normally. The merged data is distributed back to the responsible paths during set/update/remove ops. View Docs and API

  • Firebase.util.Paginate Infinite scrolling and pagination with Firebase data. View Docs and API


In the browser

With Bower: bower install firebase-util

From the CDN:

   // off the global Firebase.util namespace
   var emailKey = Firebase.util.escapeEmail( anEmailAddress );

   // or in your browserify packages
   //var fbutil = require('firebase-util');

In Node

var fbutil = require('./firebase-util.js');
var emailKey = fbutil.escapeEmail( anEmailAddress );

Global Utilities


Log debugging info to JavaScript console (or command line in node.js). Defaults to 'warn' (errors and warnings). This can be set or changed at any time to any of the following:

Firebase.util.logLevel(true);  // default logging (also accepts 'all' or 'on')
Firebase.util.logLevel(false); // all logging off (also accepts 0, 'off' or 'none')
Firebase.util.logLevel('error'); // error, warn, info, log, or debug

Debugging can also be enabled in the browser by adding debugLevel=x into the url's query parameters. This allows one to turn on debugging for quick troubleshooting without having to modify any code.

The logLevel() method returns a revert function that can be used to restore the logging level to it's previous value:

// log a whole lotta junk
var revert = Firebase.util.logLevel('debug');

// some code...

// revert to default logging

You can also filter log output with a RegExp:

// only print logs that begin with "Path"
Firebase.util.logLevel('debug', /^Path/);