Skip to content

TSemaphore

15 exports Added in v2.0.0 Source

Constructors

make

Added in v2.0.0 Source

Signature

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

Getters

available

Added in v2.0.0 Source

Signature

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

Models

TSemaphore interface

Added in v2.0.0 Source

Signature

interface TSemaphore extends Proto {}

Mutations

acquire

Added in v2.0.0 Source

Signature

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

acquireN

Added in v2.0.0 Source

Signature

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

release

Added in v2.0.0 Source

Signature

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

releaseN

Added in v2.0.0 Source

Signature

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

withPermit

Added in v2.0.0 Source

Signature

declare const withPermit: {
  (semaphore: TSemaphore): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>;
  <A, E, R>(self: Effect<A, E, R>, semaphore: TSemaphore): Effect<A, E, R>;
};

withPermits

Added in v2.0.0 Source

Signature

declare const withPermits: {
  (semaphore: TSemaphore, permits: number): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>;
  <A, E, R>(self: Effect<A, E, R>, semaphore: TSemaphore, permits: number): Effect<A, E, R>;
};

Signature

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

Signature

declare const withPermitsScoped: {
  (permits: number): (self: TSemaphore) => Effect<void, never, Scope>;
  (self: TSemaphore, permits: number): Effect<void, never, Scope>;
};

Other

TSemaphore

Added in v2.0.0 Source

Symbols

Signature

declare const TSemaphoreTypeId: unique symbol;

TSemaphoreTypeId type

Added in v2.0.0 Source

Signature

type TSemaphoreTypeId = typeof TSemaphoreTypeId;

Unsafe

unsafeMake

Added in v2.0.0 Source

Signature

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