@typeheim/fire-legion
v0.1.0
Published
Fire Legion
Downloads
22
Maintainers
Readme
Getting Started
Install root package that adds all of the latest FireLegion packages to dependencies
yarn add @typeheim/fire-legion
//or
npm -i @typeheim/fire-legion
ORMOnFire
ORMOnFire is a powerful Firestore ORM.
import {
Agregate,
Entity,
Collection,
CollectionRef,
ID,
Field
} from '@typeheim/orm-on-fire'
@Agregate()
export class User {
@ID() id: string
@Field() firstName: string
@Field() lastName: string
@Field() status: string
@CollectionRef(UserFile) files: Collection<UserFile>
}
@Entity({ collection: 'user-files' })
export class UserFile {
@ID() id: string
@Field() name: string
}
export const UsersCollection = Collection.of(User)
//.......
// with promise-like interface
let markus = await UsersCollection.one('markus').get()
// with Rx interface
UsersCollection.one('tom').get().subscribe((tom: User) => {
tom.files.forEach((file: UserFile) => {
// some cool stuff
})
})
FireAuth
FireAuth is Firebase auth library based on Rx principles.
import { FireAuth, FireAuthSession, AuthProvidersList } from '@typeheim/fire-auth'
// through provider
FireAuth.throughProvider(AuthProvidersList.Google).signInWithPopup()
// using email/password flow
FireAuth.signIn(new PasswordAuth('email', 'password'))
// getting user object
FireAuthSession.userStream.subscribe(user => /*do your magick*/)
// gedding auth status
FireAuthSession.isLoggedInStream.subscribe(isLoggedIn => /*do your magick*/)
// gedding access token
FireAuthSession.accessTokenStream.subscribe(token => /*do your magick*/)