2.4.7 • Published 9 months ago

@creately/sakota v2.4.7

Weekly downloads
25
License
MIT
Repository
-
Last release
9 months ago

SaKota

SaKota proxies js objects and records all changes made on an object without modifying the given object.

Getting Started

Install @creately/sakota module from npm.

npm install @creately/sakota

Wrap an existing object with a proxy and make some changes to the proxied object. It should reflect all changes made to the object without modifying the source.

import { Sakota } from '@creately/sakota'

const source = { x: 10, y: 20, c1: { x: 20, y: 30, z: 40 }}
const proxy = Sakota.create(source);

// make some changes
proxy.z = 30;
proxy.c1.y = 40;
delete proxy.c1.z;

console.log(source)
// { x: 10, y: 20, c1: { x: 20, y: 30, z: 40 }}

console.log(proxy)
// { x: 10, y: 20, z: 30, c1: { x: 20, y: 40 }}

Changes made to the object are all recorded as a MongoDB like modifier.

const changes = Sakota.changes(proxy);
console.log(changes)
// {
//     $set: { z: 30, 'c1.y': 40 },
//     $unset: { 'c1.z': true },
// }
2.4.7

9 months ago

2.4.6

2 years ago

2.4.5

3 years ago

2.4.4

3 years ago

2.4.3

3 years ago

2.4.2

5 years ago

2.4.1

5 years ago

2.4.0

5 years ago

2.3.0

5 years ago

2.2.0

5 years ago

2.1.1

5 years ago

2.1.0

5 years ago

2.0.0

5 years ago

1.0.0

6 years ago