Skip to content

Instantly share code, notes, and snippets.

@briancavalier
Last active August 29, 2015 14:10
Show Gist options
  • Select an option

  • Save briancavalier/43b8d5df89093239ac34 to your computer and use it in GitHub Desktop.

Select an option

Save briancavalier/43b8d5df89093239ac34 to your computer and use it in GitHub Desktop.
var jiff = require('jiff');
var p = [{"op":"test","path":"/messages/0","value":{"id":"QJ951IQ-","time":"2014-12-05T02:24:31.880Z","userId":"7yjrlN0x","text":"q","thread":"default","isThread":false,"user":{"name":"chen","avatar":"http://tp1.sinaimg.cn/1651843872/180/40048616024/1","nickname":"chen","thread":"default","id":"7yjrlN0x","online":true}}},{"op":"remove","path":"/messages/0"},{"op":"add","path":"/messages/2","value":{"id":"71D0JL7b","time":"2014-12-05T02:25:33.729Z","userId":"7JHrWpG-","text":"r","thread":"default","isThread":false,"user":{"name":"yong","avatar":"http://tp3.sinaimg.cn/1346257214/50/1269085478/0","nickname":"yong","id":"7JHrWpG-","thread":"default","online":true}}}];
var d1 = {"messages":[{"id":"QJ951IQ-","time":"2014-12-05T02:24:31.880Z","userId":"7yjrlN0x","text":"q","thread":"default","isThread":false,"user":{"name":"chen","avatar":"http://tp1.sinaimg.cn/1651843872/180/40048616024/1","nickname":"chen","thread":"default","id":"7yjrlN0x","online":true}},{"id":"mJR6kUmW","time":"2014-12-05T02:25:23.932Z","userId":"7yjrlN0x","text":"x","thread":"default","isThread":false,"user":{"name":"chen","avatar":"http://tp1.sinaimg.cn/1651843872/180/40048616024/1","nickname":"chen","thread":"default","id":"7yjrlN0x","online":true}},{"id":"X1-CJLQ-","time":"2014-12-05T02:25:26.900Z","userId":"7yjrlN0x","text":"t","thread":"default","isThread":false,"user":{"name":"chen","avatar":"http://tp1.sinaimg.cn/1651843872/180/40048616024/1","nickname":"chen","thread":"default","id":"7yjrlN0x","online":true}}],"threads":[],"user":{"name":"chen","avatar":"http://tp1.sinaimg.cn/1651843872/180/40048616024/1","nickname":"chen","thread":"default","id":"7yjrlN0x","online":true}};
var d2 = jiff.patch(p, d1);
console.log('-- PATCH -----------------');
console.log(p);
console.log('-- BEFORE -----------------');
console.log(d1);
console.log('-- AFTER -----------------');
console.log(d2);
-- PATCH -----------------
[ { op: 'test',
path: '/messages/0',
value:
{ id: 'QJ951IQ-',
time: '2014-12-05T02:24:31.880Z',
userId: '7yjrlN0x',
text: 'q',
thread: 'default',
isThread: false,
user: [Object] } },
{ op: 'remove', path: '/messages/0' },
{ op: 'add',
path: '/messages/2',
value:
{ id: '71D0JL7b',
time: '2014-12-05T02:25:33.729Z',
userId: '7JHrWpG-',
text: 'r',
thread: 'default',
isThread: false,
user: [Object] } } ]
-- BEFORE -----------------
{ messages:
[ { id: 'QJ951IQ-',
time: '2014-12-05T02:24:31.880Z',
userId: '7yjrlN0x',
text: 'q',
thread: 'default',
isThread: false,
user: [Object] },
{ id: 'mJR6kUmW',
time: '2014-12-05T02:25:23.932Z',
userId: '7yjrlN0x',
text: 'x',
thread: 'default',
isThread: false,
user: [Object] },
{ id: 'X1-CJLQ-',
time: '2014-12-05T02:25:26.900Z',
userId: '7yjrlN0x',
text: 't',
thread: 'default',
isThread: false,
user: [Object] } ],
threads: [],
user:
{ name: 'chen',
avatar: 'http://tp1.sinaimg.cn/1651843872/180/40048616024/1',
nickname: 'chen',
thread: 'default',
id: '7yjrlN0x',
online: true } }
-- AFTER -----------------
{ messages:
[ { id: 'mJR6kUmW',
time: '2014-12-05T02:25:23.932Z',
userId: '7yjrlN0x',
text: 'x',
thread: 'default',
isThread: false,
user: [Object] },
{ id: 'X1-CJLQ-',
time: '2014-12-05T02:25:26.900Z',
userId: '7yjrlN0x',
text: 't',
thread: 'default',
isThread: false,
user: [Object] },
{ id: '71D0JL7b',
time: '2014-12-05T02:25:33.729Z',
userId: '7JHrWpG-',
text: 'r',
thread: 'default',
isThread: false,
user: [Object] } ],
threads: [],
user:
{ name: 'chen',
avatar: 'http://tp1.sinaimg.cn/1651843872/180/40048616024/1',
nickname: 'chen',
thread: 'default',
id: '7yjrlN0x',
online: true } }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment