Open
Description
Using compare
on an object with Date
fields generates an add
operation per character of the ISO date string, rather than comparing the Date
as a whole.
Example
import { compare } from 'fast-json-patch';
const obj1 = { foo: new Date() };
const obj2 = { foo: new Date(obj1.foo.getTime() + 1)};
const diff = compare(obj1, obj2);
console.log(diff);
Output
[
{ op: 'add', path: '/foo/0', value: '2' },
{ op: 'add', path: '/foo/1', value: '0' },
{ op: 'add', path: '/foo/2', value: '2' },
{ op: 'add', path: '/foo/3', value: '5' },
{ op: 'add', path: '/foo/4', value: '-' },
{ op: 'add', path: '/foo/5', value: '0' },
{ op: 'add', path: '/foo/6', value: '2' },
{ op: 'add', path: '/foo/7', value: '-' },
{ op: 'add', path: '/foo/8', value: '1' },
{ op: 'add', path: '/foo/9', value: '3' },
{ op: 'add', path: '/foo/10', value: 'T' },
{ op: 'add', path: '/foo/11', value: '1' },
{ op: 'add', path: '/foo/12', value: '4' },
{ op: 'add', path: '/foo/13', value: ':' },
{ op: 'add', path: '/foo/14', value: '5' },
{ op: 'add', path: '/foo/15', value: '8' },
{ op: 'add', path: '/foo/16', value: ':' },
{ op: 'add', path: '/foo/17', value: '4' },
{ op: 'add', path: '/foo/18', value: '0' },
{ op: 'add', path: '/foo/19', value: '.' },
{ op: 'add', path: '/foo/20', value: '8' },
{ op: 'add', path: '/foo/21', value: '5' },
{ op: 'add', path: '/foo/22', value: '5' },
{ op: 'add', path: '/foo/23', value: 'Z' }
]
Metadata
Metadata
Assignees
Labels
No labels