benjamine/jsondiffpatch

View on GitHub
packages/jsondiffpatch/src/filters/dates.ts

Summary

Maintainability
A
55 mins
Test Coverage
import type { Filter } from '../types.js';
import type DiffContext from '../contexts/diff.js';

export const diffFilter: Filter<DiffContext> = function datesDiffFilter(
  context,
) {
  if (context.left instanceof Date) {
    if (context.right instanceof Date) {
      if (context.left.getTime() !== context.right.getTime()) {
        context.setResult([context.left, context.right]);
      } else {
        context.setResult(undefined);
      }
    } else {
      context.setResult([context.left, context.right]);
    }
    context.exit();
  } else if (context.right instanceof Date) {
    context.setResult([context.left, context.right]).exit();
  }
};
diffFilter.filterName = 'dates';