diff --git a/.changeset/moody-readers-suffer.md b/.changeset/moody-readers-suffer.md new file mode 100644 index 0000000000..72159a9738 --- /dev/null +++ b/.changeset/moody-readers-suffer.md @@ -0,0 +1,5 @@ +--- +"effect": minor +--- + +change `Fiber` type parameters order from `Fiber` to `Fiber` diff --git a/packages/effect/mod.ts b/packages/effect/mod.ts index 42f5b8d802..4f7554b24e 100644 --- a/packages/effect/mod.ts +++ b/packages/effect/mod.ts @@ -8,11 +8,12 @@ const enabled = { swapDeferredParams: false, swapTDeferredParams: false, swapTakeParams: false, + swapFiberParams: true, cleanupSTM: false, cleanupEffect: false, cleanupStream: false, cleanupExit: false, - cleanupTake: true + cleanupTake: false } const cleanup = (name: string) => (ast: cs.ASTPath) => { @@ -91,6 +92,7 @@ const swapParamsEA = (nodeName: string) => (ast: cs.ASTPath) const swapDeferredParams = swapParamsEA("Deferred") const swapTDeferredParams = swapParamsEA("TDeferred") const swapTakeParams = swapParamsEA("Take") +const swapFiberParams = swapParamsEA("Fiber") const swapSTMParams = swapParamsREA("STM") const swapSTMGenParams = swapParamsREA("STMGen") @@ -139,6 +141,9 @@ export default function transformer(file: cs.FileInfo, api: cs.API) { if (enabled.swapTakeParams) { swapTakeParams(ast) } + if (enabled.swapFiberParams) { + swapFiberParams(ast) + } if (enabled.cleanupEffect) { cleanupEffect(ast) } diff --git a/packages/effect/src/Effect.ts b/packages/effect/src/Effect.ts index d737b14a15..432e3d35d5 100644 --- a/packages/effect/src/Effect.ts +++ b/packages/effect/src/Effect.ts @@ -2547,11 +2547,11 @@ export const diffFiberRefs: ( */ export const ensuringChild: { ( - f: (fiber: Fiber.Fiber>) => Effect + f: (fiber: Fiber.Fiber, any>) => Effect ): (self: Effect) => Effect ( self: Effect, - f: (fiber: Fiber.Fiber>) => Effect + f: (fiber: Fiber.Fiber, any>) => Effect ): Effect } = circular.ensuringChild @@ -2634,7 +2634,7 @@ export const forkAll: { options?: { readonly discard?: false | undefined } - ): (effects: Iterable>) => Effect>, never, R> + ): (effects: Iterable>) => Effect, E>, never, R> (options: { readonly discard: true }): (effects: Iterable>) => Effect @@ -2643,7 +2643,7 @@ export const forkAll: { options?: { readonly discard?: false | undefined } - ): Effect>, never, R> + ): Effect, E>, never, R> (effects: Iterable>, options: { readonly discard: true }): Effect @@ -2693,7 +2693,7 @@ export const forkWithErrorHandler: { * @since 2.0.0 * @category supervision & fibers */ -export const fromFiber: (fiber: Fiber.Fiber) => Effect = circular.fromFiber +export const fromFiber: (fiber: Fiber.Fiber) => Effect = circular.fromFiber /** * Creates an `Effect` value that represents the exit value of the specified @@ -2702,7 +2702,7 @@ export const fromFiber: (fiber: Fiber.Fiber) => Effect = circu * @since 2.0.0 * @category supervision & fibers */ -export const fromFiberEffect: (fiber: Effect, E, R>) => Effect = +export const fromFiberEffect: (fiber: Effect, E, R>) => Effect = circular.fromFiberEffect /** @@ -3695,16 +3695,16 @@ export const raceWith: { ( other: Effect, options: { - readonly onSelfDone: (exit: Exit.Exit, fiber: Fiber.Fiber) => Effect - readonly onOtherDone: (exit: Exit.Exit, fiber: Fiber.Fiber) => Effect + readonly onSelfDone: (exit: Exit.Exit, fiber: Fiber.Fiber) => Effect + readonly onOtherDone: (exit: Exit.Exit, fiber: Fiber.Fiber) => Effect } ): (self: Effect) => Effect ( self: Effect, other: Effect, options: { - readonly onSelfDone: (exit: Exit.Exit, fiber: Fiber.Fiber) => Effect - readonly onOtherDone: (exit: Exit.Exit, fiber: Fiber.Fiber) => Effect + readonly onSelfDone: (exit: Exit.Exit, fiber: Fiber.Fiber) => Effect + readonly onOtherDone: (exit: Exit.Exit, fiber: Fiber.Fiber) => Effect } ): Effect } = fiberRuntime.raceWith diff --git a/packages/effect/src/Fiber.ts b/packages/effect/src/Fiber.ts index 6785d86897..d5dcb00134 100644 --- a/packages/effect/src/Fiber.ts +++ b/packages/effect/src/Fiber.ts @@ -57,7 +57,7 @@ export type RuntimeFiberTypeId = typeof RuntimeFiberTypeId * @since 2.0.0 * @category models */ -export interface Fiber extends Fiber.Variance, Pipeable { +export interface Fiber extends Fiber.Variance, Pipeable { /** * The identity of the fiber. */ @@ -101,7 +101,7 @@ export interface Fiber extends Fiber.Variance, Pipeable { * @since 2.0.0 * @category models */ -export interface RuntimeFiber extends Fiber, Fiber.RuntimeVariance { +export interface RuntimeFiber extends Fiber, Fiber.RuntimeVariance { /** * Reads the current number of ops that have occurred since the last yield */ @@ -171,10 +171,10 @@ export declare namespace Fiber { * @since 2.0.0 * @category models */ - export interface Variance { + export interface Variance { readonly [FiberTypeId]: { - readonly _E: Types.Covariant readonly _A: Types.Covariant + readonly _E: Types.Covariant } } @@ -246,7 +246,7 @@ export const isFiber: (u: unknown) => u is Fiber = internal.is * @since 2.0.0 * @category refinements */ -export const isRuntimeFiber: (self: Fiber) => self is RuntimeFiber = internal.isRuntimeFiber +export const isRuntimeFiber: (self: Fiber) => self is RuntimeFiber = internal.isRuntimeFiber /** * The identity of the fiber. @@ -254,9 +254,9 @@ export const isRuntimeFiber: (self: Fiber) => self is RuntimeFiber(self: Fiber) => FiberId.FiberId = internal.id +export const id: (self: Fiber) => FiberId.FiberId = internal.id -const _await: (self: Fiber) => Effect.Effect> = internal._await +const _await: (self: Fiber) => Effect.Effect> = internal._await export { /** @@ -283,7 +283,7 @@ export const awaitAll: (fibers: Iterable>) => Effect.Effect(self: Fiber) => Effect.Effect>> = internal.children +export const children: (self: Fiber) => Effect.Effect>> = internal.children /** * Collects all fibers into a single fiber producing an in-order list of the @@ -292,7 +292,7 @@ export const children: (self: Fiber) => Effect.Effect(fibers: Iterable>) => Fiber> = fiberRuntime.fiberAll +export const all: (fibers: Iterable>) => Fiber, E> = fiberRuntime.fiberAll /** * A fiber that is done with the specified `Exit` value. @@ -300,13 +300,13 @@ export const all: (fibers: Iterable>) => Fiber(exit: Exit.Exit) => Fiber = internal.done +export const done: (exit: Exit.Exit) => Fiber = internal.done /** * @since 2.0.0 * @category destructors */ -export const dump: (self: RuntimeFiber) => Effect.Effect = internal.dump +export const dump: (self: RuntimeFiber) => Effect.Effect = internal.dump /** * @since 2.0.0 @@ -322,7 +322,7 @@ export const dumpAll: ( * @since 2.0.0 * @category constructors */ -export const fail: (error: E) => Fiber = internal.fail +export const fail: (error: E) => Fiber = internal.fail /** * Creates a `Fiber` that has already failed with the specified cause. @@ -330,7 +330,7 @@ export const fail: (error: E) => Fiber = internal.fail * @since 2.0.0 * @category constructors */ -export const failCause: (cause: Cause.Cause) => Fiber = internal.failCause +export const failCause: (cause: Cause.Cause) => Fiber = internal.failCause /** * Lifts an `Effect` into a `Fiber`. @@ -338,7 +338,7 @@ export const failCause: (cause: Cause.Cause) => Fiber = internal * @since 2.0.0 * @category conversions */ -export const fromEffect: (effect: Effect.Effect) => Effect.Effect> = internal.fromEffect +export const fromEffect: (effect: Effect.Effect) => Effect.Effect> = internal.fromEffect /** * Gets the current fiber if one is running. @@ -355,7 +355,7 @@ export const getCurrentFiber: () => Option.Option> = inte * @since 2.0.0 * @category destructors */ -export const inheritAll: (self: Fiber) => Effect.Effect = internal.inheritAll +export const inheritAll: (self: Fiber) => Effect.Effect = internal.inheritAll /** * Interrupts the fiber from whichever fiber is calling this method. If the @@ -365,7 +365,7 @@ export const inheritAll: (self: Fiber) => Effect.Effect = inte * @since 2.0.0 * @category interruption */ -export const interrupt: (self: Fiber) => Effect.Effect> = core.interruptFiber +export const interrupt: (self: Fiber) => Effect.Effect> = core.interruptFiber /** * Constructrs a `Fiber` that is already interrupted. @@ -373,7 +373,7 @@ export const interrupt: (self: Fiber) => Effect.Effect Fiber = internal.interrupted +export const interrupted: (fiberId: FiberId.FiberId) => Fiber = internal.interrupted /** * Interrupts the fiber as if interrupted from the specified fiber. If the @@ -384,8 +384,8 @@ export const interrupted: (fiberId: FiberId.FiberId) => Fiber = in * @category interruption */ export const interruptAs: { - (fiberId: FiberId.FiberId): (self: Fiber) => Effect.Effect> - (self: Fiber, fiberId: FiberId.FiberId): Effect.Effect> + (fiberId: FiberId.FiberId): (self: Fiber) => Effect.Effect> + (self: Fiber, fiberId: FiberId.FiberId): Effect.Effect> } = core.interruptAsFiber /** @@ -397,8 +397,8 @@ export const interruptAs: { * @category interruption */ export const interruptAsFork: { - (fiberId: FiberId.FiberId): (self: Fiber) => Effect.Effect - (self: Fiber, fiberId: FiberId.FiberId): Effect.Effect + (fiberId: FiberId.FiberId): (self: Fiber) => Effect.Effect + (self: Fiber, fiberId: FiberId.FiberId): Effect.Effect } = internal.interruptAsFork /** @@ -429,7 +429,7 @@ export const interruptAllAs: { * @since 2.0.0 * @category interruption */ -export const interruptFork: (self: Fiber) => Effect.Effect = fiberRuntime.fiberInterruptFork +export const interruptFork: (self: Fiber) => Effect.Effect = fiberRuntime.fiberInterruptFork /** * Joins the fiber, which suspends the joining fiber until the result of the @@ -441,7 +441,7 @@ export const interruptFork: (self: Fiber) => Effect.Effect = f * @since 2.0.0 * @category destructors */ -export const join: (self: Fiber) => Effect.Effect = internal.join +export const join: (self: Fiber) => Effect.Effect = internal.join /** * Joins all fibers, awaiting their _successful_ completion. Attempting to @@ -451,7 +451,7 @@ export const join: (self: Fiber) => Effect.Effect = internal.j * @since 2.0.0 * @category destructors */ -export const joinAll: (fibers: Iterable>) => Effect.Effect = fiberRuntime.fiberJoinAll +export const joinAll: (fibers: Iterable>) => Effect.Effect = fiberRuntime.fiberJoinAll /** * Maps over the value the Fiber computes. @@ -460,8 +460,8 @@ export const joinAll: (fibers: Iterable>) => Effect.Effect(f: (a: A) => B): (self: Fiber) => Fiber - (self: Fiber, f: (a: A) => B): Fiber + (f: (a: A) => B): (self: Fiber) => Fiber + (self: Fiber, f: (a: A) => B): Fiber } = internal.map /** @@ -471,8 +471,8 @@ export const map: { * @category mapping */ export const mapEffect: { - (f: (a: A) => Effect.Effect): (self: Fiber) => Fiber - (self: Fiber, f: (a: A) => Effect.Effect): Fiber + (f: (a: A) => Effect.Effect): (self: Fiber) => Fiber + (self: Fiber, f: (a: A) => Effect.Effect): Fiber } = internal.mapEffect /** @@ -483,8 +483,8 @@ export const mapEffect: { * @category mapping */ export const mapFiber: { - (f: (a: A) => Fiber): (self: Fiber) => Effect.Effect> - (self: Fiber, f: (a: A) => Fiber): Effect.Effect> + (f: (a: A) => Fiber): (self: Fiber) => Effect.Effect> + (self: Fiber, f: (a: A) => Fiber): Effect.Effect> } = internal.mapFiber /** @@ -494,16 +494,16 @@ export const mapFiber: { * @category folding */ export const match: { - ( + ( options: { - readonly onFiber: (fiber: Fiber) => Z + readonly onFiber: (fiber: Fiber) => Z readonly onRuntimeFiber: (fiber: RuntimeFiber) => Z } - ): (self: Fiber) => Z - ( - self: Fiber, + ): (self: Fiber) => Z + ( + self: Fiber, options: { - readonly onFiber: (fiber: Fiber) => Z + readonly onFiber: (fiber: Fiber) => Z readonly onRuntimeFiber: (fiber: RuntimeFiber) => Z } ): Z @@ -515,7 +515,7 @@ export const match: { * @since 2.0.0 * @category constructors */ -export const never: Fiber = internal.never +export const never: Fiber = internal.never /** * Returns a fiber that prefers `this` fiber, but falls back to the `that` one @@ -526,8 +526,8 @@ export const never: Fiber = internal.never * @category alternatives */ export const orElse: { - (that: Fiber): (self: Fiber) => Fiber - (self: Fiber, that: Fiber): Fiber + (that: Fiber): (self: Fiber) => Fiber + (self: Fiber, that: Fiber): Fiber } = internal.orElse /** @@ -539,8 +539,8 @@ export const orElse: { * @category alternatives */ export const orElseEither: { - (that: Fiber): (self: Fiber) => Fiber> - (self: Fiber, that: Fiber): Fiber> + (that: Fiber): (self: Fiber) => Fiber, E2 | E> + (self: Fiber, that: Fiber): Fiber, E | E2> } = internal.orElseEither /** @@ -550,7 +550,7 @@ export const orElseEither: { * @since 2.0.0 * @category getters */ -export const poll: (self: Fiber) => Effect.Effect>> = internal.poll +export const poll: (self: Fiber) => Effect.Effect>> = internal.poll /** * Pretty-prints a `RuntimeFiber`. @@ -558,7 +558,7 @@ export const poll: (self: Fiber) => Effect.Effect(self: RuntimeFiber) => Effect.Effect = internal.pretty +export const pretty: (self: RuntimeFiber) => Effect.Effect = internal.pretty /** * Returns a chunk containing all root fibers. @@ -583,7 +583,7 @@ export const unsafeRoots: (_: void) => Array> = internal. * @since 2.0.0 * @category destructors */ -export const scoped: (self: Fiber) => Effect.Effect, never, Scope.Scope> = +export const scoped: (self: Fiber) => Effect.Effect, never, Scope.Scope> = fiberRuntime.fiberScoped /** @@ -592,7 +592,7 @@ export const scoped: (self: Fiber) => Effect.Effect, nev * @since 2.0.0 * @category getters */ -export const status: (self: RuntimeFiber) => Effect.Effect = internal.status +export const status: (self: RuntimeFiber) => Effect.Effect = internal.status /** * Returns a fiber that has already succeeded with the specified value. @@ -600,7 +600,7 @@ export const status: (self: RuntimeFiber) => Effect.Effect(value: A) => Fiber = internal.succeed +export const succeed: (value: A) => Fiber = internal.succeed /** * A fiber that has already succeeded with unit. @@ -608,7 +608,7 @@ export const succeed: (value: A) => Fiber = internal.succeed * @since 2.0.0 * @category constructors */ -export const unit: Fiber = internal.unit +export const unit: Fiber = internal.unit /** * Zips this fiber and the specified fiber together, producing a tuple of @@ -618,8 +618,8 @@ export const unit: Fiber = internal.unit * @category zipping */ export const zip: { - (that: Fiber): (self: Fiber) => Fiber - (self: Fiber, that: Fiber): Fiber + (that: Fiber): (self: Fiber) => Fiber<[A, A2], E2 | E> + (self: Fiber, that: Fiber): Fiber<[A, A2], E | E2> } = circular.zipFiber /** @@ -629,8 +629,8 @@ export const zip: { * @category zipping */ export const zipLeft: { - (that: Fiber): (self: Fiber) => Fiber - (self: Fiber, that: Fiber): Fiber + (that: Fiber): (self: Fiber) => Fiber + (self: Fiber, that: Fiber): Fiber } = circular.zipLeftFiber /** @@ -640,8 +640,8 @@ export const zipLeft: { * @category zipping */ export const zipRight: { - (that: Fiber): (self: Fiber) => Fiber - (self: Fiber, that: Fiber): Fiber + (that: Fiber): (self: Fiber) => Fiber + (self: Fiber, that: Fiber): Fiber } = circular.zipRightFiber /** @@ -653,6 +653,6 @@ export const zipRight: { * @category zipping */ export const zipWith: { - (that: Fiber, f: (a: A, b: B) => C): (self: Fiber) => Fiber - (self: Fiber, that: Fiber, f: (a: A, b: B) => C): Fiber + (that: Fiber, f: (a: A, b: B) => C): (self: Fiber) => Fiber + (self: Fiber, that: Fiber, f: (a: A, b: B) => C): Fiber } = circular.zipWithFiber diff --git a/packages/effect/src/MergeState.ts b/packages/effect/src/MergeState.ts index 477e270672..c2a467e05f 100644 --- a/packages/effect/src/MergeState.ts +++ b/packages/effect/src/MergeState.ts @@ -49,8 +49,8 @@ export interface BothRunning<_Env, out Err, out Err1, _Err2, out Elem, out Done, extends MergeState.Proto { readonly _tag: "BothRunning" - readonly left: Fiber.Fiber> - readonly right: Fiber.Fiber> + readonly left: Fiber.Fiber, Err> + readonly right: Fiber.Fiber, Err1> } /** @@ -80,8 +80,8 @@ export interface RightDone( - left: Fiber.Fiber>, - right: Fiber.Fiber> + left: Fiber.Fiber, Err>, + right: Fiber.Fiber, Err1> ) => MergeState = internal.BothRunning /** @@ -151,8 +151,8 @@ export const match: { ( options: { readonly onBothRunning: ( - left: Fiber.Fiber>, - right: Fiber.Fiber> + left: Fiber.Fiber, Err>, + right: Fiber.Fiber, Err1> ) => Z readonly onLeftDone: (f: (exit: Exit.Exit) => Effect.Effect) => Z readonly onRightDone: (f: (exit: Exit.Exit) => Effect.Effect) => Z @@ -162,8 +162,8 @@ export const match: { self: MergeState, options: { readonly onBothRunning: ( - left: Fiber.Fiber>, - right: Fiber.Fiber> + left: Fiber.Fiber, Err>, + right: Fiber.Fiber, Err1> ) => Z readonly onLeftDone: (f: (exit: Exit.Exit) => Effect.Effect) => Z readonly onRightDone: (f: (exit: Exit.Exit) => Effect.Effect) => Z diff --git a/packages/effect/src/MetricPolling.ts b/packages/effect/src/MetricPolling.ts index a40ddbb4ab..508e721eb7 100644 --- a/packages/effect/src/MetricPolling.ts +++ b/packages/effect/src/MetricPolling.ts @@ -74,11 +74,11 @@ export const launch: { schedule: Schedule.Schedule ): ( self: MetricPolling - ) => Effect.Effect, never, Scope.Scope | R2 | R> + ) => Effect.Effect, never, Scope.Scope | R2 | R> ( self: MetricPolling, schedule: Schedule.Schedule - ): Effect.Effect, never, Scope.Scope | R | R2> + ): Effect.Effect, never, Scope.Scope | R | R2> } = internal.launch /** diff --git a/packages/effect/src/internal/channel.ts b/packages/effect/src/internal/channel.ts index acfb4887c6..08ac577962 100644 --- a/packages/effect/src/internal/channel.ts +++ b/packages/effect/src/internal/channel.ts @@ -1675,7 +1675,7 @@ export const mergeWith = dual< const handleSide = ( exit: Exit.Exit, Err>, - fiber: Fiber.Fiber>, + fiber: Fiber.Fiber, Err2>, pull: Effect.Effect, Err, Env | Env1> ) => ( @@ -1689,8 +1689,8 @@ export const mergeWith = dual< OutDone2 | OutDone3 >, both: ( - f1: Fiber.Fiber>, - f2: Fiber.Fiber> + f1: Fiber.Fiber, Err>, + f2: Fiber.Fiber, Err2> ) => State, single: ( f: ( diff --git a/packages/effect/src/internal/channel/mergeState.ts b/packages/effect/src/internal/channel/mergeState.ts index c72ca3918e..56a6352d74 100644 --- a/packages/effect/src/internal/channel/mergeState.ts +++ b/packages/effect/src/internal/channel/mergeState.ts @@ -22,8 +22,8 @@ const proto = { /** @internal */ export const BothRunning = ( - left: Fiber.Fiber>, - right: Fiber.Fiber> + left: Fiber.Fiber, Err>, + right: Fiber.Fiber, Err1> ): MergeState.MergeState => { const op = Object.create(proto) op._tag = OpCodes.OP_BOTH_RUNNING @@ -84,8 +84,8 @@ export const match = dual< ( options: { readonly onBothRunning: ( - left: Fiber.Fiber>, - right: Fiber.Fiber> + left: Fiber.Fiber, Err>, + right: Fiber.Fiber, Err1> ) => Z readonly onLeftDone: (f: (exit: Exit.Exit) => Effect.Effect) => Z readonly onRightDone: (f: (exit: Exit.Exit) => Effect.Effect) => Z @@ -95,8 +95,8 @@ export const match = dual< self: MergeState.MergeState, options: { readonly onBothRunning: ( - left: Fiber.Fiber>, - right: Fiber.Fiber> + left: Fiber.Fiber, Err>, + right: Fiber.Fiber, Err1> ) => Z readonly onLeftDone: (f: (exit: Exit.Exit) => Effect.Effect) => Z readonly onRightDone: (f: (exit: Exit.Exit) => Effect.Effect) => Z diff --git a/packages/effect/src/internal/core.ts b/packages/effect/src/internal/core.ts index 13f068d7a5..b731371b11 100644 --- a/packages/effect/src/internal/core.ts +++ b/packages/effect/src/internal/core.ts @@ -1474,13 +1474,13 @@ export const never: Effect.Effect = asyncEither(() = // ----------------------------------------------------------------------------- /* @internal */ -export const interruptFiber = (self: Fiber.Fiber): Effect.Effect> => +export const interruptFiber = (self: Fiber.Fiber): Effect.Effect> => flatMap(fiberId, (fiberId) => pipe(self, interruptAsFiber(fiberId))) /* @internal */ export const interruptAsFiber = dual< - (fiberId: FiberId.FiberId) => (self: Fiber.Fiber) => Effect.Effect>, - (self: Fiber.Fiber, fiberId: FiberId.FiberId) => Effect.Effect> + (fiberId: FiberId.FiberId) => (self: Fiber.Fiber) => Effect.Effect>, + (self: Fiber.Fiber, fiberId: FiberId.FiberId) => Effect.Effect> >(2, (self, fiberId) => flatMap(self.interruptAsFork(fiberId), () => self.await)) // ----------------------------------------------------------------------------- diff --git a/packages/effect/src/internal/effect/circular.ts b/packages/effect/src/internal/effect/circular.ts index e649c02b24..d9939c1d06 100644 --- a/packages/effect/src/internal/effect/circular.ts +++ b/packages/effect/src/internal/effect/circular.ts @@ -206,13 +206,13 @@ const invalidateCache = ( /** @internal */ export const ensuringChild = dual< ( - f: (fiber: Fiber.Fiber>) => Effect.Effect + f: (fiber: Fiber.Fiber, any>) => Effect.Effect ) => ( self: Effect.Effect ) => Effect.Effect, ( self: Effect.Effect, - f: (fiber: Fiber.Fiber>) => Effect.Effect + f: (fiber: Fiber.Fiber, any>) => Effect.Effect ) => Effect.Effect >(2, (self, f) => ensuringChildren(self, (children) => f(fiberRuntime.fiberAll(children)))) @@ -238,7 +238,7 @@ export const forkAll: { options?: { readonly discard?: false | undefined } - ): (effects: Iterable>) => Effect.Effect>, never, R> + ): (effects: Iterable>) => Effect.Effect, E>, never, R> (options: { readonly discard: true }): (effects: Iterable>) => Effect.Effect @@ -247,7 +247,7 @@ export const forkAll: { options?: { readonly discard?: false | undefined } - ): Effect.Effect>, never, R> + ): Effect.Effect, E>, never, R> (effects: Iterable>, options: { readonly discard: true }): Effect.Effect @@ -291,10 +291,10 @@ export const forkScoped = ( fiberRuntime.scopeWith((scope) => forkIn(self, scope)) /** @internal */ -export const fromFiber = (fiber: Fiber.Fiber): Effect.Effect => internalFiber.join(fiber) +export const fromFiber = (fiber: Fiber.Fiber): Effect.Effect => internalFiber.join(fiber) /** @internal */ -export const fromFiberEffect = (fiber: Effect.Effect, E, R>): Effect.Effect => +export const fromFiberEffect = (fiber: Effect.Effect, E, R>): Effect.Effect => core.suspend(() => core.flatMap(fiber, internalFiber.join)) const memoKeySymbol = Symbol.for("effect/Effect/memoizeFunction.key") @@ -600,33 +600,33 @@ export const updateSomeAndGetEffectSynchronized = dual< /** @internal */ export const zipFiber = dual< - (that: Fiber.Fiber) => (self: Fiber.Fiber) => Fiber.Fiber, - (self: Fiber.Fiber, that: Fiber.Fiber) => Fiber.Fiber + (that: Fiber.Fiber) => (self: Fiber.Fiber) => Fiber.Fiber<[A, A2], E | E2>, + (self: Fiber.Fiber, that: Fiber.Fiber) => Fiber.Fiber<[A, A2], E | E2> >(2, (self, that) => zipWithFiber(self, that, (a, b) => [a, b])) /** @internal */ export const zipLeftFiber = dual< - (that: Fiber.Fiber) => (self: Fiber.Fiber) => Fiber.Fiber, - (self: Fiber.Fiber, that: Fiber.Fiber) => Fiber.Fiber + (that: Fiber.Fiber) => (self: Fiber.Fiber) => Fiber.Fiber, + (self: Fiber.Fiber, that: Fiber.Fiber) => Fiber.Fiber >(2, (self, that) => zipWithFiber(self, that, (a, _) => a)) /** @internal */ export const zipRightFiber = dual< - (that: Fiber.Fiber) => (self: Fiber.Fiber) => Fiber.Fiber, - (self: Fiber.Fiber, that: Fiber.Fiber) => Fiber.Fiber + (that: Fiber.Fiber) => (self: Fiber.Fiber) => Fiber.Fiber, + (self: Fiber.Fiber, that: Fiber.Fiber) => Fiber.Fiber >(2, (self, that) => zipWithFiber(self, that, (_, b) => b)) /** @internal */ export const zipWithFiber = dual< - ( - that: Fiber.Fiber, + ( + that: Fiber.Fiber, f: (a: A, b: B) => C - ) => (self: Fiber.Fiber) => Fiber.Fiber, - ( - self: Fiber.Fiber, - that: Fiber.Fiber, + ) => (self: Fiber.Fiber) => Fiber.Fiber, + ( + self: Fiber.Fiber, + that: Fiber.Fiber, f: (a: A, b: B) => C - ) => Fiber.Fiber + ) => Fiber.Fiber >(3, (self, that, f) => ({ [internalFiber.FiberTypeId]: internalFiber.fiberVariance, id: () => pipe(self.id(), FiberId.getOrElse(that.id())), diff --git a/packages/effect/src/internal/fiber.ts b/packages/effect/src/internal/fiber.ts index 248c7d0fa0..8103a804c4 100644 --- a/packages/effect/src/internal/fiber.ts +++ b/packages/effect/src/internal/fiber.ts @@ -64,19 +64,19 @@ export const Order: order.Order> = pipe( export const isFiber = (u: unknown): u is Fiber.Fiber => hasProperty(u, FiberTypeId) /** @internal */ -export const isRuntimeFiber = (self: Fiber.Fiber): self is Fiber.RuntimeFiber => +export const isRuntimeFiber = (self: Fiber.Fiber): self is Fiber.RuntimeFiber => RuntimeFiberTypeId in self /** @internal */ -export const _await = (self: Fiber.Fiber): Effect.Effect> => self.await +export const _await = (self: Fiber.Fiber): Effect.Effect> => self.await /** @internal */ -export const children = ( - self: Fiber.Fiber +export const children = ( + self: Fiber.Fiber ): Effect.Effect>> => self.children /** @internal */ -export const done = (exit: Exit.Exit): Fiber.Fiber => ({ +export const done = (exit: Exit.Exit): Fiber.Fiber => ({ ...fiberProto, id: () => FiberId.none, await: core.succeed(exit), @@ -87,7 +87,7 @@ export const done = (exit: Exit.Exit): Fiber.Fiber => ({ }) /** @internal */ -export const dump = (self: Fiber.RuntimeFiber): Effect.Effect => +export const dump = (self: Fiber.RuntimeFiber): Effect.Effect => core.map(self.status, (status) => ({ id: self.id(), status })) /** @internal */ @@ -96,23 +96,23 @@ export const dumpAll = ( ): Effect.Effect> => core.forEachSequential(fibers, dump) /** @internal */ -export const fail = (error: E): Fiber.Fiber => done(Exit.fail(error)) +export const fail = (error: E): Fiber.Fiber => done(Exit.fail(error)) /** @internal */ -export const failCause = (cause: Cause.Cause): Fiber.Fiber => done(Exit.failCause(cause)) +export const failCause = (cause: Cause.Cause): Fiber.Fiber => done(Exit.failCause(cause)) /** @internal */ -export const fromEffect = (effect: Effect.Effect): Effect.Effect> => +export const fromEffect = (effect: Effect.Effect): Effect.Effect> => core.map(core.exit(effect), done) /** @internal */ -export const id = (self: Fiber.Fiber): FiberId.FiberId => self.id() +export const id = (self: Fiber.Fiber): FiberId.FiberId => self.id() /** @internal */ -export const inheritAll = (self: Fiber.Fiber): Effect.Effect => self.inheritAll +export const inheritAll = (self: Fiber.Fiber): Effect.Effect => self.inheritAll /** @internal */ -export const interrupted = (fiberId: FiberId.FiberId): Fiber.Fiber => done(Exit.interrupt(fiberId)) +export const interrupted = (fiberId: FiberId.FiberId): Fiber.Fiber => done(Exit.interrupt(fiberId)) /** @internal */ export const interruptAll = (fibers: Iterable>): Effect.Effect => @@ -130,24 +130,24 @@ export const interruptAllAs = dual< /** @internal */ export const interruptAsFork = dual< - (fiberId: FiberId.FiberId) => (self: Fiber.Fiber) => Effect.Effect, - (self: Fiber.Fiber, fiberId: FiberId.FiberId) => Effect.Effect + (fiberId: FiberId.FiberId) => (self: Fiber.Fiber) => Effect.Effect, + (self: Fiber.Fiber, fiberId: FiberId.FiberId) => Effect.Effect >(2, (self, fiberId) => self.interruptAsFork(fiberId)) /** @internal */ -export const join = (self: Fiber.Fiber): Effect.Effect => +export const join = (self: Fiber.Fiber): Effect.Effect => core.zipLeft(core.flatten(self.await), self.inheritAll) /** @internal */ export const map = dual< - (f: (a: A) => B) => (self: Fiber.Fiber) => Fiber.Fiber, - (self: Fiber.Fiber, f: (a: A) => B) => Fiber.Fiber + (f: (a: A) => B) => (self: Fiber.Fiber) => Fiber.Fiber, + (self: Fiber.Fiber, f: (a: A) => B) => Fiber.Fiber >(2, (self, f) => mapEffect(self, (a) => core.sync(() => f(a)))) /** @internal */ export const mapEffect = dual< - (f: (a: A) => Effect.Effect) => (self: Fiber.Fiber) => Fiber.Fiber, - (self: Fiber.Fiber, f: (a: A) => Effect.Effect) => Fiber.Fiber + (f: (a: A) => Effect.Effect) => (self: Fiber.Fiber) => Fiber.Fiber, + (self: Fiber.Fiber, f: (a: A) => Effect.Effect) => Fiber.Fiber >(2, (self, f) => ({ ...fiberProto, id: () => self.id(), @@ -171,36 +171,36 @@ export const mapEffect = dual< /** @internal */ export const mapFiber = dual< ( - f: (a: A) => Fiber.Fiber - ) => (self: Fiber.Fiber) => Effect.Effect>, - ( - self: Fiber.Fiber, - f: (a: A) => Fiber.Fiber - ) => Effect.Effect> ->(2, ( - self: Fiber.Fiber, - f: (a: A) => Fiber.Fiber + f: (a: A) => Fiber.Fiber + ) => (self: Fiber.Fiber) => Effect.Effect>, + ( + self: Fiber.Fiber, + f: (a: A) => Fiber.Fiber + ) => Effect.Effect> +>(2, ( + self: Fiber.Fiber, + f: (a: A) => Fiber.Fiber ) => core.map( self.await, Exit.match({ - onFailure: (cause): Fiber.Fiber => failCause(cause), + onFailure: (cause): Fiber.Fiber => failCause(cause), onSuccess: (a) => f(a) }) )) /** @internal */ export const match = dual< - ( + ( options: { - readonly onFiber: (fiber: Fiber.Fiber) => Z + readonly onFiber: (fiber: Fiber.Fiber) => Z readonly onRuntimeFiber: (fiber: Fiber.RuntimeFiber) => Z } - ) => (self: Fiber.Fiber) => Z, - ( - self: Fiber.Fiber, + ) => (self: Fiber.Fiber) => Z, + ( + self: Fiber.Fiber, options: { - readonly onFiber: (fiber: Fiber.Fiber) => Z + readonly onFiber: (fiber: Fiber.Fiber) => Z readonly onRuntimeFiber: (fiber: Fiber.RuntimeFiber) => Z } ) => Z @@ -212,7 +212,7 @@ export const match = dual< }) /** @internal */ -export const never: Fiber.Fiber = { +export const never: Fiber.Fiber = { ...fiberProto, id: () => FiberId.none, await: core.never, @@ -224,8 +224,8 @@ export const never: Fiber.Fiber = { /** @internal */ export const orElse = dual< - (that: Fiber.Fiber) => (self: Fiber.Fiber) => Fiber.Fiber, - (self: Fiber.Fiber, that: Fiber.Fiber) => Fiber.Fiber + (that: Fiber.Fiber) => (self: Fiber.Fiber) => Fiber.Fiber, + (self: Fiber.Fiber, that: Fiber.Fiber) => Fiber.Fiber >(2, (self, that) => ({ ...fiberProto, id: () => FiberId.getOrElse(self.id(), that.id()), @@ -260,12 +260,12 @@ export const orElse = dual< /** @internal */ export const orElseEither = dual< - (that: Fiber.Fiber) => (self: Fiber.Fiber) => Fiber.Fiber>, - (self: Fiber.Fiber, that: Fiber.Fiber) => Fiber.Fiber> + (that: Fiber.Fiber) => (self: Fiber.Fiber) => Fiber.Fiber, E | E2>, + (self: Fiber.Fiber, that: Fiber.Fiber) => Fiber.Fiber, E | E2> >(2, (self, that) => orElse(map(self, Either.left), map(that, Either.right))) /** @internal */ -export const poll = (self: Fiber.Fiber): Effect.Effect>> => self.poll +export const poll = (self: Fiber.Fiber): Effect.Effect>> => self.poll // forked from https://github.com/sindresorhus/parse-ms/blob/4da2ffbdba02c6e288c08236695bdece0adca173/index.js // MIT License @@ -300,7 +300,7 @@ const renderStatus = (status: FiberStatus.FiberStatus): string => { } /** @internal */ -export const pretty = (self: Fiber.RuntimeFiber): Effect.Effect => +export const pretty = (self: Fiber.RuntimeFiber): Effect.Effect => core.flatMap(Clock.currentTimeMillis, (now) => core.map(dump(self), (dump) => { const time = now - dump.id.startTimeMillis @@ -329,13 +329,13 @@ export const unsafeRoots = (): Array> => Array.from export const roots: Effect.Effect>> = core.sync(unsafeRoots) /** @internal */ -export const status = (self: Fiber.RuntimeFiber): Effect.Effect => self.status +export const status = (self: Fiber.RuntimeFiber): Effect.Effect => self.status /** @internal */ -export const succeed = (value: A): Fiber.Fiber => done(Exit.succeed(value)) +export const succeed = (value: A): Fiber.Fiber => done(Exit.succeed(value)) /** @internal */ -export const unit: Fiber.Fiber = succeed(void 0) +export const unit: Fiber.Fiber = succeed(void 0) /** @internal */ export const currentFiberURI = "effect/FiberCurrent" diff --git a/packages/effect/src/internal/fiberRuntime.ts b/packages/effect/src/internal/fiberRuntime.ts index cec92ec6b8..6530493a8f 100644 --- a/packages/effect/src/internal/fiberRuntime.ts +++ b/packages/effect/src/internal/fiberRuntime.ts @@ -2316,13 +2316,13 @@ export const raceAll = (all: Iterable>): Effect. } const self = Chunk.headNonEmpty(list) const effects = Chunk.tailNonEmpty(list) - const inheritAll = (res: readonly [A, Fiber.Fiber]) => + const inheritAll = (res: readonly [A, Fiber.Fiber]) => pipe( internalFiber.inheritAll(res[1]), core.as(res[0]) ) return pipe( - core.deferredMake], E>(), + core.deferredMake], E>(), core.flatMap((done) => pipe( Ref.make(effects.length), @@ -2378,9 +2378,9 @@ export const raceAll = (all: Iterable>): Effect. } const raceAllArbiter = ( - fibers: Iterable>, - winner: Fiber.Fiber, - deferred: Deferred.Deferred], E | E1>, + fibers: Iterable>, + winner: Fiber.Fiber, + deferred: Deferred.Deferred], E | E1>, fails: Ref.Ref ) => (exit: Exit.Exit): Effect.Effect => @@ -3061,7 +3061,7 @@ export const fiberAwaitAll = (fibers: Iterable>): Effect.E core.asUnit(internalFiber._await(fiberAll(fibers))) /** @internal */ -export const fiberAll = (fibers: Iterable>): Fiber.Fiber> => ({ +export const fiberAll = (fibers: Iterable>): Fiber.Fiber, E> => ({ [internalFiber.FiberTypeId]: internalFiber.fiberVariance, id: () => RA.fromIterable(fibers).reduce((id, fiber) => FiberId.combine(id, fiber.id()), FiberId.none), await: core.exit(forEachParUnbounded(fibers, (fiber) => core.flatten(fiber.await), false)), @@ -3102,15 +3102,15 @@ export const fiberAll = (fibers: Iterable>): Fiber.Fiber }) /* @internal */ -export const fiberInterruptFork = (self: Fiber.Fiber): Effect.Effect => +export const fiberInterruptFork = (self: Fiber.Fiber): Effect.Effect => core.asUnit(forkDaemon(core.interruptFiber(self))) /* @internal */ -export const fiberJoinAll = (fibers: Iterable>): Effect.Effect => +export const fiberJoinAll = (fibers: Iterable>): Effect.Effect => core.asUnit(internalFiber.join(fiberAll(fibers))) /* @internal */ -export const fiberScoped = (self: Fiber.Fiber): Effect.Effect, never, Scope.Scope> => +export const fiberScoped = (self: Fiber.Fiber): Effect.Effect, never, Scope.Scope> => acquireRelease(core.succeed(self), core.interruptFiber) // @@ -3122,16 +3122,16 @@ export const raceWith = dual< ( other: Effect.Effect, options: { - readonly onSelfDone: (exit: Exit.Exit, fiber: Fiber.Fiber) => Effect.Effect - readonly onOtherDone: (exit: Exit.Exit, fiber: Fiber.Fiber) => Effect.Effect + readonly onSelfDone: (exit: Exit.Exit, fiber: Fiber.Fiber) => Effect.Effect + readonly onOtherDone: (exit: Exit.Exit, fiber: Fiber.Fiber) => Effect.Effect } ) => (self: Effect.Effect) => Effect.Effect, ( self: Effect.Effect, other: Effect.Effect, options: { - readonly onSelfDone: (exit: Exit.Exit, fiber: Fiber.Fiber) => Effect.Effect - readonly onOtherDone: (exit: Exit.Exit, fiber: Fiber.Fiber) => Effect.Effect + readonly onSelfDone: (exit: Exit.Exit, fiber: Fiber.Fiber) => Effect.Effect + readonly onOtherDone: (exit: Exit.Exit, fiber: Fiber.Fiber) => Effect.Effect } ) => Effect.Effect >(3, (self, other, options) => diff --git a/packages/effect/src/internal/metric/polling.ts b/packages/effect/src/internal/metric/polling.ts index 7940edbc8d..ef5079436f 100644 --- a/packages/effect/src/internal/metric/polling.ts +++ b/packages/effect/src/internal/metric/polling.ts @@ -68,11 +68,11 @@ export const launch = dual< schedule: Schedule.Schedule ) => ( self: MetricPolling.MetricPolling - ) => Effect.Effect, never, R | R2 | Scope.Scope>, + ) => Effect.Effect, never, R | R2 | Scope.Scope>, ( self: MetricPolling.MetricPolling, schedule: Schedule.Schedule - ) => Effect.Effect, never, R | R2 | Scope.Scope> + ) => Effect.Effect, never, R | R2 | Scope.Scope> >(2, (self, schedule) => pipe( pollAndUpdate(self), diff --git a/packages/effect/src/internal/stream.ts b/packages/effect/src/internal/stream.ts index dc99e357a2..aba7a1f7c8 100644 --- a/packages/effect/src/internal/stream.ts +++ b/packages/effect/src/internal/stream.ts @@ -3276,7 +3276,7 @@ export const haltWhen = dual< effect: Effect.Effect<_, E2, R2> ): Stream.Stream => { const writer = ( - fiber: Fiber.Fiber + fiber: Fiber.Fiber<_, E2> ): Channel.Channel, unknown, E | E2, Chunk.Chunk, void> => pipe( Fiber.poll(fiber), diff --git a/packages/effect/src/internal/stream/debounceState.ts b/packages/effect/src/internal/stream/debounceState.ts index c076f444dc..f73deb3a15 100644 --- a/packages/effect/src/internal/stream/debounceState.ts +++ b/packages/effect/src/internal/stream/debounceState.ts @@ -30,13 +30,13 @@ export interface NotStarted { /** @internal */ export interface Previous { readonly _tag: OP_PREVIOUS - readonly fiber: Fiber.Fiber> + readonly fiber: Fiber.Fiber> } /** @internal */ export interface Current { readonly _tag: OP_CURRENT - readonly fiber: Fiber.Fiber> + readonly fiber: Fiber.Fiber, E> } /** @internal */ @@ -45,13 +45,13 @@ export const notStarted: DebounceState = { } /** @internal */ -export const previous = (fiber: Fiber.Fiber>): DebounceState => ({ +export const previous = (fiber: Fiber.Fiber>): DebounceState => ({ _tag: OP_PREVIOUS, fiber }) /** @internal */ -export const current = (fiber: Fiber.Fiber>): DebounceState => ({ +export const current = (fiber: Fiber.Fiber, E>): DebounceState => ({ _tag: OP_CURRENT, fiber }) diff --git a/packages/effect/src/internal/testing/suspendedWarningData.ts b/packages/effect/src/internal/testing/suspendedWarningData.ts index b7208125d8..5742f3062b 100644 --- a/packages/effect/src/internal/testing/suspendedWarningData.ts +++ b/packages/effect/src/internal/testing/suspendedWarningData.ts @@ -29,7 +29,7 @@ export interface Start { /** @internal */ export interface Pending { readonly _tag: OP_SUSPENDED_WARNING_DATA_PENDING - readonly fiber: Fiber.Fiber + readonly fiber: Fiber.Fiber } /** @internal */ @@ -53,7 +53,7 @@ export const start: SuspendedWarningData = { * * @internal */ -export const pending = (fiber: Fiber.Fiber): SuspendedWarningData => { +export const pending = (fiber: Fiber.Fiber): SuspendedWarningData => { return { _tag: OP_SUSPENDED_WARNING_DATA_PENDING, fiber diff --git a/packages/effect/src/internal/testing/warningData.ts b/packages/effect/src/internal/testing/warningData.ts index 973f76f730..5144dad953 100644 --- a/packages/effect/src/internal/testing/warningData.ts +++ b/packages/effect/src/internal/testing/warningData.ts @@ -37,7 +37,7 @@ export interface Start { /** @internal */ export interface Pending { readonly _tag: OP_WARNING_DATA_PENDING - readonly fiber: Fiber.Fiber + readonly fiber: Fiber.Fiber } /** @internal */ @@ -61,7 +61,7 @@ export const start: WarningData = { * * @internal */ -export const pending = (fiber: Fiber.Fiber): WarningData => { +export const pending = (fiber: Fiber.Fiber): WarningData => { return { _tag: OP_WARNING_DATA_PENDING, fiber diff --git a/packages/effect/test/Effect/concurrency.test.ts b/packages/effect/test/Effect/concurrency.test.ts index 94c79b1a0d..482b3c7770 100644 --- a/packages/effect/test/Effect/concurrency.test.ts +++ b/packages/effect/test/Effect/concurrency.test.ts @@ -135,7 +135,7 @@ describe("Effect", () => { })) it.live("supervise fibers", () => Effect.gen(function*($) { - const makeChild = (n: number): Effect.Effect> => { + const makeChild = (n: number): Effect.Effect> => { return pipe(Effect.sleep(Duration.millis(20 * n)), Effect.zipRight(Effect.never), Effect.fork) } const ref = yield* $(Ref.make(0)) diff --git a/packages/effect/test/Effect/forking.test.ts b/packages/effect/test/Effect/forking.test.ts index 9757a5eb7a..cecce33b22 100644 --- a/packages/effect/test/Effect/forking.test.ts +++ b/packages/effect/test/Effect/forking.test.ts @@ -90,7 +90,7 @@ describe("Effect", () => { Effect.gen(function*($) { const boom = new Error("boom") const die = Effect.die(boom) - const joinDefect = (fiber: Fiber.Fiber) => { + const joinDefect = (fiber: Fiber.Fiber) => { return pipe(fiber, Fiber.join, Effect.sandbox, Effect.flip) } const fiber1 = yield* $(Effect.forkAll([die])) diff --git a/packages/platform-bun/src/internal/http/server.ts b/packages/platform-bun/src/internal/http/server.ts index 3a9a4171c7..710c1a4a76 100644 --- a/packages/platform-bun/src/internal/http/server.ts +++ b/packages/platform-bun/src/internal/http/server.ts @@ -61,7 +61,7 @@ export const make = ( return pipe( Effect.runtime(), Effect.flatMap((runtime) => - Effect.async((_) => { + Effect.async((_) => { const runFork = Runtime.runFork(runtime) function handler(request: Request, _server: BunServer) { return new Promise((resolve, reject) => { diff --git a/packages/platform-bun/src/internal/worker.ts b/packages/platform-bun/src/internal/worker.ts index a7015b8c88..a5e9ad49ba 100644 --- a/packages/platform-bun/src/internal/worker.ts +++ b/packages/platform-bun/src/internal/worker.ts @@ -13,7 +13,7 @@ const platformWorkerImpl = Worker.PlatformWorker.of({ yield* _(Effect.addFinalizer(() => pipe( - Effect.async((resume, signal) => { + Effect.async((resume, signal) => { port.addEventListener("close", () => resume(Effect.unit), { once: true, signal }) port.postMessage([1]) }), @@ -27,7 +27,7 @@ const platformWorkerImpl = Worker.PlatformWorker.of({ const queue = yield* _(Queue.unbounded>()) const fiber = yield* _( - Effect.async((resume) => { + Effect.async((resume) => { function onMessage(event: MessageEvent) { queue.unsafeOffer((event as MessageEvent).data) } diff --git a/packages/platform-bun/src/internal/workerRunner.ts b/packages/platform-bun/src/internal/workerRunner.ts index 32b7f6a382..3356d9f357 100644 --- a/packages/platform-bun/src/internal/workerRunner.ts +++ b/packages/platform-bun/src/internal/workerRunner.ts @@ -20,7 +20,7 @@ const platformRunnerImpl = Runner.PlatformRunner.of({ const port = self const queue = yield* _(Queue.unbounded()) yield* _( - Effect.async((resume) => { + Effect.async((resume) => { function onMessage(event: MessageEvent) { const message = (event as MessageEvent).data as Runner.BackingRunner.Message if (message[0] === 0) { diff --git a/packages/platform-node-shared/src/internal/commandExecutor.ts b/packages/platform-node-shared/src/internal/commandExecutor.ts index 955c2f3089..18cf3d5cb8 100644 --- a/packages/platform-node-shared/src/internal/commandExecutor.ts +++ b/packages/platform-node-shared/src/internal/commandExecutor.ts @@ -46,7 +46,7 @@ const runCommand = const spawn = Effect.flatMap( Deferred.make(), (exitCode) => - Effect.async( + Effect.async( (resume) => { const handle = ChildProcess.spawn(command.command, command.args, { stdio: [ diff --git a/packages/platform-node-shared/src/internal/fileSystem.ts b/packages/platform-node-shared/src/internal/fileSystem.ts index 2afdc01fd1..b80a22938f 100644 --- a/packages/platform-node-shared/src/internal/fileSystem.ts +++ b/packages/platform-node-shared/src/internal/fileSystem.ts @@ -402,7 +402,7 @@ const readDirectory = (() => { // == readFile const readFile = (path: string) => - Effect.async((resume, signal) => { + Effect.async((resume, signal) => { try { NFS.readFile(path, { signal }, (err, data) => { if (err) { @@ -527,7 +527,7 @@ const utimes = (() => { // == writeFile const writeFile = (path: string, data: Uint8Array, options?: FileSystem.WriteFileOptions) => - Effect.async((resume, signal) => { + Effect.async((resume, signal) => { try { NFS.writeFile(path, data, { signal, diff --git a/packages/platform-node-shared/src/internal/stream.ts b/packages/platform-node-shared/src/internal/stream.ts index fbcd68b0fa..26656fbdb2 100644 --- a/packages/platform-node-shared/src/internal/stream.ts +++ b/packages/platform-node-shared/src/internal/stream.ts @@ -225,7 +225,7 @@ export const writeInput = ( ): AsyncInput.AsyncInputProducer, unknown> => { const write = writeEffect(writable, encoding) const close = endOnDone - ? Effect.async((resume) => { + ? Effect.async((resume) => { if ("closed" in writable && writable.closed) { resume(Effect.unit) } else { @@ -250,7 +250,7 @@ export const writeEffect = ( (chunk: Chunk.Chunk) => chunk.length === 0 ? Effect.unit : - Effect.async((resume) => { + Effect.async((resume) => { const iterator = chunk[Symbol.iterator]() let next = iterator.next() function loop() { diff --git a/packages/platform-node-shared/src/internal/terminal.ts b/packages/platform-node-shared/src/internal/terminal.ts index 14a3caed0a..9cbfe49c8a 100644 --- a/packages/platform-node-shared/src/internal/terminal.ts +++ b/packages/platform-node-shared/src/internal/terminal.ts @@ -44,7 +44,7 @@ export const make = ( // Handle the `"keypress"` event emitted by `stdin` (forced by readline) const handleKeypressEvent = (input: typeof globalThis.process.stdin) => - Effect.async((resume) => { + Effect.async((resume) => { const handleKeypress = (input: string | undefined, key: readline.Key) => { const userInput: Terminal.UserInput = { input: Option.fromNullable(input), diff --git a/packages/platform-node/src/internal/http/client.ts b/packages/platform-node/src/internal/http/client.ts index 91adf2c2bb..d8a99e07d4 100644 --- a/packages/platform-node/src/internal/http/client.ts +++ b/packages/platform-node/src/internal/http/client.ts @@ -142,7 +142,7 @@ const sendBody = ( }) const waitForResponse = (nodeRequest: Http.ClientRequest, request: ClientRequest.ClientRequest) => - Effect.async((resume) => { + Effect.async((resume) => { function onError(error: Error) { resume(Effect.fail(Error.RequestError({ request, @@ -167,7 +167,7 @@ const waitForResponse = (nodeRequest: Http.ClientRequest, request: ClientRequest }) const waitForFinish = (nodeRequest: Http.ClientRequest, request: ClientRequest.ClientRequest) => - Effect.async((resume) => { + Effect.async((resume) => { function onError(error: Error) { resume(Effect.fail(Error.RequestError({ request, diff --git a/packages/platform-node/src/internal/http/server.ts b/packages/platform-node/src/internal/http/server.ts index dacfdb9ecd..57ff2a62d9 100644 --- a/packages/platform-node/src/internal/http/server.ts +++ b/packages/platform-node/src/internal/http/server.ts @@ -39,7 +39,7 @@ export const make = ( const server = yield* _(Effect.acquireRelease( Effect.sync(evaluate), (server) => - Effect.async((resume) => { + Effect.async((resume) => { server.close((error) => { if (error) { resume(Effect.die(error)) @@ -50,7 +50,7 @@ export const make = ( }) )) - yield* _(Effect.async((resume) => { + yield* _(Effect.async((resume) => { server.on("error", (error) => { resume(Effect.fail(Error.ServeError({ error }))) }) @@ -323,7 +323,7 @@ const handleResponse = (request: ServerRequest.ServerRequest, response: ServerRe return Effect.unit } case "FormData": { - return Effect.async((resume) => { + return Effect.async((resume) => { const r = new Response(body.formData) const headers = { ...response.headers, diff --git a/packages/platform-node/src/internal/worker.ts b/packages/platform-node/src/internal/worker.ts index 0c387e7128..68d5b7785b 100644 --- a/packages/platform-node/src/internal/worker.ts +++ b/packages/platform-node/src/internal/worker.ts @@ -13,7 +13,7 @@ const platformWorkerImpl = Worker.PlatformWorker.of({ const worker = worker_ as WorkerThreads.Worker yield* _(Effect.addFinalizer(() => pipe( - Effect.async((resume) => { + Effect.async((resume) => { worker.once("exit", () => { resume(Effect.unit) }) @@ -26,7 +26,7 @@ const platformWorkerImpl = Worker.PlatformWorker.of({ const queue = yield* _(Queue.unbounded>()) yield* _(Effect.addFinalizer(() => Queue.shutdown(queue))) const fiber = yield* _( - Effect.async((resume) => { + Effect.async((resume) => { worker.on("message", (message: Worker.BackingWorker.Message) => { queue.unsafeOffer(message) }) diff --git a/packages/platform-node/src/internal/workerRunner.ts b/packages/platform-node/src/internal/workerRunner.ts index cf03ff4799..960c4d521d 100644 --- a/packages/platform-node/src/internal/workerRunner.ts +++ b/packages/platform-node/src/internal/workerRunner.ts @@ -19,7 +19,7 @@ const platformRunnerImpl = Runner.PlatformRunner.of({ const port = WorkerThreads.parentPort const queue = yield* _(Queue.unbounded()) yield* _( - Effect.async((resume) => { + Effect.async((resume) => { port.on("message", (message: Runner.BackingRunner.Message) => { if (message[0] === 0) { queue.unsafeOffer(message[1]) diff --git a/packages/platform/src/Worker.ts b/packages/platform/src/Worker.ts index d404498d0a..f9fc38d7bf 100644 --- a/packages/platform/src/Worker.ts +++ b/packages/platform/src/Worker.ts @@ -24,7 +24,7 @@ import type { WorkerError } from "./WorkerError.js" * @category models */ export interface BackingWorker { - readonly fiber: Fiber.Fiber + readonly fiber: Fiber.Fiber readonly send: (message: I, transfers?: ReadonlyArray) => Effect.Effect readonly queue: Queue.Dequeue> } diff --git a/packages/platform/src/internal/effectify.ts b/packages/platform/src/internal/effectify.ts index 8230476c5b..7680b435ad 100644 --- a/packages/platform/src/internal/effectify.ts +++ b/packages/platform/src/internal/effectify.ts @@ -16,7 +16,7 @@ export const effectify: { } = ((fn: Function, onError?: (e: any, args: any) => any, onSyncError?: (e: any, args: any) => any) => (...args: Array) => - Effect.async((resume) => { + Effect.async((resume) => { try { fn(...args, (err: Error | null, result: A) => { if (err) { diff --git a/packages/platform/src/internal/workerRunner.ts b/packages/platform/src/internal/workerRunner.ts index 424c2cf1f9..dc469ba6fc 100644 --- a/packages/platform/src/internal/workerRunner.ts +++ b/packages/platform/src/internal/workerRunner.ts @@ -46,7 +46,7 @@ export const make = ( platform.start, Worker.Worker.Response>(shutdown), Scope.extend(scope) ) - const fiberMap = new Map>() + const fiberMap = new Map>() yield* _( Queue.take(backing.queue),