@ effect- firebase/ 客户端
Firebase客户端 SDK集成,用于Effect Firebase. 规定 a FirestoreService 用于网络和移动应用.
安装
npm install @effect-firebase/client effect-firebase effect
npm install firebase
使用量
import { Effect } from 'effect';
import { initializeApp } from 'firebase/app';
import { Client } from '@effect-firebase/client';
import { PostRepository } from './repositories/post-repository';
import { Query } from 'effect-firebase';
const app = initializeApp({ projectId: 'your-project-id' });
const program = Effect.gen(function* () {
const repo = yield* PostRepository;
const posts = yield* repo.query(
Query.and(
Query.where('status', '==', 'published'),
Query.orderBy('createdAt', 'desc'),
Query.limit(10),
),
);
return posts;
}).pipe(Effect.provide(Client.layer({ app })));
Effect.runPromise(program).then(console.log);
层选项
Client.layer(); // uses the default initialized Firebase app
Client.layer({ app }); // uses the provided app
Client.layer({ firestore }); // uses a Firestore instance directly
Client.layer() 当未初始化默认应用程序时丢出 。 通过两个 app 财务报告和审定财务报表 firestore 掷出也.
存储器只是需要的效果 FirestoreService这样 yield* PostRepository 工作过一次 Client.layer 提供.
许可证
麻省理工学院