unwritable

1.1.0 • Public • Published

unwritable

Convenience for working with writable: false object properties.

Read about the writable attribute here.

install

# npm install unwritable 

example

const { unwritable, writable, write } = require('unwritable')
 
const obj = { foo: 123 }
 
unwritable(obj, 'foo')
 
obj.foo = 456 // does nothing
obj.foo // => 123
 
write(obj, 'foo', 456)
obj.foo // => 456
 
writable(obj, 'foo')
obj.foo = 123
obj.foo // => 123
const unwritable = require('unwritable')
 
const obj = { foo: 123 }
 
unwritable(obj, 'foo')
 
obj.foo = 456 // does nothing
obj.foo // => 123
 
unwritable.write(obj, 'foo', 456)
obj.foo // => 456
 
unwritable.writable(obj, 'foo')
obj.foo = 123
obj.foo // => 123

api

These functions will throw if given a property that has an accessor (get/set). This gives you added confidence that your code is doing what you expect.

unwritable(obj, prop)

Make prop of obj unwritable. It will assign prop to object with a value of undefined if obj does not already have prop.

writable(obj, prop)

Make prop of obj writable. It will assign prop to object with a value of undefined if obj does not already have prop.

write(obj, prop, value)

Assigns value to prop of obj. It is essentially obj[prop] = value, but works on properties whether they are writable or not.

Dependents (0)

Package Sidebar

Install

npm i unwritable

Weekly Downloads

2

Version

1.1.0

License

CC0-1.0

Last publish

Collaborators

  • m59