MCPcopy
hub / github.com/darkreader/darkreader / combineFixes

Function combineFixes

src/inject/dynamic-theme/fixes.ts:41–61  ·  view source on GitHub ↗
(fixes: DynamicThemeFix[])

Source from the content-addressed store, hash-verified

39 * @returns The combined fix
40 */
41export function combineFixes(fixes: DynamicThemeFix[]): DynamicThemeFix | null {
42 if (fixes.length === 0 || fixes[0].url[0] !== '*') {
43 logWarn('combineFixes() failed to construct a single fix', fixes);
44 return null;
45 }
46
47 function combineArrays(arrays: string[][]): string[] {
48 return arrays.filter(Boolean).flat();
49 }
50
51 return {
52 url: [],
53 invert: combineArrays(fixes.map((fix) => fix.invert)),
54 css: fixes.map((fix) => fix.css).filter(Boolean).join('\n'),
55 ignoreInlineStyle: combineArrays(fixes.map((fix) => fix.ignoreInlineStyle)),
56 ignoreImageAnalysis: combineArrays(fixes.map((fix) => fix.ignoreImageAnalysis)),
57 ignoreCSSUrl: combineArrays(fixes.map((fix) => fix.ignoreCSSUrl)),
58 disableStyleSheetsProxy: fixes.some((fix) => fix.disableStyleSheetsProxy),
59 disableCustomElementRegistryProxy: fixes.some((fix) => fix.disableCustomElementRegistryProxy),
60 };
61}

Callers 2

selectRelevantFixFunction · 0.90
fixes.tests.tsFile · 0.90

Calls 2

logWarnFunction · 0.90
combineArraysFunction · 0.85

Tested by

no test coverage detected