Package Exports
- unwritable
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (unwritable) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
unwritable
Convenience for working with writable: false object properties.
Read about the writable attribute here.
install
# npm install unwritableexample
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 // => 123const 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 // => 123api
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.