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

Method observer

packages/effect/src/internal/effect/circular.ts:49–57  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

47 core.asyncInterrupt<number>((resume) => {
48 if (this.free < n) {
49 const observer = () => {
50 if (this.free < n) return
51 this.waiters.delete(observer)
52 resume(core.suspend(() => {
53 if (this.free < n) return this.take(n)
54 this.taken += n
55 return core.succeed(n)
56 }))
57 }
58 this.waiters.add(observer)
59 return core.sync(() => {
60 this.waiters.delete(observer)

Callers

nothing calls this directly

Calls 2

takeMethod · 0.95
resumeFunction · 0.50

Tested by

no test coverage detected