disposables.ts — tailwindcss Source File
Architecture documentation for disposables.ts, a typescript file in the tailwindcss codebase.
Entity Profile
Relationship Graph
Source Code
/**
* Disposables allow you to manage resources that can be cleaned up. Each helper
* function returns a dispose function to clean up the resource.
*
* The `dispose` method can be called to clean up all resources at once.
*/
export class Disposables {
// Track all disposables
#disposables = new Set<Function>([])
/**
* Enqueue a callback in the macrotasks queue.
*/
queueMacrotask(cb: () => void) {
let timer = setTimeout(cb, 0)
return this.add(() => {
clearTimeout(timer)
})
}
/**
* General purpose disposable function that can be cleaned up.
*/
add(dispose: () => void) {
this.#disposables.add(dispose)
return () => {
this.#disposables.delete(dispose)
dispose()
}
}
/**
* Dispose all disposables at once.
*/
async dispose() {
for (let dispose of this.#disposables) {
await dispose()
}
this.#disposables.clear()
}
}
Domain
Subdomains
Classes
Source
Frequently Asked Questions
What does disposables.ts do?
disposables.ts is a source file in the tailwindcss codebase, written in typescript. It belongs to the BuildIntegrations domain, PostCSSPlugin subdomain.
Where is disposables.ts in the architecture?
disposables.ts is located at packages/@tailwindcss-cli/src/utils/disposables.ts (domain: BuildIntegrations, subdomain: PostCSSPlugin, directory: packages/@tailwindcss-cli/src/utils).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free