{"_id":"object-mixin","_rev":"17-cd63df3546f372192a0aa110381ac0c5","name":"object-mixin","description":"ES6 next big thing polyfilled before it gets real","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.0":{"version":"0.1.0","name":"object-mixin","description":"ES6 next big thing polyfilled before it gets real","homepage":"https://github.com/WebReflection/object-mixin","keywords":["ES6","standard","JavaScript","extend","mixin","Object","getPrototypeOf","getOwnPropertyDescriptor","getOwnPropertyNames","defineProperty","defineProperties"],"author":{"name":"Andrea Giammarchi","url":"http://webreflection.blogspot.com/"},"repository":{"type":"git","url":"git://github.com/WebReflection/object-mixin.git"},"main":"./build/object-mixin.node.js","scripts":{"test":"node test/.test.js"},"dependencies":{"wru":">= 0.0.0"},"readme":"object-mixin\n============\n\n[![build status](https://secure.travis-ci.org/WebReflection/object-mixin.png)](http://travis-ci.org/WebReflection/object-mixin)\n\n","readmeFilename":"README.md","_id":"object-mixin@0.1.0","dist":{"shasum":"5bdbb71cce73bbe4d2e9f8b253554340cffaac0f","tarball":"https://registry.npmjs.org/object-mixin/-/object-mixin-0.1.0.tgz","integrity":"sha512-q5opCoXNU5cBzihMOitNQVCu4NUHsZyWLSPmnbt7USdQ1H6cTaSaVEcM7whQRLCe07XMtzs9m8d0xfrHkjur2A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBxhbN5kjW5/qzrfwU57Bzpqw7BKhd3XIPG9R7vbObRNAiACr3pzuce4gP+7I7UwJJrg/TxOwpkDJTRD27DtyNInZw=="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"webreflection","email":"andrea.giammarchi@gmail.com"},"maintainers":[{"name":"webreflection","email":"andrea.giammarchi@gmail.com"}],"directories":{}},"0.1.1":{"version":"0.1.1","name":"object-mixin","description":"ES6 next big thing polyfilled before it gets real","homepage":"https://github.com/WebReflection/object-mixin","keywords":["ES6","standard","JavaScript","extend","mixin","Object","getPrototypeOf","getOwnPropertyDescriptor","getOwnPropertyNames","defineProperty","defineProperties"],"author":{"name":"Andrea Giammarchi","url":"http://webreflection.blogspot.com/"},"repository":{"type":"git","url":"git://github.com/WebReflection/object-mixin.git"},"main":"./build/object-mixin.node.js","scripts":{"test":"node test/.test.js"},"dependencies":{"wru":">= 0.0.0"},"readme":"object-mixin\n============\n\n[![build status](https://secure.travis-ci.org/WebReflection/object-mixin.png)](http://travis-ci.org/WebReflection/object-mixin)\n\n","readmeFilename":"README.md","_id":"object-mixin@0.1.1","dist":{"shasum":"afc5103f10ffc097ebd7c5cb1a5cf7f76881e437","tarball":"https://registry.npmjs.org/object-mixin/-/object-mixin-0.1.1.tgz","integrity":"sha512-wYOD8CBGVdpxX5ylaXVm1uZXS7NJJ5BFhhK+q6FSft2HXAEK5C1bh/UHRoUJdokF8HE9cxy1m7p1PhSrT2D4yg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICcE4U8wkbLYdfV7wceMUZqP5eL/F+pPgSCLAhe326H2AiAEWTvrvCIsPJuY1TVINwRg74LNrrugnUvAoRb6/nsLQA=="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"webreflection","email":"andrea.giammarchi@gmail.com"},"maintainers":[{"name":"webreflection","email":"andrea.giammarchi@gmail.com"}],"directories":{}},"0.2.1":{"version":"0.2.1","name":"object-mixin","description":"ES6 next big thing polyfilled before it gets real","homepage":"https://github.com/WebReflection/object-mixin","keywords":["ES6","standard","JavaScript","extend","mixin","Object","getPrototypeOf","getOwnPropertyDescriptor","getOwnPropertyNames","defineProperty","defineProperties"],"author":{"name":"Andrea Giammarchi","url":"http://webreflection.blogspot.com/"},"repository":{"type":"git","url":"git://github.com/WebReflection/object-mixin.git"},"main":"./build/object-mixin.node.js","scripts":{"test":"node test/.test.js"},"dependencies":{"wru":">= 0.0.0"},"readme":"object-mixin\n============\n\nA possible ES6 polyfill\n\n[![build status](https://secure.travis-ci.org/WebReflection/object-mixin.png)](http://travis-ci.org/WebReflection/object-mixin)\n\n\n### API\n\n```javascript\n\n// basic signature\nObject.mixin(\n  target:Object,  // the object to be enriched\n\n  source:Object   // all own properties of this object\n                  // will be assigned using same descriptor\n\n):target          // returns the target object modified\n\n\n// overload with Traits (Function)\n\nObject.mixin(\n  target:Object,  // the object to be enriched\n\n  source:Trait    // invoked with target as context\n\n  [, args:Array|Arguments]\n                  // optional args property\n                  // used at Trait arguments\n\n):target          // returns the target object modified\n\n```\n\n\n### Compatibility\nShould be compatible with all JavaScript ES3 or JScript engines.\n\n[node.js](build/object-mixin.node.js) module, [AMD](build/object-mixin.amd.js) module, and generic env [standalone](build/object-mixin.js) file.\n\n\n### Example\n\n```javascript\n// using an object\n\nvar a = {a: 'b'},\n    b = Object.mixin({b: 'b'}, a);\n\nconsole.log(JSON.stringify(b));\n// {\"a\":\"a\",\"b\":\"b\"}\n\n\n// using a function\nfunction addUniqueIdFunctionality(prefix) {\n  var\n    privatelyShared = {},\n    i = 0\n  ;\n  if (!prefix) prefix = '.' + (new Date).getTime();\n  this.getIdFor = function (key) {\n    return privatelyShared[key] || (\n      privatelyShared[key] = ++i + prefix + Math.random()\n    );\n  };\n}\n\nfunction GenericClass(){}\n\nObject.mixin(\n  GenericClass.prototype,\n  addUniqueIdFunctionality\n  // , ['my_prefix']\n);\n\nvar instance1 = new GenericClass,\n    instance2 = new GenericClass;\n\nconsole.log([\n  instance1.getIdFor('a'),\n  instance1.getIdFor('b'), // different\n  instance2.getIdFor('a')\n  // same as instance1.getIdFor('a')\n].join('\\n'));\n```\n\n\n### License\n\n```\n           DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE\n                   Version 2, December 2004\n\nCopyright (C) 2013 Andrea Giammarchi <spam@hater.me>\n\nEveryone is permitted to copy and distribute verbatim or modified\ncopies of this license document, and changing it is allowed as long\nas the name is changed.\n\n           DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE\n  TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n 0. You just DO WHAT THE FUCK YOU WANT TO.\n```","readmeFilename":"README.md","_id":"object-mixin@0.2.1","dist":{"shasum":"6d2f0e8e9bb7242e4442098d8f2f91704721c6b3","tarball":"https://registry.npmjs.org/object-mixin/-/object-mixin-0.2.1.tgz","integrity":"sha512-Ch42q10jnanKXMNljEluQRxEhi3XosOo1qLh5GFyUrsAaXzXlkPsoq9dcyO8YDneMlOo0YazhoiYLR7AIIQ+3g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDThCzYcOwDXdazlgvdoDcxy1+shnUo8L3o2nKL1lAPhgIhAKgqtqCYDP0RDMYXsXekifQsAgwbTkV1bAbrrCGeUwfb"}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"webreflection","email":"andrea.giammarchi@gmail.com"},"maintainers":[{"name":"webreflection","email":"andrea.giammarchi@gmail.com"}]}},"readme":"object-mixin\n============\n\n[![build status](https://secure.travis-ci.org/WebReflection/object-mixin.png)](http://travis-ci.org/WebReflection/object-mixin)\n\n","maintainers":[{"name":"webreflection","email":"andrea.giammarchi@gmail.com"}],"time":{"modified":"2022-06-22T16:47:33.751Z","created":"2013-04-14T09:06:53.991Z","0.1.0":"2013-04-14T09:06:55.607Z","0.1.1":"2013-04-14T19:32:19.704Z","0.2.1":"2013-04-16T16:50:04.798Z"},"author":{"name":"Andrea Giammarchi","url":"http://webreflection.blogspot.com/"},"repository":{"type":"git","url":"git://github.com/WebReflection/object-mixin.git"}}