abstracted-client
TypeScript icon, indicating that this package has built-in type declarations

0.38.3 • Public • Published

Build Status Coverage Status MIT license

A minimal abstraction over the Firebase client API

Basic Usage

Meant for frontend Javascript/Typescript apps which interact with Firebase's client API using the firebase client api.

import DB, { IFirebaseConfig } from "abstracted-client";
const config: IFirebaseClientConfig = {
  apiKey: "ATzaSyDuimhvBmcV1zeTl4m1MphOgWnzS16QhBM",
  authDomain: "my-app.firebaseapp.com",
  databaseURL: "https://my-app.firebaseio.com",
  projectId: "my-app",
  storageBucket: "my-app.appspot.com",
  messagingSenderId: "999999999999"
};
const db = new DB({ config });
// Get a list of records
const users = await db.getValue<IUser[]>("users");
// Push a new value onto a list
const company: ICompany = {
  name: "Acme",
  employees: 500
};
db.push<ICompany>("/companies", company);

Authentication

All of the authentication is done via the normal Firebase API for Auth which is accessible as auth off the DB class:

const db = new DB({ config });
const auth = db.auth;

Mocking

This library supports simple redirecting of all operations to the firemock mocking library; see related projects) and the "Mocking" section of the docs here for more details. In cases where mocking is being used, authentication (and security rights for paths) are not supported and therefore the above ENV variables are not required.

Documentation

Since this library and abstracted-admin share a common implementation for most of their API surface you'll find the documentation here: abstracted-admin

Package Sidebar

Install

npm i abstracted-client

Weekly Downloads

11

Version

0.38.3

License

MIT

Unpacked Size

33.3 kB

Total Files

21

Last publish

Collaborators

  • ksnyde