/def-prop

def(prop())

Primary LanguageJavaScriptOtherNOASSERTION

def-prop Coveralls MIT licensed typescript npm: def-prop

Simple and easy API around Object.defineProperty.

  • defObject.defineProperty.

  • val — const value, not enumerable, writable or configurable. Append :enum, :write and :config string literals to enable corresponding traits.

  • getset — getter-setter pair. If no setter then it is disabled. Append :enum, :write and :config string literals to enable corresponding traits.

  • :enum — enumerable.

  • :write — writable.

  • :config — configurable.

npm i def-prop
import def from 'def-prop'
import val from 'def-prop/val'
import getset from 'def-prop/getset'

var object = {}

def(object,'prop', val(5))
def(object,'prop', val(5, ':enum'))
def(object,'prop', val(5, ':config', ':enum'))

def(object, 'prop', getset(() => 'getter'))
def(object, 'prop', getset(() => 'getter', v => { 'setter' }))
def(object, 'prop', getset(() => 'getter', ':enum'))
def(object, 'prop', getset(() => 'getter', v => { 'setter' }, ':enum'))

Vanilla CJS package, available both in ESM/CJS. Typings included.

license

MIT. © Strider, 2023.