Skip to main content
Version: Annotations-V1.0.0

Installation

Installing the package

npm install @frost-orm/frost-web

Setup

  • Pass the firebase configuration object to Frost.initialize function instead of initializeApp function from firebase.
  • Pass a map of the APIs you've defined (this explained in Create A Node section) as the second parameter. the key for each API should be the name that you want to access it by later on.
  • This will initialize the Firebase Instance and Frost Instance along with the APIs.
  • The initialize function will return an object with the properties:
    • firebaseApp: The instance returned by initializeApp function from Firebase Web SDK 9.
    • [keys used in the second parameter]: corresponding API instance.
caution

Frost uses Firebase Web SDK 9 internally. So the Firebase app instance is a SDK 9 instance.

src/database/frost.ts
const firebaseConfig = {
apiKey: "...",
authDomain: "...",
databaseURL: "...",
projectId: "...",
messagingSenderId: "...",
appId: "...",
...
};

export const FrostApp = Frost.initialize(firebaseConfig,{
"users":UserApi,
"posts":PostApi,
"courses":CourseApi,
"profiles":ProfileApi,
})

/**
* Shape of FrostApp
* {
* firebaseApp: FirebaseApp,
* users: UserApi,
* posts: PostApi,
* courses: CourseApi,
* profiles: ProfileApi,
* }
* /

To access the Firebase App Instance or the APIs Instances

import {FrostApp} from "src/database/frost.ts"
FrostApp.firebaseApp

FrostApp.users
FrostApp.posts
FrostApp.courses
FrostApp.profiles

or you can export each api individually

src/database/frost.ts
const firebaseConfig = {
apiKey: "...",
authDomain: "...",
databaseURL: "...",
projectId: "...",
messagingSenderId: "...",
appId: "...",
...
};

const FrostApp = Frost.initialize(firebaseConfig,{
"users":UserApi,
"posts":PostApi,
"courses":CourseApi,
"profiles":ProfileApi,
})
export {
FrostApp.users as UserApi,
FrostApp.posts as PostApi,
FrostApp.courses as CourseApi,
FrostApp.profiles as ProfileApi,
}