{"_id":"q-atom","_rev":"12-ce183fe899196a7bbbb37696ca088e2c","name":"q-atom","description":"Object system for common usage; Base object class, Q.Object with power of extension, mixin, creation","dist-tags":{"latest":"0.0.6"},"versions":{"0.0.3":{"author":{"name":"Robin Qu","email":"long.qul@aliyun-inc.com","url":"http://robinqu.me/"},"name":"q-atom","description":"Object system for common usage; Base object class, Q.Object with power of extension, mixin, creation","version":"0.0.3","repository":{"url":""},"engines":{"node":"~0.6.10"},"bpm:build":{"bpm_libs.js":{"files":["lib"]},"q-atom.js":{"files":["lib"]},"q-atom/bpm_tests.js":{"files":["spec"],"modes":["debug"]}},"dependencies:development":{"jasmine":">= 0"},"_npmUser":{"name":"RobinQu","email":"robinqu@gmail.com"},"_id":"q-atom@0.0.3","dependencies":{},"devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.24","_nodeVersion":"v0.6.10","_defaultsLoaded":true,"dist":{"shasum":"43ce8b0afab887c5f3a5f7d3bbd67afc28c3390c","tarball":"https://registry.npmjs.org/q-atom/-/q-atom-0.0.3.tgz","integrity":"sha512-Wd/bt2Y3ixzau70fB/tahdr2nt1Wfa3SJI69aHHDcsd1ScSAnK3cBGuTGlBzCvXroNgK63f0orIkzSj4ZoqrzQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDGq/wKs7FYD9Oy0Hggrb8OislA43leOkwQcFRcgzzRqgIgDFheVdzJkHlKKZTP/oU2mxRnLxioucnJ3Xnn8VMaWa0="}]},"maintainers":[{"name":"RobinQu","email":"robinqu@gmail.com"}]},"0.0.4":{"author":{"name":"Robin Qu","email":"long.qul@aliyun-inc.com","url":"http://robinqu.me/"},"name":"q-atom","description":"Object system for common usage; Base object class, Q.Object with power of extension, mixin, creation","version":"0.0.4","repository":{"url":""},"engines":{"node":"~0.6.10"},"bpm:build":{"bpm_libs.js":{"files":["lib"]},"q-atom.js":{"files":["lib"]},"q-atom/bpm_tests.js":{"files":["spec"],"modes":["debug"]}},"dependencies:development":{"jasmine":">= 0"},"_npmUser":{"name":"RobinQu","email":"robinqu@gmail.com"},"_id":"q-atom@0.0.4","dependencies":{},"devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.24","_nodeVersion":"v0.6.10","_defaultsLoaded":true,"dist":{"shasum":"194d441ebf523a11c7b295b7884e484b77f89f6c","tarball":"https://registry.npmjs.org/q-atom/-/q-atom-0.0.4.tgz","integrity":"sha512-7uoWc8f9EcZ6+xzlboM4ptXn1t56NXr8yqCs+vzarpwqdkIldAo2DIWQiwdednspOlU2swl+mQvo7RuEM6x1pg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBWxviBZQLY72AndzNnlPLAty/Z+ZBJZPJNS4z0OIykXAiEAthd76iAzcJ6iJJ8al/0iPMWMr7m7qZaJVAnpVW9ULBQ="}]},"maintainers":[{"name":"RobinQu","email":"robinqu@gmail.com"}]},"0.0.6":{"author":{"name":"Robin Qu","email":"robinqu@gmail.com","url":"http://robinqu.me/"},"name":"q-atom","description":"Object system for common usage; Base object class, Q.Object with power of extension, mixin, creation","version":"0.0.6","repository":{"url":""},"engines":{"node":">=0.6.10"},"bpm:build":{"bpm_libs.js":{"files":["lib"]},"q-atom.js":{"files":["lib"]},"q-atom/bpm_tests.js":{"files":["spec"],"modes":["debug"]}},"dependencies:development":{"jasmine":">= 0"},"_id":"q-atom@0.0.6","dist":{"shasum":"0f463ebc6433ce5c4b60da91f4b0164b458fc0df","tarball":"https://registry.npmjs.org/q-atom/-/q-atom-0.0.6.tgz","integrity":"sha512-R0vBBBFC8b67HcrnDdZQO8XpNJ4sDSw1VP9v3cRhR7iA8q55G9XHX/EFMfzD8PJKYFDgTKAeuMIkBFWfKWkt+g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcyL2yg5ryoyWWjLEM6xUi+A+WMA/+e1x4POd1QsVrgAIhAKCfJb7YIP63Eh+Kp+gHXntLOQNq1yfcR0sokfZ3SDzY"}]},"maintainers":[{"name":"RobinQu","email":"robinqu@gmail.com"}]}},"readme":"#Q-Atom\n\nA extensible object system for both server end and client end. Part of [Project Q](http://elfvision.com/projects/Q). A universal application frameworks for enterprise JavaScript!\n\n##Synopsis\n\n###Base Object\nWe have a powerful base object, you can mix-in any properties.\n\n\t\tvar foo = Q.Object.create({\n\t\t\t\"bar\": \"foo.bar\"\n\t\t});\n\t\n###Extending\nAll class derive from *Q.Object*\n\t\n\t\tvar Bar = Q.Object.extend({\n\t\t\t\"props\": \"value\"\n\t\t});\n\n\t\tvar Foo = Bar.extend({\n\t\t\t\"props\": \"value1\",\n\t\t\t\"nice\": \"day\"\n\t\t});\n\t\t\n\t\tvar Cow = Foo.extend(Speakable, Lovable, {\n\t\t  \"name\": \"A Cow\"\n\t\t});\n\n###Creating\nUsing *#create* method or *new* keyword\n\n\t\tvar bar = Bar.create();\n\t\tvar foo = new Foo();\n\nYou can pass a hash to override its default properties.\n\n\t\tvar foo1 = new Foo({\n\t\t\t\"props\": \"value2\"\n\t\t});\n\n###Overridden Methods\nYou can access the overridden method by *arguments.callee.base*\n\t\n\t\tvar SuperFoo = Foo.extend({\n\t\t\tfoo: function() {}\n\t\t});\n\t\tvar SuperFooBar = SuperFoo.extend({\n\t\t\tfoo: function() {\n\t\t\t\t//call super!\n\t\t\t\targuments.callee.base.apply(this, arguments);\n\t\t\t\t//my own logics\n\t\t\t\t//blabala\n\t\t\t}\n\t\t});\n\n\n##TODO\nObject designator using newly introduced API in Javascript 1.8.5:\n\t\n\t//https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/defineProperty\n\tObject.defineProperty\n\t//https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/defineProperties\n\tObject.defineProperties\n\t//https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/create\n\tObject.create","maintainers":[{"name":"robinqu","email":"robinqu@gmail.com"}],"time":{"modified":"2022-06-25T03:17:34.824Z","created":"2012-06-07T06:06:39.426Z","0.0.3":"2012-06-07T06:06:41.985Z","0.0.4":"2012-06-27T03:30:24.666Z","0.0.6":"2012-07-01T03:45:03.486Z"},"author":{"name":"Robin Qu","email":"robinqu@gmail.com","url":"http://robinqu.me/"},"repository":{"url":""},"readmeFilename":""}