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

Function awaitTake

packages/effect/src/Queue.ts:1954–1965  ·  view source on GitHub ↗
(self: Dequeue<A, E>)

Source from the content-addressed store, hash-verified

1952}
1953
1954const awaitTake = <A, E>(self: Dequeue<A, E>) =>
1955 internalEffect.callback<void, E>((resume) => {
1956 if (self.state._tag === "Done") {
1957 return resume(self.state.exit)
1958 }
1959 self.state.takers.add(resume)
1960 return internalEffect.sync(() => {
1961 if (self.state._tag !== "Done") {
1962 self.state.takers.delete(resume)
1963 }
1964 })
1965 })
1966
1967const takeAllUnsafe = <A, E>(self: Dequeue<A, E>) => {
1968 if (self.messages.length > 0) {

Callers 3

takeBetweenFunction · 0.85
takeFunction · 0.85
peekFunction · 0.85

Calls 3

addMethod · 0.65
resumeFunction · 0.50
syncMethod · 0.45

Tested by

no test coverage detected