@effit/web
v0.1.0-alpha.7
Published
HTTP abstractions for the Effit framework.
Readme
@effit/web
HTTP abstractions for the Effit framework, built on @effect/platform / HttpApiBuilder.
BullBoard.layer({ basePath, queues })— mount Bull Board under a base pathServeStatic.layer({ basePath, directory })— static file middleware
Installation
pnpm add @effit/web effect @effect/platform bullmq @bull-board/api @bull-board/ui ejsMounting Bull Board
import { Effect, Layer } from 'effect';
import { HttpApiBuilder, HttpMiddleware } from '@effect/platform';
import { BullBoard } from '@effit/web/BullBoard.js';
import { QueueRegistry } from '#app/interfaces/queuing/QueueRegistry.js';
export const Server = HttpApiBuilder.serve(HttpMiddleware.logger).pipe(
Layer.provide(
BullBoard.layer({
basePath: '/queues',
queues: QueueRegistry.pipe(
Effect.map((registry) => registry.asArray()),
),
}),
),
Layer.provide(QueueRegistry.Default),
);queues accepts either a plain array of Queue instances or an Effect yielding one, so you can build the list lazily from a QueueRegistry.
Serving static files
import { ServeStatic } from '@effit/web/ServeStatic.js';
const StaticLive = ServeStatic.layer({
basePath: '/assets',
directory: './dist/public',
});License
MIT © Talysson de Oliveira Cassiano
