MCPcopy Create free account
hub / github.com/Effect-TS/effect / fromEffect

Function fromEffect

packages/effect/src/Channel.ts:1076–1088  ·  view source on GitHub ↗
(
  effect: Effect.Effect<A, E, R>
)

Source from the content-addressed store, hash-verified

1074 * @since 2.0.0
1075 */
1076export const fromEffect = <A, E, R>(
1077 effect: Effect.Effect<A, E, R>
1078): Channel<A, Pull.ExcludeDone<E>, void, unknown, unknown, unknown, R> =>
1079 fromPull(
1080 Effect.sync(() => {
1081 let done = false
1082 return Effect.suspend((): Pull.Pull<A, E, void, R> => {
1083 if (done) return Cause.done()
1084 done = true
1085 return effect
1086 })
1087 })
1088 )
1089
1090/**
1091 * Creates a channel that evaluates an effect and uses its successful value as

Callers 2

succeedFunction · 0.70
syncFunction · 0.70

Calls 3

fromPullFunction · 0.70
syncMethod · 0.45
doneMethod · 0.45

Tested by

no test coverage detected