import { Effect } from "@effect/io/Effect"; import { Tag, Context } from "@fp-ts/data/Context"; import { Either } from "@fp-ts/data/Either"; import { LazyArg } from "@effect-ts-app/core/Function"; import { Cause } from "@effect/io/Cause"; import * as Def from "@effect/io/Deferred"; import * as Eff from "@effect/io/Effect"; import * as Exit from "@effect/io/Exit"; import * as Fiber from "@effect/io/Fiber"; import * as Layer from "@effect/io/Layer"; import type { Option } from "@fp-ts/data/Option"; export * from "@effect/io/Effect"; /** * @macro traced * @tsplus fluent effect/io/Effect provideService * @tsplus location "@effect-ts-app/core/Effect" */ export declare function provideService(self: Effect, tag: Tag, resource: T): Effect, E, A>; /** * @tsplus static effect/io/Deferred.Ops await * @tsplus getter effect/io/Deferred await * @tsplus location "@effect-ts-app/core/Effect" */ export declare const await_: (self: Def.Deferred) => Eff.Effect; /** * @tsplus static effect/io/Effect.Ops unit * @tsplus location "@effect-ts-app/core/Effect" */ export declare const unit: Eff.Effect; /** * @tsplus static effect/io/Exit.Ops unit * @tsplus location "@effect-ts-app/core/Effect" */ export declare const ex_unit: Exit.Exit; /** * @tsplus static effect/io/Fiber.Ops unit * @tsplus location "@effect-ts-app/core/Effect" */ export declare const fb_unit: Fiber.Fiber; /** * @tsplus static effect/io/Effect.Ops flatMapEither * @tsplus location "@effect-ts-app/core/Effect" */ export declare const flatMapEither: (ei: (a: A2) => import("@fp-ts/data/Either").Either) => (self: Eff.Effect) => Eff.Effect; /** * @macro traced * @tsplus fluent effect/io/Effect flatMapOpt * @tsplus location "@effect-ts-app/core/Effect" */ export declare function flatMapOpt(self: Effect>, fm: (a: A) => Effect): Effect>; /** * @macro traced * @tsplus fluent effect/io/Effect tapOpt * @tsplus location "@effect-ts-app/core/Effect" */ export declare function tapOpt(self: Effect>, fm: (a: A) => Effect): Effect>; /** * @macro traced * @tsplus fluent effect/io/Effect zipRightOpt * @tsplus location "@effect-ts-app/core/Effect" */ export declare function zipRightOpt(self: Effect>, fm: Effect): Eff.Effect>; /** * @macro traced * @tsplus fluent effect/io/Effect mapOpt * @tsplus location "@effect-ts-app/core/Effect" */ export declare function mapOpt(self: Effect>, fm: (a: A) => A2): Effect>; export type Erase = R & K extends K & infer R1 ? R1 : R; /** * @tsplus static effect/io/Effect.Ops tryCatchPromiseWithInterrupt * @tsplus location "@effect-ts-app/core/Effect" */ export declare function tryCatchPromiseWithInterrupt(promise: LazyArg>, onReject: (reason: unknown) => E, canceller: () => void): Effect; /** * @macro traced * @tsplus fluent effect/io/Effect tapBoth * @tsplus location "@effect-ts-app/core/Effect" */ export declare const tapBoth_: (self: Eff.Effect, f: (e: E) => Eff.Effect, g: (a: A) => Eff.Effect) => Eff.Effect; export declare const tapBoth: (f: (e: E) => Eff.Effect, g: (a: A) => Eff.Effect) => (self: Eff.Effect) => Eff.Effect; /** * @macro traced * @tsplus fluent effect/io/Effect tapBothInclAbort * @tsplus location "@effect-ts-app/core/Effect" */ export declare const tapBothInclAbort_: (self: Eff.Effect, onError: (err: unknown) => Eff.Effect, onSuccess: (a: A) => Eff.Effect) => Eff.Effect; export declare function getFirstError(cause: Cause): unknown; /** * @macro traced * @tsplus fluent effect/io/Effect tapErrorInclAbort * @tsplus location "@effect-ts-app/core/Effect" */ export declare const tapErrorInclAbort_: (self: Eff.Effect, onError: (err: unknown) => Eff.Effect) => Eff.Effect; export declare function encaseOpt_(o: Option, onError: LazyArg): Effect; export declare function encaseOpt(onError: LazyArg): (o: Option) => Eff.Effect; export declare function liftM(a: (a: A) => B): (a: A) => Eff.Effect; /** * 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): (t: readonly [A, B]) => Eff.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): (t: readonly [A, B]) => Eff.Effect; export declare function ifDiffR(f: (i: I) => Effect): (n: I, orig: I) => Eff.Effect; export declare function ifDiff_(n: I, orig: I, f: (i: I) => Effect): Eff.Effect; export declare const tapBothInclAbort: (onError: (err: unknown) => Eff.Effect, onSuccess: (a: A) => Eff.Effect) => (eff: Eff.Effect) => Eff.Effect; export declare const tapErrorInclAbort: (onError: (err: unknown) => Eff.Effect) => (eff: Eff.Effect) => Eff.Effect; export declare function ifDiff(n: I, orig: I): (f: (i: I) => Effect) => Eff.Effect; /** * @tsplus static effect/io/Layer.Ops effect * @tsplus location "@effect-ts-app/core/Effect" */ export declare const LayerFromEffect: (tag: import("@fp-ts/data/Context").Tag) => (effect: Eff.Effect) => Layer.Layer; /** * @tsplus pipeable effect/io/Effect provideSomeEnvironmentReal * @tsplus location "@effect-ts-app/core/Effect" */ export declare const provideSomeEnvironmentReal: (ctx: import("@fp-ts/data/Context").Context) => (self: Eff.Effect) => Eff.Effect, E, A>; /** * @tsplus pipeable effect/io/Effect provideSomeEnvironmentEffect * @tsplus location "@effect-ts-app/core/Effect" */ export declare const provideSomeEnvironmentEffect: (makeCtx: Eff.Effect>) => (self: Eff.Effect) => Eff.Effect, E2 | E, A>; //# sourceMappingURL=Effect.d.ts.map