本文整理汇总了TypeScript中angularfire2.FirebaseApp类的典型用法代码示例。如果您正苦于以下问题:TypeScript FirebaseApp类的具体用法?TypeScript FirebaseApp怎么用?TypeScript FirebaseApp使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了FirebaseApp类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: describe
describe('AngularFireDatabase w/options', () => {
let app: FirebaseApp;
let db: AngularFireDatabase;
beforeEach(() => {
TestBed.configureTestingModule({
imports: [
AngularFireModule.initializeApp(COMMON_CONFIG, FIREBASE_APP_NAME),
AngularFireDatabaseModule
],
providers: [
{ provide: FirebaseAppName, useValue: FIREBASE_APP_NAME_TOO },
{ provide: FirebaseAppConfig, useValue: COMMON_CONFIG },
{ provide: RealtimeDatabaseURL, useValue: FIREBASE_DB_NAME }
]
});
inject([FirebaseApp, AngularFireDatabase], (app_: FirebaseApp, _db: AngularFireDatabase) => {
app = app_;
db = _db;
})();
});
afterEach(done => {
app.delete().then(done, done.fail);
});
describe('<constructor>', () => {
it('should be an AngularFireDatabase type', () => {
expect(db instanceof AngularFireDatabase).toEqual(true);
});
it('should have an initialized Firebase app', () => {
expect(db.database.app).toBeDefined();
expect(db.database.app).toEqual(app);
});
it('should have an initialized Firebase app instance member', () => {
expect(db.database.app.name).toEqual(FIREBASE_APP_NAME_TOO);
});
it('database be pointing to the provided DB instance', () => {
expect(db.database.ref().toString()).toEqual(FIREBASE_DB_NAME);
});
it('list should be using the provided DB instance', () => {
expect(db.list(QUERY).query.toString()).toEqual(`${FIREBASE_DB_NAME}${QUERY}`);
});
it('object should be using the provided DB instance', () => {
expect(db.object(QUERY).query.toString()).toEqual(`${FIREBASE_DB_NAME}${QUERY}`);
});
});
});
示例2: describe
describe('stateChanges', () => {
let app: FirebaseApp;
let db: AngularFireDatabase;
let createRef: (path: string) => Reference;
let batch = {};
const items = [{ name: 'zero' }, { name: 'one' }, { name: 'two' }].map((item, i) => ( { key: i.toString(), ...item } ));
Object.keys(items).forEach(function (key, i) {
const itemValue = items[key];
batch[i] = itemValue;
});
// make batch immutable to preserve integrity
batch = Object.freeze(batch);
beforeEach(() => {
TestBed.configureTestingModule({
imports: [
AngularFireModule.initializeApp(COMMON_CONFIG, FIREBASE_APP_NAME),
AngularFireDatabaseModule
]
});
inject([FirebaseApp, AngularFireDatabase], (app_: FirebaseApp, _db: AngularFireDatabase) => {
app = app_;
db = _db;
app.database().goOffline();
createRef = (path: string) => { app.database().goOffline(); return app.database().ref(path); };
})();
});
afterEach(done => {
app.delete().then(done, done.fail);
});
function prepareStateChanges(opts: { events?: ChildEvent[], skip: number } = { skip: 0 }) {
const { events, skip } = opts;
const aref = createRef(rando());
aref.set(batch);
const changes = stateChanges(aref, events);
return {
changes: changes.skip(skip),
ref: aref
};
}
it('should listen to all events by default', (done) => {
const { changes } = prepareStateChanges({ skip: 2 });
changes.subscribe(action => {
expect(action.key).toEqual('2');
expect(action.payload.val()).toEqual(items[items.length - 1]);
done();
});
});
});
示例3: it
it('should throw an error if endAt is used with equalTo', () => {
const observable = FirebaseListFactory(app.database().ref(questionsPath), {
query: {
orderByChild: 'height',
equalTo: 10,
endAt: 100
}
});
expect(observable.subscribe).toThrowError();
});
示例4: FirebaseListFactory
.run(() => {
// Creating a new observable so that the current zone is captured.
subscription = FirebaseListFactory(app.database().ref(`questions`))
.filter(d => d
.map((v: any) => v.$value)
.indexOf('in-the-zone') > -1)
.subscribe(data => {
expect(Zone.current.name).toBe('newZone');
done();
});
});
示例5: it
it('should process a new child_changed event', (done) => {
const aref = ref(rando());
const obs = listChanges(aref, ['child_added','child_changed'])
const sub = obs.skip(1).take(1).subscribe(changes => {
const data = changes.map(change => change.payload.val());
expect(data[1].name).toEqual('lol');
}).add(done);
app.database().goOnline();
aref.set(batch).then(() => {
aref.child(items[1].key).update({ name: 'lol'});
});
});