0.5.0 • Published 6 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
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