{"_id":"at-js","_rev":"27-c6c2fe28e29874f9f98fe49bf352e977","name":"at-js","time":{"modified":"2022-06-13T03:39:28.298Z","created":"2015-11-01T23:19:01.590Z","0.0.0":"2015-11-01T23:19:01.590Z","1.0.0":"2015-11-01T23:20:35.849Z","1.0.1":"2015-11-01T23:22:51.990Z","1.0.2":"2015-11-01T23:23:54.018Z","2.0.0":"2015-11-01T23:32:38.188Z","3.0.0":"2015-11-01T23:37:34.893Z","1.1.5":"2016-11-07T04:46:51.450Z","1.1.6":"2016-11-07T07:29:18.653Z","1.1.7":"2016-11-08T06:20:19.358Z","1.1.8":"2016-11-08T07:44:30.840Z","1.1.9":"2016-11-08T10:51:17.180Z","1.2.0":"2016-11-09T05:06:26.458Z","1.2.1":"2016-11-10T05:03:01.707Z","1.2.2":"2016-11-11T05:59:14.741Z","1.2.3":"2016-11-15T06:50:47.774Z","1.2.4":"2016-11-16T12:08:53.316Z","1.2.5":"2016-11-17T07:02:45.929Z","1.2.6":"2016-11-17T13:18:55.442Z","1.2.7":"2016-11-18T08:42:20.556Z","1.2.8":"2016-11-18T09:23:30.398Z","1.2.9":"2016-11-21T12:37:04.436Z","1.2.10":"2016-12-14T07:39:24.273Z","1.2.11":"2016-12-15T06:01:07.602Z","1.2.12":"2016-12-15T08:30:28.991Z"},"maintainers":[{"name":"chemingjun","email":"chemingjun@126.com"}],"dist-tags":{"latest":"1.2.12"},"description":"为 Javascript/node.js 提供完整的@Annotation扩展机制","readme":"#at-js（为 Javascript 扩展的注释类型）\n [(English)](./readme-en.md)\n>为 Javascript/node.js 扩展的注释类型\n\n[![NPM Version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n\n\n**Javascript annotation 类型(非 decorator type in ES6)**  \nAnnotation的意义在于为语言增加了一个新的维度，\n\"注释类型\"（annotation）在JS中并非天然支持，\n\"decorator\"类型（ES6）的能力在很多情形下是远远不够的，\n比如，decorator很难描述单元测试事务性复杂描述表达。  \nat-js的目的是为JS/node引入真正意义的annotation。\n\n## 安装at-js\n```\n$ npm install at-js\n```\n##使用案例\n1. 在您的module`入口文件`中，定义\"helloworld\"注释\n>入口文件即您的module启动的第一个文件\n```js\nrequire('at-js').define('helloworld',{//annotation's name\n    scope: 'var', build: function () {//the scope of it's effected\n        return \"return function(_msg){console.log('[helloworld]'+_msg);};\"//the real script\n    }\n})\n\n/*接下来引用并执行使用该注释的js文件\n注意，这个引用要在require('at-js')之后\n */\nrequire('./test').test();\n```\n2. 在**test.js**文件中使用helloworld注释\n```js\nmodule.exports = {\n    test:function(){\n        var info = 'hello hello';\n        sayHello(info);\n    }\n}\n'@helloworld';\nvar sayHello = function(){}\n```\n\n来看一个复杂的例子，如果您使用基于at-js的开源框架 **[at-test](https://github.com/CheMingjun/at-test)**\n,您可以这样来表达一个单元测试:\n\n```js\nvar assert = require('assert');\nvar ds = null;\n//测试开始时的准备工作\n'@test.start';\nvar start = function () {\n    ds = {};\n}\n//阶段1\n'@test.step(timeout=2000)';\nvar test0 = function* () {\n    ds.test0 = 'finish';\n    var rtn = yield (function(){\n        return function(_next){\n            setTimeout(function(){\n                _next(null,3);\n            },2000)\n        }\n    })();\n    assert.equal(rtn,3);\n}\n//阶段2\n'@test.step';\nvar test1 = function () {\n    ds.test1 = 'finish';\n    return ds;\n}\n//测试结束时的工作\n'@test.finish';\nvar fh = function () {\n    ds = null;\n}\n```\n##API\n###安装\n```\n$ npm install at-js\n```\n###定义注释\n```js\nvar atJs = require('at-js');\n\n//举例\natJs.define('myAnno',{//name\n    scope: 'var', build: function () {//value\n        return \"return {name:'I am name property'};\"\n    }\n})\n```\nat-js通过define(name,value)的形式定义一个（组）注释\n\n**name** 注释名称，全局唯一，在 scope='file' 情形下，\nname应该为一组具备相同特征的annotation的正则表达式字符串，\n如: name='test.\\\\S+'\n\n**value**  at-js目前（version 1.2.1）支持两种范围的注释：\n\n1. var 变量型注释\n```js\n    {\n        scope:'var',\n        build:function(_ctx, _argAry){\n            //_ctx\n            {\n                filePath,//应该该注释的文件位置\n                name,//注释名称\n                desc,//注释中的变量表(key-value)\n                refName,//被注释的变量名称\n                refType//被注释的变量类型（undefined|function|generator|object）\n            }\n            //_aryAry 被注释变量签名中的参数列表\n        \n            return //返回该变量被替换之后的代码\n        }\n    }\n```\n\n2. file 文件型注释\n```js\n    {\n        return {\n            which: {//针对改组annotation中的每一项做处理\n                'test.start': function (_ctx, _argAry) {\n                    //_ctx 与 _argAry 同上定义\n                    //处理逻辑\n                }\n            }, script: function () {\n                return //返回该文件追加的代码\n            }\n        }\n    }\n```\nfile 型注释的实际例子，可以参考 [at-test](https://github.com/CheMingjun/at-test)源码\n\n###使用注释\n```js\n//注释可以通过\n'@任意非空白字符';\n//也可以使用\n//@任意非空白字符\n\n//简单的注释\n'@myAnno';\nvar someVar = function(){\n\n}\n\n//带参数的注释\n'@myAnno(name=somevalue)';\nvar someVar = function(){\n\n}\n\n//多个参数的注释,url风格的参数表，多个以&分开\n'@myAnno(name=somevalue&for=v0,v1)';\nvar someVar = function(){\n\n}\n\n//除function之外，被注释的变量可以是undefined\n'@myAnno';\nvar someVar;\n\n//被注释的变量可以是function* \n'@myAnno';\nvar someVar = function*(){\n    yield sleep(2000);\n};\n\n//被注释的变量可以是{}\n'@myAnno';\nvar someVar = {\n    origin:function(){\n        \n    }\n};\n```\n\n> 欢迎提issue，或者直接联系作者即时交流(微信号:ALJZJZ)\n \n [npm-image]: https://img.shields.io/npm/v/at-js.svg\n [npm-url]: https://npmjs.org/package/at-js\n [downloads-image]: https://img.shields.io/npm/dm/at-js.svg\n [downloads-url]: https://npmjs.org/package/at-js","versions":{"1.1.5":{"name":"at-js","scripts":{},"version":"1.1.5","description":"README.md","devDependencies":{},"directories":{},"main":"./index","maintainers":[{"name":"chemingjun","email":"chemingjun@126.com"}],"repository":{"type":"git","url":"http://registry.npmjs.org"},"gitHead":"9d439d657bae53b0990a221079206925f7ef6662","_id":"at-js@1.1.5","_shasum":"60b870f661943e0b80c88be904b021d64ca98425","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.1","_npmUser":{"name":"chemingjun","email":"chemingjun@126.com"},"dist":{"shasum":"60b870f661943e0b80c88be904b021d64ca98425","tarball":"https://registry.npmjs.org/at-js/-/at-js-1.1.5.tgz","integrity":"sha512-NLFLaC5v6KlSIghu6P49k66IigdjojFNlVks1K+q3c+3rTJlyKdbP24qMlpZ70pnBApeF5+wrzw3nVf22KAXlg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhc0egiBiKoEKZjQvHa52YcPeMG9pbpFKCBSzuOxQYTgIgZgbibFVkiUk7ogB90NXDIYdyfIlyJI4MTIxElmS8zW0="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/at-js-1.1.5.tgz_1478494011208_0.7948120103683323"}},"1.1.6":{"name":"at-js","scripts":{},"version":"1.1.6","description":"README.md","devDependencies":{},"directories":{},"main":"./index","maintainers":[{"name":"chemingjun","email":"chemingjun@126.com"}],"repository":{"type":"git","url":"http://registry.npmjs.org"},"gitHead":"9d439d657bae53b0990a221079206925f7ef6662","_id":"at-js@1.1.6","_shasum":"94cb992f8f4e770777322ac5356aa472154d5dae","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.1","_npmUser":{"name":"chemingjun","email":"chemingjun@126.com"},"dist":{"shasum":"94cb992f8f4e770777322ac5356aa472154d5dae","tarball":"https://registry.npmjs.org/at-js/-/at-js-1.1.6.tgz","integrity":"sha512-LOyQAalR4lFyVJPPyseQNcwFFHfKwIZfV2y0mj44gJvECAgBfst44YKibb0SkXGbs2jN5fkifY6pxR3aPhpdVw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGxf2CVgJMBHXhWIx1/wzvxXro9sWB+5LbBk5dDoUtrmAiEAtpb768V5Rk+J3T3P62mGjeXT+kd7vgUVEu6IQT5rdSA="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/at-js-1.1.6.tgz_1478503756828_0.8993849880062044"}},"1.1.7":{"name":"at-js","scripts":{},"version":"1.1.7","description":"README.md","devDependencies":{},"directories":{},"main":"./index","maintainers":[{"name":"chemingjun","email":"chemingjun@126.com"}],"repository":{"type":"git","url":"http://registry.npmjs.org"},"gitHead":"9d439d657bae53b0990a221079206925f7ef6662","_id":"at-js@1.1.7","_shasum":"43ce74cde29748cf3aceb5ddb02bc454518eb41a","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.1","_npmUser":{"name":"chemingjun","email":"chemingjun@126.com"},"dist":{"shasum":"43ce74cde29748cf3aceb5ddb02bc454518eb41a","tarball":"https://registry.npmjs.org/at-js/-/at-js-1.1.7.tgz","integrity":"sha512-/Ak/7mi2t3mAE43Kj94spP4zpjZdDhcvQfer4akFMF4DPaxWqZsGxXWHr8SP/eT9jHrIkfXOEpnklkoEkMZ14Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBd8og/ED/WnKcFrvbCPBRRQyXzgIIN4negU4tBv1oLuAiEAngxr2dCegB2spkCqJCgwp/VMolMyAI2sIsG8dGKkMO8="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/at-js-1.1.7.tgz_1478586019090_0.34433009405620396"}},"1.1.8":{"name":"at-js","scripts":{},"version":"1.1.8","description":"README.md","devDependencies":{},"directories":{},"main":"./index","maintainers":[{"name":"chemingjun","email":"chemingjun@126.com"}],"repository":{"type":"git","url":"http://registry.npmjs.org"},"gitHead":"9d439d657bae53b0990a221079206925f7ef6662","_id":"at-js@1.1.8","_shasum":"257cff27e725b1dc0861d456054242bc1a4f18a1","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.1","_npmUser":{"name":"chemingjun","email":"chemingjun@126.com"},"dist":{"shasum":"257cff27e725b1dc0861d456054242bc1a4f18a1","tarball":"https://registry.npmjs.org/at-js/-/at-js-1.1.8.tgz","integrity":"sha512-g00wgPOAfjCv0eYAyKqcxl4FKTEPk2D+ZWcJVB91nnW/Nr03jr6+rHogjrq38kvy/x3pBGImt+PJbxTbKt7UOw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMcaiOqjs4VKdR3JWBPBBLDpG4Zfjgl/3Sw+yKx8HB/wIgQC+lwdPSTyB0AV9dwTju0UcWnLorBc3GE6jaTQaUvec="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/at-js-1.1.8.tgz_1478591070599_0.38741868059150875"}},"1.1.9":{"name":"at-js","scripts":{},"version":"1.1.9","description":"README.md","devDependencies":{},"directories":{},"main":"./index","maintainers":[{"name":"chemingjun","email":"chemingjun@126.com"}],"repository":{"type":"git","url":"http://registry.npmjs.org"},"gitHead":"9d439d657bae53b0990a221079206925f7ef6662","_id":"at-js@1.1.9","_shasum":"f2a7f54849a8f6d44975816910e007929c110c7f","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.1","_npmUser":{"name":"chemingjun","email":"chemingjun@126.com"},"dist":{"shasum":"f2a7f54849a8f6d44975816910e007929c110c7f","tarball":"https://registry.npmjs.org/at-js/-/at-js-1.1.9.tgz","integrity":"sha512-DSsxs2M5iXKLScu9JtysremS341ezIuRrLavnnqB0N2GibTqYhqTUwsh9oIfZYDHFsTPt6KiORjhIEw+YmJg0w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE7AC4jZfwsQiYm56Hf9sxWghiva9RBKghNlKgPUuiy9AiEAuoT9lCyXsIgMjfFfhEYYyGJ7gYj1yKbbUcGXyUmGBSA="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/at-js-1.1.9.tgz_1478602275204_0.9741491887252778"}},"1.2.0":{"name":"at-js","scripts":{},"version":"1.2.0","description":"README.md","devDependencies":{},"directories":{},"main":"./index","maintainers":[{"name":"chemingjun","email":"chemingjun@126.com"}],"repository":{"type":"git","url":"http://registry.npmjs.org"},"gitHead":"9d439d657bae53b0990a221079206925f7ef6662","_id":"at-js@1.2.0","_shasum":"5e100cc5d3c89a1882496577ac192cbea0372006","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.1","_npmUser":{"name":"chemingjun","email":"chemingjun@126.com"},"dist":{"shasum":"5e100cc5d3c89a1882496577ac192cbea0372006","tarball":"https://registry.npmjs.org/at-js/-/at-js-1.2.0.tgz","integrity":"sha512-rHmz2VUBAyQTEHNgCRku9/IBX5pnwWJiHaXFD/arxOU7sX2tCpqmL/+TX0Wu6qboa+UiuBNDGDbNCJTo77zLSg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDM8AQ7a86hNVmqrzG0T7zD4VCpud5Qw7NgXjcrazX8zwIgYHF9EHzuanNwi2GH9HuxI3LvEW7UWTB4ALbQ1HMmNLw="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/at-js-1.2.0.tgz_1478667984603_0.24550272012129426"}},"1.2.1":{"name":"at-js","scripts":{},"version":"1.2.1","description":"readme.md","devDependencies":{},"directories":{},"main":"./index","maintainers":[{"name":"chemingjun","email":"chemingjun@126.com"}],"repository":{"type":"git","url":"http://registry.npmjs.org"},"gitHead":"36ed76e7c997f4f663d0dbf2f81c0e6a93765dc8","_id":"at-js@1.2.1","_shasum":"8438e6e550d8b2eecc4386dfbab621410a58133a","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.1","_npmUser":{"name":"chemingjun","email":"chemingjun@126.com"},"dist":{"shasum":"8438e6e550d8b2eecc4386dfbab621410a58133a","tarball":"https://registry.npmjs.org/at-js/-/at-js-1.2.1.tgz","integrity":"sha512-OZgZGVeFenkj72rtCyYuACn5dv5JD3+c+l5i5ugLO+neTYYDswFfCqbpoH1/q9HGal4HJgqr8yTJma1mCSxKvw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+xjP2/Fu0XULoVFmzSxSuOOobeiXUMRmkXkhpBbbJ7wIhAMv6zqIXfqkRR9dvXcZ1TSl12wZo6nag/92+InTbcAeq"}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/at-js-1.2.1.tgz_1478754179880_0.08848018269054592"}},"1.2.2":{"name":"at-js","scripts":{},"version":"1.2.2","description":"readme.md","devDependencies":{},"directories":{},"main":"./index","maintainers":[{"name":"chemingjun","email":"chemingjun@126.com"}],"repository":{"type":"git","url":"http://registry.npmjs.org"},"gitHead":"4ed08a762ef99d406d7a927ab90ecf40ce573d38","_id":"at-js@1.2.2","_shasum":"434c3c50584bbf7654238bad5a1741857d51fb73","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.1","_npmUser":{"name":"chemingjun","email":"chemingjun@126.com"},"dist":{"shasum":"434c3c50584bbf7654238bad5a1741857d51fb73","tarball":"https://registry.npmjs.org/at-js/-/at-js-1.2.2.tgz","integrity":"sha512-uD0u5n63I/0eMQOSFxoq2B/YKR7UzTwHmKks+cGDAu01xObU2uJoizjQZRlFlD0+U54HR3tyrB4TpfjvfGYK9Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIApkVJ7akkxAkoVbhaJYiiaP4fr9zc+V2d0QmSAUheM5AiEA0k1MdtyzMfukKfPedvmujcDAV6LAQWdD+ZTiGU7wdXQ="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/at-js-1.2.2.tgz_1478843952789_0.9781031426973641"}},"1.2.3":{"name":"at-js","scripts":{},"version":"1.2.3","description":"readme.md","devDependencies":{},"directories":{},"main":"./index","maintainers":[{"name":"chemingjun","email":"chemingjun@126.com"}],"repository":{"type":"git","url":"http://registry.npmjs.org"},"gitHead":"1d2de31f0c074b365f7cbfc1a47e85b8e980d274","_id":"at-js@1.2.3","_shasum":"34d5dae47110c130f461b085a844d572fe303049","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.1","_npmUser":{"name":"chemingjun","email":"chemingjun@126.com"},"dist":{"shasum":"34d5dae47110c130f461b085a844d572fe303049","tarball":"https://registry.npmjs.org/at-js/-/at-js-1.2.3.tgz","integrity":"sha512-EpUsC/lIHMYboUlqcSQsDPRCa2ivzY2r+BfpHo3HhWY5SAczCzeAj/7SO5vNMBwPjyqWa+Hd7ObnHeq9U3im5Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJQ1k9Ml/X1a50RVKiiasZbCoI/vHLpcpMWCv/E0rhGQIgcNZEaZeNfkn07NT3G2lXHGOVGPaQHlHu3iiObdfW/pw="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/at-js-1.2.3.tgz_1479192645727_0.8721579951234162"}},"1.2.4":{"name":"at-js","scripts":{},"version":"1.2.4","description":"readme.md","devDependencies":{},"directories":{},"main":"./index","maintainers":[{"name":"chemingjun","email":"chemingjun@126.com"}],"repository":{"type":"git","url":"http://registry.npmjs.org"},"gitHead":"a2e5b3e66621c7d76f54f414aa866cf2de8e838f","_id":"at-js@1.2.4","_shasum":"d888220c1b5c131172e4d82fc6d344cc047ee93a","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.1","_npmUser":{"name":"chemingjun","email":"chemingjun@126.com"},"dist":{"shasum":"d888220c1b5c131172e4d82fc6d344cc047ee93a","tarball":"https://registry.npmjs.org/at-js/-/at-js-1.2.4.tgz","integrity":"sha512-cxeIjFLH0J+yQ08MEOJen0PVzBD/oJVELWlDNw0aYgL3fBmoTcKf8WJTiA1/16od45yEZWwgrYWqe78WuCxPZw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDNbDpti/furBD21ie1LyKNU84n65ulfQX9jAh4JuBE7AiAnHEZWAi0h+JRhhbYbTRsYH+SlbMGznEdeiQa7VOTfsw=="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/at-js-1.2.4.tgz_1479298133096_0.7446901192888618"}},"1.2.5":{"name":"at-js","scripts":{},"version":"1.2.5","description":"为 Javascript/node.js 提供完整的@Annotation扩展机制","devDependencies":{},"directories":{},"main":"./index","maintainers":[{"name":"chemingjun","email":"chemingjun@126.com"}],"repository":{"type":"git","url":"http://registry.npmjs.org"},"license":"MIT","engines":{"node":">= 0.12.0"},"gitHead":"3d9531147cacf20eec0e4a8a9cd56c01220ae45c","_id":"at-js@1.2.5","_shasum":"f148ffa7db25b041b959b5826c89218b1f3594ff","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.1","_npmUser":{"name":"chemingjun","email":"chemingjun@126.com"},"dist":{"shasum":"f148ffa7db25b041b959b5826c89218b1f3594ff","tarball":"https://registry.npmjs.org/at-js/-/at-js-1.2.5.tgz","integrity":"sha512-oSPsO1TuktFkXpFoXleOsNChhah24NfzgGEtxN9MX6nKinQ2FUpbMTBpG8u9CcsaWNA0XRPQ2CwXG90aiaipVw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDewsFrqy6wm5vXuTh2xJ0VRUp59qIcWrvQs3FRdejbfgIgegrxlggGLpFudHhuW/pVoUvKW0iPRgFs/i/84xTTsZI="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/at-js-1.2.5.tgz_1479366165698_0.8392723402939737"}},"1.2.6":{"name":"at-js","scripts":{},"version":"1.2.6","description":"为 Javascript/node.js 提供完整的@Annotation扩展机制","devDependencies":{},"directories":{},"main":"./index","maintainers":[{"name":"chemingjun","email":"chemingjun@126.com"}],"repository":{"type":"git","url":"http://registry.npmjs.org"},"license":"MIT","engines":{"node":">= 0.12.0"},"gitHead":"e66ba1162ee9d2f2583c7a15ac338af4e861c74c","_id":"at-js@1.2.6","_shasum":"441568073f2e93244f55df98fe305d76a46084ca","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.1","_npmUser":{"name":"chemingjun","email":"chemingjun@126.com"},"dist":{"shasum":"441568073f2e93244f55df98fe305d76a46084ca","tarball":"https://registry.npmjs.org/at-js/-/at-js-1.2.6.tgz","integrity":"sha512-9zQ8Qqs1HWSVloGt+7wVmqugHi4xZpcIznLtvUfmcvcmrAVAbbQprlntWUxfrhZfXry7gJlKT7mfpbeKFLJTNA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFFl99KUkcNIoKlJGmr7+ARO+NS0QjUWqLYrQBFyyCRWAiEAt2UABzCykvGq7s+dWKctPIfWECYkHaawzC0PW+fjm80="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/at-js-1.2.6.tgz_1479388733600_0.04420522856526077"}},"1.2.7":{"name":"at-js","scripts":{},"version":"1.2.7","description":"为 Javascript/node.js 提供完整的@Annotation扩展机制","devDependencies":{},"directories":{},"main":"./index","maintainers":[{"name":"chemingjun","email":"chemingjun@126.com"}],"repository":{"type":"git","url":"http://registry.npmjs.org"},"license":"MIT","engines":{"node":">= 0.12.0"},"gitHead":"747464be846b16eaad8432879d5632625125038d","_id":"at-js@1.2.7","_shasum":"1ef25ce5c94a12674c0a61c88164c4778b03be6e","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.1","_npmUser":{"name":"chemingjun","email":"chemingjun@126.com"},"dist":{"shasum":"1ef25ce5c94a12674c0a61c88164c4778b03be6e","tarball":"https://registry.npmjs.org/at-js/-/at-js-1.2.7.tgz","integrity":"sha512-PNVopx0u7zk0oC8PjchjmHyjRRABz6g6KY6GCKq99ioUaJn0adTpabVjRTnDHkDX4kHiNJ8ah+pkw3w52N/ACA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGgNN2SP7hcvvWsvlFp6FGWWTzWD9uyiPuisjfNBVt8pAiEAmivQ1q/Bn+1TCc8WSBIHbDwMnPHXY5ZiVKlVXlFGECs="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/at-js-1.2.7.tgz_1479458540329_0.7988369527738541"}},"1.2.8":{"name":"at-js","scripts":{},"version":"1.2.8","description":"为 Javascript/node.js 提供完整的@Annotation扩展机制","devDependencies":{},"directories":{},"main":"./index","maintainers":[{"name":"chemingjun","email":"chemingjun@126.com"}],"repository":{"type":"git","url":"http://registry.npmjs.org"},"license":"MIT","engines":{"node":">= 0.12.0"},"gitHead":"b7ca9330d8ba3091964c34d879eb2f6afd877e2f","_id":"at-js@1.2.8","_shasum":"72ab0e14ba14c3e4dd815ee3f824df7a6a469afb","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.1","_npmUser":{"name":"chemingjun","email":"chemingjun@126.com"},"dist":{"shasum":"72ab0e14ba14c3e4dd815ee3f824df7a6a469afb","tarball":"https://registry.npmjs.org/at-js/-/at-js-1.2.8.tgz","integrity":"sha512-HFfHQ4icwhXdFL8zRajJ2bHMo8d90cWMHCpm1yxkbl0QGL61IY3rbNp7Qp3ua1wckDjpqXb6/pmnEPieD69/NQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0eRAOjmGmA1mWFb/JT8CcBAZfYl+8IlLhsJxceuLEFAIgdCkCjIi3nm92YCaPiMoAl1f0CBmPhF2NayjCq1YCwG0="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/at-js-1.2.8.tgz_1479461008534_0.15123461047187448"}},"1.2.9":{"name":"at-js","scripts":{},"version":"1.2.9","description":"为 Javascript/node.js 提供完整的@Annotation扩展机制","devDependencies":{},"directories":{},"main":"./index","maintainers":[{"name":"chemingjun","email":"chemingjun@126.com"}],"repository":{"type":"git","url":"http://registry.npmjs.org"},"license":"MIT","engines":{"node":">= 0.12.0"},"gitHead":"afe8bb9d8421613d0c108106883fd226230767c7","_id":"at-js@1.2.9","_shasum":"1ce44c41d0fa0d670568b865dba856e837a6d583","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"chemingjun","email":"chemingjun@126.com"},"dist":{"shasum":"1ce44c41d0fa0d670568b865dba856e837a6d583","tarball":"https://registry.npmjs.org/at-js/-/at-js-1.2.9.tgz","integrity":"sha512-68x9hH7VjIgdhkzGFk2pXpQODgaTzR73p72YJJgndO1bHyu4mUryx4ZmGdHqoASn2fImmx2pRi2yYzJjjpQQXQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3Z8c11odcYYsLwoc6cF6ipPehBuJxjCyjN7hjrM3TAAIgNV4mAPWUS5IaqmKJNPVdyVn0k73z1jyfNp8hd2XAGyk="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/at-js-1.2.9.tgz_1479731822572_0.9306205625180155"}},"1.2.10":{"name":"at-js","scripts":{},"version":"1.2.10","description":"为 Javascript/node.js 提供完整的@Annotation扩展机制","devDependencies":{},"directories":{},"main":"./index","maintainers":[{"name":"chemingjun","email":"chemingjun@126.com"}],"repository":{"type":"git","url":"http://registry.npmjs.org"},"license":"MIT","engines":{"node":">= 0.12.0"},"gitHead":"004bde6f89aa551ce85572a6890726f78c9b5c52","_id":"at-js@1.2.10","_shasum":"e011aaef0656375b312382174678783cc8161a95","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"chemingjun","email":"chemingjun@126.com"},"dist":{"shasum":"e011aaef0656375b312382174678783cc8161a95","tarball":"https://registry.npmjs.org/at-js/-/at-js-1.2.10.tgz","integrity":"sha512-AXtIVBq+K4vBOZq4MJhdphqACvsWfwCkv5gQnk4q7zFQlxdPOeR6zpRiWIrJkhbDkVCSWGZoSCnEzA4qcf1Gdw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjYWybQFtczFAhhswYEZWhy3DzQ39n/tRLqYCOj8RJiwIgBmkOUReBFBDrVdXKwHo8wBtRTw5q6WYuG8cWK2uuMcw="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/at-js-1.2.10.tgz_1481701164043_0.6318015910219401"}},"1.2.11":{"name":"at-js","scripts":{},"version":"1.2.11","description":"为 Javascript/node.js 提供完整的@Annotation扩展机制","devDependencies":{},"directories":{},"main":"./index","maintainers":[{"name":"chemingjun","email":"chemingjun@126.com"}],"repository":{"type":"git","url":"http://registry.npmjs.org"},"license":"MIT","engines":{"node":">= 0.12.0"},"gitHead":"3ffcb1bef7dc8bfafad731038ad2865e527f0c6a","_id":"at-js@1.2.11","_shasum":"2e606c5543b249f52faf2f8bed4bc3f0290f044e","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"chemingjun","email":"chemingjun@126.com"},"dist":{"shasum":"2e606c5543b249f52faf2f8bed4bc3f0290f044e","tarball":"https://registry.npmjs.org/at-js/-/at-js-1.2.11.tgz","integrity":"sha512-I+kb67hFttGVxNVzeb1smNv3/zhee5c8jCL6Lch6mK8J8egFKfCCUmPBOWOlbK9cDtBDcSJZDcYe10BjlEOGmw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNscp/2TZMKQ92/IL9T7Drs2STVFK+wHVkV/zZFmUPFAIhAKuz3gE9gOPYHGhWGTBlvBNO9h4rh9T5rCPghhemmzWm"}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/at-js-1.2.11.tgz_1481781665985_0.8714267164468765"}},"1.2.12":{"name":"at-js","scripts":{},"version":"1.2.12","description":"为 Javascript/node.js 提供完整的@Annotation扩展机制","devDependencies":{},"directories":{},"main":"./index","maintainers":[{"name":"chemingjun","email":"chemingjun@126.com"}],"repository":{"type":"git","url":"http://registry.npmjs.org"},"license":"MIT","engines":{"node":">= 0.12.0"},"gitHead":"3ffcb1bef7dc8bfafad731038ad2865e527f0c6a","_id":"at-js@1.2.12","_shasum":"5f6e8ed605e8a519a05e7d2530a4a029ac6d3c25","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"chemingjun","email":"chemingjun@126.com"},"dist":{"shasum":"5f6e8ed605e8a519a05e7d2530a4a029ac6d3c25","tarball":"https://registry.npmjs.org/at-js/-/at-js-1.2.12.tgz","integrity":"sha512-xdNCAU8RxPzd63h/yNucREOYrdJLZAMtcLIG+OVhHSODEZwm55R+K8w30FraHX1JORoMfPnzK7K3/16Js0SNjQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDvQInwMBaAzgudpxR7PaBI77jidia8qPJKiJTQyWES8QIhAKNT6C7vFu794FdV+m6PDfY38RpTWKXnMPRs0TyWmDQV"}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/at-js-1.2.12.tgz_1481790628752_0.03165116347372532"}}},"repository":{"type":"git","url":"http://registry.npmjs.org"},"readmeFilename":"readme.md","license":"MIT"}