Cancel changes to JavaScript object values (add/update/delete properties, add item into Map/Set, etc.)
MIT License
Cancel changes to JavaScript object values (add/update/delete properties, add item into Map/Set, etc.)
npm install object-rollback
const { ObjectState } = require('object-rollback');
const someValue = {
a: 1,
b: 2,
c: [ 1, 2, 3 ],
};
console.log(someValue); // { a: 1, b: 2, c: [ 1, 2, 3 ] }
const state = new ObjectState(someValue);
someValue.b = 200;
someValue.x = 42;
someValue.c.push(9);
console.log(someValue); // { a: 1, b: 200, c: [ 1, 2, 3, 9 ], x: 42 }
state.rollback();
console.log(someValue); // { a: 1, b: 2, c: [ 1, 2, 3 ] }
Error
- test code
Error
EvalError
RangeError
ReferenceError
SyntaxError
TypeError
URIError
Date
- test code
RegExp
- test code
Array
- test code
Map
- test code
Set
- test code
TypedArray
- test code
Int8Array
Uint8Array
Uint8ClampedArray
Int16Array
Uint16Array
Int32Array
Uint32Array
BigInt64Array
BigUint64Array
Float32Array
Float64Array
DataView
- test code
To run the test suite, first install the dependencies, then run npm test
:
npm install
npm test
see CONTRIBUTING.md