import type * as S from "effect/Schema"; import { type AnyWithProps } from "effect/unstable/rpc/Rpc"; import { type RpcDynamic } from "./RpcMiddleware.js"; type Values> = T[keyof T]; /** * Middleware is inactivate by default, the Key is optional in route context, and the service is optionally provided as Effect Context. * Unless explicitly configured as `true`. */ export type RpcContextMap = { service: Service; error: E; contextActivation: true; inverted: false; }; export declare namespace RpcContextMap { /** * Middleware is active by default, and provides the Service at Key in route context, and the Service is provided as Effect Context. * Unless explicitly omitted. */ type Inverted = { service: Service; error: E; contextActivation: false; inverted: true; }; type Custom = { service: Service; error: E; contextActivation: C; inverted: false; }; type Any = { service: any; error: S.Top; contextActivation: any; inverted: boolean; }; } export type GetContextConfig> = { [K in keyof RequestContextMap]?: RequestContextMap[K]["inverted"] extends true ? RequestContextMap[K]["contextActivation"] extends true ? false : RequestContextMap[K]["contextActivation"] extends false ? true : RequestContextMap[K]["contextActivation"] : RequestContextMap[K]["contextActivation"]; }; export type GetEffectContext, T> = Values<{ [key in keyof RequestContextMap as RequestContextMap[key]["contextActivation"] extends true ? never : key extends keyof T ? T[key] extends true ? never : key : key]: RequestContextMap[key]["service"]; } & { [key in keyof RequestContextMap as RequestContextMap[key]["contextActivation"] extends false ? never : key extends keyof T ? T[key] extends true ? key : never : never]: RequestContextMap[key]["service"]; }>; export type GetEffectError, T> = Values<{ [key in keyof RequestContextMap as RequestContextMap[key]["contextActivation"] extends true ? never : key extends keyof T ? T[key] extends true ? never : key : key]: RequestContextMap[key]["error"]; } & { [key in keyof RequestContextMap as RequestContextMap[key]["contextActivation"] extends false ? never : key extends keyof T ? T[key] extends true ? key : never : never]: RequestContextMap[key]["error"]; }>; export declare const makeMap: >(config: Config) => { new (): { readonly config: Config; }; } & { config: Config; getConfig: (rpc: AnyWithProps) => GetContextConfig; /** Adapter used when setting the dynamic prop on a middleware implementation */ get: (key: Key) => RpcDynamic; }; export declare const make: () => (error: E) => RpcContextMap; export declare const makeInverted: () => (error: E) => RpcContextMap.Inverted; export declare const makeCustom: () => (error: E, contextActivation: C) => RpcContextMap.Custom; export type RequestContextMapTagAny = { readonly config: Record; }; export {}; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnBjQ29udGV4dE1hcC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JwYy9ScGNDb250ZXh0TWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sS0FBSyxLQUFLLENBQUMsTUFBTSxlQUFlLENBQUE7QUFDdkMsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFFM0QsT0FBTyxFQUFFLEtBQUssVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFcEQsS0FBSyxNQUFNLENBQUMsQ0FBQyxTQUFTLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7QUFFcEQ7OztHQUdHO0FBQ0gsTUFBTSxNQUFNLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJO0lBRXRDLE9BQU8sRUFBRSxPQUFPLENBQUE7SUFDaEIsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUNSLGlCQUFpQixFQUFFLElBQUksQ0FBQTtJQUN2QixRQUFRLEVBQUUsS0FBSyxDQUFBO0NBQ2hCLENBQUE7QUFFRCxNQUFNLENBQUMsT0FBTyxXQUFXLGFBQWEsQ0FBQyxDQUFDO0lBQ3RDOzs7T0FHRztJQUNILEtBQVksUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUk7UUFDakMsT0FBTyxFQUFFLE9BQU8sQ0FBQTtRQUNoQixLQUFLLEVBQUUsQ0FBQyxDQUFBO1FBQ1IsaUJBQWlCLEVBQUUsS0FBSyxDQUFBO1FBQ3hCLFFBQVEsRUFBRSxJQUFJLENBQUE7S0FDZixDQUFBO0lBRUQsS0FBWSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUk7UUFDbEMsT0FBTyxFQUFFLE9BQU8sQ0FBQTtRQUNoQixLQUFLLEVBQUUsQ0FBQyxDQUFBO1FBQ1IsaUJBQWlCLEVBQUUsQ0FBQyxDQUFBO1FBQ3BCLFFBQVEsRUFBRSxLQUFLLENBQUE7S0FDaEIs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