Files
rea/tests/support/browser/analyzeWebBundleFixture.ts
T

24 lines
981 B
TypeScript

import type { WebPageInspection } from "../../../src/domain/browserObservationSchemas.js";
import type { WebBundleAnalysis } from "../../../src/domain/webBundleAnalysis.js";
import { analyzeCapturedWebScript } from "../../../src/domain/webBundleAnalyzer.js";
import { buildCapturedWebBundleAnalysis } from "../../../src/domain/webBundleAnalyzerResult.js";
import { isIncludedScript } from "../../../src/domain/webBundleAnalyzerState.js";
/** Compose the production script parser and result merger for semantic fixtures. */
export const analyzeWebBundleFixture = (
inspection: WebPageInspection,
sourceMaps: WebBundleAnalysis["observations"]["source_maps"] = {
status: "not_requested",
requested: 0,
processed: 0,
items: [],
},
): WebBundleAnalysis => {
const sourceScripts = inspection.scripts.items.filter(isIncludedScript);
return buildCapturedWebBundleAnalysis(
inspection,
sourceMaps,
sourceScripts.map(analyzeCapturedWebScript),
);
};