{"_id":"coop","_rev":"42-22e33aa47cf4bf0ca9d602fc68ca1c94","name":"coop","description":"Co-operative multiple inheritance for JavaScript","dist-tags":{"latest":"0.4.0"},"versions":{"0.0.1":{"name":"coop","version":"0.0.1","description":"Co-operative multiple inheritance for JavaScript","main":"./index","repository":{"type":"git","url":"git://github.com/tehsenaus/coop-js.git"},"keywords":["class","inheritance","cooperative","co-operative","pythonic","python","javascript"],"author":{"name":"Sean Micklethwaite","url":"http://sdmworld.co.uk"},"license":"MIT/X11","_npmJsonOpts":{"file":"/Users/sen/.npm/coop/0.0.1/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"coop@0.0.1","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.15","_nodeVersion":"v0.4.2","_defaultsLoaded":true,"dist":{"shasum":"1354269e8e20c0ff5c450f26f60ae8550074eb0b","tarball":"https://registry.npmjs.org/coop/-/coop-0.0.1.tgz","integrity":"sha512-6GBNaYbEpbyx8qQvB2xd7dVyLJglDEYn2iv6HvoKWYw2L8In87JcsLCHxTR9qsUeGtXnFv8oIH/Sd3VU9llz+A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSd1WBatiaBuY0jj1N1gTOzlNwUFTXGhRSIlATApW2JAIgBDniv4lituE0uH8lpG6MnGyYl2PABHREWlOAesIwXLA="}]},"scripts":{},"maintainers":[{"name":"teh_senaus","email":"sean@sdmworld.co.uk"}],"directories":{}},"0.1.0":{"name":"coop","version":"0.1.0","description":"Co-operative multiple inheritance for JavaScript","main":"./index","repository":{"type":"git","url":"git://github.com/tehsenaus/coop-js.git"},"keywords":["class","inheritance","cooperative","co-operative","pythonic","python","javascript"],"author":{"name":"Sean Micklethwaite","url":"http://sdmworld.co.uk"},"license":"MIT/X11","_npmJsonOpts":{"file":"/Users/sen/.npm/coop/0.1.0/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"coop@0.1.0","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.15","_nodeVersion":"v0.4.2","_defaultsLoaded":true,"dist":{"shasum":"af0e50b81950e96acfa6b6cacbb1fc1845d93edf","tarball":"https://registry.npmjs.org/coop/-/coop-0.1.0.tgz","integrity":"sha512-vRR1SBt+uQXKwBHJSl43vph2nHJwtVyXuRU78If6OKK1Ab5STaa1FQQ5/ItNfSqlACEMqLS0HZ+H5E+ggKsMKA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCEGWHDoTMRCIwpgRSwmQ34GW24bPeRoPfmT2aZ7ZRHkgIhAOsNvOmxXSgRNo8x+4gR5A89meVa+4kNsnWTAEj6xqHg"}]},"scripts":{},"maintainers":[{"name":"teh_senaus","email":"sean@sdmworld.co.uk"}],"directories":{}},"0.1.1":{"name":"coop","version":"0.1.1","description":"Co-operative multiple inheritance for JavaScript","main":"./index","repository":{"type":"git","url":"git://github.com/tehsenaus/coop-js.git"},"keywords":["class","inheritance","cooperative","co-operative","pythonic","python","javascript"],"author":{"name":"Sean Micklethwaite","url":"http://sdmworld.co.uk"},"license":"MIT/X11","_npmJsonOpts":{"file":"/Users/sen/.npm/coop/0.1.1/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"coop@0.1.1","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.15","_nodeVersion":"v0.4.2","_defaultsLoaded":true,"dist":{"shasum":"49733753397a84d7fdc7a0649de0d222b7eb623c","tarball":"https://registry.npmjs.org/coop/-/coop-0.1.1.tgz","integrity":"sha512-dI9fOetZ9BmvHsMIRs9W7hukzhLfuqcvUDLEavhVekDZAW0e2KAXeqSvPjReRfD2xKWVtnDgrFaeW9jOmWPO0Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgiHAN1eINId/BsNJDBtd10DgNgGu2HuUSMilrw4/u+QIhAOol+nJHciaYxtuk3EJWlgXmOhzJs7dFy1wZyyfC9QBi"}]},"scripts":{},"maintainers":[{"name":"teh_senaus","email":"sean@sdmworld.co.uk"}],"directories":{}},"0.1.2":{"name":"coop","version":"0.1.2","description":"Co-operative multiple inheritance for JavaScript","main":"./index","repository":{"type":"git","url":"git://github.com/tehsenaus/coop-js.git"},"keywords":["class","inheritance","cooperative","co-operative","pythonic","python","javascript"],"author":{"name":"Sean Micklethwaite","url":"http://sdmworld.co.uk"},"license":"MIT/X11","_npmJsonOpts":{"file":"/Users/sen/.npm/coop/0.1.2/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"coop@0.1.2","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.15","_nodeVersion":"v0.4.2","_defaultsLoaded":true,"dist":{"shasum":"031a2d47dfb67cab7cdb57c54ec739eabcd6fe58","tarball":"https://registry.npmjs.org/coop/-/coop-0.1.2.tgz","integrity":"sha512-xoKGBhenh7/I/xvtHDDSGhvzC3pVdbnr/0tfNIbbfAfEfTn1jlYACpPpeBecaK+UHfUKNGgssHdM1aurprOb0w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFtxaoN5JOsW9g1YFlPnFbJyhlt9tblNfvjRPv6xiCepAiEA6xnAnqohvfUyAfpOlT9n1zf7GdAzgk6SIazdd4h4NHk="}]},"scripts":{},"maintainers":[{"name":"teh_senaus","email":"sean@sdmworld.co.uk"}],"directories":{}},"0.1.3":{"name":"coop","version":"0.1.3","description":"Co-operative multiple inheritance for JavaScript","main":"./index","repository":{"type":"git","url":"git://github.com/tehsenaus/coop-js.git"},"keywords":["class","inheritance","cooperative","co-operative","pythonic","python","javascript"],"author":{"name":"Sean Micklethwaite","url":"http://sdmworld.co.uk"},"license":"MIT/X11","_npmUser":{"name":"teh_senaus","email":"sean@sdmworld.co.uk"},"_id":"coop@0.1.3","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.1","_nodeVersion":"v0.6.11","_defaultsLoaded":true,"dist":{"shasum":"506cbfb168ae11690041ae246911065fb6b3d80f","tarball":"https://registry.npmjs.org/coop/-/coop-0.1.3.tgz","integrity":"sha512-0O2fAyOInWbL0sDlB8+vNFN2g0zlvck3S5R6C0g+bPY+0ieziJY6z0uo05amIFsq7PCFXABdxZuEICi+6SBA5w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEmfGxiMRrD+LjAYoBtXhOHUk6axSr8Ms9SNquKzUJEeAiBFngGyL7gJbWGXmJ1GYNHeCEL+xEmvm++z4fK2z+0eUg=="}]},"maintainers":[{"name":"teh_senaus","email":"sean@sdmworld.co.uk"}],"directories":{}},"0.1.4":{"name":"coop","version":"0.1.4","description":"Co-operative multiple inheritance for JavaScript","main":"./index","repository":{"type":"git","url":"git://github.com/tehsenaus/coop-js.git"},"keywords":["class","inheritance","cooperative","co-operative","pythonic","python","javascript"],"author":{"name":"Sean Micklethwaite","url":"http://sdmworld.co.uk"},"license":"MIT/X11","devDependencies":{"should":">=0.5.1"},"_npmUser":{"name":"teh_senaus","email":"sean@sdmworld.co.uk"},"_id":"coop@0.1.4","dependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.1","_nodeVersion":"v0.6.11","_defaultsLoaded":true,"dist":{"shasum":"1282c7d2f489c662f61e689d45de3c637b9211b9","tarball":"https://registry.npmjs.org/coop/-/coop-0.1.4.tgz","integrity":"sha512-nTfATxkLb8kgRrv+Bv5425lnw70DVV7X49yLmWZgKyXkMU35krcU558nHPltJej5dqs9RvS5i/qOM/QxCDYSYQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWxxPdqGyhwNLyXwRhj50ZXIGGVUomjKKxV4m2thSYPgIgDMQcq8HgC/NPzpXNG7svjWD1aE5Ok0xuGaLCQDavSuI="}]},"maintainers":[{"name":"teh_senaus","email":"sean@sdmworld.co.uk"}],"directories":{}},"0.1.5":{"name":"coop","version":"0.1.5","description":"Co-operative multiple inheritance for JavaScript","main":"./index","repository":{"type":"git","url":"git://github.com/tehsenaus/coop-js.git"},"keywords":["class","inheritance","cooperative","co-operative","pythonic","python","javascript"],"author":{"name":"Sean Micklethwaite","url":"http://sdmworld.co.uk"},"license":"MIT/X11","devDependencies":{"should":">=0.5.1"},"_npmUser":{"name":"teh_senaus","email":"sean@sdmworld.co.uk"},"_id":"coop@0.1.5","dependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.1","_nodeVersion":"v0.6.11","_defaultsLoaded":true,"dist":{"shasum":"f267362b9f1c9b6ba93621a5300ec855ce33a459","tarball":"https://registry.npmjs.org/coop/-/coop-0.1.5.tgz","integrity":"sha512-0wAFc0CeBWAIv+BpYARquc9r7MWJAm2JPzMCRWBXP/PzNjNapuH5t5u7+yCBff5x0VQ7vwiLksu/kixFYT9VJw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDh9ox6ABgR8yVOYYeqXoqbhYRDpw+Qw+5jtxDqLHPD2QIgPBn6tWOG8Adf+km8Dpc1VOB0v0brev8U621MduEgBUA="}]},"maintainers":[{"name":"teh_senaus","email":"sean@sdmworld.co.uk"}],"directories":{}},"0.1.6":{"name":"coop","version":"0.1.6","description":"Co-operative multiple inheritance for JavaScript","main":"./index","repository":{"type":"git","url":"git://github.com/tehsenaus/coop-js.git"},"keywords":["class","inheritance","cooperative","co-operative","pythonic","python","javascript"],"author":{"name":"Sean Micklethwaite","url":"http://sdmworld.co.uk"},"license":"MIT/X11","devDependencies":{"should":">=0.5.1"},"_id":"coop@0.1.6","dist":{"shasum":"e76c203b914bec516797bf65804ea778c6554049","tarball":"https://registry.npmjs.org/coop/-/coop-0.1.6.tgz","integrity":"sha512-cq98WzXRuEYSEaN/NL05+yzWSgXbK0DHv/sdARJcN+vm3/zHZSwwzW1/l1286XgZsyEUafLjIfWAhX+tUiVJOQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQClGb5mqF7tXvZb4DGR7QRFgXMv4SkrNsOJJvvWd69bWQIgZnEQ8f+cFMwmAz0PkiQszAd70+bQv6Z9l+jwVzXkyD4="}]},"maintainers":[{"name":"teh_senaus","email":"sean@sdmworld.co.uk"}],"directories":{}},"0.2.1":{"name":"coop","version":"0.2.1","description":"Co-operative multiple inheritance for JavaScript","main":"./index","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git://github.com/tehsenaus/coop-js.git"},"keywords":["class","inheritance","cooperative","co-operative","pythonic","python","javascript"],"author":{"name":"Sean Micklethwaite","url":"http://sdmworld.co.uk"},"license":"MIT/X11","devDependencies":{"should":">=0.5.1","mocha":">=1.0.0","bower-amd-dist":"~0.2.1","grunt":"~0.4.1","grunt-contrib-uglify":"~0.2.2"},"dependencies":{"amdefine":"0.0.8"},"bugs":{"url":"https://github.com/tehsenaus/coop-js/issues"},"_id":"coop@0.2.1","dist":{"shasum":"de83fb12bd7ed8a4a6addb0a853491b20d031bb1","tarball":"https://registry.npmjs.org/coop/-/coop-0.2.1.tgz","integrity":"sha512-qgaaD1Tj3HyaiFSa5vxtUGhJ/EOdO0zXCasweZNxuqcDO8QE+au8L1QfT7nMSvhOA8PwjLSG5uQ/8+Lif/B1wg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGlEWGDZ3K1QODabftNFbm8bItHTtNBBC5dQC5h+0OeGAiAeVpTlagv2sAoTV5a207w3QwHigV8pNpmYSnaALoWiIA=="}]},"_from":".","_npmVersion":"1.3.10-bh","_npmUser":{"name":"teh_senaus","email":"sean@sdmworld.co.uk"},"maintainers":[{"name":"teh_senaus","email":"sean@sdmworld.co.uk"}],"directories":{}},"0.2.2":{"name":"coop","version":"0.2.2","description":"Co-operative multiple inheritance for JavaScript","main":"./index","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git://github.com/tehsenaus/coop-js.git"},"keywords":["class","inheritance","cooperative","co-operative","pythonic","python","javascript"],"author":{"name":"Sean Micklethwaite","url":"http://sdmworld.co.uk"},"license":"MIT/X11","devDependencies":{"should":">=0.5.1","mocha":">=1.0.0","bower-amd-dist":"~0.2.2","grunt":"~0.4.1","grunt-contrib-uglify":"~0.2.2"},"dependencies":{"amdefine":"0.0.8"},"bugs":{"url":"https://github.com/tehsenaus/coop-js/issues"},"_id":"coop@0.2.2","dist":{"shasum":"f03996d617239f1b2efb376fe2966744a26142d6","tarball":"https://registry.npmjs.org/coop/-/coop-0.2.2.tgz","integrity":"sha512-rSKReI6rxZDQwPx3m1xm6fJa3KxkrxSYw+1w7Dsw1SALjQv/Bm7fsexBtR7M0yo4NeBeYSEHLL+w1AZvcJz1gw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMtSbZFhaB9cwJhJcyw5/iUa8MIRtueEEseLb9S4LH3AIgIHBGEEkKhG5Ht89xzVAws2cZ8Iz/PREj8+P9wZgvjaI="}]},"_from":".","_npmVersion":"1.3.10-bh","_npmUser":{"name":"teh_senaus","email":"sean@sdmworld.co.uk"},"maintainers":[{"name":"teh_senaus","email":"sean@sdmworld.co.uk"}]},"0.3.0":{"name":"coop","version":"0.3.0","description":"Co-operative multiple inheritance for JavaScript","main":"./index","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git://github.com/tehsenaus/coop-js.git"},"keywords":["class","inheritance","cooperative","co-operative","pythonic","python","javascript"],"author":{"name":"Sean Micklethwaite","url":"http://sdmworld.co.uk"},"license":"MIT/X11","devDependencies":{"should":">=0.5.1","mocha":">=1.0.0","bower-amd-dist":"~0.3.0","grunt":"~0.4.1","grunt-contrib-uglify":"~0.2.2"},"dependencies":{"amdefine":"0.0.8"},"bugs":{"url":"https://github.com/tehsenaus/coop-js/issues"},"_id":"coop@0.3.0","dist":{"shasum":"9dd61efd069eba484c0212ea6e7ee93363813863","tarball":"https://registry.npmjs.org/coop/-/coop-0.3.0.tgz","integrity":"sha512-3ejVSYJD3W5Eodg6U0W5sHJHQTrhuyYaty1gRgIs1Jdl/NuIv3NBbI/CCrNfWraa6toFPnxfoxvaqTEVecJv0Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDXJOtXZt9TLABl0r+5Z9KtmjI2HqgmgrStJoWIWaSA8wIgYbOr783wqR9EeIOSmRqefDcUOH1l8+mWLItvZBgiGbQ="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"teh_senaus","email":"sean@sdmworld.co.uk"},"maintainers":[{"name":"teh_senaus","email":"sean@sdmworld.co.uk"}]},"0.4.0":{"name":"coop","version":"0.4.0","description":"Co-operative multiple inheritance for JavaScript","main":"./index","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git://github.com/tehsenaus/coop-js.git"},"keywords":["class","inheritance","cooperative","co-operative","pythonic","python","javascript"],"author":{"name":"Sean Micklethwaite","url":"http://sdmworld.co.uk"},"license":"MIT/X11","devDependencies":{"should":">=0.5.1","mocha":">=1.0.0","bower-amd-dist":"~0.3.0","grunt":"~0.4.1","grunt-contrib-uglify":"~0.2.2"},"dependencies":{"amdefine":"0.0.8"},"bugs":{"url":"https://github.com/tehsenaus/coop-js/issues"},"_id":"coop@0.4.0","dist":{"shasum":"07bdc23a8b9195c8debefd503d04446c2be8d03d","tarball":"https://registry.npmjs.org/coop/-/coop-0.4.0.tgz","integrity":"sha512-/FLCOf4WZ65uIexNoSot01gg7iaHHtlXBJbXp8JAukbEGZUpDljNOQQ1wKUJhrsUmzoqf5snnq6sxFl1vtB9/Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIByNV7iHykaMc0iExA7UbjY5jpgnLWj/IIbU0rs6cts4AiBSHPUPZwlQcDWT2sZ8Bqv31TUDyeFXLO9Gb+DsVtv4FQ=="}]},"_from":".","_npmVersion":"1.3.10-bh","_npmUser":{"name":"teh_senaus","email":"sean@sdmworld.co.uk"},"maintainers":[{"name":"teh_senaus","email":"sean@sdmworld.co.uk"}]}},"maintainers":[{"name":"teh_senaus","email":"sean@sdmworld.co.uk"}],"time":{"modified":"2022-06-13T23:10:39.694Z","created":"2011-08-10T15:48:46.950Z","0.0.1":"2011-08-10T15:48:47.817Z","0.1.0":"2011-09-04T19:46:18.557Z","0.1.1":"2011-09-30T19:22:37.569Z","0.1.2":"2011-10-01T16:55:49.114Z","0.1.3":"2012-02-25T01:20:03.586Z","0.1.4":"2012-03-01T00:10:27.475Z","0.1.5":"2012-03-03T13:40:03.068Z","0.1.6":"2012-08-22T07:42:37.679Z","0.2.1":"2013-09-17T14:01:12.504Z","0.2.2":"2013-10-29T10:22:24.462Z","0.3.0":"2013-12-11T23:12:06.093Z","0.4.0":"2014-06-16T11:27:49.077Z"},"author":{"name":"Sean Micklethwaite","url":"http://sdmworld.co.uk"},"repository":{"type":"git","url":"git://github.com/tehsenaus/coop-js.git"},"readme":"Co-Op provides Pythonic cooperative multiple inheritance to Javascript and Node.js.\r\n\r\n[![Build Status](https://travis-ci.org/tehsenaus/coop-js.png)](https://travis-ci.org/tehsenaus/coop-js)\r\n\r\nInstallation\r\n===========\r\n\r\n```\r\nnpm install coop\r\n```\r\n\r\nUsage\r\n=====\r\nCreating a class is similar to Mootools:\r\n\r\n```javascript\r\nvar Class = require('coop').Class;\r\nvar MyClass = new Class({\r\n  initialize: function(me) {\r\n    this.me = me;\r\n  }\r\n});\r\n```\r\n\r\nInheritance\r\n-----------\r\n\r\n...is a little different from Mootools. But orders of magnitude more powerful.\r\n\r\n```javascript\r\nvar MySubClass = new Class([MyClass, MyOtherClass], {\r\n  initialize: function (me) {\r\n    this.super_initialize(MySubClass, arguments);\r\n  }\r\n})\r\n```\r\n\r\n\r\nMetaclasses\r\n-----------\r\n\r\nMake your own subclass of Class, and override __new__, just like you do in Python:\r\n\r\n```javascript\r\nvar MyMetaClass = new Class([Class], {\r\n  __new__: function (klass) {\r\n    var instance = this.super___new__(MyMetaClass, arguments);\r\n\r\n    registerMyClass( instance );\r\n\r\n    return instance;\r\n  }\r\n})\r\n\r\nvar MyClass = new MyMetaClass({\r\n  initialize: function () { /* ... */ }\r\n})\r\n\r\n```\r\n","keywords":["class","inheritance","cooperative","co-operative","pythonic","python","javascript"],"bugs":{"url":"https://github.com/tehsenaus/coop-js/issues"},"license":"MIT/X11","readmeFilename":"README.md"}