infer-data-type.ts — tailwindcss Source File
Architecture documentation for infer-data-type.ts, a typescript file in the tailwindcss codebase. 6 imports, 10 dependents.
Entity Profile
Dependency Diagram
graph LR 516809a4_c70e_60c3_bbb2_8de4c4572510["infer-data-type.ts"] 1820de50_af91_8bd8_ec0b_dab0f2973c67["is-color.ts"] 516809a4_c70e_60c3_bbb2_8de4c4572510 --> 1820de50_af91_8bd8_ec0b_dab0f2973c67 fa0f85b2_f651_cb7a_bf36_a106459f713c["isColor"] 516809a4_c70e_60c3_bbb2_8de4c4572510 --> fa0f85b2_f651_cb7a_bf36_a106459f713c 49e6f0af_1e9c_a3fb_0227_698f6d66f3cc["math-operators.ts"] 516809a4_c70e_60c3_bbb2_8de4c4572510 --> 49e6f0af_1e9c_a3fb_0227_698f6d66f3cc f04c0be0_0d43_f281_8a03_6eeea7eb5f25["hasMathFn"] 516809a4_c70e_60c3_bbb2_8de4c4572510 --> f04c0be0_0d43_f281_8a03_6eeea7eb5f25 ef204000_8998_5a6c_5455_324b37624713["segment.ts"] 516809a4_c70e_60c3_bbb2_8de4c4572510 --> ef204000_8998_5a6c_5455_324b37624713 f712ed47_45d4_4e5a_dd73_fdefa1da71da["segment"] 516809a4_c70e_60c3_bbb2_8de4c4572510 --> f712ed47_45d4_4e5a_dd73_fdefa1da71da b2ba3368_7330_fe20_4543_9cafa8cfedc0["migrate-js-config.ts"] b2ba3368_7330_fe20_4543_9cafa8cfedc0 --> 516809a4_c70e_60c3_bbb2_8de4c4572510 de8dd9be_8c47_4694_db3b_393c549a926a["migrate-theme-to-var.ts"] de8dd9be_8c47_4694_db3b_393c549a926a --> 516809a4_c70e_60c3_bbb2_8de4c4572510 7d350d81_5de1_f9f3_5b2c_19ec8fd3c37e["canonicalize-candidates.ts"] 7d350d81_5de1_f9f3_5b2c_19ec8fd3c37e --> 516809a4_c70e_60c3_bbb2_8de4c4572510 1b5321a5_0fcc_2351_1f22_0d4bed4c097e["default-theme.ts"] 1b5321a5_0fcc_2351_1f22_0d4bed4c097e --> 516809a4_c70e_60c3_bbb2_8de4c4572510 13af74f3_f39e_86e7_a3f9_c2738431bca0["legacy-utilities.ts"] 13af74f3_f39e_86e7_a3f9_c2738431bca0 --> 516809a4_c70e_60c3_bbb2_8de4c4572510 af1a6ece_0432_a556_fd63_8cb4a91f12ad["plugin-api.ts"] af1a6ece_0432_a556_fd63_8cb4a91f12ad --> 516809a4_c70e_60c3_bbb2_8de4c4572510 b567fa55_8905_40fc_b0c8_f7b1041653f6["constant-fold-declaration.ts"] b567fa55_8905_40fc_b0c8_f7b1041653f6 --> 516809a4_c70e_60c3_bbb2_8de4c4572510 2bc6f8eb_6339_d09c_79df_e9025a479c97["utilities.ts"] 2bc6f8eb_6339_d09c_79df_e9025a479c97 --> 516809a4_c70e_60c3_bbb2_8de4c4572510 style 516809a4_c70e_60c3_bbb2_8de4c4572510 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { isColor } from './is-color'
import { hasMathFn } from './math-operators'
import { segment } from './segment'
type DataType =
| 'color'
| 'length'
| 'percentage'
| 'ratio'
| 'number'
| 'integer'
| 'url'
| 'position'
| 'bg-size'
| 'line-width'
| 'image'
| 'family-name'
| 'generic-name'
| 'absolute-size'
| 'relative-size'
| 'angle'
| 'vector'
const checks: Record<DataType, (value: string) => boolean> = {
color: isColor,
length: isLength,
percentage: isPercentage,
ratio: isFraction,
number: isNumber,
integer: isPositiveInteger,
url: isUrl,
position: isBackgroundPosition,
'bg-size': isBackgroundSize,
'line-width': isLineWidth,
image: isImage,
'family-name': isFamilyName,
'generic-name': isGenericName,
'absolute-size': isAbsoluteSize,
'relative-size': isRelativeSize,
angle: isAngle,
vector: isVector,
}
/**
* Determine the type of `value` using syntax rules from CSS specs.
*/
export function inferDataType(value: string, types: DataType[]): DataType | null {
if (value.startsWith('var(')) return null
for (let type of types) {
if (checks[type]?.(value)) {
return type
}
}
return null
}
/* -------------------------------------------------------------------------- */
// ... (312 more lines)
Domain
Subdomains
Functions
- inferDataType()
- isAbsoluteSize()
- isAngle()
- isBackgroundPosition()
- isBackgroundSize()
- isFamilyName()
- isFraction()
- isGenericName()
- isImage()
- isLength()
- isLineWidth()
- isMultipleOf()
- isNumber()
- isPercentage()
- isPositiveInteger()
- isRelativeSize()
- isStrictPositiveInteger()
- isUrl()
- isValidOpacityValue()
- isValidSpacingMultiplier()
- isVector()
- value()
Types
Imported By
- packages/tailwindcss/src/canonicalize-candidates.ts
- packages/tailwindcss/src/constant-fold-declaration.ts
- packages/tailwindcss/src/compat/default-theme.ts
- packages/tailwindcss/src/utils/infer-data-type.bench.ts
- packages/tailwindcss/src/compat/legacy-utilities.ts
- packages/@tailwindcss-upgrade/src/codemods/config/migrate-js-config.ts
- packages/@tailwindcss-upgrade/src/codemods/template/migrate-theme-to-var.ts
- packages/tailwindcss/src/compat/plugin-api.ts
- packages/tailwindcss/src/utilities.ts
- packages/tailwindcss/src/variants.ts
Source
Frequently Asked Questions
What does infer-data-type.ts do?
infer-data-type.ts is a source file in the tailwindcss codebase, written in typescript. It belongs to the UpgradeToolkit domain, TemplateAnalysis subdomain.
What functions are defined in infer-data-type.ts?
infer-data-type.ts defines 22 function(s): inferDataType, isAbsoluteSize, isAngle, isBackgroundPosition, isBackgroundSize, isFamilyName, isFraction, isGenericName, isImage, isLength, and 12 more.
What does infer-data-type.ts depend on?
infer-data-type.ts imports 6 module(s): hasMathFn, is-color.ts, isColor, math-operators.ts, segment, segment.ts.
What files import infer-data-type.ts?
infer-data-type.ts is imported by 10 file(s): canonicalize-candidates.ts, constant-fold-declaration.ts, default-theme.ts, infer-data-type.bench.ts, legacy-utilities.ts, migrate-js-config.ts, migrate-theme-to-var.ts, plugin-api.ts, and 2 more.
Where is infer-data-type.ts in the architecture?
infer-data-type.ts is located at packages/tailwindcss/src/utils/infer-data-type.ts (domain: UpgradeToolkit, subdomain: TemplateAnalysis, directory: packages/tailwindcss/src/utils).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free