-// Partial Copyright Jerome Benoit. 2021-2023. All Rights Reserved.
+// Partial Copyright Jerome Benoit. 2021-2024. All Rights Reserved.
import { Queue } from 'mnemonist'
export enum AsyncLockType {
configuration = 'configuration',
- performance = 'performance',
+ performance = 'performance'
}
type ResolveType = (value: void | PromiseLike<void>) => void
asyncLock.acquired = true
return
}
- await new Promise<void>((resolve) => {
+ await new Promise<void>(resolve => {
asyncLock.resolveQueue.enqueue(resolve)
})
}
}
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const queuedResolve = asyncLock.resolveQueue.dequeue()!
- await new Promise<void>((resolve) => {
+ await new Promise<void>(resolve => {
queuedResolve()
resolve()
})