Conditions | 2 |
Total Lines | 19 |
Code Lines | 16 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | import { ClassHash, ClassNamesProperty, CssModule } from "./defs"; |
||
7 | |||
8 | function classNamesMap< |
||
9 | Target extends ClassNamesProperty<CssModule>, |
||
10 | Source extends ClassNamesProperty<CssModule>, |
||
11 | >(map: { |
||
12 | [T in keyof Target["classnames"]]: |
||
13 | {[S in keyof Source["classnames"]]?: ClassHash} |
||
14 | } |
||
15 | ): {classnames: {[T in keyof Target["classnames"]]: string}} { |
||
16 | const keys = $keys(map) as (keyof Target["classnames"])[] |
||
17 | , classnames = {} as {[T in keyof Target["classnames"]]: string} |
||
18 | |||
19 | for (let i = keys.length; i--;) { |
||
20 | const key = keys[i] |
||
21 | |||
22 | classnames[key] = resolver(undefined, map[key]).join(" ") |
||
23 | } |
||
24 | |||
25 | return {classnames} |
||
26 | } |