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

Function manual

packages/effect/src/Resource.ts:99–111  ·  view source on GitHub ↗
(
  acquire: Effect.Effect<A, E, R>
)

Source from the content-addressed store, hash-verified

97 * @since 2.0.0
98 */
99export const manual = <A, E, R>(
100 acquire: Effect.Effect<A, E, R>
101): Effect.Effect<Resource<A, E>, never, Scope.Scope | R> =>
102 Effect.contextWith((context: Context.Context<R>) => {
103 const providedAcquire = Effect.updateContext(
104 acquire,
105 (input: Context.Context<never>) => Context.merge(context, input)
106 )
107 return Effect.map(
108 ScopedRef.fromAcquire(Effect.exit(providedAcquire)),
109 (scopedRef) => makeUnsafe(scopedRef, providedAcquire)
110 )
111 })
112
113/**
114 * Creates a `Resource` that refreshes automatically according to the supplied

Callers 1

autoFunction · 0.85

Calls 3

mergeMethod · 0.80
makeUnsafeFunction · 0.70
mapMethod · 0.45

Tested by

no test coverage detected