Skip to content

reshufflehq/reshuffle-firebase-connector

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 

reshuffle-firebase-connector

Code | npm | Code sample

npm install reshuffle-firebase-connector

Reshuffle Firebase Connector

This package contains a Reshuffle connector to Google Firebase.

The following example tracks values in the Firebase realtime database:

const { Reshuffle } = require('reshuffle')
const { FirebaseConnector } = require('reshuffle-firebase-connector')

const app = new Reshuffle()
const fb = new FirebaseConnector(app, {
  credentials: process.env.FIREBASE_CREDENTIALS,
  databaseURL: process.env.FIREBASE_DATABASE_URL,
})

const ref = fb.ref('myKey')
fb.on({ type: 'Value', ref }, (snapshot) => {
  console.log(`New value for key ${snapshot.key}: ${snapshot.val()}`)
})

app.start(8000)
setInterval(() => ref.set(Date.now()), 1000)

Table of Contents

Configuration Configuration options

Types TypeScript types

Connector events:

ChildAdded Child added to key

ChildChanged Child changed

ChildMoved Child moved

ChildRemoved Child removed

Value Value changed

Connector actions:

database Get the realtime database

ref Get a key reference in the realtime database

Configuration options
const app = new Reshuffle()
const firebaseConnector = new FirebaseConnector(app, {
  credentials: process.env.FIREBASE_CREDENTIALS,
  databaseURL: process.env.FIREBASE_DATABASE_URL,
})

Credentials can be an object or a JSON string with service account credentials that can be downloaded from the Firebase admin console. See the Credentials interface exported from the connector for details.

The databaseURL is a string provided by Firebase.

TypeScript types

The following types are exported from the connector:

  • interface FirebaseCredentials Google service account credentials
  • interface FirebaseConnectorOptions Connector configuration options
  • type FirebaseEventType Supported events
  • interface FirebaseEventOptions Event options
  • type FirebaseSnapshot Data snapshot used as event handler argument
  • class FirebaseConnector Connector class

Connector events

Child Added event

Event options:

type: 'ChildAdded'
ref: firebase.database.Reference | string

Event object:

Firebase's snapshot object

Example:

firebaseConnector.on({ type: 'ChildAdded', ref: 'mkKey' }, (snapshot) => {
  console.log(`${snapshot.key} = ${snapshot.val()}`)
})

Child added in the realtime database. Learn more here.

Child Changed event

Event options:

type: 'ChildChanged'
ref: firebase.database.Reference | string

Event object:

Firebase's snapshot object

Example:

firebaseConnector.on({ type: 'ChildChanged', ref: 'mkKey' }, (snapshot) => {
  console.log(`${snapshot.key} = ${snapshot.val()}`)
})

Child changed in the realtime database. Learn more here.

Child Moved event

Event options:

type: 'ChildMoved'
ref: firebase.database.Reference | string

Event object:

Firebase's snapshot object

Example:

firebaseConnector.on({ type: 'ChildMoved', ref: 'mkKey' }, (snapshot) => {
  console.log(`${snapshot.key} = ${snapshot.val()}`)
})

Child moved in the realtime database. Learn more here.

Child Removed event

Event options:

type: 'ChildRemoved'
ref: firebase.database.Reference | string

Event object:

Firebase's snapshot object

Example:

firebaseConnector.on({ type: 'ChildRemoved', ref: 'mkKey' }, (snapshot) => {
  console.log(`${snapshot.key} = ${snapshot.val()}`)
})

Child removed from the realtime database. Learn more here.

Value event

Event options:

type: 'Value'
ref: firebase.database.Reference | string

Event object:

Firebase's snapshot object

Example:

firebaseConnector.on({ type: 'Value', ref: 'mkKey' }, (snapshot) => {
  console.log(`${snapshot.key} = ${snapshot.val()}`)
})

Value changed in the realtime database. Learn more here.

Connector actions

Database action

Definition:

() => firebase.database.Database

Usage:

const database = firebaseConnector.database()

Get the realtime database object.

Ref action

Definition:

(
  path: string,
) => firebase.database.Reference

Usage:

firebaseConnector.ref('myKey').set('myValue')

Get a key reference in the realtime database.

About

Reshuffle connector to Google Firebase

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published