Fork Horse repository, listed by its owner. Publisher snapshot.

packages/forkhorse-core/src/activity.ts

Snapshot at 34e3175

Containing directory

761 bytes · typescriptView raw
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