TSemaphore.ts overview
Since v2.0.0
Exports Grouped by Category
constructors
make
Signature
declare const make: (permits: number) => STM.STM<TSemaphore>
Since v2.0.0
getters
available
Signature
declare const available: (self: TSemaphore) => STM.STM<number>
Since v2.0.0
models
TSemaphore (interface)
Signature
export interface TSemaphore extends TSemaphore.Proto {}
Since v2.0.0
mutations
acquire
Signature
declare const acquire: (self: TSemaphore) => STM.STM<void>
Since v2.0.0
acquireN
Signature
declare const acquireN: {
(n: number): (self: TSemaphore) => STM.STM<void>
(self: TSemaphore, n: number): STM.STM<void>
}
Since v2.0.0
release
Signature
declare const release: (self: TSemaphore) => STM.STM<void>
Since v2.0.0
releaseN
Signature
declare const releaseN: {
(n: number): (self: TSemaphore) => STM.STM<void>
(self: TSemaphore, n: number): STM.STM<void>
}
Since v2.0.0
withPermit
Signature
declare const withPermit: {
(semaphore: TSemaphore): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
<A, E, R>(self: Effect.Effect<A, E, R>, semaphore: TSemaphore): Effect.Effect<A, E, R>
}
Since v2.0.0
withPermitScoped
Signature
declare const withPermitScoped: (self: TSemaphore) => Effect.Effect<void, never, Scope.Scope>
Since v2.0.0
withPermits
Signature
declare const withPermits: {
(semaphore: TSemaphore, permits: number): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
<A, E, R>(self: Effect.Effect<A, E, R>, semaphore: TSemaphore, permits: number): Effect.Effect<A, E, R>
}
Since v2.0.0
withPermitsScoped
Signature
declare const withPermitsScoped: {
(permits: number): (self: TSemaphore) => Effect.Effect<void, never, Scope.Scope>
(self: TSemaphore, permits: number): Effect.Effect<void, never, Scope.Scope>
}
Since v2.0.0
symbols
TSemaphoreTypeId
Signature
declare const TSemaphoreTypeId: unique symbol
Since v2.0.0
TSemaphoreTypeId (type alias)
Signature
type TSemaphoreTypeId = typeof TSemaphoreTypeId
Since v2.0.0
unsafe
unsafeMake
Signature
declare const unsafeMake: (permits: number) => TSemaphore
Since v2.0.0
utils
TSemaphore (namespace)
Since v2.0.0
Proto (interface)
Signature
export interface Proto {
readonly [TSemaphoreTypeId]: TSemaphoreTypeId
}
Since v2.0.0