( metadata: Omit<GetFontResponse, 'variants'>, variable?: GetVariableFontResponse, )
| 127 | return [`"${family}"`, ...quotedFallbacks].join(', '); |
| 128 | }; |
| 129 | export const getFontPreviewCSS = ( |
| 130 | metadata: Omit<GetFontResponse, 'variants'>, |
| 131 | variable?: GetVariableFontResponse, |
| 132 | ) => { |
| 133 | const unicodeRange = Object.fromEntries( |
| 134 | Object.entries(metadata.unicodeRange).map(([key, range]) => [ |
| 135 | key.replace('[', '').replace(']', ''), |
| 136 | range, |
| 137 | ]), |
| 138 | ); |
| 139 | const unicodeKeys = Object.keys(unicodeRange); |
| 140 | const subsets = unicodeKeys.length > 0 ? unicodeKeys : metadata.subsets; |
| 141 | const faces = resolveFontFaces( |
| 142 | { |
| 143 | id: metadata.id, |
| 144 | family: metadata.family, |
| 145 | subsets, |
| 146 | weights: metadata.weights, |
| 147 | styles: metadata.styles, |
| 148 | unicodeRange, |
| 149 | variable: variable?.axes, |
| 150 | }, |
| 151 | variable |
| 152 | ? [selectVariableAxisKey(variable.axes, Object.keys(variable.axes))] |
| 153 | : undefined, |
| 154 | ); |
| 155 | return generateCSS(metadata.family, faces, { |
| 156 | resolver: jsDelivrResolver(metadata.id, !!variable), |
| 157 | }); |
| 158 | }; |
no test coverage detected