1.0.0 • Published 4 years ago

object-rollback v1.0.0

Weekly downloads
17
License
MIT
Repository
github
Last release
4 years ago

object-rollback

Go to the latest release page on npm License: MIT Supported Node.js version: >=8.3.0 Type Definitions: TypeScript Install Size Details Dependencies Status Build Status Maintainability Status

Cancel changes to JavaScript object values (add/update/delete properties, add item into Map/Set, etc.)

Install

npm install object-rollback

Usage

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 ] }

Tested objects

Standard Built-in ECMAScript 2019 Objects

Node.js Built-in Objects

Tests

To run the test suite, first install the dependencies, then run npm test:

npm install
npm test

Contributing

see CONTRIBUTING.md