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.

/unwritable/

    Package Sidebar

    Install

    npm i unwritable

    Weekly Downloads

    1

    Version

    1.1.0

    License

    CC0-1.0

    Last publish

    Collaborators

    • m59