0.5.0 • Published 7 years ago
kebakaran v0.5.0
kebakaran

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
7 years ago
0.4.3
9 years ago
0.4.2
9 years ago
0.4.1
9 years ago
0.4.0
9 years ago
0.3.1
10 years ago
0.3.0
10 years ago
0.2.4
10 years ago
0.2.3
10 years ago
0.2.2
10 years ago
0.2.1
10 years ago
0.2.0
10 years ago
0.1.14
10 years ago
0.1.13
10 years ago
0.1.12
10 years ago
0.1.11
10 years ago
0.1.10
10 years ago
0.1.9
10 years ago
0.1.8
10 years ago
0.1.7
10 years ago
0.1.6
10 years ago
0.1.5
10 years ago
0.1.4
10 years ago
0.1.3
10 years ago
0.1.2
10 years ago
0.1.1
10 years ago
0.1.0
10 years ago