1.0.10 • Published 6 years ago

deep-freeze-assert v1.0.10

Weekly downloads
3
License
ISC
Repository
github
Last release
6 years ago

Build Status Coverage Status

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

PropertyOptionalTypeDefaultDescription
silentoptionalbooleanfalsefalse - in case of mutation throws an error true - in case of mutation writes warning to log
setFnoptionalFunction(target: any, p: PropertyKey, value: any) => booleansetThrowFunction which will be called in case of set mutation, must return boolean
deletePropertyFnoptionalFunction(target: any, p: PropertyKey) => booleandeletePropertyThrowFunction 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.

1.0.10

6 years ago

1.0.9

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.0

6 years ago

0.0.1

6 years ago