]> git.r.bdr.sh - rbdr/dotfiles/blame - atom/.apm/registry.npmjs.org/d/.cache.json
Merge branch 'master' of gitlab.com:rbdr/dotfiles
[rbdr/dotfiles] / atom / .apm / registry.npmjs.org / d / .cache.json
CommitLineData
24c7594d 1{"_id":"d","_rev":"8-309ca157fbef23ba35bf2e290da3adf2","name":"d","description":"Property descriptor factory","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"d","version":"0.1.0","description":"Property descriptor factory","main":"index.js","scripts":{"test":"node node_modules/tad/bin/tad"},"repository":{"type":"git","url":"git://github.com/medikoo/d.git"},"keywords":["descriptor","es","ecmascript","ecma","property","descriptors","meta","properties"],"dependencies":{"es5-ext":"~0.9.2"},"devDependencies":{"tad":"~0.1.16"},"author":{"name":"Mariusz Nowak","email":"medikoo+d@medikoo.com","url":"http://www.medikoo.com/"},"license":"MIT","bugs":{"url":"https://github.com/medikoo/d/issues"},"_id":"d@0.1.0","dist":{"shasum":"2dfac58b2a6c152361e933ed4c7f59115ff353e6","tarball":"http://registry.npmjs.org/d/-/d-0.1.0.tgz"},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"medikoo","email":"medikoo+npm@medikoo.com"},"maintainers":[{"name":"medikoo","email":"medikoo+npm@medikoo.com"}],"directories":{}},"0.1.1":{"name":"d","version":"0.1.1","description":"Property descriptor factory","author":{"name":"Mariusz Nowak","email":"medyk@medikoo.com","url":"http://www.medikoo.com/"},"scripts":{"test":"node node_modules/tad/bin/tad"},"repository":{"type":"git","url":"git://github.com/medikoo/d.git"},"keywords":["descriptor","es","ecmascript","ecma","property","descriptors","meta","properties"],"dependencies":{"es5-ext":"~0.10.2"},"devDependencies":{"tad":"~0.1.21"},"license":"MIT","bugs":{"url":"https://github.com/medikoo/d/issues"},"homepage":"https://github.com/medikoo/d","_id":"d@0.1.1","dist":{"shasum":"da184c535d18d8ee7ba2aa229b914009fae11309","tarball":"http://registry.npmjs.org/d/-/d-0.1.1.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"medikoo","email":"medikoo+npm@medikoo.com"},"maintainers":[{"name":"medikoo","email":"medikoo+npm@medikoo.com"}],"directories":{}}},"readme":"# D - Property descriptor factory\n\n_Originally derived from [es5-ext](https://github.com/medikoo/es5-ext) package._\n\nDefining properties with descriptors is very verbose:\n\n```javascript\nvar Account = function () {};\nObject.defineProperties(Account.prototype, {\n deposit: { value: function () {\n /* ... */\n }, configurable: true, enumerable: false, writable: true },\n whithdraw: { value: function () {\n /* ... */\n }, configurable: true, enumerable: false, writable: true },\n balance: { get: function () {\n /* ... */\n }, configurable: true, enumerable: false }\n});\n```\n\nD cuts that to:\n\n```javascript\nvar d = require('d');\n\nvar Account = function () {};\nObject.defineProperties(Account.prototype, {\n deposit: d(function () {\n /* ... */\n }),\n whithdraw: d(function () {\n /* ... */\n }),\n balance: d.gs(function () {\n /* ... */\n })\n});\n```\n\nBy default, created descriptor follow characteristics of native ES5 properties, and defines values as:\n\n```javascript\n{ configurable: true, enumerable: false, writable: true }\n```\n\nYou can overwrite it by preceding _value_ argument with instruction:\n```javascript\nd('c', value); // { configurable: true, enumerable: false, writable: false }\nd('ce', value); // { configurable: true, enumerable: true, writable: false }\nd('e', value); // { configurable: false, enumerable: true, writable: false }\n\n// Same way for get/set:\nd.gs('e', value); // { configurable: false, enumerable: true }\n```\n\n### Other utilities\n\n#### autoBind(obj, props) _(d/auto-bind)_\n\nDefine methods which will be automatically bound to its instances\n\n```javascript\nvar d = require('d');\nvar autoBind = require('d/auto-bind');\n\nvar Foo = function () { this._count = 0; };\nautoBind(Foo.prototype, {\n increment: d(function () { ++this._count; });\n});\n\nvar foo = new Foo();\n\n// Increment foo counter on each domEl click\ndomEl.addEventListener('click', foo.increment, false);\n```\n\n#### lazy(obj, props) _(d/lazy)_\n\nDefine lazy properties, which will be resolved on first access\n\n```javascript\nvar d = require('d');\nvar lazy = require('d/lazy');\n\nvar Foo = function () {};\nlazy(Foo.prototype, {\n items: d(function () { return []; })\n});\n\nvar foo = new Foo();\nfoo.items.push(1, 2); // foo.items array created\n```\n\n## Installation\n### NPM\n\nIn your project path:\n\n\t$ npm install d\n\n### Browser\n\nYou can easily bundle _D_ for browser with [modules-webmake](https://github.com/medikoo/modules-webmake)\n\n## Tests [![Build Status](https://travis-ci.org/medikoo/d.png)](https://travis-ci.org/medikoo/d)\n\n\t$ npm test\n","maintainers":[{"name":"medikoo","email":"medikoo+npm@medikoo.com"}],"time":{"modified":"2014-07-18T08:32:08.676Z","created":"2013-06-20T11:13:43.686Z","0.1.0":"2013-06-20T11:13:46.851Z","0.1.1":"2014-04-24T15:41:11.066Z"},"author":{"name":"Mariusz Nowak","email":"medyk@medikoo.com","url":"http://www.medikoo.com/"},"repository":{"type":"git","url":"git://github.com/medikoo/d.git"},"homepage":"https://github.com/medikoo/d","keywords":["descriptor","es","ecmascript","ecma","property","descriptors","meta","properties"],"bugs":{"url":"https://github.com/medikoo/d/issues"},"license":"MIT","readmeFilename":"README.md","users":{"julien-f":true,"goldenboy":true,"program247365":true},"_attachments":{},"_etag":"\"5WN889VUHFNNR4OEANKORJNV7\""}