Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

define-properties-x

Xotic750322MIT4.1.2

Define multiple non-enumerable properties at once.

define, descriptor, property descriptor, object, Object.defineProperty, Object.defineProperties, module, javascript, nodejs, browser

readme

Travis status Dependency status devDependency status npm version jsDelivr hits bettercodehub score Coverage Status

define-properties-x

Define multiple non-enumerable properties at once.

See: define-properties

define-properties-x.properties(object, map, [predicates])

Define multiple non-enumerable properties at once. Uses Object.defineProperty when available; falls back to standard assignment in older engines. Existing properties are not overridden. Accepts a map of property names to a predicate that, when true, force-overrides.

Kind: static method of define-properties-x

Param Type Description
object Object The object on which to define the property.
map Object The object of properties.
[predicates] Object The object of property predicates.

Example

import * as define from 'define-properties-x';

define.properties(
  {
    a: 1,
    b: 2,
  },
  {
    a: function() {
      return false;
    },
    b: function() {
      return true;
    },
  },
);

define-properties-x.property(object, prop, value, [force])

Just like properties but for defining a single non-enumerable property. Useful in environments that do not support Computed property names. This can be done with properties, but this method can read a little cleaner.

Kind: static method of define-properties-x

Param Type Default Description
object Object | The object on which to define the property.
prop string | Symbol | The property name.
value * | The value of the property.
[force] boolean false If true then set property regardless.

Example

import * as define from 'define-properties-x';

const myString = 'something';
define.property(obj, Symbol.iterator, function() {}, true);
define.property(obj, myString, function() {}, true);