firestruct

0.0.23 • Public • Published

Firestruct

Install:

npm install firestruct

Usage:

import Firestruct from "firestruct";

const count = c => c.value();
const increment = c => c.update(i => i + 1);

const fs = new Firestruct("https://test.firebaseio.com/clickcount");

fs.on("swap", (newCursor, oldCursor, path) => {
    const clicksCursor = newCursor.cursor("clicks");

    React.render(
        <ClickCount
            count={ count(clicksCursor) }
            onClick={ event => increment(clicksCursor) } />,
        document.body
    );
);

API:

Structure

on(eventName, callback)

Event handler. Provides callback with 3 arguments:

  • newCursor
  • oldCursor
  • changePath TODO

Events:

  • "swap": data change

structure._fb

Deprecated. Reference to raw Firebase object.

Please make note of any use; it should be unnecessary for all but Auth.

Cursor

Cursors are immutable references to the current structure.

cursor.cursor(path)

Returns a new cursor.

path is an array/string pointing to a child location.

cursor.value()

Returns the value of the current cursor

cursor.update(callback)

Replaces the value of the current cursor with the return value of callback. TODO: Returns the new cursor.

callback is provided with the current value of the cursor as the first argument.

  • New branches may be created by selecting a non-existant path, then calling update with some data.

  • Old branches may be deleted by selecting a path, then setting it as undefined.

cursor.cursors()

Convenience function. Returns an array of child [key, cursor] pairs.

cursor._fb

Deprecated. Reference to raw Firebase snapshot.

Please make note of any use; it should be unnecessary. Tree-climbing and current node keys will never be supported.

Readme

Keywords

none

Package Sidebar

Install

npm i firestruct

Weekly Downloads

1

Version

0.0.23

License

MIT

Unpacked Size

112 kB

Total Files

12

Last publish

Collaborators

  • wrumsby
  • neftaly
  • lwcooper
  • ejhessing