Files
pr-preview/node_modules/effect/dist/dts/RequestBlock.d.ts
T
space a71f801c3f feat: initial scaffold - backend, frontend, Prisma schema, Docker
- Prisma schema: User, Session, RepoConfig, Preview, Job, WebhookToken, NoConfigComment, AdminSettings
- Backend: auth (login/logout/me/first-user setup), webhook handler with HMAC verification, EC2 service, SSH service, deploy pipeline, job queue worker, cron workers
- Frontend: Login with first-user detection, Dashboard, PreviewDetail with live log streaming, Settings, Repos config, Admin panel, SetupWizard, Privacy page
- Docker Compose and Dockerfile for self-hosted deployment
- Uses bcryptjs for Node 24 compatibility

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-25 00:18:08 +02:00

94 lines
2.5 KiB
TypeScript

import type * as Request from "./Request.js";
import type * as RequestResolver from "./RequestResolver.js";
/**
* `RequestBlock` captures a collection of blocked requests as a data
* structure. By doing this the library is able to preserve information about
* which requests must be performed sequentially and which can be performed in
* parallel, allowing for maximum possible batching and pipelining while
* preserving ordering guarantees.
*
* @since 2.0.0
* @category models
*/
export type RequestBlock = Empty | Par | Seq | Single;
/**
* @since 2.0.0
* @category models
*/
export declare namespace RequestBlock {
/**
* @since 2.0.0
* @category models
*/
interface Reducer<in out Z> {
emptyCase(): Z;
parCase(left: Z, right: Z): Z;
singleCase(dataSource: RequestResolver.RequestResolver<unknown>, blockedRequest: Request.Entry<unknown>): Z;
seqCase(left: Z, right: Z): Z;
}
}
/**
* @since 2.0.0
* @category models
*/
export interface Empty {
readonly _tag: "Empty";
}
/**
* @since 2.0.0
* @category models
*/
export interface Par {
readonly _tag: "Par";
readonly left: RequestBlock;
readonly right: RequestBlock;
}
/**
* @since 2.0.0
* @category models
*/
export interface Seq {
readonly _tag: "Seq";
readonly left: RequestBlock;
readonly right: RequestBlock;
}
/**
* @since 2.0.0
* @category models
*/
export interface Single {
readonly _tag: "Single";
readonly dataSource: RequestResolver.RequestResolver<unknown>;
readonly blockedRequest: Request.Entry<unknown>;
}
/**
* @since 2.0.0
* @category constructors
*/
export declare const single: <A>(dataSource: RequestResolver.RequestResolver<A>, blockedRequest: Request.Entry<A>) => RequestBlock;
/**
* @since 2.0.0
* @category constructors
*/
export declare const empty: RequestBlock;
/**
* @since 2.0.0
* @category constructors
*/
export declare const mapRequestResolvers: <A>(self: RequestBlock, f: (dataSource: RequestResolver.RequestResolver<A>) => RequestResolver.RequestResolver<A>) => RequestBlock;
/**
* @since 2.0.0
* @category constructors
*/
export declare const parallel: (self: RequestBlock, that: RequestBlock) => RequestBlock;
/**
* @since 2.0.0
* @category constructors
*/
export declare const reduce: <Z>(self: RequestBlock, reducer: RequestBlock.Reducer<Z>) => Z;
/**
* @since 2.0.0
* @category constructors
*/
export declare const sequential: (self: RequestBlock, that: RequestBlock) => RequestBlock;
//# sourceMappingURL=RequestBlock.d.ts.map