Queue Class — vite Architecture
Architecture documentation for the Queue class in hmrHandler.ts from the vite codebase.
Entity Profile
Dependency Diagram
graph TD 2c0ee59c_0949_33f8_4516_15bcd71cd015["Queue"] 028d7bbe_154e_0f3f_836a_0c92f8021168["hmrHandler.ts"] 2c0ee59c_0949_33f8_4516_15bcd71cd015 -->|defined in| 028d7bbe_154e_0f3f_836a_0c92f8021168 77b1c63f_56d0_0f53_e7e7_44217eae26f7["enqueue()"] 2c0ee59c_0949_33f8_4516_15bcd71cd015 -->|method| 77b1c63f_56d0_0f53_e7e7_44217eae26f7 be980069_d600_05ad_3041_135b7720cc3c["dequeue()"] 2c0ee59c_0949_33f8_4516_15bcd71cd015 -->|method| be980069_d600_05ad_3041_135b7720cc3c
Relationship Graph
Source Code
packages/vite/src/shared/hmrHandler.ts lines 11–49
class Queue {
private queue: {
promise: () => Promise<void>
resolve: (value?: unknown) => void
reject: (err?: unknown) => void
}[] = []
private pending = false
enqueue(promise: () => Promise<void>): Promise<void> {
return new Promise<any>((resolve, reject) => {
this.queue.push({
promise,
resolve,
reject,
})
this.dequeue()
})
}
dequeue(): boolean {
if (this.pending) {
return false
}
const item = this.queue.shift()
if (!item) {
return false
}
this.pending = true
item
.promise()
.then(item.resolve)
.catch(item.reject)
.finally(() => {
this.pending = false
this.dequeue()
})
return true
}
}
Domain
Defined In
Source
Frequently Asked Questions
What is the Queue class?
Queue is a class in the vite codebase, defined in packages/vite/src/shared/hmrHandler.ts.
Where is Queue defined?
Queue is defined in packages/vite/src/shared/hmrHandler.ts at line 11.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free