MCPcopy Create free account
hub / github.com/RtlZeroMemory/Rezi / diffState

Function diffState

packages/core/src/debug/stateTimeline.ts:163–184  ·  view source on GitHub ↗
(
  before: T,
  after: T,
)

Source from the content-addressed store, hash-verified

161 * Note: This is a shallow diff - nested objects are compared by reference.
162 */
163export function diffState<T extends object>(
164 before: T,
165 after: T,
166): Array<{ field: string; before: unknown; after: unknown }> {
167 const changes: Array<{ field: string; before: unknown; after: unknown }> = [];
168 const allKeys = new Set([...Object.keys(before), ...Object.keys(after)]);
169
170 for (const key of allKeys) {
171 const beforeVal = (before as Record<string, unknown>)[key];
172 const afterVal = (after as Record<string, unknown>)[key];
173
174 if (beforeVal !== afterVal) {
175 changes.push({
176 field: key,
177 before: beforeVal,
178 after: afterVal,
179 });
180 }
181 }
182
183 return changes;
184}

Callers 1

Calls 2

keysMethod · 0.65
pushMethod · 0.45

Tested by

no test coverage detected