MCPcopy
hub / github.com/tw-in-js/twind / translate$

Function translate$

packages/core/src/internal/translate.ts:33–66  ·  view source on GitHub ↗
(
  rule: ParsedRule,
  context: Context<Theme>,
  precedence: number,
  conditions?: string[],
  important?: boolean,
)

Source from the content-addressed store, hash-verified

31}
32
33function translate$<Theme extends BaseTheme = BaseTheme>(
34 rule: ParsedRule,
35 context: Context<Theme>,
36 precedence: number,
37 conditions?: string[],
38 important?: boolean,
39): TwindRule[] {
40 rule = { ...rule, i: rule.i || important }
41
42 const resolved = resolve(rule, context)
43
44 if (!resolved) {
45 // propagate className as is
46 return [{ c: toClassName(rule), p: 0, o: 0, r: [] }]
47 }
48
49 // a list of class names
50 if (typeof resolved == 'string') {
51 ;({ r: conditions, p: precedence } = convert(rule, context, precedence, conditions))
52
53 return merge(translate(parse(resolved), context, precedence, conditions, rule.i), rule.n)
54 }
55
56 if (Array.isArray(resolved)) {
57 return resolved.map((rule) => ({
58 o: 0,
59 ...rule,
60 r: [...asArray(conditions), ...asArray(rule.r)],
61 p: moveToLayer(precedence, rule.p ?? precedence),
62 }))
63 }
64
65 return serialize(resolved, rule, context, precedence, conditions)
66}
67
68export function translateWith<Theme extends BaseTheme = BaseTheme>(
69 name: string,

Callers 1

translateFunction · 0.85

Calls 9

resolveFunction · 0.90
toClassNameFunction · 0.90
convertFunction · 0.90
mergeFunction · 0.90
parseFunction · 0.90
asArrayFunction · 0.90
moveToLayerFunction · 0.90
serializeFunction · 0.90
translateFunction · 0.85

Tested by

no test coverage detected