MCPcopy Create free account
hub / github.com/effect-app/libs / takeBetweenUnsafe

Function takeBetweenUnsafe

repos/effect/packages/effect/src/Queue.ts:1825–1848  ·  view source on GitHub ↗
(
  self: Dequeue<A, E>,
  min: number,
  max: number
)

Source from the content-addressed store, hash-verified

1823 internalEffect.matchCauseEffect(restore(effect), {
1824 onFailure: (cause) => failCause(self, cause),
1825 onSuccess: (_) => end(self)
1826 })
1827 )
1828)
1829
1830// -----------------------------------------------------------------------------
1831// internals
1832// -----------------------------------------------------------------------------
1833//
1834
1835const exitFalse = core.exitSucceed(false)
1836const exitTrue = core.exitSucceed(true)
1837const exitFailDone = core.exitFail(core.Done()) as Failure<never, Done>
1838const exitInterrupt = internalEffect.exitInterrupt() as Failure<never, never>
1839
1840const releaseTakers = <A, E>(self: Enqueue<A, E>) => {
1841 self.scheduleRunning = false
1842 if (self.state._tag === "Done" || self.state.takers.size === 0) {
1843 return
1844 }
1845 for (const taker of self.state.takers) {
1846 self.state.takers.delete(taker)
1847 taker(internalEffect.exitVoid)
1848 if (self.messages.length === 0) {
1849 break
1850 }
1851 }

Callers 1

takeBetweenFunction · 0.85

Calls 3

releaseCapacityFunction · 0.85
takeMethod · 0.65
takeNMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…