MCPcopy
hub / github.com/Effect-TS/effect / queueFromBufferOptions

Function queueFromBufferOptions

packages/effect/src/internal/stream.ts:459–478  ·  view source on GitHub ↗
(
  bufferSize?: number | "unbounded" | {
    readonly bufferSize?: number | undefined
    readonly strategy?: "dropping" | "sliding" | "suspend" | undefined
  } | undefined
)

Source from the content-addressed store, hash-verified

457>(2, <A, E, R, B>(self: Stream.Stream<A, E, R>, value: B): Stream.Stream<B, E, R> => map(self, () => value))
458
459const queueFromBufferOptions = <A, E>(
460 bufferSize?: number | "unbounded" | {
461 readonly bufferSize?: number | undefined
462 readonly strategy?: "dropping" | "sliding" | "suspend" | undefined
463 } | undefined
464): Effect.Effect<Queue.Queue<Take.Take<A, E>>> => {
465 if (bufferSize === "unbounded") {
466 return Queue.unbounded()
467 } else if (typeof bufferSize === "number" || bufferSize === undefined) {
468 return Queue.bounded(bufferSize ?? 16)
469 }
470 switch (bufferSize.strategy) {
471 case "dropping":
472 return Queue.dropping(bufferSize.bufferSize ?? 16)
473 case "sliding":
474 return Queue.sliding(bufferSize.bufferSize ?? 16)
475 default:
476 return Queue.bounded(bufferSize.bufferSize ?? 16)
477 }
478}
479
480/** @internal */
481export const _async = <A, E = never, R = never>(

Callers 3

_asyncFunction · 0.85
asyncEffectFunction · 0.85
asyncScopedFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected