0.1.0 • Published 2 years ago

@typeheim/fire-legion v0.1.0

Weekly downloads
166
License
MIT
Repository
-
Last release
2 years ago

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
    })
}) 

Read more...

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*/)

Read more...