deep-freeze-assert
v1.0.10
Published
A Node.js module for listening to attempts of mutation objects and arrays.
Downloads
4
Readme
deep-freeze-assert
A Node.js module for listening to attempts of mutation objects and arrays.
Installation
npm install deep-freeze-assert --save
yarn add deep-freeze-assert
bower install deep-freeze-assert --save
Usage
Javascript
const deepFreezeAssert = require('deep-freeze-assert');
const obj = { a: 1 };
const freezedObj = deepFreezeAssert(obj);
obj.a = 2; // throws an error
TypeScript
import { deepFreezeAssert } from 'deep-freeze-assert';
const freezedObj = deepFreezeAssert(obj);
obj.a = 2; // throws an error
AMD
define(function(require,exports,module){
const freezedObj = deepFreezeAssert(obj);
obj.a = 2; // throws an error
});
Methods
deepFreezeAssert(target, [config])
Return either a deep Proxy (if target is an Object or an Array) with listeners on set and deleteProperty traps, or itself (if target is a primitive or null). In case of nesting, traps will be bound recursively.
target
Any value
Behavior
config
Null or an Object with the next structure
| Property | Optional | Type | Default | Description |
|---|:---:|:---:|---|---|
|silent|optional
|boolean
|false|false
- in case of mutation throws an error true
- in case of mutation writes warning to log|
|setFn|optional
|Function
(target: any, p: PropertyKey, value: any) => boolean
|setThrow
|Function which will be called in case of set mutation, must return boolean|
|deletePropertyFn|optional
|Function
(target: any, p: PropertyKey) => boolean
|deletePropertyThrow
|Function which will be called in case of deleteProperty mutation, must return boolean|
Test
npm run test
or
yarn test
LICENSE
MIT. See the LICENSE file for text.