sort.ts — tailwindcss Source File
Architecture documentation for sort.ts, a typescript file in the tailwindcss codebase. 3 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR bf0678b8_90e6_000a_31a6_275ff72b1b2b["sort.ts"] 214bac69_e516_bea4_67fa_4e9e092ced3b["compile.ts"] bf0678b8_90e6_000a_31a6_275ff72b1b2b --> 214bac69_e516_bea4_67fa_4e9e092ced3b f611bd99_74d3_1161_f7f5_4c1d73c377e5["compileCandidates"] bf0678b8_90e6_000a_31a6_275ff72b1b2b --> f611bd99_74d3_1161_f7f5_4c1d73c377e5 7fd72d4c_e95c_d849_1002_1e1c9d8aca1a["design-system.ts"] bf0678b8_90e6_000a_31a6_275ff72b1b2b --> 7fd72d4c_e95c_d849_1002_1e1c9d8aca1a 7fd72d4c_e95c_d849_1002_1e1c9d8aca1a["design-system.ts"] 7fd72d4c_e95c_d849_1002_1e1c9d8aca1a --> bf0678b8_90e6_000a_31a6_275ff72b1b2b style bf0678b8_90e6_000a_31a6_275ff72b1b2b fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { compileCandidates } from './compile'
import type { DesignSystem } from './design-system'
export function getClassOrder(design: DesignSystem, classes: string[]): [string, bigint | null][] {
// Generate a sorted AST
let { astNodes, nodeSorting } = compileCandidates(Array.from(classes), design)
// Map class names to their order in the AST
// `null` indicates a non-Tailwind class
let sorted = new Map<string, bigint | null>(classes.map((className) => [className, null]))
// Assign each class a unique, sorted number
let idx = 0n
for (let node of astNodes) {
let candidate = nodeSorting.get(node)?.candidate
if (!candidate) continue
// When multiple rules match a candidate
// always take the position of the first one
sorted.set(candidate, sorted.get(candidate) ?? idx++)
}
// Pair classes with their assigned sorting number
return classes.map((className) => [
//
className,
sorted.get(className) ?? null,
])
}
Domain
Subdomains
Functions
Dependencies
Imported By
Source
Frequently Asked Questions
What does sort.ts do?
sort.ts is a source file in the tailwindcss codebase, written in typescript. It belongs to the OxideEngine domain, Scanner subdomain.
What functions are defined in sort.ts?
sort.ts defines 1 function(s): getClassOrder.
What does sort.ts depend on?
sort.ts imports 3 module(s): compile.ts, compileCandidates, design-system.ts.
What files import sort.ts?
sort.ts is imported by 1 file(s): design-system.ts.
Where is sort.ts in the architecture?
sort.ts is located at packages/tailwindcss/src/sort.ts (domain: OxideEngine, subdomain: Scanner, directory: packages/tailwindcss/src).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free