{"_id":"ast-util","_rev":"140545","name":"ast-util","description":"Utilities for AST transformers.","dist-tags":{"latest":"0.6.0"},"maintainers":[{"name":"eventualbuddha","email":""}],"time":{"modified":"2021-06-03T11:26:38.000Z","created":"2014-04-27T23:45:40.008Z","0.6.0":"2014-12-31T17:49:59.897Z","0.5.2":"2014-10-26T14:37:54.046Z","0.5.1":"2014-10-15T14:40:49.493Z","0.5.0":"2014-10-09T02:01:19.756Z","0.4.1":"2014-09-03T15:57:59.900Z","0.4.0":"2014-08-26T18:30:40.476Z","0.3.4":"2014-07-31T17:15:36.941Z","0.3.3":"2014-07-31T17:10:34.664Z","0.3.2":"2014-07-31T17:03:30.518Z","0.3.1":"2014-07-09T18:27:47.429Z","0.3.0":"2014-06-19T17:34:11.405Z","0.2.0":"2014-06-13T18:24:38.695Z","0.1.2":"2014-06-04T19:12:35.336Z","0.1.1":"2014-05-31T17:17:50.292Z","0.1.0":"2014-05-31T15:34:20.159Z","0.0.6":"2014-05-06T17:17:03.891Z","0.0.5":"2014-04-29T20:11:33.107Z","0.0.4":"2014-04-29T20:08:29.304Z","0.0.3":"2014-04-29T19:57:16.189Z","0.0.2":"2014-04-29T16:09:33.079Z","0.0.1":"2014-04-27T23:45:40.008Z"},"users":{},"author":{"name":"Brian Donovan"},"repository":{"type":"git","url":"git://github.com/eventualbuddha/ast-util.git"},"versions":{"0.6.0":{"name":"ast-util","version":"0.6.0","description":"Utilities for AST transformers.","main":"lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git://github.com/eventualbuddha/ast-util.git"},"keywords":["ast","transform","esnext","es6","macros"],"author":{"name":"Brian Donovan"},"license":"Apache 2","bugs":{"url":"https://github.com/eventualbuddha/ast-util/issues"},"homepage":"https://github.com/eventualbuddha/ast-util","devDependencies":{"mocha":"~2.1.0","recast":"~0.9.11"},"dependencies":{"ast-types":"~0.6.7","private":"~0.1.6"},"gitHead":"6ea220d1999979c970c6a0a11faf4c9db4c1fddf","_id":"ast-util@0.6.0","_shasum":"0d913d04f0e9831e53f9991dc99009e2da774810","_from":".","_npmVersion":"2.1.16","_nodeVersion":"0.10.35","_npmUser":{"name":"eventualbuddha","email":"me@brian-donovan.com"},"maintainers":[{"name":"eventualbuddha","email":""}],"dist":{"shasum":"0d913d04f0e9831e53f9991dc99009e2da774810","size":23123,"noattachment":false,"key":"/ast-util/-/ast-util-0.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ast-util/download/ast-util-0.6.0.tgz"},"publish_time":1420048199897,"_cnpm_publish_time":1420048199897,"_hasShrinkwrap":false},"0.5.2":{"name":"ast-util","version":"0.5.2","description":"Utilities for AST transformers.","main":"lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git://github.com/eventualbuddha/ast-util.git"},"keywords":["ast","transform","esnext","es6","macros"],"author":{"name":"Brian Donovan"},"license":"Apache 2","bugs":{"url":"https://github.com/eventualbuddha/ast-util/issues"},"homepage":"https://github.com/eventualbuddha/ast-util","devDependencies":{"esprima-fb":"^7001.1.0-dev-harmony-fb","mocha":"~1.18.2","recast":"~0.8.0"},"dependencies":{"ast-types":"~0.5.3","private":"~0.1.5"},"gitHead":"ae10c921d652f9ad62ec499193be769f2689fd76","_id":"ast-util@0.5.2","_shasum":"46f70438149f22b27dc152f76c13a9da4b03960d","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"eventualbuddha","email":"me@brian-donovan.com"},"maintainers":[{"name":"eventualbuddha","email":""}],"dist":{"shasum":"46f70438149f22b27dc152f76c13a9da4b03960d","size":23278,"noattachment":false,"key":"/ast-util/-/ast-util-0.5.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/ast-util/download/ast-util-0.5.2.tgz"},"publish_time":1414334274046,"_cnpm_publish_time":1414334274046,"_hasShrinkwrap":false},"0.5.1":{"name":"ast-util","version":"0.5.1","description":"Utilities for AST transformers.","main":"lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git://github.com/eventualbuddha/ast-util.git"},"keywords":["ast","transform","esnext","es6","macros"],"author":{"name":"Brian Donovan"},"license":"Apache 2","bugs":{"url":"https://github.com/eventualbuddha/ast-util/issues"},"homepage":"https://github.com/eventualbuddha/ast-util","devDependencies":{"esprima-fb":"^7001.1.0-dev-harmony-fb","mocha":"~1.18.2","recast":"~0.8.0"},"dependencies":{"ast-types":"~0.5.3","private":"~0.1.5"},"gitHead":"5615b9b9000aa92cf6f67c6d07a325b5f2736aac","_id":"ast-util@0.5.1","_shasum":"52e081442fa592528b87ada6fa42fde4a6128943","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"eventualbuddha","email":"me@brian-donovan.com"},"maintainers":[{"name":"eventualbuddha","email":""}],"dist":{"shasum":"52e081442fa592528b87ada6fa42fde4a6128943","size":22867,"noattachment":false,"key":"/ast-util/-/ast-util-0.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ast-util/download/ast-util-0.5.1.tgz"},"publish_time":1413384049493,"_cnpm_publish_time":1413384049493,"_hasShrinkwrap":false},"0.5.0":{"name":"ast-util","version":"0.5.0","description":"Utilities for AST transformers.","main":"lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git://github.com/eventualbuddha/ast-util.git"},"keywords":["ast","transform","esnext","es6","macros"],"author":{"name":"Brian Donovan"},"license":"Apache 2","bugs":{"url":"https://github.com/eventualbuddha/ast-util/issues"},"homepage":"https://github.com/eventualbuddha/ast-util","devDependencies":{"esprima-fb":"^7001.1.0-dev-harmony-fb","mocha":"~1.18.2","recast":"~0.8.0"},"dependencies":{"ast-types":"~0.5.2","private":"~0.1.5"},"gitHead":"c4968651a10d0c3096b554fb362adb3cc4623f0a","_id":"ast-util@0.5.0","_shasum":"9e18b9f665b14615ae1f3b0fb251932a6dd6664b","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"eventualbuddha","email":"me@brian-donovan.com"},"maintainers":[{"name":"eventualbuddha","email":""}],"dist":{"shasum":"9e18b9f665b14615ae1f3b0fb251932a6dd6664b","size":22791,"noattachment":false,"key":"/ast-util/-/ast-util-0.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ast-util/download/ast-util-0.5.0.tgz"},"publish_time":1412820079756,"_cnpm_publish_time":1412820079756,"_hasShrinkwrap":false},"0.4.1":{"name":"ast-util","version":"0.4.1","description":"Utilities for AST transformers.","main":"lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git://github.com/eventualbuddha/ast-util.git"},"keywords":["ast","transform","esnext","es6","macros"],"author":{"name":"Brian Donovan"},"license":"Apache 2","bugs":{"url":"https://github.com/eventualbuddha/ast-util/issues"},"homepage":"https://github.com/eventualbuddha/ast-util","devDependencies":{"esprima-fb":"~5001.1.0-dev-harmony-fb","mocha":"~1.18.2","recast":"~0.6.7"},"dependencies":{"ast-types":"~0.4.9","private":"~0.1.5"},"gitHead":"e5f2ed0901d15620fd5fc20b4c94292f81ee60da","_id":"ast-util@0.4.1","_shasum":"f53bebe740859bf0264d430bd3903d73d00850e6","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"eventualbuddha","email":"me@brian-donovan.com"},"maintainers":[{"name":"eventualbuddha","email":""}],"dist":{"shasum":"f53bebe740859bf0264d430bd3903d73d00850e6","size":22797,"noattachment":false,"key":"/ast-util/-/ast-util-0.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ast-util/download/ast-util-0.4.1.tgz"},"publish_time":1409759879900,"_cnpm_publish_time":1409759879900,"_hasShrinkwrap":false},"0.4.0":{"name":"ast-util","version":"0.4.0","description":"Utilities for AST transformers.","main":"lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git://github.com/eventualbuddha/ast-util.git"},"keywords":["ast","transform","esnext","es6","macros"],"author":{"name":"Brian Donovan"},"license":"Apache 2","bugs":{"url":"https://github.com/eventualbuddha/ast-util/issues"},"homepage":"https://github.com/eventualbuddha/ast-util","devDependencies":{"esprima-fb":"~5001.1.0-dev-harmony-fb","mocha":"~1.18.2","recast":"~0.6.7"},"dependencies":{"ast-types":"~0.4.9","private":"~0.1.5"},"gitHead":"272ee6d1450565eab11d6c457f96a410b711e44a","_id":"ast-util@0.4.0","_shasum":"9fbc70f7b5822032147fdcce5da88875d34794d9","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"eventualbuddha","email":"me@brian-donovan.com"},"maintainers":[{"name":"eventualbuddha","email":""}],"dist":{"shasum":"9fbc70f7b5822032147fdcce5da88875d34794d9","size":22728,"noattachment":false,"key":"/ast-util/-/ast-util-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ast-util/download/ast-util-0.4.0.tgz"},"publish_time":1409077840476,"_cnpm_publish_time":1409077840476,"_hasShrinkwrap":false},"0.3.4":{"name":"ast-util","version":"0.3.4","description":"Utilities for AST transformers.","main":"lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git://github.com/eventualbuddha/ast-util.git"},"keywords":["ast","transform","esnext","es6","macros"],"author":{"name":"Brian Donovan"},"license":"Apache 2","bugs":{"url":"https://github.com/eventualbuddha/ast-util/issues"},"homepage":"https://github.com/eventualbuddha/ast-util","devDependencies":{"mocha":"^1.18.2","recast":"^0.6.7","esprima":"git://github.com/ariya/esprima.git#harmony"},"dependencies":{"ast-types":"^0.4.1","private":"^0.1.5"},"gitHead":"98ae0cecb28a20408bc0f572e6adea8089eeae8a","_id":"ast-util@0.3.4","_shasum":"e9ddac06a3c7b594861d76a61ceed04e77c6775a","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"eventualbuddha","email":"me@brian-donovan.com"},"maintainers":[{"name":"eventualbuddha","email":""}],"dist":{"shasum":"e9ddac06a3c7b594861d76a61ceed04e77c6775a","size":22665,"noattachment":false,"key":"/ast-util/-/ast-util-0.3.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/ast-util/download/ast-util-0.3.4.tgz"},"publish_time":1406826936941,"_cnpm_publish_time":1406826936941,"_hasShrinkwrap":false},"0.3.3":{"name":"ast-util","version":"0.3.3","description":"Utilities for AST transformers.","main":"lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git://github.com/eventualbuddha/ast-util.git"},"keywords":["ast","transform","esnext","es6","macros"],"author":{"name":"Brian Donovan"},"license":"Apache 2","bugs":{"url":"https://github.com/eventualbuddha/ast-util/issues"},"homepage":"https://github.com/eventualbuddha/ast-util","devDependencies":{"mocha":"^1.18.2","recast":"^0.6.7","esprima":"git://github.com/ariya/esprima.git#harmony"},"dependencies":{"ast-types":"^0.4.1","private":"^0.1.5"},"gitHead":"ceffd25a93b0e621685125d1d1d22a5e2e405a49","_id":"ast-util@0.3.3","_shasum":"bdb39765a5e4cb50f75e041291c802309fb6c504","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"eventualbuddha","email":"me@brian-donovan.com"},"maintainers":[{"name":"eventualbuddha","email":""}],"dist":{"shasum":"bdb39765a5e4cb50f75e041291c802309fb6c504","size":22648,"noattachment":false,"key":"/ast-util/-/ast-util-0.3.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/ast-util/download/ast-util-0.3.3.tgz"},"publish_time":1406826634664,"_cnpm_publish_time":1406826634664,"_hasShrinkwrap":false},"0.3.2":{"name":"ast-util","version":"0.3.2","description":"Utilities for AST transformers.","main":"lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git://github.com/square/ast-util.git"},"keywords":["ast","transform","esnext","es6","macros"],"author":{"name":"Square, Inc."},"license":"Apache 2","bugs":{"url":"https://github.com/square/ast-util/issues"},"homepage":"https://github.com/square/ast-util","devDependencies":{"mocha":"^1.18.2","recast":"^0.6.7","esprima":"git://github.com/ariya/esprima.git#harmony"},"dependencies":{"ast-types":"^0.4.1","private":"^0.1.5"},"gitHead":"e3ff10e4e3b420ac3191b24045056de57c354bb6","_id":"ast-util@0.3.2","_shasum":"14ebaf5dacf0aebca7362a298094d521218b7b8e","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"eventualbuddha","email":"me@brian-donovan.com"},"maintainers":[{"name":"eventualbuddha","email":""}],"dist":{"shasum":"14ebaf5dacf0aebca7362a298094d521218b7b8e","size":22639,"noattachment":false,"key":"/ast-util/-/ast-util-0.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/ast-util/download/ast-util-0.3.2.tgz"},"publish_time":1406826210518,"_cnpm_publish_time":1406826210518,"_hasShrinkwrap":false},"0.3.1":{"name":"ast-util","version":"0.3.1","description":"Utilities for AST transformers.","main":"lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git://github.com/square/ast-util.git"},"keywords":["ast","transform","esnext","es6","macros"],"author":{"name":"Square, Inc."},"license":"Apache 2","bugs":{"url":"https://github.com/square/ast-util/issues"},"homepage":"https://github.com/square/ast-util","devDependencies":{"mocha":"^1.18.2","recast":"^0.6.2","esprima":"git://github.com/ariya/esprima.git#harmony"},"dependencies":{"ast-types":"^0.4.1","private":"^0.1.5"},"gitHead":"61ca1bea3e16f924fd09dbc10c318e9b04203310","_id":"ast-util@0.3.1","_shasum":"4c1409945d27fd10f5235540d0dbde84c1d45dec","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"eventualbuddha","email":"me@brian-donovan.com"},"maintainers":[{"name":"eventualbuddha","email":""}],"dist":{"shasum":"4c1409945d27fd10f5235540d0dbde84c1d45dec","size":21095,"noattachment":false,"key":"/ast-util/-/ast-util-0.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ast-util/download/ast-util-0.3.1.tgz"},"publish_time":1404930467429,"_cnpm_publish_time":1404930467429,"_hasShrinkwrap":false},"0.3.0":{"name":"ast-util","version":"0.3.0","description":"Utilities for AST transformers.","main":"lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git://github.com/square/ast-util.git"},"keywords":["ast","transform","esnext","es6","macros"],"author":{"name":"Square, Inc."},"license":"Apache 2","bugs":{"url":"https://github.com/square/ast-util/issues"},"homepage":"https://github.com/square/ast-util","devDependencies":{"mocha":"^1.18.2","recast":"^0.5.16","esprima":"git://github.com/ariya/esprima.git#harmony"},"dependencies":{"ast-types":"^0.3.26","private":"^0.1.3"},"gitHead":"d40e3e50797865286ba272695f22510bc24b947c","_id":"ast-util@0.3.0","_shasum":"11599e34dd95441fda06b87d6cb2b5c8848ad8bc","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"eventualbuddha","email":"me@brian-donovan.com"},"maintainers":[{"name":"eventualbuddha","email":""}],"dist":{"shasum":"11599e34dd95441fda06b87d6cb2b5c8848ad8bc","size":20896,"noattachment":false,"key":"/ast-util/-/ast-util-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ast-util/download/ast-util-0.3.0.tgz"},"publish_time":1403199251405,"_cnpm_publish_time":1403199251405,"_hasShrinkwrap":false},"0.2.0":{"name":"ast-util","version":"0.2.0","description":"Utilities for AST transformers.","main":"lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git://github.com/square/ast-util.git"},"keywords":["ast","transform","esnext","es6","macros"],"author":{"name":"Square, Inc."},"license":"Apache 2","bugs":{"url":"https://github.com/square/ast-util/issues"},"homepage":"https://github.com/square/ast-util","devDependencies":{"mocha":"^1.18.2","recast":"^0.5.16","esprima":"git://github.com/ariya/esprima.git#harmony"},"dependencies":{"ast-types":"^0.3.26","private":"^0.1.3"},"gitHead":"06b9bdb7299394124c08c2414347bddb2e18717b","_id":"ast-util@0.2.0","_shasum":"30c841c4f26a233c970bb1ae4800905caacb3a81","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"eventualbuddha","email":"me@brian-donovan.com"},"maintainers":[{"name":"eventualbuddha","email":""}],"dist":{"shasum":"30c841c4f26a233c970bb1ae4800905caacb3a81","size":12410,"noattachment":false,"key":"/ast-util/-/ast-util-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ast-util/download/ast-util-0.2.0.tgz"},"publish_time":1402683878695,"_cnpm_publish_time":1402683878695,"_hasShrinkwrap":false},"0.1.2":{"name":"ast-util","version":"0.1.2","description":"Utilities for AST transformers.","main":"lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git://github.com/square/ast-util.git"},"keywords":["ast","transform","esnext","es6","macros"],"author":{"name":"Square, Inc."},"license":"Apache 2","bugs":{"url":"https://github.com/square/ast-util/issues"},"homepage":"https://github.com/square/ast-util","devDependencies":{"mocha":"^1.18.2","recast":"^0.5.16","esprima":"git://github.com/ariya/esprima.git#harmony"},"dependencies":{"ast-types":"^0.3.26","private":"^0.1.3"},"_id":"ast-util@0.1.2","_shasum":"bfc1677485713400f76ce9233ee04d96c4d00bed","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"eventualbuddha","email":"me@brian-donovan.com"},"maintainers":[{"name":"eventualbuddha","email":""}],"dist":{"shasum":"bfc1677485713400f76ce9233ee04d96c4d00bed","size":11013,"noattachment":false,"key":"/ast-util/-/ast-util-0.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/ast-util/download/ast-util-0.1.2.tgz"},"publish_time":1401909155336,"_cnpm_publish_time":1401909155336,"_hasShrinkwrap":false},"0.1.1":{"name":"ast-util","version":"0.1.1","description":"Utilities for AST transformers.","main":"lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git://github.com/square/ast-util.git"},"keywords":["ast","transform","esnext","es6","macros"],"author":{"name":"Square, Inc."},"license":"Apache 2","bugs":{"url":"https://github.com/square/ast-util/issues"},"homepage":"https://github.com/square/ast-util","devDependencies":{"mocha":"^1.18.2","recast":"^0.5.16","esprima":"git://github.com/ariya/esprima.git#harmony"},"dependencies":{"ast-types":"^0.3.26","private":"^0.1.3"},"_id":"ast-util@0.1.1","dist":{"shasum":"62a4b24501add62baefd5811d4704a40511e30c5","size":10942,"noattachment":false,"key":"/ast-util/-/ast-util-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ast-util/download/ast-util-0.1.1.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"eventualbuddha","email":"me@brian-donovan.com"},"maintainers":[{"name":"eventualbuddha","email":""}],"publish_time":1401556670292,"_cnpm_publish_time":1401556670292,"_hasShrinkwrap":false},"0.1.0":{"name":"ast-util","version":"0.1.0","description":"Utilities for AST transformers.","main":"lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git://github.com/square/ast-util.git"},"keywords":["ast","transform","esnext","es6","macros"],"author":{"name":"Square, Inc."},"license":"Apache 2","bugs":{"url":"https://github.com/square/ast-util/issues"},"homepage":"https://github.com/square/ast-util","devDependencies":{"mocha":"^1.18.2","recast":"^0.5.16","esprima":"git://github.com/ariya/esprima.git#harmony"},"dependencies":{"ast-types":"^0.3.26","private":"^0.1.3"},"_id":"ast-util@0.1.0","dist":{"shasum":"9f09fa762396c0aabbb152da4eaf604a25411b65","size":10937,"noattachment":false,"key":"/ast-util/-/ast-util-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ast-util/download/ast-util-0.1.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"eventualbuddha","email":"me@brian-donovan.com"},"maintainers":[{"name":"eventualbuddha","email":""}],"publish_time":1401550460159,"_cnpm_publish_time":1401550460159,"_hasShrinkwrap":false},"0.0.6":{"name":"ast-util","version":"0.0.6","description":"Utilities for AST transformers.","main":"lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git://github.com/square/ast-util.git"},"keywords":["ast","transform","esnext","es6","macros"],"author":{"name":"Square, Inc."},"license":"Apache 2","bugs":{"url":"https://github.com/square/ast-util/issues"},"homepage":"https://github.com/square/ast-util","devDependencies":{"mocha":"^1.18.2","recast":"^0.5.16","esprima":"git://github.com/ariya/esprima.git#harmony"},"dependencies":{"ast-types":"^0.3.26","private":"^0.1.3"},"_id":"ast-util@0.0.6","dist":{"shasum":"f20cfa584d97300719766392fc1855c626ffb2d9","size":9737,"noattachment":false,"key":"/ast-util/-/ast-util-0.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/ast-util/download/ast-util-0.0.6.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"eventualbuddha","email":"me@brian-donovan.com"},"maintainers":[{"name":"eventualbuddha","email":""}],"publish_time":1399396623891,"_cnpm_publish_time":1399396623891,"_hasShrinkwrap":false},"0.0.5":{"name":"ast-util","version":"0.0.5","description":"Utilities for AST transformers.","main":"lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git://github.com/square/ast-util.git"},"keywords":["ast","transform","esnext","es6","macros"],"author":{"name":"Square, Inc."},"license":"Apache 2","bugs":{"url":"https://github.com/square/ast-util/issues"},"homepage":"https://github.com/square/ast-util","devDependencies":{"mocha":"^1.18.2","recast":"^0.5.16","esprima":"git://github.com/ariya/esprima.git#harmony"},"dependencies":{"ast-types":"^0.3.26","private":"^0.1.3"},"_id":"ast-util@0.0.5","dist":{"shasum":"e730cc4078e5d1d7e0895c6369a4ca3c876130a2","size":9713,"noattachment":false,"key":"/ast-util/-/ast-util-0.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/ast-util/download/ast-util-0.0.5.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"eventualbuddha","email":"me@brian-donovan.com"},"maintainers":[{"name":"eventualbuddha","email":""}],"publish_time":1398802293107,"_cnpm_publish_time":1398802293107,"_hasShrinkwrap":false},"0.0.4":{"name":"ast-util","version":"0.0.4","description":"Utilities for AST transformers.","main":"lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git://github.com/square/ast-util.git"},"keywords":["ast","transform","esnext","es6","macros"],"author":{"name":"Square, Inc."},"license":"Apache 2","bugs":{"url":"https://github.com/square/ast-util/issues"},"homepage":"https://github.com/square/ast-util","devDependencies":{"mocha":"^1.18.2","recast":"^0.5.16","esprima":"git://github.com/ariya/esprima.git#harmony"},"dependencies":{"ast-types":"^0.3.26","private":"^0.1.3"},"_id":"ast-util@0.0.4","dist":{"shasum":"eb28c5aff9cdfbf2568229a3b558367d0dbea6fa","size":9667,"noattachment":false,"key":"/ast-util/-/ast-util-0.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/ast-util/download/ast-util-0.0.4.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"eventualbuddha","email":"me@brian-donovan.com"},"maintainers":[{"name":"eventualbuddha","email":""}],"publish_time":1398802109304,"_cnpm_publish_time":1398802109304,"_hasShrinkwrap":false},"0.0.3":{"name":"ast-util","version":"0.0.3","description":"Utilities for AST transformers.","main":"lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git://github.com/square/ast-util.git"},"keywords":["ast","transform","esnext","es6","macros"],"author":{"name":"Square, Inc."},"license":"Apache 2","bugs":{"url":"https://github.com/square/ast-util/issues"},"homepage":"https://github.com/square/ast-util","devDependencies":{"mocha":"^1.18.2","recast":"^0.5.16","esprima":"git://github.com/ariya/esprima.git#harmony"},"dependencies":{"ast-types":"^0.3.26","private":"^0.1.3"},"_id":"ast-util@0.0.3","dist":{"shasum":"aa5fba67d2b44396063e7af6a385e18c71340965","size":9571,"noattachment":false,"key":"/ast-util/-/ast-util-0.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/ast-util/download/ast-util-0.0.3.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"eventualbuddha","email":"me@brian-donovan.com"},"maintainers":[{"name":"eventualbuddha","email":""}],"publish_time":1398801436189,"_cnpm_publish_time":1398801436189,"_hasShrinkwrap":false},"0.0.2":{"name":"ast-util","version":"0.0.2","description":"Utilities for AST transformers.","main":"lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git://github.com/square/ast-util.git"},"keywords":["ast","transform","esnext","es6","macros"],"author":{"name":"Square, Inc."},"license":"Apache 2","bugs":{"url":"https://github.com/square/ast-util/issues"},"homepage":"https://github.com/square/ast-util","devDependencies":{"mocha":"^1.18.2","recast":"^0.5.16"},"dependencies":{"ast-types":"^0.3.26","private":"^0.1.3"},"_id":"ast-util@0.0.2","dist":{"shasum":"75fe08bd70a721f09824eeac1adff436e55db26a","size":9398,"noattachment":false,"key":"/ast-util/-/ast-util-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/ast-util/download/ast-util-0.0.2.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"eventualbuddha","email":"me@brian-donovan.com"},"maintainers":[{"name":"eventualbuddha","email":""}],"publish_time":1398787773079,"_cnpm_publish_time":1398787773079,"_hasShrinkwrap":false},"0.0.1":{"name":"ast-util","version":"0.0.1","description":"Utilities for AST transformers.","main":"lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git://github.com/square/ast-util.git"},"keywords":["ast","transform","esnext","es6","macros"],"author":{"name":"Square, Inc."},"license":"Apache 2","bugs":{"url":"https://github.com/square/ast-util/issues"},"homepage":"https://github.com/square/ast-util","devDependencies":{"mocha":"^1.18.2","recast":"^0.5.16"},"dependencies":{"ast-types":"git://github.com/eventualbuddha/ast-types#fix-prepending-nodes-to-array","private":"^0.1.3"},"_id":"ast-util@0.0.1","dist":{"shasum":"6688834591ad205cf865171f720f48eea43f9af8","size":9432,"noattachment":false,"key":"/ast-util/-/ast-util-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ast-util/download/ast-util-0.0.1.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"eventualbuddha","email":"me@brian-donovan.com"},"maintainers":[{"name":"eventualbuddha","email":""}],"publish_time":1398642340008,"_cnpm_publish_time":1398642340008,"_hasShrinkwrap":false}},"readme":"# ast-util\n\nUtilities for AST transformers.\n\n## Install\n\n```\n$ npm install [--save] ast-util\n```\n\n## API\n\n<a name=\"callArraySlice\" href=\"#user-content-callArraySlice\">#</a> <b>callArraySlice</b>(<i>scope</i>, <i>node</i>[, <i>begin</i>, <i>end</i>])\n\nReturns a call to `Array.prototype.slice` with `node` as the context and\n`begin` and `end` as the arguments to `slice`.\n\n\n<a name=\"callFunctionBind\" href=\"#user-content-callFunctionBind\">#</a> <b>callFunctionBind</b>(<i>scope</i>, <i>fn</i>, <i>context</i>[, <i>args</i>])\n\nReturns a call to `Function.prototype.bind` using either `call` or `apply`\ndepending on what the value of `args` is. If `args` is an expression then\n`apply` is used. If `args` is an array of expressions, then `call`.\n\n\n<a name=\"callGet\" href=\"#user-content-callGet\">#</a> <b>callGet</b>(<i>scope</i>, <i>object</i>, <i>property</i>, <i>receiver</i>)\n\nThe [[Get]] internal method on objects would look something like\n[helpers/get.js](helpers/get.js).\n\n\n<a name=\"callGetOwnPropertyDescriptor\" href=\"#user-content-callGetOwnPropertyDescriptor\">#</a> <b>callGetOwnPropertyDescriptor</b>(<i>scope</i>, <i>object</i>, <i>property</i>)\n\nReturns a call to `Object.getOwnPropertyDescriptor` with the given `object` and\n`property`.\n\n\n<a name=\"callGetPrototypeOf\" href=\"#user-content-callGetPrototypeOf\">#</a> <b>callGetPrototypeOf</b>(<i>scope</i>, <i>object</i>)\n\nReturns a call to `Object.getPrototypeOf` with the given `object`.\n\n\n<a name=\"callHasOwnProperty\" href=\"#user-content-callHasOwnProperty\">#</a> <b>callHasOwnProperty</b>(<i>scope</i>, <i>node</i>, <i>property</i>)\n\nReturns a call to `hasOwnProperty` with `node` as the context and `property` as\nthe property to check.\n\n\n<a name=\"callSharedMethod\" href=\"#user-content-callSharedMethod\">#</a> <b>callSharedMethod</b>(<i>scope</i>, <i>callee</i>, <i>args</i>)\n\nReturns a call to the given `callee` with `args` as the arguments. If `callee`\nis a string then it is treated as a globally-accessible function such as\n`Object.defineProperty` which will be stored in a unique temporary variable.\nSubsequent calls to this function will re-use the same temporary variable.\n\n\n<a name=\"callSharedMethodWithContext\" href=\"#user-content-callSharedMethodWithContext\">#</a> <b>callSharedMethodWithContext</b>(<i>scope</i>, <i>callee</i>, <i>context</i>, <i>args</i>)\n\nReturns a call to the given `callee` with `context` as the method context and\n`args` as the arguments. If `callee` is a string then it is treated as a\nglobally-accessible function such as `Array.prototype.slice` which will be\nstored in a unique temporary variable. Subsequent calls to this function will\nre-use the same temporary variable.\n\n\n<a name=\"getGlobals\" href=\"#user-content-getGlobals\">#</a> <b>getGlobals</b>(<i>ast</i>)\n\nGets a list of identifiers referencing global variables anywhere within the\ngiven `ast`. Assuming the ast is for this code:\n\n```js\nvar a;\nfunction b(){ return c; }\nb(d);\n```\n\nThen `getGlobals` will return two identifiers, `c` and `d`.\n\n\n<a name=\"identifierForString\" href=\"#user-content-identifierForString\">#</a> <b>identifierForString</b>(<i>string</i>)\n\nGenerate a safe JavaScript identifier for the given string.\n\n\n<a name=\"injectShared\" href=\"#user-content-injectShared\">#</a> <b>injectShared</b>(<i>scope</i>, <i>name</i>, <i>expression</i>)\n\nInjects a shared variable with a unique identifier. Only the first call with\nthe same `scope` and `name` will result in a variable declaration being\ncreated. The `expression` passed in can either be an AST node or a function to\ngenerate one. This function is generally used to inject repeatedly-used values\nand prevent repeated execution.\n\n\n<a name=\"injectVariable\" href=\"#user-content-injectVariable\">#</a> <b>injectVariable</b>(<i>scope</i>, <i>identifier</i>[, <i>init</i>])\n\nInjects a variable with the given `identifier` into the given `scope` as a\n`var` declaration with an optional initial value.\n\n\n<a name=\"isReference\" href=\"#user-content-isReference\">#</a> <b>isReference</b>(<i>path</i>)\n\nDetermines whether the given `path` is a value reference. For example, `a` and\n`b` are references, but `c` is not:\n\n```js\na(b.c);\n```\n\nOnly identifiers count as references.\n\n\n<a name=\"isUsed\" href=\"#user-content-isUsed\">#</a> <b>isUsed</b>(<i>scope</i>, <i>name</i>)\n\nDetermines whether the given `name` should be considered \"used\" in the given\n`scope`. For a name to be used, it should either:\n\n  1. Be declared in this scope or a parent scope.\n  2. Be referenced in this scope, a parent scope, or any child scopes.\n\nFor example, `a`, `b`, and `d` are used in the global scope of this example\nwhile `c` is not:\n\n```js\nvar a;\nfunction b() {}\n\ntry {\n  a = b(d);\n} catch (c) {\n}\n```\n\n\n<a name=\"sharedFor\" href=\"#user-content-sharedFor\">#</a> <b>sharedFor</b>(<i>scope</i>, <i>name</i>)\n\nInjects a shared variable by getting the named value from a dotted path. For\nexample, this will return an identifier that can be used in place of the named\nexpression:\n\n```js\nsharedFor(scope, 'Object.defineProperty')\n```\n\nSubsequent calls to `sharedFor` in the same scope will return the same\nidentifier.\n\n\n<a name=\"uniqueIdentifier\" href=\"#user-content-uniqueIdentifier\">#</a> <b>uniqueIdentifier</b>(<i>scope</i>[, <i>name</i>])\n\nGenerates an identifier guaranteed not to collide with any others in the given\n`scope`. This function will also never generate the same identifier twice for\nany `scope` whose global scope already got that identifier.\n\nCalled in a scope with no global references and no variables, the first time\nthis function is called it will return an identifier named `$__0`.\n\nWhen called with a name that name will be used with a prefix, \"$\\_\\_\", if\npossible. If that name is already used then it will append incrementing numbers\nuntil it finds a name that isn't used.\n\n\n## Usage\n\nThese methods are useful to source transforms, such as transpilers or macros.\nSuch transforms often have to insert variables into scopes and replace\nexpressions. Using `injectVariable` and `injectShared` are specifically for\nthat purpose. In conjunction with `ast-types`, here's how you'd write a simple\nversion of a `swap` macro:\n\n```js\n// var tmp;\nvar tmp = util.injectVariable(\n  this.scope,\n  util.uniqueIdentifier(this.scope)\n);\n\nthis.replace(\n  b.sequenceExpression([\n    // tmp = left\n    b.assignmentExpression(\n      '=',\n      tmp,\n      left\n    ),\n    // left = right\n    b.assignmentExpression(\n      '=',\n      left,\n      right\n    ),\n    // right = tmp\n    b.assignmentExpression(\n      '=',\n      right,\n      tmp\n    )\n  ])\n);\n```\n\nSee [examples/swap-macro.js](examples/swap-macro.js) for a more complete\nexample.\n\n## Contributing\n\n[![Build Status](https://travis-ci.org/eventualbuddha/ast-util.png?branch=master)](https://travis-ci.org/eventualbuddha/ast-util)\n\n\n### Setup\n\nFirst, install the development dependencies:\n\n```\n$ npm install\n```\n\nThen, try running the tests:\n\n```\n$ make test\n```\n\nIf you're adding or editing code that injects helpers into a scope, you'll need\nto edit and run the Makefile to have it generate the files in lib/helpers from\nthe files in helpers.\n\n\n### Pull Requests\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n\n\n## Acknowledgements\n\nHuge thanks to [Ben Newman][benjamn] for [ast-types][ast-types], on which much\nof this library depends.\n\n[benjamn]: https://github.com/benjamn\n[ast-types]: https://github.com/benjamn/ast-types\n","_attachments":{},"homepage":"https://github.com/eventualbuddha/ast-util","bugs":{"url":"https://github.com/eventualbuddha/ast-util/issues"},"license":"Apache 2"}