0.1.0 • Published 6 months ago

refirebase v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

Refirebase is a simple library that allows you to use Firebase Realtime Database, Firestore, Storage and Authentication as a state management solution in your JavaScript application.

Installation

Use your favorite package manager to install Refirebase:

NPM

npm install refirebase

Yarn, PNPM, BUN

yarn add refirebase
pnpm add refirebase
bun add refirebase

Usage

Import the Refirebase class:

import { Refirebase } from 'refirebase';

You can use the Refirebase class to get the Firebase objects:

const refirebase = new Refirebase({
  apiKey: 'YOUR_API_KEY',
  authDomain: 'YOUR_AUTH_DOMAIN',
  databaseURL: 'YOUR_DATABASE_URL',
  projectId: 'YOUR_PROJECT_ID',
  storageBucket: 'YOUR_STORAGE_BUCKET',
  messagingSenderId: 'YOUR_MESSAGING_SENDER_ID',
  appId: 'YOUR_APP_ID',
  measurementId: 'YOUR_MEASUREMENT_ID',
});

Or you can use destructuring to get other objects:

const { db, auth } = new Refirebase({
  apiKey: 'YOUR_API_KEY',
  authDomain: 'YOUR_AUTH_DOMAIN',
  databaseURL: 'YOUR_DATABASE_URL',
  projectId: 'YOUR_PROJECT_ID',
  storageBucket: 'YOUR_STORAGE_BUCKET',
  messagingSenderId: 'YOUR_MESSAGING_SENDER_ID',
  appId: 'YOUR_APP_ID',
  measurementId: 'YOUR_MEASUREMENT_ID',
});

If you prefer to copy empty strings to the Refirebase class:

const refirebase = new Refirebase({
  apiKey: '',
  authDomain: '',
  databaseURL: '',
  projectId: '',
  storageBucket: '',
  messagingSenderId: '',
  appId: '',
  measurementId: '',
});

Examples

Databases

Firestore Database Example

// Import the Refirebase class
import { db } from '@/config/firebase';

// Get all data from the 'users' collection
const users = db.firestore.get("users");

// Get data with conditions
const users = db.firestore.get("users", {
  where: {
    name: "John",
  },
});

// Get data with conditions and index
const users = db.firestore.get("users", {
  where: {
    name: "John",
    lastName: { not: "Doe" },
  },
});

// Get data with conditions and not
const users = db.firestore.get("users", {
  where: {
    name: "John",
    age: { operator: ">=", value: 18 },
  },
});

!WARNING
For more information about the limitations of the Firestore query, see Firebase Firestore Query Limitations.

Realtime Database Example

// Import the Refirebase class
import { db } from '@/config/firebase';

// Get ALL data from the 'users' collection
const users = db.realtime.get("users");

Storage

// Import the Refirebase class
import { db } from '@/config/firebase';

// Get a file from the storage
const file = db.storage.get("path/to/file");

Features

Authentication Example

// Import the Refirebase class
import { auth } from '@/config/firebase';

// Sign in with Google
const result = await auth.handleProviderSignIn("google");

if (!result) {
  // Handle error
}

const user = result.user;

License

This project is licensed under the MIT License - see the LICENSE file for details.

0.0.64

9 months ago

0.0.65

9 months ago

0.0.66

8 months ago

0.1.0

6 months ago

0.0.62

10 months ago

0.0.61

10 months ago

0.0.6

10 months ago

0.0.5

10 months ago

0.0.4

10 months ago

0.0.3

10 months ago

0.0.2

10 months ago

0.0.1

10 months ago