← Files Cecil-IA Labs FFmpegARCHIVED FILE
dist/pipeline/inspection.js
1.46 KB · Sep 30, 2026 · 23:17 UTC
import path from "node:path";
import { expandPipelineSteps } from "./presets.js";
import { validatePipelineOutput } from "./validation.js";
function finalOutput(loaded, override) {
const target = override ?? loaded.document.output.path;
return path.isAbsolute(target) ? path.normalize(target) : path.resolve(loaded.baseDirectory, target);
}
function stepKind(step) {
if ("trim" in step)
return "trim";
if ("speed" in step)
return "speed";
if ("resize" in step)
return "resize";
if ("normalize" in step)
return "normalize";
if ("audio" in step)
return "audio";
return "convert";
}
export function inspectPipeline(loaded, operation, outputOverride) {
const output = finalOutput(loaded, outputOverride);
const declarations = expandPipelineSteps(loaded.document);
validatePipelineOutput(loaded.document, declarations, output);
return {
operation,
file: loaded.file,
baseDirectory: loaded.baseDirectory,
input: path.isAbsolute(loaded.document.input)
? path.normalize(loaded.document.input)
: path.resolve(loaded.baseDirectory, loaded.document.input),
output,
stepCount: declarations.length,
document: loaded.document,
steps: declarations.map((declaration, offset) => ({
index: offset + 1,
kind: stepKind(declaration),
declaration,
})),
};
}
//# sourceMappingURL=inspection.js.mapSHA-256: c8de571eafa6be716af2590317ae615f5056d0f6c5f0197c50197c9174e819d3