{"_id":"pjs","_rev":"4597193","name":"pjs","description":"A lightweight class system.  It's just prototypes!","dist-tags":{"latest":"5.1.2"},"maintainers":[{"name":"jneen","email":""}],"time":{"modified":"2026-04-10T17:09:27.000Z","created":"2012-01-03T17:45:39.238Z","5.1.2":"2018-09-12T15:43:03.698Z","5.1.1":"2014-06-30T20:10:47.691Z","5.1.0":"2014-03-10T05:28:48.279Z","5.0.0":"2013-10-28T05:14:47.735Z","4.0.0":"2013-06-13T17:45:16.132Z","3.1.0":"2013-06-13T17:28:01.104Z","3.0.2":"2013-04-04T21:11:23.230Z","3.0.0":"2013-01-18T19:45:23.148Z","2.0.2":"2013-01-17T19:27:33.840Z","2.0.1":"2012-12-20T03:47:44.616Z","2.0.0":"2012-07-15T00:29:00.892Z","1.1.1":"2012-07-14T15:11:05.447Z","1.1.0":"2012-07-14T15:09:39.041Z","1.0.1":"2012-05-12T00:31:07.654Z","1.0.0":"2012-04-04T03:06:16.440Z","0.2.0":"2012-02-12T01:14:41.598Z","0.1.3":"2012-01-29T19:41:24.372Z","0.1.2":"2012-01-08T18:34:57.587Z","0.1.1":"2012-01-05T19:14:13.051Z","0.1.0":"2012-01-05T06:24:35.104Z","0.0.3":"2012-01-03T17:57:12.689Z","0.0.2":"2012-01-03T17:45:39.238Z"},"users":{},"author":{"name":"Jeanine Adkisson","email":"jneen at jneen dot net"},"repository":{"type":"git","url":"git://github.com/jneen/pjs.git"},"versions":{"5.1.2":{"name":"pjs","version":"5.1.2","description":"A lightweight class system.  It's just prototypes!","keywords":["class","pjs","P","inheritance","super"],"author":{"name":"Jeanine Adkisson","email":"jneen at jneen dot net"},"repository":{"type":"git","url":"git://github.com/jneen/pjs.git"},"license":"MIT","main":"index.js","devDependencies":{"mocha":"*","uglify-js":"*"},"scripts":{"test":"make test"},"_resolved":"","_integrity":"","_from":"file:pjs-5.1.2.tgz","bugs":{"url":"https://github.com/jneen/pjs/issues"},"homepage":"https://github.com/jneen/pjs#readme","_id":"pjs@5.1.2","_npmVersion":"6.4.1","_nodeVersion":"10.5.0","_npmUser":{"name":"jayferd","email":"jjmadkisson@gmail.com"},"dist":{"shasum":"856be7e0f3276604a055c52479ec7437c8a9255f","size":7540,"noattachment":false,"key":"/pjs/-/pjs-5.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/pjs/download/pjs-5.1.2.tgz"},"maintainers":[{"name":"jneen","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pjs_5.1.2_1536766983518_0.8275742709147358"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-20T02:43:18.298Z","publish_time":1536766983698,"_cnpm_publish_time":1536766983698},"5.1.1":{"name":"pjs","version":"5.1.1","description":"A lightweight class system.  It's just prototypes!","keywords":["class","pjs","P","inheritance","super"],"author":{"name":"Jeanine Adkisson","email":"jneen at jneen dot net"},"repository":{"type":"git","url":"git://github.com/jneen/pjs"},"files":["index.js","src","test","Makefile","package.json","README.md","CHANGELOG.md","build/p.commonjs.js"],"main":"index.js","devDependencies":{"mocha":"*","uglify-js":"*"},"scripts":{"test":"make test"},"bugs":{"url":"https://github.com/jneen/pjs/issues"},"homepage":"https://github.com/jneen/pjs","_id":"pjs@5.1.1","_shasum":"9dfc4673bb01deffd6915fb1dec75827aba42abf","_resolved":"pjs-5.1.1.tgz","_from":"pjs-5.1.1.tgz","_npmVersion":"1.4.14","_npmUser":{"name":"jayferd","email":"jjmadkisson@gmail.com"},"maintainers":[{"name":"jneen","email":""}],"dist":{"shasum":"9dfc4673bb01deffd6915fb1dec75827aba42abf","size":6857,"noattachment":false,"key":"/pjs/-/pjs-5.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/pjs/download/pjs-5.1.1.tgz"},"directories":{},"_cnpmcore_publish_time":"2021-12-20T02:43:18.193Z","publish_time":1404159047691,"_cnpm_publish_time":1404159047691},"5.1.0":{"name":"pjs","version":"5.1.0","description":"A lightweight class system.  It's just prototypes!","keywords":["class","pjs","P","inheritance","super"],"author":{"name":"Jay Adkisson","email":"jjmadkisson at gmail dot com"},"repository":{"type":"git","url":"git://github.com/jayferd/pjs"},"files":["index.js","src","test","Makefile","package.json","README.md","CHANGELOG.md","build/p.commonjs.js"],"main":"index.js","devDependencies":{"mocha":"*","uglify-js":"*"},"scripts":{"prepublish":"make commonjs","test":"make test"},"bugs":{"url":"https://github.com/jayferd/pjs/issues"},"homepage":"https://github.com/jayferd/pjs","_id":"pjs@5.1.0","dist":{"shasum":"2590774a393921aba64bbb4076a2960275dd3717","size":6832,"noattachment":false,"key":"/pjs/-/pjs-5.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/pjs/download/pjs-5.1.0.tgz"},"_resolved":"pjs-5.1.0.tgz","_from":"pjs-5.1.0.tgz","_npmVersion":"1.4.3","_npmUser":{"name":"jayferd","email":"jjmadkisson@gmail.com"},"maintainers":[{"name":"jneen","email":""}],"directories":{},"_cnpmcore_publish_time":"2021-12-20T02:43:18.101Z","publish_time":1394429328279,"_cnpm_publish_time":1394429328279},"5.0.0":{"name":"pjs","version":"5.0.0","description":"A lightweight class system.  It's just prototypes!","keywords":["class","pjs","P","inheritance","super"],"author":{"name":"Jay Adkisson","email":"jjmadkisson at gmail dot com"},"repository":{"type":"git","url":"git://github.com/jayferd/pjs"},"files":["index.js","src","test","Makefile","package.json","README.md","CHANGELOG.md"],"main":"index.js","devDependencies":{"mocha":"*","uglify-js":"*"},"scripts":{"install":"make commonjs","test":"make test"},"bugs":{"url":"https://github.com/jayferd/pjs/issues"},"_id":"pjs@5.0.0","dist":{"shasum":"02aa824093d2c58d23e0ac76275642d369096ba0","size":6876,"noattachment":false,"key":"/pjs/-/pjs-5.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/pjs/download/pjs-5.0.0.tgz"},"_resolved":"pjs-5.0.0.tgz","_from":"pjs-5.0.0.tgz","_npmVersion":"1.2.25","_npmUser":{"name":"jayferd","email":"jjmadkisson@gmail.com"},"maintainers":[{"name":"jneen","email":""}],"directories":{},"_cnpmcore_publish_time":"2021-12-20T02:43:17.226Z","hasInstallScript":true,"publish_time":1382937287735,"_cnpm_publish_time":1382937287735},"4.0.0":{"name":"pjs","version":"4.0.0","description":"A lightweight class system.  It's just prototypes!","keywords":["class","pjs","P","inheritance","super"],"author":{"name":"Jay Adkisson","email":"jjmadkisson at gmail dot com"},"repository":{"type":"git","url":"git://github.com/jayferd/pjs"},"files":["index.js","src","test","Makefile","package.json","README.md","CHANGELOG.md"],"main":"index.js","devDependencies":{"mocha":"*","uglify-js":"*"},"scripts":{"install":"make commonjs","test":"make test"},"bugs":{"url":"https://github.com/jayferd/pjs/issues"},"_id":"pjs@4.0.0","dist":{"shasum":"68ca7d99ed33d4a652b8b7b43f996f391ef511f9","size":6406,"noattachment":false,"key":"/pjs/-/pjs-4.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/pjs/download/pjs-4.0.0.tgz"},"_resolved":"pjs-4.0.0.tgz","_from":"pjs-4.0.0.tgz","_npmVersion":"1.2.25","_npmUser":{"name":"jayferd","email":"jjmadkisson@gmail.com"},"maintainers":[{"name":"jneen","email":""}],"directories":{},"_cnpmcore_publish_time":"2021-12-20T02:43:16.298Z","hasInstallScript":true,"publish_time":1371145516132,"_cnpm_publish_time":1371145516132},"3.1.0":{"name":"pjs","version":"3.1.0","description":"A lightweight class system.  It's just prototypes!","keywords":["class","pjs","P","inheritance","super"],"author":{"name":"Jay Adkisson","email":"jjmadkisson at gmail dot com"},"repository":{"type":"git","url":"git://github.com/jayferd/pjs"},"files":["index.js","src","test","Makefile","package.json","README.md","CHANGELOG.md"],"main":"index.js","devDependencies":{"mocha":"*","uglify-js":"*"},"scripts":{"install":"make commonjs","test":"make test"},"bugs":{"url":"https://github.com/jayferd/pjs/issues"},"_id":"pjs@3.1.0","dist":{"shasum":"c65f505e34e386ef0e3b5ea8d42049c4173b599a","size":6466,"noattachment":false,"key":"/pjs/-/pjs-3.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/pjs/download/pjs-3.1.0.tgz"},"_resolved":"pjs-3.1.0.tgz","_from":"pjs-3.1.0.tgz","_npmVersion":"1.2.23","_npmUser":{"name":"jayferd","email":"jjmadkisson@gmail.com"},"maintainers":[{"name":"jneen","email":""}],"directories":{},"_cnpmcore_publish_time":"2021-12-20T02:43:15.430Z","hasInstallScript":true,"publish_time":1371144481104,"_cnpm_publish_time":1371144481104},"3.0.2":{"name":"pjs","version":"3.0.2","description":"A lightweight class system.  It's just prototypes!","keywords":["class","pjs","P","inheritance","super"],"author":{"name":"Jay Adkisson","email":"jjmadkisson at gmail dot com"},"repository":{"type":"git","url":"git://github.com/jayferd/pjs"},"files":["index.js","src","test","Makefile","package.json","README.md","CHANGELOG.md"],"main":"index.js","devDependencies":{"mocha":"*","uglify-js":"*"},"scripts":{"install":"make commonjs","test":"make test"},"_id":"pjs@3.0.2","dist":{"shasum":"dffea6bbde1b1f00348539cf4be014f81c661288","size":6415,"noattachment":false,"key":"/pjs/-/pjs-3.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/pjs/download/pjs-3.0.2.tgz"},"_resolved":"pjs-3.0.2.tgz","_from":"pjs-3.0.2.tgz","_npmVersion":"1.2.14","_npmUser":{"name":"jayferd","email":"jjmadkisson@gmail.com"},"maintainers":[{"name":"jneen","email":""}],"directories":{},"_cnpmcore_publish_time":"2021-12-20T02:43:14.560Z","hasInstallScript":true,"publish_time":1365109883230,"_cnpm_publish_time":1365109883230},"3.0.0":{"name":"pjs","version":"3.0.0","description":"A lightweight class system.  It's just prototypes!","keywords":["class","pjs","P","inheritance","super"],"author":{"name":"Jay Adkisson","email":"jjmadkisson at gmail dot com"},"repository":{"type":"git","url":"git://github.com/jayferd/pjs"},"files":["index.js","src","test","Makefile","package.json","README.md","CHANGELOG.md"],"main":"index.js","devDependencies":{"mocha":"*","uglify-js":"*"},"scripts":{"install":"make commonjs","test":"make test"},"_id":"pjs@3.0.0","dist":{"shasum":"44b679a21a784d3dcbd2e56a5d72703e1555a293","size":6259,"noattachment":false,"key":"/pjs/-/pjs-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/pjs/download/pjs-3.0.0.tgz"},"_npmVersion":"1.1.49","_npmUser":{"name":"jayferd","email":"jjmadkisson@gmail.com"},"maintainers":[{"name":"jneen","email":""}],"directories":{},"_cnpmcore_publish_time":"2021-12-20T02:43:13.688Z","hasInstallScript":true,"publish_time":1358538323148,"_cnpm_publish_time":1358538323148},"2.0.2":{"name":"pjs","version":"2.0.2","description":"A lightweight class system.  It's just prototypes!","keywords":["class","pjs","P","inheritance","super"],"author":{"name":"Jay Adkisson","email":"jjmadkisson at gmail dot com"},"repository":{"type":"git","url":"git://github.com/jayferd/pjs"},"files":["index.js","src","test","Makefile","package.json","README.md","CHANGELOG.md"],"main":"index.js","devDependencies":{"mocha":"*","uglify-js":"*"},"scripts":{"install":"make commonjs","test":"make test"},"_id":"pjs@2.0.2","dist":{"shasum":"ee7f58958b55261cc73f10b77a296f4ede7935ea","size":8427,"noattachment":false,"key":"/pjs/-/pjs-2.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/pjs/download/pjs-2.0.2.tgz"},"_npmVersion":"1.1.49","_npmUser":{"name":"jayferd","email":"jjmadkisson@gmail.com"},"maintainers":[{"name":"jneen","email":""}],"directories":{},"_cnpmcore_publish_time":"2021-12-20T02:43:12.820Z","hasInstallScript":true,"publish_time":1358450853840,"_cnpm_publish_time":1358450853840},"2.0.1":{"name":"pjs","version":"2.0.1","description":"A lightweight class system.  It's just prototypes!","keywords":["class","pjs","P","inheritance","super"],"author":{"name":"Jay Adkisson","email":"jjmadkisson at gmail dot com"},"repository":{"type":"git","url":"git://github.com/jayferd/pjs"},"files":["index.js","src","test","Makefile","package.json","README.md"],"main":"index.js","devDependencies":{"mocha":"*","uglify-js":"*"},"scripts":{"install":"make commonjs","test":"make test"},"_id":"pjs@2.0.1","dist":{"shasum":"dee4dbc5a6300be9e3852b77577e70b1e9007031","size":6400,"noattachment":false,"key":"/pjs/-/pjs-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/pjs/download/pjs-2.0.1.tgz"},"_npmVersion":"1.1.49","_npmUser":{"name":"jayferd","email":"jjmadkisson@gmail.com"},"maintainers":[{"name":"jneen","email":""}],"directories":{},"_cnpmcore_publish_time":"2021-12-20T02:43:11.915Z","hasInstallScript":true,"publish_time":1355975264616,"_cnpm_publish_time":1355975264616},"2.0.0":{"name":"pjs","version":"2.0.0","description":"A lightweight class system.  It's just prototypes!","keywords":["class","pjs","P","inheritance","super"],"author":{"name":"Jay Adkisson","email":"jjmadkisson at gmail dot com"},"repository":{"type":"git","url":"git://github.com/jayferd/pjs.git"},"files":["index.js","src","test","Makefile","package.json"],"main":"index.js","devDependencies":{"mocha":"*","uglify-js":"*","jshint":"*"},"scripts":{"install":"make commonjs","test":"make test"},"_npmUser":{"name":"jayferd","email":"jjmadkisson@gmail.com"},"_id":"pjs@2.0.0","dependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.16","_nodeVersion":"v0.6.15","_defaultsLoaded":true,"dist":{"shasum":"d8689c6ae6c7a34c6e473902d139d43a0a38088f","size":8540,"noattachment":false,"key":"/pjs/-/pjs-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/pjs/download/pjs-2.0.0.tgz"},"maintainers":[{"name":"jneen","email":""}],"directories":{},"_cnpmcore_publish_time":"2021-12-20T02:43:11.001Z","hasInstallScript":true,"publish_time":1342312140892,"_cnpm_publish_time":1342312140892},"1.1.1":{"name":"pjs","version":"1.1.1","description":"A lightweight class system.  It's just prototypes!","keywords":["class","pjs","P","inheritance","super"],"author":{"name":"Jay Adkisson","email":"jjmadkisson at gmail dot com"},"repository":{"type":"git","url":"git://github.com/jayferd/pjs.git"},"files":["index.js","src","test","Makefile","package.json"],"main":"index.js","devDependencies":{"mocha":"*","uglify-js":"*","jshint":"*"},"scripts":{"install":"make commonjs","test":"make test"},"_npmUser":{"name":"jayferd","email":"jjmadkisson@gmail.com"},"_id":"pjs@1.1.1","dependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.16","_nodeVersion":"v0.6.15","_defaultsLoaded":true,"dist":{"shasum":"c3fb4fcbaa959e5f68ec67de069091f1ffa050e8","size":6803,"noattachment":false,"key":"/pjs/-/pjs-1.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/pjs/download/pjs-1.1.1.tgz"},"maintainers":[{"name":"jneen","email":""}],"directories":{},"_cnpmcore_publish_time":"2021-12-20T02:43:10.114Z","hasInstallScript":true,"publish_time":1342278665447,"_cnpm_publish_time":1342278665447},"1.1.0":{"name":"pjs","version":"1.1.0","description":"A lightweight class system.  It's just prototypes!","keywords":["class","pjs","P","inheritance","super"],"author":{"name":"Jay Adkisson","email":"jjmadkisson at gmail dot com"},"repository":{"type":"git","url":"git://github.com/jayferd/pjs.git"},"files":["index.js","src","test","Makefile","package.json"],"main":"index.js","devDependencies":{"mocha":"*","uglify-js":"*","jshint":"*"},"scripts":{"install":"make commonjs","test":"make test"},"_npmUser":{"name":"jayferd","email":"jjmadkisson@gmail.com"},"_id":"pjs@1.1.0","dependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.16","_nodeVersion":"v0.6.15","_defaultsLoaded":true,"dist":{"shasum":"c78e746ab3d6a0924f3bdcaf497fb8f63ed11bd6","size":6807,"noattachment":false,"key":"/pjs/-/pjs-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/pjs/download/pjs-1.1.0.tgz"},"maintainers":[{"name":"jneen","email":""}],"directories":{},"_cnpmcore_publish_time":"2021-12-20T02:43:09.248Z","hasInstallScript":true,"publish_time":1342278579041,"_cnpm_publish_time":1342278579041},"1.0.1":{"name":"pjs","version":"1.0.1","description":"A lightweight class system.  It's just prototypes!","keywords":["class","pjs","P","inheritance","super"],"author":{"name":"Jay Adkisson","email":"jjmadkisson at gmail dot com"},"repository":{"type":"git","url":"git://github.com/jayferd/pjs.git"},"files":["index.js","src","test","Makefile","package.json"],"main":"index.js","devDependencies":{"mocha":"*","uglify-js":"*"},"scripts":{"install":"make commonjs","test":"make test"},"_npmUser":{"name":"jayferd","email":"jjmadkisson@gmail.com"},"_id":"pjs@1.0.1","dependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.16","_nodeVersion":"v0.6.15","_defaultsLoaded":true,"dist":{"shasum":"9eb9b0acb094f783da57c82581598fed6568684b","size":3752,"noattachment":false,"key":"/pjs/-/pjs-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/pjs/download/pjs-1.0.1.tgz"},"maintainers":[{"name":"jneen","email":""}],"directories":{},"_cnpmcore_publish_time":"2021-12-20T02:43:08.357Z","hasInstallScript":true,"publish_time":1336782667654,"_cnpm_publish_time":1336782667654},"1.0.0":{"name":"pjs","version":"1.0.0","description":"A lightweight class system.  It's just prototypes!","keywords":["class","pjs","P","inheritance","super"],"author":{"name":"Jay Adkisson","email":"jjmadkisson at gmail dot com"},"repository":{"type":"git","url":"git://github.com/jayferd/pjs.git"},"files":["index.js","src","build","test","Makefile","package.json"],"main":"index.js","devDependencies":{"mocha":"*","uglify-js":"*"},"scripts":{"test":"make test"},"_npmUser":{"name":"jayferd","email":"jjmadkisson@gmail.com"},"_id":"pjs@1.0.0","dependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.9","_nodeVersion":"v0.6.13","_defaultsLoaded":true,"dist":{"shasum":"52a3572a25883b90bfa458b256fa1622438c402c","size":4033,"noattachment":false,"key":"/pjs/-/pjs-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/pjs/download/pjs-1.0.0.tgz"},"maintainers":[{"name":"jneen","email":""}],"directories":{},"_cnpmcore_publish_time":"2021-12-20T02:43:07.505Z","publish_time":1333508776440,"_cnpm_publish_time":1333508776440},"0.2.0":{"name":"pjs","version":"0.2.0","description":"A lightweight class system.  It's just prototypes!","keywords":["class","pjs","P","inheritance","super"],"author":{"name":"Jay Adkisson","email":"jjmadkisson at gmail dot com"},"repository":{"type":"git","url":"git://github.com/jayferd/pjs.git"},"files":["index.js","src","build","test","Makefile","package.json"],"main":"index.js","devDependencies":{"mocha":"*","uglifyjs":"*"},"scripts":{"test":"make test"},"_npmUser":{"name":"jayferd","email":"jjmadkisson@gmail.com"},"_id":"pjs@0.2.0","dependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.99","_nodeVersion":"v0.5.9","_defaultsLoaded":true,"dist":{"shasum":"f1f7f2cfc49cb26d1959c2eb7fd25b93e46d2b0e","size":5065,"noattachment":false,"key":"/pjs/-/pjs-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/pjs/download/pjs-0.2.0.tgz"},"maintainers":[{"name":"jneen","email":""}],"directories":{},"_cnpmcore_publish_time":"2021-12-20T02:43:06.638Z","publish_time":1329009281598,"_cnpm_publish_time":1329009281598},"0.1.3":{"name":"pjs","version":"0.1.3","description":"A lightweight class system.  It's just prototypes!","keywords":["class","pjs","P","inheritance","super"],"author":{"name":"Jay Adkisson","email":"jjmadkisson at gmail dot com"},"repository":{"type":"git","url":"git://github.com/jayferd/pjs.git"},"files":["index.js","src","build","test","Makefile","package.json"],"main":"index.js","devDependencies":{"mocha":"*","uglifyjs":"*"},"scripts":{"test":"make test"},"_npmUser":{"name":"jayferd","email":"jjmadkisson@gmail.com"},"_id":"pjs@0.1.3","dependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.0-3","_nodeVersion":"v0.6.9","_defaultsLoaded":true,"dist":{"shasum":"f003f083bbc2b837aa3527cbe0274bfaf4d1e5a8","size":3563,"noattachment":false,"key":"/pjs/-/pjs-0.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/pjs/download/pjs-0.1.3.tgz"},"maintainers":[{"name":"jneen","email":""}],"directories":{},"_cnpmcore_publish_time":"2021-12-20T02:43:05.777Z","publish_time":1327866084372,"_cnpm_publish_time":1327866084372},"0.1.2":{"name":"pjs","version":"0.1.2","description":"A lightweight class system.  It's just prototypes!","keywords":["class","pjs","P","inheritance","super"],"author":{"name":"Jay Adkisson","email":"jjmadkisson at gmail dot com"},"repository":{"type":"git","url":"git://github.com/jayferd/pjs.git"},"files":["index.js","src","build","test","Makefile","package.json"],"main":"index.js","devDependencies":{"mocha":"*","uglifyjs":"*"},"scripts":{"test":"make test"},"_npmUser":{"name":"jayferd","email":"jjmadkisson@gmail.com"},"_id":"pjs@0.1.2","dependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.99","_nodeVersion":"v0.5.9","_defaultsLoaded":true,"dist":{"shasum":"8ebea655e1ac2d16acd4b0d3eb55b9d5d82b1df4","size":4413,"noattachment":false,"key":"/pjs/-/pjs-0.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/pjs/download/pjs-0.1.2.tgz"},"maintainers":[{"name":"jneen","email":""}],"directories":{},"_cnpmcore_publish_time":"2021-12-20T02:43:04.897Z","publish_time":1326047697587,"_cnpm_publish_time":1326047697587},"0.1.1":{"name":"pjs","version":"0.1.1","description":"A lightweight class system.  It's just prototypes!","keywords":["class","pjs","P","inheritance","super"],"author":{"name":"Jay Adkisson","email":"jjmadkisson at gmail dot com"},"repository":{"type":"git","url":"git://github.com/jayferd/pjs.git"},"files":["index.js","src","build","test","Makefile","package.json"],"main":"index.js","devDependencies":{"mocha":"*","uglifyjs":"*"},"scripts":{"install":"make commonjs","test":"make test"},"_npmUser":{"name":"jayferd","email":"jjmadkisson@gmail.com"},"_id":"pjs@0.1.1","dependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.99","_nodeVersion":"v0.5.9","_defaultsLoaded":true,"dist":{"shasum":"94240cc85745e59e6ca042e008ae3a582c3adb45","size":4793,"noattachment":false,"key":"/pjs/-/pjs-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/pjs/download/pjs-0.1.1.tgz"},"maintainers":[{"name":"jneen","email":""}],"directories":{},"_cnpmcore_publish_time":"2021-12-20T02:43:04.019Z","hasInstallScript":true,"publish_time":1325790853051,"_cnpm_publish_time":1325790853051},"0.1.0":{"name":"pjs","version":"0.1.0","description":"A lightweight class system.  It's just prototypes!","keywords":["class","pjs","P","inheritance","super"],"author":{"name":"Jay Adkisson","email":"jjmadkisson at gmail dot com"},"repository":{"type":"git","url":"git://github.com/jayferd/pjs.git"},"files":["index.js","src","build","test","Makefile","package.json"],"main":"index.js","devDependencies":{"mocha":"0.8.1"},"scripts":{"install":"make commonjs","test":"make test"},"_npmUser":{"name":"jayferd","email":"jjmadkisson@gmail.com"},"_id":"pjs@0.1.0","dependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.99","_nodeVersion":"v0.5.9","_defaultsLoaded":true,"dist":{"shasum":"623643109fe9a36017f46b6774277a0bc0a6a109","size":4744,"noattachment":false,"key":"/pjs/-/pjs-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/pjs/download/pjs-0.1.0.tgz"},"maintainers":[{"name":"jneen","email":""}],"directories":{},"_cnpmcore_publish_time":"2021-12-20T02:43:03.108Z","hasInstallScript":true,"publish_time":1325744675104,"_cnpm_publish_time":1325744675104},"0.0.3":{"name":"pjs","version":"0.0.3","description":"A lightweight class system for the limbo artist","keywords":["class","pjs","P","inheritance","super"],"author":{"name":"Jay Adkisson","email":"jjmadkisson at gmail dot com"},"repository":{"type":"git","url":"git://github.com/jayferd/pjs.git"},"files":["index.js","src","build","test","Makefile","package.json"],"main":"index.js","devDependencies":{"mocha":"0.8.1"},"scripts":{"test":"make test"},"_npmUser":{"name":"jayferd","email":"jjmadkisson@gmail.com"},"_id":"pjs@0.0.3","dependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.99","_nodeVersion":"v0.5.9","_defaultsLoaded":true,"dist":{"shasum":"67478fc4633296a6c105063f40b29401f7302da6","size":3511,"noattachment":false,"key":"/pjs/-/pjs-0.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/pjs/download/pjs-0.0.3.tgz"},"maintainers":[{"name":"jneen","email":""}],"directories":{},"_cnpmcore_publish_time":"2021-12-20T02:43:02.229Z","publish_time":1325613432689,"_cnpm_publish_time":1325613432689},"0.0.2":{"name":"pjs","version":"0.0.2","description":"A lightweight class system for the limbo artist","keywords":["class","pjs","P","inheritance","super"],"author":{"name":"Jay Adkisson","email":"jjmadkisson at gmail dot com"},"repository":{"type":"git","url":"git://github.com/jayferd/limbo.git"},"files":["index.js","src","build","test","Makefile","package.json"],"main":"index.js","devDependencies":{"mocha":"0.8.1"},"scripts":{"test":"make test"},"_npmUser":{"name":"jayferd","email":"jjmadkisson@gmail.com"},"_id":"pjs@0.0.2","dependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.99","_nodeVersion":"v0.5.9","_defaultsLoaded":true,"dist":{"shasum":"22e29805fd58f569824032768fbce2f511945b4c","size":3568,"noattachment":false,"key":"/pjs/-/pjs-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/pjs/download/pjs-0.0.2.tgz"},"maintainers":[{"name":"jneen","email":""}],"directories":{},"_cnpmcore_publish_time":"2021-12-20T02:43:01.333Z","publish_time":1325612739238,"_cnpm_publish_time":1325612739238}},"readme":"[![Build Status](https://secure.travis-ci.org/jneen/pjs.png)](http://travis-ci.org/jneen/pjs)\n\n# P.js\n\nP.js is a lightweight layer over javascript's built-in inheritance system that keeps all the good stuff and hides all the crap.\n\n## just show me some code already\n\nOkay.\n\n``` js\n// adapted from coffeescript.org\n// P.js exposes the `P` variable\nvar Animal = P(function(animal) {\n  animal.init = function(name) { this.name = name; };\n\n  animal.move = function(meters) {\n    console.log(this.name+\" moved \"+meters+\"m.\");\n  }\n});\n\nvar Snake = P(Animal, function(snake, animal) {\n  snake.move = function() {\n    console.log(\"Slithering...\");\n    animal.move.call(this, 5);\n  };\n});\n\nvar Horse = P(Animal, function(horse, animal) {\n  horse.move = function() {\n    console.log(\"Galloping...\");\n    animal.move.call(this, 45);\n  };\n});\n\nvar sam = Snake(\"Sammy the Python\")\n  , tom = Horse(\"Tommy the Palomino\")\n;\n\nsam.move()\ntom.move()\n```\n\n## how is pjs different from X\n\nMost class systems for JS let you define classes by passing an object.  P.js lets you pass a function instead, which allows you to closure private methods and macros.  It's also &lt;0.4kb minified (`make report`: 467).\n\n### why doesn't pjs suck?\n\nUnlike [some][prototypejs] [other][classjs] [frameworks][joose] [out][zjs] [there][structr], Pjs doesn't do any of this:\n\n- interfaces, abstract static factory factories, [and][joose] [other][prototypejs] [bloat][zjs]\n- use Object.create (it even works in IE &lt; 8!)\n- break `instanceof`\n- [hack functions onto `this` at runtime][classjs]\n- rely on magical object keys which don't minify (the only special name is `init`)\n\n[prototypejs]: http://prototypejs.org/learn/class-inheritance\n[classjs]: https://github.com/kilhage/class.js\n[zjs]: http://code.google.com/p/zjs/\n[joose]: http://joose.it\n[structr]: https://www.npmjs.com/package/structr\n\n## what can i do with pjs?\n\n- inheritable constructors (via the optional `init` method)\n- closure-based \"private\" methods (see below)\n- easily call `super` on public methods without any dirty hacks\n- instantiate your objects without calling the constructor (absolutely necessary for inheritance)\n- construct objects with variable arguments\n\n## how do i use pjs?\n\nYou can call `P` in a few different ways:\n\n``` js\n// this defines a class that inherits directly from Object.\nP(function(proto, super, class, superclass) {\n  // define private methods as regular functions that take\n  // `self` (or `me`, or `it`, or anything you really want)\n  function myPrivateMethod(self, arg1, arg2) {\n    // ...\n  }\n\n  proto.init = function() {\n    myPrivateMethod(this, 1, 2)\n  };\n\n  // you can also return an object from this function, which will\n  // be merged into the prototype.\n  return { thing: 3 };\n});\n\n// this defines a class that inherits from MySuperclass\nP(MySuperclass, function(proto, super, class, superclass) {\n  proto.init = function() {\n    // call superclass methods with super.method.call(this, ...)\n    //                           or super.method.apply(this, arguments)\n    super.init.call(this);\n  };\n});\n\n// for shorthand, you can pass an object in lieu of the function argument,\n// but you lose the niceness of super and private methods.\nP({ init: function(a) { this.thing = a } });\n\nMyClass = P(function(p) { p.init = function(a, b) { console.log(\"init!\", a, b) }; });\n// instantiate objects by calling the class as a function\nMyClass(1, 2) // => init!, 1, 2\n\n// to initialize with varargs, use `apply` like any other function.\nvar argsList = [1, 2];\nMyClass.apply(null, argsList) // init!, 1, 2\n\n// you can use it like an idiomatic class:\n// `new` is optional, not really recommended.\nnew MyClass(1, 2) // => init!, 1, 2\n// non-pjs idiomatic subclass\nfunction Subclass(a) { MyClass.call(this, a, a); }\nnew Subclass(3) // => init!, 3, 3\nnew Subclass(3) instanceof MyClass // => true\n\n// `new` may be used to \"force\" instantiation when ambiguous,\n// for example in a factory method that creates new instances\nMyClass.prototype.clone = function(a, b) {\n  return new this.constructor(a, b);\n};\n// because without `new`, `this.constructor(a, b)` is equivalent to\n// `MyClass.call(this, a, b)` which as we saw in the previous example\n// mutates `this` rather than creating new instances\n\n// allocate uninitialized objects with .Bare\n// (much like Ruby's Class#allocate)\nnew MyClass.Bare // nothing logged\nnew MyClass.Bare instanceof MyClass // => true\n\n// you can use `.open` to reopen a class.  This has the same behavior\n// as the regular definitions.\n// note that _super will still be set to the class's prototype\nMyClass = P({ a: 1 });\nvar myInst = MyClass();\nMyClass.open(function(proto) { proto.a = 2 });\nmyInst.a // => 2\nMyClass.open(function(proto, _super) { /* _super is Object.prototype here */ });\n\n// you can also use `.extend(definition)` to create new subclasses.  This is equivalent\n// to calling P with two arguments.\nvar Subclass = MyClass.extend({ a: 3 });\n```\n\n## how do i use pjs in node.js?\n\nAssuming you have it installed (via `npm install pjs`), you can import it with\n\n``` js\nvar P = require('pjs').P;\n```\n\nand go about your business.\n\n## what is all this Makefile stuff about\n\nIt's super useful! In addition to `make`, Pjs uses some build tools written on\n[Node][]. With the [Node Package Manager][npm] that comes with recent versions\nof it, just run\n\n    npm install\n\nfrom the root directory of the repo and `make` will start working.\n\n[Node]: http://nodejs.org/#download\n[npm]: http://npmjs.org\n\nHere are the things you can build:\n\n- `make minify`\n    generates `build/p.min.js`\n\n- `make commonjs`\n    generates `build/p.commonjs.js`, which is the same but has `exports.P = P` at the end\n\n- `make amd`\n    generates `build/p.amd.js`, which is the same but has `define(P)` at the end\n\n- `make test`\n    runs the test suite using the commonjs version.  Requires `mocha`.\n","_attachments":{},"homepage":"https://github.com/jneen/pjs#readme","bugs":{"url":"https://github.com/jneen/pjs/issues"},"license":"MIT"}