MCPcopy Create free account
hub / github.com/effect-app/libs / fromEffect

Function fromEffect

repos/effect/packages/effect/src/RequestResolver.ts:428–449  ·  view source on GitHub ↗
(
  f: (entry: Request.Entry<A>) => Effect.Effect<Request.Success<A>, Request.Error<A>>
)

Source from the content-addressed store, hash-verified

426 * )
427 *
428 * // Usage
429 * const getUserEffect = Effect.request(
430 * GetUserFromAPIRequest({ id: 123 }),
431 * UserAPIResolver
432 * )
433 * await Effect.runPromise(getUserEffect) // => "User 123 from API"
434 * ```
435 *
436 * @category constructors
437 * @since 2.0.0
438 */
439export const fromEffect = <A extends Request.Any>(
440 f: (entry: Request.Entry<A>) => Effect.Effect<Request.Success<A>, Request.Error<A>>
441): RequestResolver<A> => {
442 effect.interruptChildrenPatch() // ensure middleware is registered
443 return make((entries) =>
444 Effect.callback<void>((resume) => {
445 const parent = effect.getCurrentFiber()!
446 let done = 0
447 for (let i = 0; i < entries.length; i++) {
448 const entry = entries[i]
449 const fiber = effect.forkUnsafe(parent as any, f(entry), true)
450 fiber.addObserver((exit) => {
451 entry.completeUnsafe(exit)
452 done++

Callers

nothing calls this directly

Calls 5

addObserverMethod · 0.80
completeUnsafeMethod · 0.80
makeFunction · 0.70
fFunction · 0.50
resumeFunction · 0.50

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…