cloneCandidate() — tailwindcss Function Reference
Architecture documentation for the cloneCandidate() function in candidate.ts from the tailwindcss codebase.
Entity Profile
Dependency Diagram
graph TD f29ee016_da0a_a564_1658_fedaaac680b6["cloneCandidate()"] 669e6a28_c71f_3c5e_9c53_915cede7da78["candidate.ts"] f29ee016_da0a_a564_1658_fedaaac680b6 -->|defined in| 669e6a28_c71f_3c5e_9c53_915cede7da78 df17a03b_9c60_27a5_3fcf_5acdd9570ff9["baseCandidate()"] df17a03b_9c60_27a5_3fcf_5acdd9570ff9 -->|calls| f29ee016_da0a_a564_1658_fedaaac680b6 bc19ae8d_4f83_e280_be05_e35eee14b3e7["migrateArbitraryVariants()"] bc19ae8d_4f83_e280_be05_e35eee14b3e7 -->|calls| f29ee016_da0a_a564_1658_fedaaac680b6 aeb7589b_9d5b_312e_4558_4df754cbb905["migrateAutomaticVarInjection()"] aeb7589b_9d5b_312e_4558_4df754cbb905 -->|calls| f29ee016_da0a_a564_1658_fedaaac680b6 32c3141d_1d0a_d72e_1a76_a960011fba35["migrateCamelcaseInNamedValue()"] 32c3141d_1d0a_d72e_1a76_a960011fba35 -->|calls| f29ee016_da0a_a564_1658_fedaaac680b6 2d17c912_6324_fc2c_8ab3_065595647555["migrateLegacyArbitraryValues()"] 2d17c912_6324_fc2c_8ab3_065595647555 -->|calls| f29ee016_da0a_a564_1658_fedaaac680b6 155d1c0d_2551_0baf_c0ce_75204772c9a3["migrateLegacyClasses()"] 155d1c0d_2551_0baf_c0ce_75204772c9a3 -->|calls| f29ee016_da0a_a564_1658_fedaaac680b6 9f73b711_0f71_129f_7fdb_764a3c0df282["migrateModernizeArbitraryValues()"] 9f73b711_0f71_129f_7fdb_764a3c0df282 -->|calls| f29ee016_da0a_a564_1658_fedaaac680b6 c46276e2_6ad6_12ab_aac8_03ff3271cb1b["createCanonicalizeUtilityCache()"] c46276e2_6ad6_12ab_aac8_03ff3271cb1b -->|calls| f29ee016_da0a_a564_1658_fedaaac680b6 style f29ee016_da0a_a564_1658_fedaaac680b6 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/tailwindcss/src/candidate.ts lines 220–273
export function cloneCandidate<T extends Candidate>(candidate: T): T {
switch (candidate.kind) {
case 'arbitrary':
return {
kind: candidate.kind,
property: candidate.property,
value: candidate.value,
modifier: candidate.modifier
? { kind: candidate.modifier.kind, value: candidate.modifier.value }
: null,
variants: candidate.variants.map(cloneVariant),
important: candidate.important,
raw: candidate.raw,
} satisfies Extract<Candidate, { kind: 'arbitrary' }> as T
case 'static':
return {
kind: candidate.kind,
root: candidate.root,
variants: candidate.variants.map(cloneVariant),
important: candidate.important,
raw: candidate.raw,
} satisfies Extract<Candidate, { kind: 'static' }> as T
case 'functional':
return {
kind: candidate.kind,
root: candidate.root,
value: candidate.value
? candidate.value.kind === 'arbitrary'
? {
kind: candidate.value.kind,
dataType: candidate.value.dataType,
value: candidate.value.value,
}
: {
kind: candidate.value.kind,
value: candidate.value.value,
fraction: candidate.value.fraction,
}
: null,
modifier: candidate.modifier
? { kind: candidate.modifier.kind, value: candidate.modifier.value }
: null,
variants: candidate.variants.map(cloneVariant),
important: candidate.important,
raw: candidate.raw,
} satisfies Extract<Candidate, { kind: 'functional' }> as T
default:
candidate satisfies never
throw new Error('Unknown candidate kind')
}
}
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does cloneCandidate() do?
cloneCandidate() is a function in the tailwindcss codebase, defined in packages/tailwindcss/src/candidate.ts.
Where is cloneCandidate() defined?
cloneCandidate() is defined in packages/tailwindcss/src/candidate.ts at line 220.
What calls cloneCandidate()?
cloneCandidate() is called by 8 function(s): baseCandidate, createCanonicalizeUtilityCache, migrateArbitraryVariants, migrateAutomaticVarInjection, migrateCamelcaseInNamedValue, migrateLegacyArbitraryValues, migrateLegacyClasses, migrateModernizeArbitraryValues.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free