import * as Def from "effect/Deferred"; import * as Effect from "effect/Effect"; import * as Option from "effect/Option"; import * as Ref from "effect/Ref"; import type { Scope } from "effect/Scope"; import type { Semaphore } from "effect/Semaphore"; import type * as Context from "./Context.js"; export * from "effect/Effect"; export type { Effect } from "effect/Effect"; export declare function flatMapOption(self: Effect.Effect, E, R>, fm: (a: A) => Effect.Effect): Effect.Effect, E | E2, R | R2>; export declare function tapOption(self: Effect.Effect, E, R>, fm: (a: A) => Effect.Effect): Effect.Effect, E | E2, R | R2>; export declare function zipRightOption(self: Effect.Effect, E, R>, fm: Effect.Effect): Effect.Effect, E | E2, R | R2>; export declare function mapOption(self: Effect.Effect, E, R>, fm: (a: A) => A2): Effect.Effect, E, R>; /** * Takes [A, B], applies it to a curried Effect function, * taps the Effect, returning A. */ export declare function tupleTap(f: (b: B) => (a: A) => Effect.Effect): (t: readonly [A, B]) => Effect.Effect; /** * Takes [A, B], applies it to an Effect function, * taps the Effect, returning A. */ export declare function tupleTap_(f: (a: A, b: B) => Effect.Effect): (t: readonly [A, B]) => Effect.Effect; export declare function ifDiffR(f: (i: I) => Effect.Effect): (n: I, orig: I) => Effect.Effect | Effect.Effect; export declare function ifDiff_(n: I, orig: I, f: (i: I) => Effect.Effect): Effect.Effect | Effect.Effect; export declare function ifDiff(n: I, orig: I): (f: (i: I) => Effect.Effect) => Effect.Effect | Effect.Effect; export declare const await_: (self: Def.Deferred) => Effect.Effect; /** * Ref has atomic modify support if synchronous, for Effect we need a Semaphore. */ export declare function modifyWithPermitWithEffect(ref: Ref.Ref, semaphore: Semaphore): (mod: (a: A) => Effect.Effect) => Effect.Effect; type ServiceA = T extends Effect.Effect ? S : T extends Context.Service ? S : never; type ServiceR = T extends Effect.Effect ? R : T extends Context.Service ? I : never; type ServiceE = T extends Effect.Effect ? E : never; type ValuesR = T extends { [s: string]: infer S; } ? ServiceR : never; type ValuesE = T extends { [s: string]: infer S; } ? ServiceE : never; /** * Due to tsplus unification (tsplus unify tag), when trying to use the Effect type in a type constraint * the compiler will cause basically anything to match. as such, use this type instead. * ```ts * const a = < * SVC extends Record< * string, * ((req: number) => Effect.Effect) | Effect.Effect * > * >(svc: SVC) => svc * * const b = a({ str: "" }) // valid, but shouldn't be! * ``` */ export interface EffectUnunified extends Effect.Effect { } export type LowerFirst = S extends `${infer First}${infer Rest}` ? `${Lowercase}${Rest}` : S; export type LowerServices | Effect.Effect>> = { [key in keyof T as LowerFirst]: ServiceA; }; export declare function allLower | Effect.Effect>>(services: T): Effect.Effect, ValuesE, ValuesR>; export declare function allLowerWith | Effect.Effect>, A>(services: T, fn: (services: LowerServices) => A): Effect.Effect, ValuesR>; export declare function allLowerWithEffect | Effect.Effect>, R, E, A>(services: T, fn: (services: LowerServices) => Effect.Effect): Effect.Effect, R | ValuesR>; /** * Recovers from all errors. */ export declare function catchAllMap(f: (e: E) => A2): (self: Effect.Effect) => Effect.Effect; /** * Annotates each log in this scope with the specified log annotation. */ export declare function annotateLogscoped(key: string, value: string): Effect.Effect; /** * Annotates each log in this scope with the specified log annotations. */ export declare function annotateLogsScoped(kvps: Record): Effect.Effect; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWZmZWN0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvRWZmZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sS0FBSyxHQUFHLE1BQU0saUJBQWlCLENBQUE7QUFDdEMsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUE7QUFDdkMsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUE7QUFDdkMsT0FBTyxLQUFLLEdBQUcsTUFBTSxZQUFZLENBQUE7QUFDakMsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3pDLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ2pELE9BQU8sS0FBSyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUE7QUFJNUMsY0FBYyxlQUFlLENBQUE7QUFFN0IsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUzQyx3QkFBZ0IsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUMvQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDM0MsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQ3RDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FNbEQ7QUFFRCx3QkFBZ0IsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUMzQyxJQUFJ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QUFBO0FBQzFFLEtBQUssT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVM7SUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUE7Q0FBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUE7QUFFMUU7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUVILE1BQU0sV0FBVyxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUUsU0FBUSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0NBQUc7QUFFM0UsTUFBTSxNQUFNLFVBQVUsQ0FBQyxDQUFDLFNBQVMsV0FBVyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxFQUFFLEdBQUcsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQ2xILENBQUMsQ0FBQTtBQUNMLE1BQU0sTUFBTSxhQUFhLENBQUMsQ0FBQyxTQUFTLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUk7S0FDN0csR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0NBQ3RELENBQUE7QUFFRCx3QkFBZ0IsUUFBUSxDQUFDLENBQUMsU0FBUyxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUN6RyxRQUFRLEVBQUUsQ0FBQyxHQVNDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDcEU7QUFFRCx3QkFBZ0IsWUFBWSxDQUFDLENBQUMsU0FBUyxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDaEgsUUFBUSxFQUFFLENBQUMsRUFDWCxFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsNENBR3RDO0FBRUQsd0JBQWdCLGtCQUFrQixDQUNoQyxDQUFDLFNBQVMsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFDbEYsQ0FBQyxFQUNELENBQUMsRUFDRCxDQUFDLEVBRUQsUUFBUSxFQUFFLENBQUMsRUFDWCxFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsb0RBRzNEO0FBRUQ7O0dBRUc7QUFDSCx3QkFBZ0IsV0FBVyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLElBQ3hDLENBQUMsRUFBRSxDQUFDLFFBQVEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBRTdFO0FBRUQ7O0dBRUc7QUFDSCx3QkFBZ0IsaUJBQWlCLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FFL0Y7QUFFRDs7R0FFRztBQUNILHdCQUFnQixrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBRWxHIn0=