@@ -7,14 +7,10 @@ import {
77import hash from '@emotion/hash' ;
88import cssesc from 'cssesc' ;
99
10+ import { CSSVarFunction , ThemeVars } from './types' ;
1011import { getAndIncrementRefCounter , getFileScope } from './fileScope' ;
1112
12- type ThemeVars < ThemeContract extends Contract > = MapLeafNodes <
13- ThemeContract ,
14- string
15- > ;
16-
17- export function createVar ( debugId ?: string ) {
13+ export function createVar ( debugId ?: string ) : CSSVarFunction {
1814 // Convert ref count to base 36 for optimal hash lengths
1915 const refCount = getAndIncrementRefCounter ( ) . toString ( 36 ) ;
2016 const { filePath, packageName } = getFileScope ( ) ;
@@ -34,10 +30,12 @@ export function createVar(debugId?: string) {
3430 . replace ( / ( [ A - Z ] ) / g, '-$1' )
3531 . toLowerCase ( ) ;
3632
37- return `var(--${ cssVarName } )` ;
33+ return `var(--${ cssVarName } )` as const ;
3834}
3935
40- export function fallbackVar ( ...values : [ ...Array < string > , string ] ) {
36+ export function fallbackVar (
37+ ...values : [ ...Array < string > , string ]
38+ ) : CSSVarFunction {
4139 let finalValue = '' ;
4240
4341 values . reverse ( ) . forEach ( ( value ) => {
@@ -52,13 +50,13 @@ export function fallbackVar(...values: [...Array<string>, string]) {
5250 }
5351 } ) ;
5452
55- return finalValue ;
53+ return finalValue as CSSVarFunction ;
5654}
5755
5856export function assignVars < VarContract extends Contract > (
5957 varContract : VarContract ,
6058 tokens : MapLeafNodes < VarContract , string > ,
61- ) : Record < string , string > {
59+ ) : Record < CSSVarFunction , string > {
6260 const varSetters : { [ cssVarName : string ] : string } = { } ;
6361
6462 /* TODO
0 commit comments