Skip to main content Link Search Menu Expand Document (external link)

TSemaphore.ts overview

Since v2.0.0


Exports Grouped by Category


constructors

make

Signature

declare const make: (permits: number) => STM.STM<TSemaphore>

Source

Since v2.0.0

getters

available

Signature

declare const available: (self: TSemaphore) => STM.STM<number>

Source

Since v2.0.0

models

TSemaphore (interface)

Signature

export interface TSemaphore extends TSemaphore.Proto {}

Source

Since v2.0.0

mutations

acquire

Signature

declare const acquire: (self: TSemaphore) => STM.STM<void>

Source

Since v2.0.0

acquireN

Signature

declare const acquireN: {
  (n: number): (self: TSemaphore) => STM.STM<void>
  (self: TSemaphore, n: number): STM.STM<void>
}

Source

Since v2.0.0

release

Signature

declare const release: (self: TSemaphore) => STM.STM<void>

Source

Since v2.0.0

releaseN

Signature

declare const releaseN: {
  (n: number): (self: TSemaphore) => STM.STM<void>
  (self: TSemaphore, n: number): STM.STM<void>
}

Source

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>
}

Source

Since v2.0.0

withPermitScoped

Signature

declare const withPermitScoped: (self: TSemaphore) => Effect.Effect<void, never, Scope.Scope>

Source

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>
}

Source

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>
}

Source

Since v2.0.0

symbols

TSemaphoreTypeId

Signature

declare const TSemaphoreTypeId: unique symbol

Source

Since v2.0.0

TSemaphoreTypeId (type alias)

Signature

type TSemaphoreTypeId = typeof TSemaphoreTypeId

Source

Since v2.0.0

unsafe

unsafeMake

Signature

declare const unsafeMake: (permits: number) => TSemaphore

Source

Since v2.0.0

utils

TSemaphore (namespace)

Source

Since v2.0.0

Proto (interface)

Signature

export interface Proto {
  readonly [TSemaphoreTypeId]: TSemaphoreTypeId
}

Source

Since v2.0.0