Fork Horse repository, listed by its owner. Publisher snapshot.
packages/forkhorse-core/src/activity.ts
Snapshot at 34e3175
1import type { Activity } from "./types";
2
3export const MAX_STORED_CHANGED_PATHS = 50;
4
5/** Older records predate the count fields; normalize on read without a migration. */
6export type StoredActivity = Omit<Activity, "changedPathCount" | "changedPathsTruncated"> &
7 Partial<Pick<Activity, "changedPathCount" | "changedPathsTruncated">>;
8
9export function capActivity(entry: StoredActivity): Activity {
10 // Preserve the original total when an already capped record is served again.
11 const changedPathCount = entry.changedPathCount ?? entry.changedPaths.length;
12 return {
13 ...entry,
14 changedPaths: entry.changedPaths.slice(0, MAX_STORED_CHANGED_PATHS),
15 changedPathCount,
16 changedPathsTruncated: changedPathCount > MAX_STORED_CHANGED_PATHS,
17 };
18}
19