SYMBOL INDEX (53 symbols across 14 files) FILE: client/app/fonts/fonts.controller.js function apiError (line 3) | function apiError($scope, status, headers, config) { function setCustomizationReloadMessage (line 204) | function setCustomizationReloadMessage(time) { FILE: server/api/fonts.controller.ts type IAPIListFont (line 12) | interface IAPIListFont { function getApiFonts (line 24) | async function getApiFonts(req: Request, res: Response, ... type IAPIFont (line 51) | interface IAPIFont { function getApiFontsById (line 77) | async function getApiFontsById(req: Request, res: Response { FILE: server/api/healthy.controller.ts function getHealthy (line 5) | async function getHealthy(req: Request, res: Response, next: Nex... FILE: server/app.ts function ready (line 17) | function ready() { FILE: server/config.ts constant GOOGLE_FONTS_API_KEY (line 6) | const GOOGLE_FONTS_API_KEY = process.env.GOOGLE_FONTS_API_KEY; type IUserAgents (line 14) | interface IUserAgents { FILE: server/logic/core.ts function loadFontItems (line 16) | function loadFontItems(): IFontItem[] { function loadFontBundle (line 20) | function loadFontBundle(fontID: string, subsets: string[] | null): IFont... function loadVariantItems (line 24) | async function loadVariantItems(fontBundle: IFontBundle): Promise { function fetchFontURLs (line 26) | async function fetchFontURLs(fontFamily: string, fontVariants: string[],... FILE: server/logic/fetchGoogleFonts.ts constant RETRIES (line 9) | const RETRIES = 2; constant REQUEST_TIMEOUT_MS (line 10) | const REQUEST_TIMEOUT_MS = 10000; type IFontItem (line 12) | interface IFontItem { type IGoogleFontsRes (line 25) | interface IGoogleFontsRes { type IGoogleFontsResItem (line 30) | interface IGoogleFontsResItem { function fetchGoogleFonts (line 44) | async function fetchGoogleFonts(): Promise { function transform (line 72) | function transform(resData: IGoogleFontsRes): IFontItem[] { FILE: server/logic/store.ts type IFontBundle (line 13) | interface IFontBundle { function initStore (line 23) | async function initStore() { function reinitStore (line 31) | async function reinitStore() { function getStoredFontItems (line 43) | function getStoredFontItems(): IFontItem[] { function getFontBundle (line 47) | function getFontBundle(fontID: string, wantedSubsets: string[] | null): ... function getStoredVariantItems (line 73) | function getStoredVariantItems({ storeID }: IFontBundle): IVariantItem[]... function getStoredFontSubsetArchive (line 81) | function getStoredFontSubsetArchive({ storeID }: IFontBundle): IFontSubs... function storeVariantItems (line 89) | function storeVariantItems({ storeID }: IFontBundle, variants: IVariantI... function storeFontSubsetArchive (line 103) | function storeFontSubsetArchive({ storeID }: IFontBundle, subsetFontArch... function getStats (line 117) | function getStats() { FILE: server/routes.ts function setupRoutes (line 5) | function setupRoutes(app: express.Express) { FILE: server/utils/asyncRetry.ts function asyncRetry (line 5) | async function asyncRetry(fn: () => Promise, options: { retries: n... FILE: server/utils/synchronized.ts function synchronizedBy (line 8) | function synchronizedBy(target: (...args: A[]) => Promise): (ca...