Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Semaphore

TODO move this to sometimes to @allgemein/base

Hierarchy

  • EventEmitter
    • Semaphore

Index

Constructors

constructor

  • new Semaphore(max: number, name?: string): Semaphore

Properties

Private counter

counter: number = 0

Count resource usage

Private Readonly max

max: number

Private Readonly name

name: string

Private waiting

waiting: { err: Function; resolve: Function }[] = []

Waiting queue

Static Readonly captureRejectionSymbol

captureRejectionSymbol: typeof captureRejectionSymbol

Static captureRejections

captureRejections: boolean

Sets or gets the default captureRejection value for all emitters.

Static defaultMaxListeners

defaultMaxListeners: number

Static Readonly errorMonitor

errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

Installing a listener using this symbol does not change the behavior once an 'error' event is emitted, therefore the process will still crash if no regular 'error' listener is installed.

Methods

acquire

  • acquire(): Promise<unknown>

addListener

  • addListener(event: string | symbol, listener: (...args: any[]) => void): Semaphore
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns Semaphore

await

  • await(timeout?: number): Promise<unknown>
  • Wait till semaphore is fully released

    Parameters

    • timeout: number = 1000

    Returns Promise<unknown>

emit

  • emit(event: string | symbol, ...args: any[]): boolean
  • Parameters

    • event: string | symbol
    • Rest ...args: any[]

    Returns boolean

eventNames

  • eventNames(): (string | symbol)[]
  • Returns (string | symbol)[]

getMaxListeners

  • getMaxListeners(): number
  • Returns number

isReserved

  • isReserved(): boolean

listenerCount

  • listenerCount(event: string | symbol): number
  • Parameters

    • event: string | symbol

    Returns number

listeners

  • listeners(event: string | symbol): Function[]
  • Parameters

    • event: string | symbol

    Returns Function[]

off

  • off(event: string | symbol, listener: (...args: any[]) => void): Semaphore
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns Semaphore

on

  • on(event: string | symbol, listener: (...args: any[]) => void): Semaphore
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns Semaphore

once

  • once(event: string | symbol, listener: (...args: any[]) => void): Semaphore
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns Semaphore

prependListener

  • prependListener(event: string | symbol, listener: (...args: any[]) => void): Semaphore
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns Semaphore

prependOnceListener

  • prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): Semaphore
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns Semaphore

purge

  • purge(): number

rawListeners

  • rawListeners(event: string | symbol): Function[]
  • Parameters

    • event: string | symbol

    Returns Function[]

release

  • release(): void

removeAllListeners

  • removeAllListeners(event?: string | symbol): Semaphore
  • Parameters

    • Optional event: string | symbol

    Returns Semaphore

removeListener

  • removeListener(event: string | symbol, listener: (...args: any[]) => void): Semaphore
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns Semaphore

setMaxListeners

  • Parameters

    • n: number

    Returns Semaphore

Private take

  • take(): void

Static getEventListener

  • getEventListener(emitter: EventEmitter | DOMEventTarget, name: string | symbol): Function[]
  • Returns a list listener for a specific emitter event name.

    Parameters

    • emitter: EventEmitter | DOMEventTarget
    • name: string | symbol

    Returns Function[]

Static listenerCount

  • listenerCount(emitter: EventEmitter, event: string | symbol): number
  • deprecated

    since v4.0.0

    Parameters

    • emitter: EventEmitter
    • event: string | symbol

    Returns number

Static on

  • on(emitter: EventEmitter, event: string, options?: StaticEventEmitterOptions): AsyncIterableIterator<any>
  • Parameters

    • emitter: EventEmitter
    • event: string
    • Optional options: StaticEventEmitterOptions

    Returns AsyncIterableIterator<any>

Static once

  • once(emitter: NodeEventTarget, event: string | symbol, options?: StaticEventEmitterOptions): Promise<any[]>
  • once(emitter: DOMEventTarget, event: string, options?: StaticEventEmitterOptions): Promise<any[]>
  • Parameters

    • emitter: NodeEventTarget
    • event: string | symbol
    • Optional options: StaticEventEmitterOptions

    Returns Promise<any[]>

  • Parameters

    • emitter: DOMEventTarget
    • event: string
    • Optional options: StaticEventEmitterOptions

    Returns Promise<any[]>

Generated using TypeDoc