constantin
create constant objects/array/... by deep object.defineProperty
$ npm install constantin --save
const constantin = ; let myObject = a: 123 b: c: 1 2 3 ; if environment !== 'production' const options = own: false name: 'myObject' ; myObject = ; const a = constantinc; // throws error. c is not defined constantinc = 4; // throws error. you should not modify constant
Options
name
optional - String
- default ""
. - shows in error message
allowedProps
optional - Array(String)
- default []
. - ignore prop names
checkValue(value, pathArray)
optional - Function
- default () => {}
. - additional check value on every depth of Object/Array
skipSymbols
optional - Boolean
- default true
. - skip every symbols that will be checked by some library
own
optional - Boolean
- default true
. - checking props in objects by hasOwnProperty
If you try to change any value inside - it throws an exception