import { Diff } from '../Diff'; const mapDiffSymbol: unique symbol = Symbol('map diff'); const mapDiff = function ( parameters: Omit ): MapDiff { return { kind: mapDiffSymbol, ...parameters }; }; interface MapDiff extends Diff { kind: typeof mapDiffSymbol; additions: Map; omissions: Map; changes: Map; equal: Map; } const isMapDiff = function (diff: any): diff is MapDiff { return 'kind' in diff && diff.kind === mapDiffSymbol; }; export type { MapDiff }; export { isMapDiff, mapDiff };