sfcode: define-property <a href="https://www.npmjs.com/package/define-property"><img src="https://img.shields.io/npm/v/define-property.svg?style=flat" alt="NPM version"/></a> <a href="https://npmjs.org/package/define-property"><img src="https://img.shields.io/npm/dm/define-property.svg?style=flat" alt="NPM monthly downloads"/></a> <a href="https://npmjs.org/package/define-property"><img src="https://img.shields.io/npm/dt/define-property.svg?style=flat" alt="NPM total downloads"/></a> <a href="https://travis-ci.org/jonschlinkert/define-property"><img src="https://img.shields.io/travis/jonschlinkert/define-property.svg?style=flat&label=Travis" alt="Linux Build Status"/></a>
define-property

Contributing

> Define a non-enumerable property on an object. Uses Reflect.defineProperty when available, otherwise Object.defineProperty.

Please consider following this project's author, Jon Schlinkert, and consider starring the project to show your :heart: and support.

# Install

Install with npm:

$ npm install --save define-property

# Release history

See the CHANGELOG for updates.

# Usage

Params

- `object`: The object on which to define the property.
- `key`: The name of the property to be defined or modified.
- `value`: The value or descriptor of the property being defined or modified.

var define = require('define-property');
var obj = {};
define(obj, 'foo', function(val) {
return val.toUpperCase();
});
// by default, defined properties are non-enumberable
console.log(obj);
//=> {}
console.log(obj.foo('bar'));
//=> 'BAR'

defining setters/getters

Pass the same properties you would if using Object.defineProperty or Reflect.defineProperty.

define(obj, 'foo', {
set: function() {},
get: function() {}
});

# About

<details>

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

</details>

<details>

Running Tests

Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:

$ npm install && npm test

</details>

<details>

Building docs

_(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)_

To generate the readme, run the following command:

$ npm install -g verbose/verb#dev verb-generate-readme && verb

</details>

## Related projects

You might also be interested in these projects:

- assign-deep: Deeply assign the enumerable properties and/or es6 Symbol properies of source objects to the target… more | [homepage](https://github.com/jonschlinkert/assign-deep "Deeply assign the enumerable properties and/or es6 Symbol properies of source objects to the target (first) object.")
- extend-shallow: Extend an object with the properties of additional objects. node.js/javascript util. | homepage
- merge-deep: Recursively merge values in a javascript object. | homepage
- mixin-deep: Deeply mix the properties of objects into the first object. Like merge-deep, but doesn't clone. | homepage

## Contributors

Commits | Contributor
--- | ---
28 | jonschlinkert
1 | doowb

## Author

Jon Schlinkert

- Connect with me on linkedin/in/jonschlinkert
- Follow me on github/jonschlinkert
- Follow me on twitter/jonschlinkert

## License

Copyright © 2018, Jon Schlinkert. Released under the [MIT License](LICENSE).

This file was generated by verb-generate-readme, v0.6.0, on January 25, 2018.