UNPKG

jiff

Version:

JSON diff and patch based on rfc6902

19 lines (15 loc) 371 B
var patches = require('./patches'); module.exports = function inverse(p) { var pr = []; var i, skip; for(i = p.length-1; i>= 0; i -= skip) { skip = invertOp(pr, p[i], i, p); } return pr; }; function invertOp(patch, c, i, context) { var op = patches[c.op]; return op !== void 0 && typeof op.inverse === 'function' ? op.inverse(patch, c, i, context) : 1; }