{"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"keywords":["Object.defineProperty","Object.defineProperties","object","property descriptor","descriptor","define","ES5"],"dist-tags":{"latest":"1.1.2"},"author":{"name":"Jordan Harband"},"description":"Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.","readme":"#define-properties <sup>[![Version Badge][npm-version-svg]][package-url]</sup>\n\n[![Build Status][travis-svg]][travis-url]\n[![dependency status][deps-svg]][deps-url]\n[![dev dependency status][dev-deps-svg]][dev-deps-url]\n[![License][license-image]][license-url]\n[![Downloads][downloads-image]][downloads-url]\n\n[![npm badge][npm-badge-png]][package-url]\n\n[![browser support][testling-svg]][testling-url]\n\nDefine multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.\nExisting properties are not overridden. Accepts a map of property names to a predicate that, when true, force-overrides.\n\n## Example\n\n```js\nvar define = require('define-properties');\nvar assert = require('assert');\n\nvar obj = define({ a: 1, b: 2 }, {\n\ta: 10,\n\tb: 20,\n\tc: 30\n});\nassert(obj.a === 1);\nassert(obj.b === 2);\nassert(obj.c === 30);\nif (define.supportsDescriptors) {\n\tassert.deepEqual(Object.keys(obj), ['a', 'b']);\n\tassert.deepEqual(Object.getOwnPropertyDescriptor(obj, 'c'), {\n\t\tconfigurable: true,\n\t\tenumerable: false,\n\t\tvalue: 30,\n\t\twritable: false\n\t});\n}\n```\n\nThen, with predicates:\n```js\nvar define = require('define-properties');\nvar assert = require('assert');\n\nvar obj = define({ a: 1, b: 2, c: 3 }, {\n\ta: 10,\n\tb: 20,\n\tc: 30\n}, {\n\ta: function () { return false; },\n\tb: function () { return true; }\n});\nassert(obj.a === 1);\nassert(obj.b === 20);\nassert(obj.c === 3);\nif (define.supportsDescriptors) {\n\tassert.deepEqual(Object.keys(obj), ['a', 'c']);\n\tassert.deepEqual(Object.getOwnPropertyDescriptor(obj, 'b'), {\n\t\tconfigurable: true,\n\t\tenumerable: false,\n\t\tvalue: 20,\n\t\twritable: false\n\t});\n}\n```\n\n## Tests\nSimply clone the repo, `npm install`, and run `npm test`\n\n[package-url]: https://npmjs.org/package/define-properties\n[npm-version-svg]: http://versionbadg.es/ljharb/define-properties.svg\n[travis-svg]: https://travis-ci.org/ljharb/define-properties.svg\n[travis-url]: https://travis-ci.org/ljharb/define-properties\n[deps-svg]: https://david-dm.org/ljharb/define-properties.svg\n[deps-url]: https://david-dm.org/ljharb/define-properties\n[dev-deps-svg]: https://david-dm.org/ljharb/define-properties/dev-status.svg\n[dev-deps-url]: https://david-dm.org/ljharb/define-properties#info=devDependencies\n[testling-svg]: https://ci.testling.com/ljharb/define-properties.png\n[testling-url]: https://ci.testling.com/ljharb/define-properties\n[npm-badge-png]: https://nodei.co/npm/define-properties.png?downloads=true&stars=true\n[license-image]: http://img.shields.io/npm/l/define-properties.svg\n[license-url]: LICENSE\n[downloads-image]: http://img.shields.io/npm/dm/define-properties.svg\n[downloads-url]: http://npm-stat.com/charts.html?package=define-properties\n\n","repository":{"type":"git","url":"git://github.com/ljharb/define-properties.git"},"bugs":{"url":"https://github.com/ljharb/define-properties/issues"},"license":"MIT","versions":{"1.0.0":{"name":"define-properties","version":"1.0.0","author":{"name":"Jordan Harband"},"description":"Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js && npm run security","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run jscs && npm run eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","eccheck":"editorconfig-tools check *.js **/*.js > /dev/null","security":"nsp package"},"repository":{"type":"git","url":"git://github.com/ljharb/define-properties.git"},"keywords":["Object.defineProperty","Object.defineProperties","object","property descriptor","descriptor","define","ES5"],"dependencies":{"foreach":"~2.0.5","object-keys":"~1.0.2"},"devDependencies":{"tape":"~3.0.3","covert":"1.0.0","jscs":"~1.9.0","editorconfig-tools":"~0.0.1","nsp":"~0.5.2","eslint":"~0.11.0"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"7f59dd1723500ba6390a2a6fc330e20ad7a1f58c","bugs":{"url":"https://github.com/ljharb/define-properties/issues"},"homepage":"https://github.com/ljharb/define-properties","_id":"define-properties@1.0.0","_shasum":"64e04df26f37a219a4467b2cde19eb075de9d004","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"dist":{"shasum":"64e04df26f37a219a4467b2cde19eb075de9d004","tarball":"http://nexus.dui88.com:8081/nexus/content/groups/npm-all/define-properties/-/define-properties-1.0.0.tgz"},"directories":{}},"1.0.1":{"name":"define-properties","version":"1.0.1","author":{"name":"Jordan Harband"},"description":"Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js && npm run security","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run jscs && npm run eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","eccheck":"editorconfig-tools check *.js **/*.js > /dev/null","security":"nsp package"},"repository":{"type":"git","url":"git://github.com/ljharb/define-properties.git"},"keywords":["Object.defineProperty","Object.defineProperties","object","property descriptor","descriptor","define","ES5"],"dependencies":{"foreach":"~2.0.5","object-keys":"~1.0.3"},"devDependencies":{"tape":"~3.0.3","covert":"1.0.0","jscs":"~1.9.0","editorconfig-tools":"~0.0.1","nsp":"~0.5.2","eslint":"~0.11.0"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"0fc836602486b1360bb54f430c18cebba25a0288","bugs":{"url":"https://github.com/ljharb/define-properties/issues"},"homepage":"https://github.com/ljharb/define-properties","_id":"define-properties@1.0.1","_shasum":"aa2f1a1d38cc4ebaabf314ac1e77e024060e0ec0","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"dist":{"shasum":"aa2f1a1d38cc4ebaabf314ac1e77e024060e0ec0","tarball":"http://nexus.dui88.com:8081/nexus/content/groups/npm-all/define-properties/-/define-properties-1.0.1.tgz"},"directories":{}},"1.0.2":{"name":"define-properties","version":"1.0.2","author":{"name":"Jordan Harband"},"description":"Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js && npm run security","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run jscs && npm run eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","eccheck":"editorconfig-tools check *.js **/*.js > /dev/null","security":"nsp package"},"repository":{"type":"git","url":"git://github.com/ljharb/define-properties.git"},"keywords":["Object.defineProperty","Object.defineProperties","object","property descriptor","descriptor","define","ES5"],"dependencies":{"foreach":"^2.0.5","object-keys":"^1.0.4"},"devDependencies":{"tape":"^4.0.0","covert":"^1.1.0","jscs":"^1.13.1","editorconfig-tools":"^0.1.1","nsp":"^1.0.1","eslint":"^0.21.2"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"37dd7335f8ec75f93ffb0768a321a8f277a2bc94","bugs":{"url":"https://github.com/ljharb/define-properties/issues"},"homepage":"https://github.com/ljharb/define-properties#readme","_id":"define-properties@1.0.2","_shasum":"6999cad02fd97bd62b06a9eb121d8d6966d48d37","_from":".","_npmVersion":"2.9.0","_nodeVersion":"2.0.2","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"shasum":"6999cad02fd97bd62b06a9eb121d8d6966d48d37","tarball":"http://nexus.dui88.com:8081/nexus/content/groups/npm-all/define-properties/-/define-properties-1.0.2.tgz"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{}},"1.1.0":{"name":"define-properties","version":"1.1.0","author":{"name":"Jordan Harband"},"description":"Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js && npm run security","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run jscs && npm run eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","eccheck":"editorconfig-tools check *.js **/*.js > /dev/null","security":"nsp package"},"repository":{"type":"git","url":"git://github.com/ljharb/define-properties.git"},"keywords":["Object.defineProperty","Object.defineProperties","object","property descriptor","descriptor","define","ES5"],"dependencies":{"foreach":"^2.0.5","object-keys":"^1.0.4"},"devDependencies":{"tape":"^4.0.0","covert":"^1.1.0","jscs":"^1.13.1","editorconfig-tools":"^0.1.1","nsp":"^1.0.3","eslint":"^0.24.0"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"0855002376afdcbc6c6c5d56cdb207cc69231535","bugs":{"url":"https://github.com/ljharb/define-properties/issues"},"homepage":"https://github.com/ljharb/define-properties#readme","_id":"define-properties@1.1.0","_shasum":"e445de572ba03584e707e6e7fa7757bcb61e2688","_from":".","_npmVersion":"2.11.1","_nodeVersion":"2.3.0","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"shasum":"e445de572ba03584e707e6e7fa7757bcb61e2688","tarball":"http://nexus.dui88.com:8081/nexus/content/groups/npm-all/define-properties/-/define-properties-1.1.0.tgz"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{}},"1.1.1":{"name":"define-properties","version":"1.1.1","author":{"name":"Jordan Harband"},"description":"Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js && npm run security","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run jscs && npm run eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","eccheck":"editorconfig-tools check *.js **/*.js > /dev/null","security":"nsp package"},"repository":{"type":"git","url":"git://github.com/ljharb/define-properties.git"},"keywords":["Object.defineProperty","Object.defineProperties","object","property descriptor","descriptor","define","ES5"],"dependencies":{"foreach":"^2.0.5","object-keys":"^1.0.7"},"devDependencies":{"tape":"^4.0.1","covert":"^1.1.0","jscs":"^1.13.1","editorconfig-tools":"^0.1.1","nsp":"^1.0.3","eslint":"^1.0.0-rc-1"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"4647949f0b4da52f9968977a9be754e5e11c5ac4","bugs":{"url":"https://github.com/ljharb/define-properties/issues"},"homepage":"https://github.com/ljharb/define-properties#readme","_id":"define-properties@1.1.1","_shasum":"ac04abba5d32847f912cfbe41aed932faa14061f","_from":".","_npmVersion":"2.13.0","_nodeVersion":"2.4.0","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"shasum":"ac04abba5d32847f912cfbe41aed932faa14061f","tarball":"http://nexus.dui88.com:8081/nexus/content/groups/npm-all/define-properties/-/define-properties-1.1.1.tgz"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{}},"1.1.2":{"name":"define-properties","version":"1.1.2","author":{"name":"Jordan Harband"},"description":"Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js && npm run security","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run jscs && npm run eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","eccheck":"editorconfig-tools check *.js **/*.js > /dev/null","security":"nsp package"},"repository":{"type":"git","url":"git://github.com/ljharb/define-properties.git"},"keywords":["Object.defineProperty","Object.defineProperties","object","property descriptor","descriptor","define","ES5"],"dependencies":{"foreach":"^2.0.5","object-keys":"^1.0.8"},"devDependencies":{"tape":"^4.2.1","covert":"^1.1.0","jscs":"^2.3.1","editorconfig-tools":"^0.1.1","nsp":"^1.1.0","eslint":"^1.6.0","@ljharb/eslint-config":"^1.3.0"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"6467a10e6f493d8a1a4f6ec8442ffee137aab7ba","bugs":{"url":"https://github.com/ljharb/define-properties/issues"},"homepage":"https://github.com/ljharb/define-properties#readme","_id":"define-properties@1.1.2","_shasum":"83a73f2fea569898fb737193c8f873caf6d45c94","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"shasum":"83a73f2fea569898fb737193c8f873caf6d45c94","tarball":"http://nexus.dui88.com:8081/nexus/content/groups/npm-all/define-properties/-/define-properties-1.1.2.tgz"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{}}},"name":"define-properties","time":{"modified":"2015-10-14T22:28:41.286Z","created":"2015-01-04T08:34:45.318Z","1.0.0":"2015-01-04T08:34:45.318Z","1.0.1":"2015-01-06T22:29:12.451Z","1.0.2":"2015-05-24T03:26:06.197Z","1.1.0":"2015-07-02T06:52:56.628Z","1.1.1":"2015-07-21T07:17:08.897Z","1.1.2":"2015-10-14T22:28:41.286Z"},"readmeFilename":"README.md","homepage":"https://github.com/ljharb/define-properties#readme"}