import { concreteTPriorityQueue } from "@effect/core/stm/TPriorityQueue/operations/_internal/InternalTPriorityQueue" /** * Retains only elements from the queue matching the specified predicate. * * @tsplus static effect/core/stm/TPriorityQueue.Aspects retainIf * @tsplus pipeable effect/core/stm/TPriorityQueue retainIf */ export function retainIf(f: Predicate) { return (self: TPriorityQueue): STM => { concreteTPriorityQueue(self) return self.map.update((map) => map.map((chunk) => chunk.filter(f))) } }