MCPcopy Index your code
hub / github.com/Effect-TS/effect / group

Function group

packages/experimental/src/EventLog.ts:242–259  ·  view source on GitHub ↗
(
  group: EventGroup<Events>,
  f: (handlers: Handlers<never, Events>) => Handlers.ValidateReturn<Return>
)

Source from the content-addressed store, hash-verified

240 * @category handlers
241 */
242export const group = <Events extends Event.Any, Return>(
243 group: EventGroup<Events>,
244 f: (handlers: Handlers<never, Events>) => Handlers.ValidateReturn<Return>
245): Layer.Layer<Event.ToService<Events>, Handlers.Error<Return>, Exclude<Handlers.Context<Return>, Scope>> =>
246 Effect.gen(function*() {
247 const context = yield* Effect.context<Handlers.Context<Return>>()
248 const result = f(makeHandlers({
249 group: group as any,
250 handlers: {},
251 context
252 }))
253 const handlers = Effect.isEffect(result) ? yield* (result as any as Effect.Effect<any>) : result
254 const registry = yield* Registry
255 yield* registry.add(handlers)
256 }).pipe(
257 Layer.scopedDiscard,
258 Layer.provide(Registry.layer)
259 ) as any
260
261/**
262 * @since 1.0.0

Callers

nothing calls this directly

Calls 6

makeHandlersFunction · 0.70
pipeMethod · 0.65
contextMethod · 0.65
addMethod · 0.65
provideMethod · 0.65
fFunction · 0.50

Tested by

no test coverage detected