I have a simple Fonts file I am importing with just info right now that contains Arial but will contain others later on.
Fonts.ts
interface Font {
[key: string]: {
'full': string,
'trial': string
}
}
interface FontList {
[key: string]: Font
}
export const FONT_LIST: FontList = {
'Arial':
{
'Regular': {
'full': 'blahblah',
'trial': 'blahblah'
},
'Bold': {
'full': 'blahblah',
'trial': 'blahblah'
},
},
}
In a function, I am trying to get the value based on their entitlement
import { Fonts } from './Fonts'
function foo(postscriptName:string, style: string) {
const entitlement = "full";
const selectedFont = FONT_LIST[postscriptName][style][entitlement];
return selectedFont;
}
For selectedFont, I am getting a TS error of: Type 'string' is not assignable to type '{ family: string; style: string; postscriptName: string; }'
to debug, I even tried selectedFont = FONT_LIST['Arial']['Bold']['full]; to ensure values are there but I am getting the same error.
I am expecting to get back "blahblah".