import { concreteTPriorityQueue } from "@effect/core/stm/TPriorityQueue/operations/_internal/InternalTPriorityQueue"
/**
* Takes all values from the queue.
*
* @tsplus getter effect/core/stm/TPriorityQueue takeAll
*/
export function takeAll(self: TPriorityQueue): USTM> {
concreteTPriorityQueue(self)
return self.map.modify((map) => [map.reduce(Chunk.empty(), (acc, a) => acc + a), map])
}