0.0.23 • Published 7 years ago

firestruct v0.0.23

Weekly downloads
3
License
MIT
Repository
github
Last release
7 years ago

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.

0.0.23

7 years ago

0.0.23-beta0

7 years ago

0.0.22

8 years ago

0.0.21

8 years ago

0.0.20

9 years ago

0.0.19

9 years ago

0.0.18

10 years ago

0.0.17

10 years ago

0.0.16

10 years ago

0.0.15

10 years ago

0.0.14

10 years ago

0.0.13

10 years ago

0.0.12

10 years ago

0.0.11

10 years ago

0.0.10

10 years ago

0.0.9

10 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago

0.0.0

10 years ago