{"_id":"ampersand-class-extend","_rev":"30-1907076d99fa463b0371d00e3cb93ea7","name":"ampersand-class-extend","description":"JS class extension tool for enabling easily extending prototype with multiple objects.","dist-tags":{"latest":"2.0.0"},"versions":{"0.1.1":{"name":"ampersand-class-extend","version":"0.1.1","description":"JS class extension tool for enabling easily extending prototype with multiple objects.","main":"ampersand-class-extend.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-class-extend"},"keywords":["ampersand","inheritance","class"],"author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"license":"MIT","bugs":{"url":"https://github.com/ampersandjs/ampersand-class-extend/issues"},"homepage":"https://github.com/ampersandjs/ampersand-class-extend","dependencies":{"extend-object":"0.x.x"},"_id":"ampersand-class-extend@0.1.1","dist":{"shasum":"5f4079177e29b9c842dc11484d810f28c1f01ac3","tarball":"https://registry.npmjs.org/ampersand-class-extend/-/ampersand-class-extend-0.1.1.tgz","integrity":"sha512-FMDJWw48tkV8TuedZhMggaiKVOKWw26n7++MTRoKEdwK3U4FpIH2O7noBR+NlowDLgl2X3zFMnA7FYkVkiYxDg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbIDI2p6OwKm87MMO7/iMnnIEmdFbcHr1IYgrUV838vwIgQhpLwC20VFEKZG1M53BI3o0gYmklJNa7aD4p5fSvzm4="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"henrikjoreteg","email":"henrik@andyet.net"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"}],"directories":{}},"0.1.2":{"name":"ampersand-class-extend","description":"JS class extension tool for enabling easily extending prototype with multiple objects.","version":"0.1.2","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-class-extend/issues"},"dependencies":{"extend-object":"0.x.x","tape":"~2.11.0"},"homepage":"https://github.com/ampersandjs/ampersand-class-extend","keywords":["ampersand","inheritance","class"],"license":"MIT","main":"ampersand-class-extend.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-class-extend"},"scripts":{"test":"node test/main.js"},"testling":{"files":"test/*.js","browsers":["ie/6..latest","chrome/22..latest","firefox/16..latest","safari/5.1..latest","opera/11.0..latest","iphone/6..latest","ipad/6..latest","android-browser/latest"]},"_id":"ampersand-class-extend@0.1.2","dist":{"shasum":"c2f08bf79159ef209a4b1285644ed1d55bf1dba8","tarball":"https://registry.npmjs.org/ampersand-class-extend/-/ampersand-class-extend-0.1.2.tgz","integrity":"sha512-OWFkiKtoVuOOwZzcUADP1vN05jdJfnOuA1RTbf590gq2pV6YuwojJ/99Dc8pKVxWwfNyKdm1PBsfBtC6xx3B3w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC3RTUHdsJbiaIQo834eXRdDB0SACsfGuaG2MwCmfXIaAiBAsUpQOaWO5H0C6hGzcYRi6hB9TNam/LnkN8SiUBfyeQ=="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"henrikjoreteg","email":"henrik@andyet.net"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"}],"directories":{}},"0.1.3":{"name":"ampersand-class-extend","description":"JS class extension tool for enabling easily extending prototype with multiple objects.","version":"0.1.3","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-class-extend/issues"},"dependencies":{"extend-object":"0.x.x","tape":"~2.11.0"},"homepage":"https://github.com/ampersandjs/ampersand-class-extend","keywords":["ampersand","inheritance","class"],"license":"MIT","main":"ampersand-class-extend.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-class-extend"},"scripts":{"test":"node test/main.js"},"testling":{"files":"test/*.js","browsers":["ie/9..latest","chrome/22..latest","firefox/16..latest","safari/5.1..latest","opera/11.0..latest","iphone/6..latest","ipad/6..latest","android-browser/latest"]},"_id":"ampersand-class-extend@0.1.3","dist":{"shasum":"7935cabb30ef0169414f20ec78ecbcf8417b811c","tarball":"https://registry.npmjs.org/ampersand-class-extend/-/ampersand-class-extend-0.1.3.tgz","integrity":"sha512-iHTy4LO/INSwIaRaIUmaUKNpg0wTWf5FQTCNCMamWPDPFeq/zY5eF6fd9+kl7jvQjXKuYCjA4nydN82jYPHo8A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC7XxWsP3EZ2SEh7CIKV0UWUV/gpUqoAXMhkxpMxZSNHQIgNGzBO1Bmc45Jfo3sEgijDgpdcZEcXQZZeew6VvhoWxo="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"henrikjoreteg","email":"henrik@andyet.net"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"}],"directories":{}},"0.1.4":{"name":"ampersand-class-extend","description":"JS class extension tool for enabling easily extending prototype with multiple objects.","version":"0.1.4","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-class-extend/issues"},"dependencies":{"extend-object":"0.x.x"},"devDependencies":{"tape":"~2.11.0"},"homepage":"https://github.com/ampersandjs/ampersand-class-extend","keywords":["ampersand","inheritance","class"],"license":"MIT","main":"ampersand-class-extend.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-class-extend"},"scripts":{"test":"node test/main.js"},"testling":{"files":"test/*.js","browsers":["ie/9..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"_id":"ampersand-class-extend@0.1.4","dist":{"shasum":"5e5a782f28f971c26a1011ab94df798df64ccc9b","tarball":"https://registry.npmjs.org/ampersand-class-extend/-/ampersand-class-extend-0.1.4.tgz","integrity":"sha512-qKlmew4sUY33Dftd9vwEPOrhytVdSqW652z8qXtQ6gLlRxGuyG6wR8zUmqtyQgVm8XrOehT+t9gNinKKAZdMLQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxXbr2RZBveWgWTmRb/hklqYhEMi+ds0F7RTjJ8gt2FgIgWMJVoZLvmUayzwrxb0nP0Y1rPlOtr2iOUmFxKkD/ktU="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"henrikjoreteg","email":"henrik@andyet.net"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"}],"directories":{}},"1.0.0":{"name":"ampersand-class-extend","description":"JS class extension tool for enabling easily extending prototype with multiple objects.","version":"1.0.0","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-class-extend/issues"},"dependencies":{"extend-object":"^1.0.0"},"devDependencies":{"tape":"~2.12.3"},"homepage":"https://github.com/ampersandjs/ampersand-class-extend","keywords":["ampersand","inheritance","class"],"license":"MIT","main":"ampersand-class-extend.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-class-extend"},"scripts":{"test":"node test/main.js"},"testling":{"files":"test/*.js","browsers":["ie/9..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"_id":"ampersand-class-extend@1.0.0","dist":{"shasum":"356b92868dcbd3197c5ea2d30c19435f35d8ccae","tarball":"https://registry.npmjs.org/ampersand-class-extend/-/ampersand-class-extend-1.0.0.tgz","integrity":"sha512-VDQL/ItIQVItsiqZxVjlyIwl4iwKiUD3TjPafyXCsclQKUz57jf4L+aMaHdacWvzs72GTDHawHIwaBQiXMZLcg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBpPTHn3ilShK8JtoAY8nM//sDpVuj9rAE9lpt/xWoXQIhALx4KyPo8+JdpPmeCF/ypfuF37DbMVokF519uHnfj+Rw"}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"henrikjoreteg","email":"henrik@andyet.net"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"}],"directories":{}},"1.0.1":{"name":"ampersand-class-extend","description":"JS class extension tool for enabling easily extending prototype with multiple objects.","version":"1.0.1","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-class-extend/issues"},"dependencies":{"extend-object":"^1.0.0"},"devDependencies":{"browserify":"^5.11.0","phantomjs":"^1.9.7-15","run-browser":"^1.3.1","tap-spec":"^0.2.1","tape":"~2.12.3","tape-run":"^0.3.0"},"homepage":"https://github.com/ampersandjs/ampersand-class-extend","keywords":["ampersand","inheritance","class"],"license":"MIT","main":"ampersand-class-extend.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-class-extend"},"scripts":{"start":"run-browser test/main.js","test":"browserify test/main.js | tape-run | tap-spec"},"testling":{"files":"test/*.js","browsers":["ie/9..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"60b8cc12a3a386a7fb265e39956fba6be0941c21","_id":"ampersand-class-extend@1.0.1","_shasum":"ec49744ee44fe30608b0e9154ce57fefe481fb62","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"gar","email":"gar@comrade.us"},{"name":"lukekarrys","email":"luke@lukekarrys.com"}],"dist":{"shasum":"ec49744ee44fe30608b0e9154ce57fefe481fb62","tarball":"https://registry.npmjs.org/ampersand-class-extend/-/ampersand-class-extend-1.0.1.tgz","integrity":"sha512-AKq5QEYkqTjsDBJ6/6WZ+FqMIfeDdIGleKNgmYZNZhU3IShSxX42BgJL11F/XtDlL4LZEq40blEmnEs5TqI9Ag==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCaehd74akQ1sXPrgn73cMxTLctD7WIfahUK90UJo3bfQIhAJp/Bp2baXShtJdxW/8WuDO/2E8NUN1JerMV2znjyfKX"}]},"directories":{}},"1.0.2":{"name":"ampersand-class-extend","description":"JS class extension tool for enabling easily extending prototype with multiple objects.","version":"1.0.2","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"files":["ampersand-class-extend.js","NOTICE.md"],"bugs":{"url":"https://github.com/ampersandjs/ampersand-class-extend/issues"},"dependencies":{"lodash.assign":"^3.0.0"},"devDependencies":{"browserify":"^5.11.0","phantomjs":"^1.9.7-15","run-browser":"^1.3.1","tap-spec":"^0.2.1","tape":"~2.12.3","tape-run":"^0.3.0"},"homepage":"https://github.com/ampersandjs/ampersand-class-extend","keywords":["ampersand","inheritance","class"],"license":"MIT","main":"ampersand-class-extend.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-class-extend"},"scripts":{"start":"run-browser test/main.js","test":"browserify test/main.js | tape-run | tap-spec"},"testling":{"files":"test/*.js","browsers":["ie/9..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"1a39e03fd1ee6227a3170ee438f76b887c2d1645","_id":"ampersand-class-extend@1.0.2","_shasum":"8e3ab125d09bf7be943b50e98cce46ff517cbe91","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.10.35","_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"gar","email":"gar@comrade.us"},{"name":"lukekarrys","email":"luke@lukekarrys.com"}],"dist":{"shasum":"8e3ab125d09bf7be943b50e98cce46ff517cbe91","tarball":"https://registry.npmjs.org/ampersand-class-extend/-/ampersand-class-extend-1.0.2.tgz","integrity":"sha512-Xq6sAtvxkjuxojl5VuYxypJBUoXQO0XQC7MdziYEa9ffpWT79psMBlFWMZie8sjt6AbZs8f/WcKWsreeG6MYlA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDUQxpXoQ/9Llh0sjdDXD/WXKiKRaeV3VisQYpxtPgrgwIhAMa3vfj9utGbSUqp547GsDU2DyizuGN0Wqhj1IQ0Qs8A"}]},"directories":{}},"2.0.0":{"name":"ampersand-class-extend","description":"JS class extension tool for enabling easily extending prototype with multiple objects.","version":"2.0.0","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"files":["ampersand-class-extend.js","NOTICE.md"],"bugs":{"url":"https://github.com/ampersandjs/ampersand-class-extend/issues"},"dependencies":{"lodash":"^4.11.1"},"homepage":"https://github.com/ampersandjs/ampersand-class-extend","keywords":["ampersand","inheritance","class"],"license":"MIT","main":"ampersand-class-extend.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-class-extend.git"},"scripts":{"start":"zuul --local -- test/main.js","test":"zuul --phantom -- test/main.js","test-ci":"zuul -- test/main.js"},"devDependencies":{"phantomjs":"^2.1.7","tape":"^4.4.0","zuul":"^3.9.0"},"gitHead":"7c58b7fa6243c2fd02f23400f129b7bff7f09f97","_id":"ampersand-class-extend@2.0.0","_shasum":"52895ffa59217634a6188fd184b1048f5d808aff","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.9.1","_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"dist":{"shasum":"52895ffa59217634a6188fd184b1048f5d808aff","tarball":"https://registry.npmjs.org/ampersand-class-extend/-/ampersand-class-extend-2.0.0.tgz","integrity":"sha512-i8hQvA4vZz9UfQAi0A4oBASYOZzlYgjFVkw0K1xpeKNSvq+KYkFOqJKkNvHCbbuKUNJnFk3kECSKPDAJ6ocEOg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD153ggXka1PyRUnYlEX3lWIQ5L4c2YGW/4na1Tl2pz/AIgbFiaBgykhlfYtIc3ElnjeQKGIJ0bzNHi7Y6FronbZeg="}]},"maintainers":[{"name":"fyockm","email":"fyockm@gmail.com"},{"name":"gar","email":"gar+npm@danger.computer"},{"name":"henrikjoreteg","email":"henrik@joreteg.com"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"},{"name":"pgilad","email":"giladp007@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ampersand-class-extend-2.0.0.tgz_1464206568813_0.864593637175858"},"directories":{}}},"readme":"# ampersand-class-extend\n\nHelper function for setting up prototype chains for subclasses.\n\nLargely copied out of Backbone, but modified to enable extending a prototype with multiple mixins at once.\n\n## install\n\n```\nnpm install ampersand-class-extend\n```\n\n## usage\n\n\nYour base object module might look something like this:\n\n```javascript\nvar extend = require('ampersand-class-extend');\n\n\n// your base object\nfunction YourConstructor() {}\n\n// simply attach it directly to the object constructor\nYourConstructor.extend = extend;\n\n// export it\nmodule.exports = YourConstructor;\n\n```\n\nThen in a file using said constructor:\n\n```javascript\nvar YourConstructor = require('./your-constructor');\nvar mixinMethods = require('some-other-methods');\nvar otherMixinMethods = require('even-more-methods');\n\n\n// Nowe we add some more stuff and export a modified constructor \n// (we can pass in as many other objects containing methods as we want).\nmodule.exports = YourConstructor.extend(mixinMethods, otherMixinMethods, {\n    yetAnotherMethod: function () {\n        // do something\n    }\n});\n```\n\nNow, when creating instances of the subclass, they'll have all the mixins while still passing `instanceof` checks for both the parent and the subclass.\n\n## credit\n\nMost of the credit goes to Jeremy Ashkenas and the other authors of Backbone.js.\n\nModified to be standalone Common JS and to allow you to pass multiple extend objects by [@HenrikJoreteg](http://twitter.com/henrikjoreteg).\n\n\n## license\n\nMIT\n","maintainers":[{"email":"daniel.hritzkiv@gmail.com","name":"dhritzkiv"},{"email":"giladp007@gmail.com","name":"pgilad"},{"email":"fyockm@gmail.com","name":"fyockm"},{"email":"phil@latentflip.com","name":"latentflip"},{"email":"henrik@joreteg.com","name":"henrikjoreteg"}],"time":{"modified":"2022-06-13T02:45:58.531Z","created":"2014-03-17T02:52:27.214Z","0.1.1":"2014-03-17T02:52:27.214Z","0.1.2":"2014-03-22T18:58:57.712Z","0.1.3":"2014-03-22T19:01:22.074Z","0.1.4":"2014-03-31T04:46:35.047Z","1.0.0":"2014-04-10T04:28:31.045Z","1.0.1":"2014-09-04T21:26:42.603Z","1.0.2":"2015-03-31T21:10:37.872Z","2.0.0":"2016-05-25T20:02:49.364Z"},"homepage":"https://github.com/ampersandjs/ampersand-class-extend","keywords":["ampersand","inheritance","class"],"repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-class-extend.git"},"author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-class-extend/issues"},"license":"MIT","readmeFilename":"README.md","users":{"ziflex":true}}