( f: (entry: Request.Entry<A>) => Effect.Effect<Request.Success<A>, Request.Error<A>> )
| 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 | */ |
| 439 | export 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++ |
nothing calls this directly
no test coverage detected
searching dependent graphs…