bind-property-descriptor

2.0.0 • Public • Published

bind-property-descriptor Build Status

Bind a property descriptor (value, getter and setter).

Install

Installation of the npm package:

> npm install --save bind-property-descriptor

Usage

This test data will be used for the examples:

const emma = {
  firstName: 'Emma',
  lastName: 'Russel',
  get fullName () {
    return `${this.firstName} ${this.lastName}`
  }
}

bindPropertyDescriptor(descriptor, thisArg) → boundDescriptor

Creates a new property descriptor bound to an object.

The value (if a function), getter and/or setter will be called with the bound object.

import { bindPropertyDescriptor } from 'bind-property-descriptor'

const obj = {}

const descriptor = Object.getOwnPropertyDescriptor(emma, 'fullName')
const boundDescriptor = bindPropertyDescriptor(descriptor, emma)

Object.defineProperty(obj, 'fullName', boundDescriptor)
obj.fullName
// → Emma Russel

getBoundPropertyDescriptor(obj, prop, thisArg = obj) → boundDescriptor

Because it's a common case to first get the descriptor and then bind it, this helper is provided.

import { getBoundPropertyDescriptor } from 'bind-property-descriptor'

const obj = {}

const boundDescriptor = getBoundPropertyDescriptor(emma, 'fullName')

Object.defineProperty(obj, 'fullName', boundDescriptor)
obj.fullName
// → Emma Russel

Contributions

Contributions are very welcomed, either on the documentation or on the code.

You may:

  • report any issue you've encountered;
  • fork and create a pull request.

License

ISC © Julien Fontanet

Package Sidebar

Install

npm i bind-property-descriptor

Weekly Downloads

588

Version

2.0.0

License

ISC

Unpacked Size

3.58 kB

Total Files

3

Last publish

Collaborators

  • julien-f
  • marsaud
  • pdonias