0.5.0 • Published 6 years ago

kebakaran v0.5.0

Weekly downloads
24
License
ISC
Repository
github
Last release
6 years ago

kebakaran Build Status Coverage Status npm version

high level utilities for firebase interaction

FirebaseStruct

import Firebase from 'firebase';
import { FirebaseStruct } from 'kebakaran';

const userId = 'foo';

const struct = new FirebaseStruct({
  name: new Firebase(`.../users/${userId}/name`),
  isOnline: new Firebase(`.../presence/${userId}`),
});

struct.on('value', value => {
  // value === { name: ... , isOnline: ... }
});

FirebaseList

import Firebase from 'firebase';
import { FirebaseList, FirebaseStruct } from 'kebakaran';

const list = new FirebaseList(new Firebase('.../top-users'), key => new FirebaseStruct({
  name: new Firebase(`.../users/${key}/name`),
  isOnline: new Firebase(`.../presence/${key}`),
}));

list.on('value', value => {
  // value === [ { id: ... , name: ... , isOnline: ... } ]
});

FirebaseStream

import Firebase from 'firebase';
import { put } from 'redux-saga';
import { FirebaseStream, FirebaseList, FirebaseStruct } from 'kebakaran';

export default function* topUsersSaga() {

  const list = new FirebaseList(new Firebase('.../top-users'), key => new FirebaseStruct({
    name: new Firebase(`.../users/${key}/name`),
    isOnline: new Firebase(`.../presence/${key}`),
  }));

  const stream = new FirebaseStream(list);

  try {
    while (true) {
      const users = yield stream.next();
      yield put({
        type: 'TOP_USERS',
        users
      });
    }
  } finally {
    stream.close();
    list.close();
  }
}
0.5.0

6 years ago

0.4.3

8 years ago

0.4.2

8 years ago

0.4.1

8 years ago

0.4.0

8 years ago

0.3.1

8 years ago

0.3.0

8 years ago

0.2.4

8 years ago

0.2.3

8 years ago

0.2.2

8 years ago

0.2.1

8 years ago

0.2.0

8 years ago

0.1.14

8 years ago

0.1.13

8 years ago

0.1.12

8 years ago

0.1.11

8 years ago

0.1.10

8 years ago

0.1.9

8 years ago

0.1.8

8 years ago

0.1.7

8 years ago

0.1.6

8 years ago

0.1.5

8 years ago

0.1.4

8 years ago

0.1.3

8 years ago

0.1.2

8 years ago

0.1.1

8 years ago

0.1.0

8 years ago