firebase-thermite
TypeScript icon, indicating that this package has built-in type declarations

2.0.7 • Public • Published

firebase-thermite

NPM version Build status dependency status devDependency Status peerDependency Status Greenkeeper badge

What is it?

firebase-thermite is a library of RxJS observables for Firebase.

Why might you need it?

You might need it if you want to use RxJS observables and the official Angular library for Firebase - AngularFire2 - does not suit your requirements.

How does it differ from AngularFire2?

  • It does not have a dependency on Angular.
  • It has a type information-only dependency on firebase, so it can be used with firebase and with firebase-admin. *
  • Its database observables emit appropriately typed values - rather than values typed as any.
  • Its database observables support value selectors.
  • Its database list observables support key selectors.
  • It includes database observables that emit loaded, added, changed and removed events.
  • It does not implement mutation methods on database observables - use the ref itself, instead.
  • It does not implement declarative queries that contain Subject components - use a Subject that emits a declarative query and use toQuery and create an observable within a switchMap, instead.
  • It includes an infinite list database observable.
  • It includes a map database observable.
  • The Angular modules are split into a separate library: firebase-thermite-ng

* Actually, this is no longer the case. In recent releases, the typings in firebase and firebase-admin have diverged. And adding some preprocessing to account for the differences (similar to what's in firebase-nightlight) is on my TODO list.

Usage

At the moment, the tests will have to serve as the usage documentation.

Testing

To run the tests, you will need to provide several environment variables via a .env file. See constants-spec.ts and env-cmd - which is used to include the environment variables in the bundle.

Package Sidebar

Install

npm i firebase-thermite

Weekly Downloads

0

Version

2.0.7

License

MIT

Last publish

Collaborators

  • cartant