( self: Deferred.Deferred<A, E>, joiner: (effect: Effect.Effect<A, E>) => void )
| 2999 | } |
| 3000 | |
| 3001 | const deferredInterruptJoiner = <A, E>( |
| 3002 | self: Deferred.Deferred<A, E>, |
| 3003 | joiner: (effect: Effect.Effect<A, E>) => void |
| 3004 | ): Effect.Effect<void> => |
| 3005 | sync(() => { |
| 3006 | const state = MutableRef.get(self.state) |
| 3007 | if (state._tag === DeferredOpCodes.OP_STATE_PENDING) { |
| 3008 | const index = state.joiners.indexOf(joiner) |
| 3009 | if (index >= 0) { |
| 3010 | // we can splice here as the internal state is mutable |
| 3011 | state.joiners.splice(index, 1) |
| 3012 | } |
| 3013 | } |
| 3014 | }) |
| 3015 | |
| 3016 | // ----------------------------------------------------------------------------- |
| 3017 | // Context |
no test coverage detected