import type { ChildProcessWithoutNullStreams } from "node:child_process" ;
import type { ProcessSession } from "./bash-process-registry.js" ;
export function createProcessSessionFixture(params: {
id: string;
command?: string;
startedAt?: number;
cwd?: string;
maxOutputChars?: number;
pendingMaxOutputChars?: number;
backgrounded?: boolean ;
pid?: number;
child?: ChildProcessWithoutNullStreams;
cursorKeyMode?: ProcessSession["cursorKeyMode" ];
}): ProcessSession {
const session: ProcessSession = {
id: params.id,
command: params.command ?? "test" ,
startedAt: params.startedAt ?? Date.now(),
cwd: params.cwd ?? "/tmp" ,
maxOutputChars: params.maxOutputChars ?? 10 _000 ,
pendingMaxOutputChars: params.pendingMaxOutputChars ?? 30 _000 ,
totalOutputChars: 0 ,
pendingStdout: [],
pendingStderr: [],
pendingStdoutChars: 0 ,
pendingStderrChars: 0 ,
aggregated: "" ,
tail: "" ,
exited: false ,
exitCode: undefined,
exitSignal: undefined,
truncated: false ,
backgrounded: params.backgrounded ?? false ,
cursorKeyMode: params.cursorKeyMode ?? "normal" ,
};
if (params.pid !== undefined) {
session.pid = params.pid;
}
if (params.child) {
session.child = params.child;
}
return session;
}
Messung V0.5 in Prozent C=95 H=91 G=92
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-06-05)
¤
*© Formatika GbR, Deutschland