JSPM

unwritable

1.1.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 4
  • Score
    100M100P100Q26624F
  • License CC0-1.0

Convenience for working with `writable: false` object properties.

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 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.