(self: Dequeue<A, E>)
| 1550 | * @since 4.0.0 |
| 1551 | */ |
| 1552 | export const takeUnsafe = <A, E>(self: Dequeue<A, E>): Exit<A, E> | undefined => { |
| 1553 | if (self.state._tag === "Done") { |
| 1554 | return self.state.exit |
| 1555 | } |
| 1556 | if (self.messages.length > 0) { |
| 1557 | const message = MutableList.take(self.messages)! |
| 1558 | releaseCapacity(self) |
| 1559 | return core.exitSucceed(message) |
| 1560 | } else if (self.capacity <= 0 && self.state.offers.size > 0) { |
| 1561 | self.capacity = 1 |
| 1562 | releaseCapacity(self) |
| 1563 | self.capacity = 0 |
| 1564 | const message = MutableList.take(self.messages)! |
| 1565 | releaseCapacity(self) |
| 1566 | return core.exitSucceed(message) |
| 1567 | } |
| 1568 | return undefined |
| 1569 | } |
| 1570 | |
| 1571 | const await_ = <A, E>(self: Dequeue<A, E>): Effect<void, Exclude<E, Done>> => |
| 1572 | internalEffect.callback<void, Exclude<E, Done>>((resume) => { |
no test coverage detected