createSerialPromiseQueue() — vite Function Reference
Architecture documentation for the createSerialPromiseQueue() function in utils.ts from the vite codebase.
Entity Profile
Dependency Diagram
graph TD 921da9ad_e621_93c8_8241_909c590edfd7["createSerialPromiseQueue()"] 031bc221_67a8_c579_f2bf_bb30a08beeb2["utils.ts"] 921da9ad_e621_93c8_8241_909c590edfd7 -->|defined in| 031bc221_67a8_c579_f2bf_bb30a08beeb2 cd131d16_e223_ab79_1b7c_8ea449ae51a2["cssPostPlugin()"] cd131d16_e223_ab79_1b7c_8ea449ae51a2 -->|calls| 921da9ad_e621_93c8_8241_909c590edfd7 style 921da9ad_e621_93c8_8241_909c590edfd7 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/vite/src/node/utils.ts lines 1610–1633
export function createSerialPromiseQueue<T>(): {
run(f: () => Promise<T>): Promise<T>
} {
let previousTask: Promise<[unknown, Awaited<T>]> | undefined
return {
async run(f) {
const thisTask = f()
// wait for both the previous task and this task
// so that this function resolves in the order this function is called
const depTasks = Promise.all([previousTask, thisTask])
previousTask = depTasks
const [, result] = await depTasks
// this task was the last one, clear `previousTask` to free up memory
if (previousTask === depTasks) {
previousTask = undefined
}
return result
},
}
}
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does createSerialPromiseQueue() do?
createSerialPromiseQueue() is a function in the vite codebase, defined in packages/vite/src/node/utils.ts.
Where is createSerialPromiseQueue() defined?
createSerialPromiseQueue() is defined in packages/vite/src/node/utils.ts at line 1610.
What calls createSerialPromiseQueue()?
createSerialPromiseQueue() is called by 1 function(s): cssPostPlugin.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free