mirror of
https://github.com/morluto/rea.git
synced 2026-10-28 18:35:53 +00:00
20 lines
853 B
TypeScript
20 lines
853 B
TypeScript
import type { BinarySessionPort } from "../application/binary/BinarySessionPort.js";
|
|
import type { AnalysisError } from "../domain/analysisErrorBase.js";
|
|
import type { Evidence } from "../domain/evidence.js";
|
|
import type { RecordUnknownInput } from "../domain/residualUnknown.js";
|
|
import { ok, type Result } from "../domain/result.js";
|
|
|
|
/** Atomically record derived Evidence with an optional supported unknown. */
|
|
export const recordDerivedEvidence = (
|
|
session: BinarySessionPort,
|
|
evidence: Evidence,
|
|
unknown: RecordUnknownInput | undefined,
|
|
): Result<Evidence, AnalysisError> => {
|
|
if (unknown !== undefined) {
|
|
const recorded = session.recordEvidenceWithUnknown(evidence, unknown);
|
|
return recorded.ok ? ok(evidence) : recorded;
|
|
}
|
|
const recorded = session.recordEvidence(evidence);
|
|
return recorded.ok ? ok(evidence) : recorded;
|
|
};
|