export class Vault {
#eventTarget = new EventTarget()
#job?: Task
- #isIdle: boolean
- #isLocked: boolean
- #isTerminated: boolean
+ #isIdle: boolean = true
+ #isLocked: boolean = true
+ #isTerminated: boolean = false
#queue: Task[] = []
#url: string
#worker: Worker | NodeWorker
removeEventListener = this.#eventTarget.removeEventListener.bind(this.#eventTarget)
constructor () {
- this.#isIdle = true
- this.#isLocked = true
- this.#isTerminated = false
- this.#queue = []
BROWSER: this.#url = URL.createObjectURL(new Blob([vaultWorker], { type: 'text/javascript' }))
BROWSER: this.#worker = new Worker(this.#url, { type: 'module' })
BROWSER: this.#worker.addEventListener('message', message => {