https://github.com/streetstrider/def-prop
def(prop())
https://github.com/streetstrider/def-prop
Last synced: 10 months ago
JSON representation
def(prop())
- Host: GitHub
- URL: https://github.com/streetstrider/def-prop
- Owner: StreetStrider
- License: other
- Created: 2016-05-31T19:09:18.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2023-08-18T19:24:57.000Z (almost 3 years ago)
- Last Synced: 2025-02-15T21:14:34.729Z (over 1 year ago)
- Language: JavaScript
- Size: 32.2 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license
Awesome Lists containing this project
README
# def-prop [](https://coveralls.io/github/StreetStrider/def-prop) [](license) [](//typescriptlang.org) [](https://www.npmjs.org/package/def-prop)
Simple and easy API around Object.defineProperty.
* `def` — `Object.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.
```sh
npm i def-prop
```
```js
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.