mirror of
https://github.com/github/codeql.git
synced 2025-12-17 09:13:20 +01:00
73 lines
1.3 KiB
JavaScript
73 lines
1.3 KiB
JavaScript
import * as fb from 'firebase/app';
|
|
import * as admin from 'firebase-admin';
|
|
import * as functions from 'firebase-functions';
|
|
|
|
fb.database().ref('x').once('value', x => {
|
|
x.val();
|
|
x.ref.parent;
|
|
});
|
|
|
|
admin.database().ref('x').once('value', x => {
|
|
x.val();
|
|
x.ref.parent;
|
|
});
|
|
|
|
functions.database.ref('x').onCreate(x => {
|
|
x.val();
|
|
x.ref.parent;
|
|
});
|
|
|
|
functions.database.ref('x').onUpdate(x => {
|
|
x.before.val();
|
|
x.after.val();
|
|
x.ref.parent;
|
|
});
|
|
|
|
class FirebaseWrapper {
|
|
constructor(firebase) {
|
|
this.firebase = firebase;
|
|
}
|
|
|
|
getRef(x) {
|
|
return this.firebase.database().ref(x);
|
|
}
|
|
}
|
|
|
|
class FirebaseWrapper2 {
|
|
constructor() {
|
|
this.init();
|
|
}
|
|
|
|
init() {
|
|
this.firebase = fb.initializeApp();
|
|
}
|
|
|
|
getRef(x) {
|
|
return this.firebase.database().ref(x);
|
|
}
|
|
|
|
getNewsItem(x) {
|
|
return this.getRef(x).child(x).once('value');
|
|
}
|
|
|
|
adjustValue(fn) {
|
|
this.firebase.database().ref('x').transaction(fn);
|
|
}
|
|
}
|
|
|
|
new FirebaseWrapper(firebase.initializeApp()).getRef('/news');
|
|
new FirebaseWrapper2().getRef('/news');
|
|
new FirebaseWrapper2().getNewsItem('x');
|
|
new FirebaseWrapper2().adjustValue(x => x + 1);
|
|
|
|
class Box {
|
|
constructor(x) {
|
|
this.x = x;
|
|
}
|
|
}
|
|
let box1 = new Box(fb.database());
|
|
let box2 = new Box(whatever());
|
|
box2.x.ref(); // not a firebase ref
|
|
|
|
functions.https.onRequest((req, res) => { res.send(req.params.foo); });
|