firestruct v0.0.23
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.
7 years ago
7 years ago
8 years ago
8 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago