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

Function invalidatePoolItem

repos/effect/packages/effect/src/Pool.ts:524–540  ·  view source on GitHub ↗
(self: Pool<A, E>, poolItem: PoolItem<A, E>)

Source from the content-addressed store, hash-verified

522 }
523 return Effect.void
524 }))
525
526const invalidatePoolItem = <A, E>(self: Pool<A, E>, poolItem: PoolItem<A, E>): Effect.Effect<void> =>
527 Effect.suspend(() => {
528 if (!self.state.items.has(poolItem)) {
529 return Effect.void
530 } else if (poolItem.refCount === 0) {
531 self.state.items.delete(poolItem)
532 self.state.available.delete(poolItem)
533 self.state.invalidated.delete(poolItem)
534 return Effect.asVoid(Effect.flatMap(
535 poolItem.finalizer,
536 () => Effect.forkIn(Effect.interruptible(resize(self)), self.state.scope)
537 ))
538 }
539 self.state.invalidated.add(poolItem)
540 self.state.available.delete(poolItem)
541 return Effect.void
542 })
543

Callers 3

getPoolItemFunction · 0.85
Pool.tsFile · 0.85
processFunction · 0.85

Calls 3

resizeFunction · 0.85
addMethod · 0.65
hasMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…