(self: Dequeue<A, E>)
| 1952 | } |
| 1953 | |
| 1954 | const 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 | |
| 1967 | const takeAllUnsafe = <A, E>(self: Dequeue<A, E>) => { |
| 1968 | if (self.messages.length > 0) { |