mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-11 11:06:16 -08:00
* docs(performance): plan Xtream benchmark * feat(xtream-mock-server): add deterministic 100k fixture * style(xtream-mock-server): apply repository formatting * fix(xtream-mock-server): harden performance fixture data * feat(xtream-mock-server): add performance control plane * docs(performance): correct Xtream capture plan * fix(xtream-mock-server): harden performance controls * fix(xtream-mock-server): harden control lifecycle * feat(performance): add Xtream preload markers * feat(performance): trace Xtream main phases * feat(performance): mark Xtream store publications * feat(performance): trace Xtream database phases * feat(performance): trace Xtream delete cancellation * feat(performance): capture Xtream phase attribution * feat(performance): mark Sources Xtream refresh * test(performance): define Xtream benchmark evidence contracts * test(performance): add Xtream benchmark runner * test(performance): surface failure evidence writes * test(performance): align database read clock * test(performance): preserve capture failure contracts
17 lines
542 B
TypeScript
17 lines
542 B
TypeScript
import type { XtreamValidatedIterationResult } from './xtream-summary-contract';
|
|
|
|
export function assertUniqueXtreamPersistencePaths(
|
|
iterations: readonly XtreamValidatedIterationResult[]
|
|
): void {
|
|
const paths = new Set<string>();
|
|
for (const iteration of iterations) {
|
|
const path = iteration.persistence.pathSha256;
|
|
if (paths.has(path)) {
|
|
throw new Error(
|
|
'Xtream benchmark requires a unique raw persistence path per iteration'
|
|
);
|
|
}
|
|
paths.add(path);
|
|
}
|
|
}
|