Home / File/ infer-data-type.ts — tailwindcss Source File

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.

File typescript UpgradeToolkit TemplateAnalysis 6 imports 10 dependents 22 functions

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)

Subdomains

Types

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