MCPcopy Index your code
hub / github.com/fontsource/fontsource / groupFacesByCSSFile

Function groupFacesByCSSFile

packages/core/src/css/planner.ts:57–74  ·  view source on GitHub ↗
(faces: FontFace[])

Source from the content-addressed store, hash-verified

55// One resolved face can feed multiple published CSS files, for example a static
56// italic face contributes to both `400-italic.css` and `latin-italic.css`.
57const groupFacesByCSSFile = (faces: FontFace[]): Map<string, FontFace[]> => {
58 const facesByCSSFile = new Map<string, FontFace[]>();
59
60 // Iterate over each face and assign it to the appropriate CSS files based on its properties.
61 for (const face of faces) {
62 for (const cssFile of getCSSFiles(face)) {
63 const cssFaces = facesByCSSFile.get(cssFile);
64
65 if (cssFaces) {
66 cssFaces.push(face);
67 } else {
68 facesByCSSFile.set(cssFile, [face]);
69 }
70 }
71 }
72
73 return facesByCSSFile;
74};
75
76const getCSSFiles = (face: FontFace): string[] => {
77 const style = formatStyle(face.style);

Callers 2

generateFaceCSSAssetsFunction · 0.90

Calls 3

getCSSFilesFunction · 0.85
setMethod · 0.80
getMethod · 0.65

Tested by

no test coverage detected