spider-src 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (864) hide show
  1. checksums.yaml +13 -5
  2. data/lib/spider-src/support/spider/node_modules/.bin/spider +104 -0
  3. data/lib/spider-src/support/spider/node_modules/spider-script/CHANGELOG.md +64 -0
  4. data/lib/spider-src/support/spider/node_modules/spider-script/LICENSE +201 -0
  5. data/lib/spider-src/support/spider/node_modules/spider-script/README.md +49 -0
  6. data/lib/spider-src/support/spider/node_modules/spider-script/cli.js +104 -0
  7. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/CaseClause.js +185 -0
  8. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/CaseClause.map +1 -0
  9. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/CatchClause.js +32 -0
  10. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/CatchClause.map +1 -0
  11. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/ExportBatchSpecifier.js +25 -0
  12. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/ExportBatchSpecifier.map +1 -0
  13. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/ExportSpecifier.js +39 -0
  14. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/ExportSpecifier.map +1 -0
  15. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/ImportDefaultSpecifier.js +29 -0
  16. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/ImportDefaultSpecifier.map +1 -0
  17. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/ImportNamespaceSpecifier.js +29 -0
  18. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/ImportNamespaceSpecifier.map +1 -0
  19. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/ImportSpecifier.js +46 -0
  20. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/ImportSpecifier.map +1 -0
  21. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/Node.js +99 -0
  22. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/Node.map +1 -0
  23. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/Parameter.js +235 -0
  24. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/Parameter.map +1 -0
  25. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/Program.js +64 -0
  26. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/Program.map +1 -0
  27. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/Property.js +38 -0
  28. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/Property.map +1 -0
  29. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/Range.js +263 -0
  30. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/Range.map +1 -0
  31. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/VariableDeclarator.js +35 -0
  32. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/VariableDeclarator.map +1 -0
  33. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ArrayExpression.js +47 -0
  34. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ArrayExpression.map +1 -0
  35. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ArrayPattern.js +51 -0
  36. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ArrayPattern.map +1 -0
  37. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/AssignmentExpression.js +35 -0
  38. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/AssignmentExpression.map +1 -0
  39. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/BinaryExpression.js +110 -0
  40. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/BinaryExpression.map +1 -0
  41. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/CallExpression.js +145 -0
  42. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/CallExpression.map +1 -0
  43. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ConditionalExpression.js +37 -0
  44. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ConditionalExpression.map +1 -0
  45. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/CurryCallExpression.js +108 -0
  46. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/CurryCallExpression.map +1 -0
  47. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ExistentialExpression.js +89 -0
  48. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ExistentialExpression.map +1 -0
  49. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ForInExpression.js +122 -0
  50. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ForInExpression.map +1 -0
  51. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/FunctionExpression.js +163 -0
  52. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/FunctionExpression.map +1 -0
  53. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/InExpression.js +105 -0
  54. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/InExpression.map +1 -0
  55. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/LogicalExpression.js +56 -0
  56. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/LogicalExpression.map +1 -0
  57. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/MemberExpression.js +49 -0
  58. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/MemberExpression.map +1 -0
  59. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/NewExpression.js +52 -0
  60. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/NewExpression.map +1 -0
  61. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/NullCheckCallExpression.js +138 -0
  62. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/NullCheckCallExpression.map +1 -0
  63. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/NullCoalescingExpression.js +120 -0
  64. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/NullCoalescingExpression.map +1 -0
  65. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/NullPropagatingExpression.js +167 -0
  66. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/NullPropagatingExpression.map +1 -0
  67. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ObjectExpression.js +45 -0
  68. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ObjectExpression.map +1 -0
  69. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ObjectPattern.js +55 -0
  70. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ObjectPattern.map +1 -0
  71. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/RangeMemberExpression.js +163 -0
  72. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/RangeMemberExpression.map +1 -0
  73. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/SplatExpression.js +54 -0
  74. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/SplatExpression.map +1 -0
  75. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/SuperExpression.js +176 -0
  76. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/SuperExpression.map +1 -0
  77. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ThisExpression.js +28 -0
  78. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ThisExpression.map +1 -0
  79. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/UnaryExpression.js +153 -0
  80. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/UnaryExpression.map +1 -0
  81. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/UpdateExpression.js +32 -0
  82. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/UpdateExpression.map +1 -0
  83. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/BooleanLiteral.js +30 -0
  84. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/BooleanLiteral.map +1 -0
  85. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/Identifier.js +66 -0
  86. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/Identifier.map +1 -0
  87. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/NullLiteral.js +30 -0
  88. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/NullLiteral.map +1 -0
  89. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/NumberLiteral.js +30 -0
  90. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/NumberLiteral.map +1 -0
  91. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/RegularExpressionLiteral.js +31 -0
  92. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/RegularExpressionLiteral.map +1 -0
  93. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/StringLiteral.js +96 -0
  94. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/StringLiteral.map +1 -0
  95. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/UndefinedLiteral.js +36 -0
  96. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/UndefinedLiteral.map +1 -0
  97. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/BlockStatement.js +53 -0
  98. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/BlockStatement.map +1 -0
  99. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/BreakStatement.js +25 -0
  100. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/BreakStatement.map +1 -0
  101. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ContinueStatement.js +25 -0
  102. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ContinueStatement.map +1 -0
  103. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/DebuggerStatement.js +25 -0
  104. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/DebuggerStatement.map +1 -0
  105. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/DoWhileStatement.js +31 -0
  106. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/DoWhileStatement.map +1 -0
  107. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ExportDeclarationStatement.js +57 -0
  108. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ExportDeclarationStatement.map +1 -0
  109. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ExpressionStatement.js +28 -0
  110. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ExpressionStatement.map +1 -0
  111. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/FallthroughStatement.js +80 -0
  112. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/FallthroughStatement.map +1 -0
  113. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ForInStatement.js +85 -0
  114. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ForInStatement.map +1 -0
  115. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ForOfStatement.js +104 -0
  116. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ForOfStatement.map +1 -0
  117. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ForStatement.js +49 -0
  118. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ForStatement.map +1 -0
  119. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/FunctionDeclarationStatement.js +110 -0
  120. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/FunctionDeclarationStatement.map +1 -0
  121. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/GoStatement.js +47 -0
  122. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/GoStatement.map +1 -0
  123. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/IfStatement.js +38 -0
  124. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/IfStatement.map +1 -0
  125. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ImportDeclarationStatement.js +46 -0
  126. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ImportDeclarationStatement.map +1 -0
  127. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/PushStatement.js +43 -0
  128. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/PushStatement.map +1 -0
  129. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ReturnStatement.js +32 -0
  130. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ReturnStatement.map +1 -0
  131. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/SwitchStatement.js +165 -0
  132. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/SwitchStatement.map +1 -0
  133. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ThrowStatement.js +28 -0
  134. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ThrowStatement.map +1 -0
  135. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/TryStatement.js +42 -0
  136. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/TryStatement.map +1 -0
  137. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/UntilStatement.js +37 -0
  138. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/UntilStatement.map +1 -0
  139. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/UseStatement.js +55 -0
  140. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/UseStatement.map +1 -0
  141. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/VariableDeclarationStatement.js +42 -0
  142. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/VariableDeclarationStatement.map +1 -0
  143. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/WhileStatement.js +31 -0
  144. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/WhileStatement.map +1 -0
  145. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast.js +22 -0
  146. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast.map +1 -0
  147. data/lib/spider-src/support/spider/node_modules/spider-script/lib/parser.js +14878 -0
  148. data/lib/spider-src/support/spider/node_modules/spider-script/lib/spider.js +223 -0
  149. data/lib/spider-src/support/spider/node_modules/spider-script/lib/spider.map +1 -0
  150. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/.bin/escodegen +77 -0
  151. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/.bin/esgenerate +64 -0
  152. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/.bin/pegjs +263 -0
  153. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/.bin/traceur +3 -0
  154. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/index.js +95 -0
  155. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/.bin/has-ansi +53 -0
  156. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/.bin/strip-ansi +39 -0
  157. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/.bin/supports-color +28 -0
  158. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/ansi-styles/index.js +40 -0
  159. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/ansi-styles/package.json +74 -0
  160. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/ansi-styles/readme.md +70 -0
  161. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/escape-string-regexp/index.js +11 -0
  162. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/escape-string-regexp/package.json +69 -0
  163. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/escape-string-regexp/readme.md +27 -0
  164. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/has-ansi/cli.js +53 -0
  165. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/has-ansi/index.js +4 -0
  166. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/index.js +4 -0
  167. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/package.json +79 -0
  168. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/readme.md +33 -0
  169. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/has-ansi/package.json +85 -0
  170. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/has-ansi/readme.md +45 -0
  171. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/strip-ansi/cli.js +39 -0
  172. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/strip-ansi/index.js +6 -0
  173. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/index.js +4 -0
  174. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/package.json +79 -0
  175. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/readme.md +33 -0
  176. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/strip-ansi/package.json +84 -0
  177. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/strip-ansi/readme.md +43 -0
  178. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/supports-color/cli.js +28 -0
  179. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/supports-color/index.js +32 -0
  180. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/supports-color/package.json +78 -0
  181. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/supports-color/readme.md +44 -0
  182. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/package.json +82 -0
  183. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/readme.md +175 -0
  184. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/.gitattributes +1 -0
  185. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/LICENSE.BSD +19 -0
  186. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/LICENSE.source-map +27 -0
  187. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/README.md +116 -0
  188. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/LICENSE +19 -0
  189. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/Readme.md +28 -0
  190. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts/backbone-0.5.3-ast.json +1 -0
  191. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts/ext-core-3.0.0-ast.json +1 -0
  192. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts/ext-core-3.1.0-ast.json +1 -0
  193. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts/jquery-1.6.4-ast.json +1 -0
  194. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts/jquery-1.7.1-ast.json +1 -0
  195. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts/jquery.mobile-1.0-ast.json +1 -0
  196. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts/mootools-1.3.2-ast.json +1 -0
  197. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts/mootools-1.4.1-ast.json +1 -0
  198. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts/prototype-1.6.1-ast.json +1 -0
  199. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts/prototype-1.7.0.0-ast.json +1 -0
  200. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts/underscore-1.2.3-ast.json +1 -0
  201. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts.js +29 -0
  202. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/index.js +40 -0
  203. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/old.js +2694 -0
  204. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/package.json +18 -0
  205. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/trace_cycle.js +8 -0
  206. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/v8_trace +18 -0
  207. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/v8_trace_reports/deoptimizations.log +8 -0
  208. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/v8_trace_reports/never_optimized.log +4 -0
  209. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/v8_trace_reports/not_inlined.log +24 -0
  210. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/bin/escodegen.js +77 -0
  211. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/bin/esgenerate.js +64 -0
  212. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/escodegen.js +2387 -0
  213. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/gulpfile.js +82 -0
  214. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/.bin/esparse +127 -0
  215. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/.bin/esvalidate +199 -0
  216. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esprima/README.md +24 -0
  217. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esprima/bin/esparse.js +127 -0
  218. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esprima/bin/esvalidate.js +199 -0
  219. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esprima/esprima.js +3756 -0
  220. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esprima/package.json +96 -0
  221. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esprima/test/compat.js +241 -0
  222. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esprima/test/reflect.js +422 -0
  223. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esprima/test/run.js +67 -0
  224. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esprima/test/runner.js +495 -0
  225. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esprima/test/test.js +25241 -0
  226. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/estraverse/.jshintrc +16 -0
  227. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/estraverse/LICENSE.BSD +19 -0
  228. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/estraverse/README.md +124 -0
  229. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/estraverse/estraverse.js +838 -0
  230. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/estraverse/package.json +60 -0
  231. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esutils/LICENSE.BSD +19 -0
  232. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esutils/README.md +169 -0
  233. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esutils/lib/ast.js +144 -0
  234. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esutils/lib/code.js +101 -0
  235. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esutils/lib/keyword.js +137 -0
  236. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esutils/lib/utils.js +33 -0
  237. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esutils/package.json +66 -0
  238. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/LICENSE +22 -0
  239. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/README.md +200 -0
  240. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/lib/coerce.js +367 -0
  241. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/lib/help.js +235 -0
  242. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/lib/index.js +408 -0
  243. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/lib/parse-type.js +143 -0
  244. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/lib/util.js +46 -0
  245. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/.npmignore +1 -0
  246. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/.travis.yml +6 -0
  247. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/LICENSE +22 -0
  248. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/README.markdown +70 -0
  249. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/example/cmp.js +11 -0
  250. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/index.js +102 -0
  251. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/package.json +86 -0
  252. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/test/NaN.js +16 -0
  253. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/test/cmp.js +23 -0
  254. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/test/neg-vs-pos-0.js +15 -0
  255. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/.npmignore +4 -0
  256. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/.travis.yml +16 -0
  257. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/CONTRIBUTING.md +22 -0
  258. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/Gruntfile.js +80 -0
  259. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/LICENSE.md +25 -0
  260. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/README.md +120 -0
  261. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/benchmark/speed.js +182 -0
  262. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/bower.json +30 -0
  263. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/levenshtein.js +192 -0
  264. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/levenshtein.min.js +2 -0
  265. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/package.json +62 -0
  266. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/test/mocha.opts +2 -0
  267. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/test/tests.js +171 -0
  268. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/test/text1.txt +1 -0
  269. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/test/text2.txt +1 -0
  270. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/levn/LICENSE +22 -0
  271. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/levn/README.md +195 -0
  272. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/cast.js +298 -0
  273. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/coerce.js +285 -0
  274. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/index.js +22 -0
  275. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/parse-string.js +113 -0
  276. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/parse.js +102 -0
  277. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/levn/package.json +78 -0
  278. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/LICENSE +22 -0
  279. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/README.md +15 -0
  280. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Func.js +45 -0
  281. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/List.js +677 -0
  282. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Num.js +130 -0
  283. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Obj.js +154 -0
  284. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Str.js +92 -0
  285. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/index.js +178 -0
  286. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/package.json +77 -0
  287. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/type-check/LICENSE +22 -0
  288. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/type-check/README.md +210 -0
  289. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/type-check/lib/check.js +126 -0
  290. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/type-check/lib/index.js +16 -0
  291. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/type-check/lib/parse-type.js +196 -0
  292. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/type-check/package.json +71 -0
  293. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/.npmignore +1 -0
  294. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/README.markdown +70 -0
  295. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/example/center.js +10 -0
  296. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/example/meat.js +3 -0
  297. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/index.js +76 -0
  298. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/package.json +61 -0
  299. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/test/break.js +30 -0
  300. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/test/idleness.txt +63 -0
  301. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/test/wrap.js +31 -0
  302. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/package.json +72 -0
  303. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/.npmignore +2 -0
  304. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/.travis.yml +4 -0
  305. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/CHANGELOG.md +173 -0
  306. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/LICENSE +28 -0
  307. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/Makefile.dryice.js +166 -0
  308. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/README.md +449 -0
  309. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/build/assert-shim.js +56 -0
  310. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/build/mini-require.js +152 -0
  311. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/build/prefix-source-map.jsm +20 -0
  312. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/build/prefix-utils.jsm +18 -0
  313. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/build/suffix-browser.js +8 -0
  314. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/build/suffix-source-map.jsm +6 -0
  315. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/build/suffix-utils.jsm +21 -0
  316. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/build/test-prefix.js +8 -0
  317. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/build/test-suffix.js +3 -0
  318. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/lib/source-map/array-set.js +97 -0
  319. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/lib/source-map/base64-vlq.js +142 -0
  320. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/lib/source-map/base64.js +42 -0
  321. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/lib/source-map/binary-search.js +81 -0
  322. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/lib/source-map/source-map-consumer.js +483 -0
  323. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/lib/source-map/source-map-generator.js +401 -0
  324. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/lib/source-map/source-node.js +408 -0
  325. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/lib/source-map/util.js +319 -0
  326. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/lib/source-map.js +8 -0
  327. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/LICENSE +58 -0
  328. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/README.md +171 -0
  329. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/amdefine.js +299 -0
  330. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/intercept.js +36 -0
  331. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/package.json +55 -0
  332. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/package.json +170 -0
  333. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/run-tests.js +62 -0
  334. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/source-map/test-api.js +26 -0
  335. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/source-map/test-array-set.js +104 -0
  336. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/source-map/test-base64-vlq.js +23 -0
  337. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/source-map/test-base64.js +35 -0
  338. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
  339. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/source-map/test-dog-fooding.js +84 -0
  340. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-consumer.js +531 -0
  341. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-generator.js +658 -0
  342. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-node.js +612 -0
  343. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/source-map/test-util.js +216 -0
  344. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/source-map/util.js +176 -0
  345. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/package.json +70 -0
  346. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/.idea/.name +1 -0
  347. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/.idea/encodings.xml +5 -0
  348. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/.idea/jsLibraryMappings.xml +9 -0
  349. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/.idea/libraries/multi_stage_sourcemap_node_modules.xml +14 -0
  350. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/.idea/misc.xml +9 -0
  351. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/.idea/modules.xml +9 -0
  352. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/.idea/multi-stage-sourcemap.iml +14 -0
  353. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/.idea/scopes/scope_settings.xml +5 -0
  354. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/.idea/vcs.xml +7 -0
  355. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/.idea/workspace.xml +599 -0
  356. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/.npmignore +30 -0
  357. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/CHANGELOG.md +11 -0
  358. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/README.md +69 -0
  359. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/bower_components/power-assert/.bower.json +38 -0
  360. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/bower_components/power-assert/MIT-LICENSE.txt +20 -0
  361. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/bower_components/power-assert/README.md +789 -0
  362. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/bower_components/power-assert/bower.json +27 -0
  363. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/bower_components/power-assert/build/power-assert.js +8615 -0
  364. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/bower_components/power-assert/lib/power-assert.js +25 -0
  365. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/exp/build.js +84 -0
  366. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/exp/index.html +21 -0
  367. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/exp/one_pass_result.js +33 -0
  368. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/exp/origin.coffee +21 -0
  369. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/exp/two_pass_result.js +33 -0
  370. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/index.js +8 -0
  371. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/lib/multi-stage-sourcemap.js +41 -0
  372. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/.npmignore +2 -0
  373. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/.travis.yml +4 -0
  374. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/CHANGELOG.md +173 -0
  375. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/LICENSE +28 -0
  376. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/Makefile.dryice.js +166 -0
  377. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/README.md +449 -0
  378. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/build/assert-shim.js +56 -0
  379. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/build/mini-require.js +152 -0
  380. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/build/prefix-source-map.jsm +20 -0
  381. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/build/prefix-utils.jsm +18 -0
  382. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/build/suffix-browser.js +8 -0
  383. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/build/suffix-source-map.jsm +6 -0
  384. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/build/suffix-utils.jsm +21 -0
  385. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/build/test-prefix.js +8 -0
  386. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/build/test-suffix.js +3 -0
  387. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/lib/source-map/array-set.js +97 -0
  388. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/lib/source-map/base64-vlq.js +142 -0
  389. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/lib/source-map/base64.js +42 -0
  390. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/lib/source-map/binary-search.js +81 -0
  391. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/lib/source-map/source-map-consumer.js +483 -0
  392. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/lib/source-map/source-map-generator.js +401 -0
  393. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/lib/source-map/source-node.js +408 -0
  394. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/lib/source-map/util.js +319 -0
  395. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/lib/source-map.js +8 -0
  396. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/node_modules/amdefine/LICENSE +58 -0
  397. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/node_modules/amdefine/README.md +171 -0
  398. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/node_modules/amdefine/amdefine.js +299 -0
  399. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/node_modules/amdefine/intercept.js +36 -0
  400. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/node_modules/amdefine/package.json +55 -0
  401. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/package.json +170 -0
  402. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/run-tests.js +62 -0
  403. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/source-map/test-api.js +26 -0
  404. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/source-map/test-array-set.js +104 -0
  405. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/source-map/test-base64-vlq.js +23 -0
  406. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/source-map/test-base64.js +35 -0
  407. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
  408. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/source-map/test-dog-fooding.js +84 -0
  409. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/source-map/test-source-map-consumer.js +531 -0
  410. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/source-map/test-source-map-generator.js +658 -0
  411. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/source-map/test-source-node.js +612 -0
  412. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/source-map/test-util.js +216 -0
  413. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/source-map/util.js +176 -0
  414. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/package.json +63 -0
  415. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/test/mocha.opts +1 -0
  416. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/test/multi-stage-sourcemap-test.js +53 -0
  417. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/.npmignore +1 -0
  418. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/LICENSE +20 -0
  419. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/README.md +325 -0
  420. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/index.js +63 -0
  421. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/node_modules/.bin/strip-ansi +27 -0
  422. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/node_modules/ansi-styles/ansi-styles.js +38 -0
  423. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/node_modules/ansi-styles/package.json +75 -0
  424. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/node_modules/ansi-styles/readme.md +65 -0
  425. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/node_modules/has-color/index.js +32 -0
  426. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/node_modules/has-color/package.json +71 -0
  427. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/node_modules/has-color/readme.md +30 -0
  428. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/node_modules/strip-ansi/cli.js +27 -0
  429. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/node_modules/strip-ansi/index.js +4 -0
  430. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/node_modules/strip-ansi/package.json +81 -0
  431. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/node_modules/strip-ansi/readme.md +46 -0
  432. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/package.json +78 -0
  433. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/readme.md +158 -0
  434. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/underscore/LICENSE +23 -0
  435. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/underscore/README.md +22 -0
  436. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/underscore/package.json +67 -0
  437. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/underscore/underscore-min.js +6 -0
  438. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/underscore/underscore.js +1343 -0
  439. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/nomnom.js +584 -0
  440. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/num-vals-fix.diff +31 -0
  441. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/package.json +56 -0
  442. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/test/callback.js +33 -0
  443. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/test/commands.js +120 -0
  444. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/test/expected.js +60 -0
  445. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/test/matching.js +70 -0
  446. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/test/option.js +44 -0
  447. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/test/transform.js +65 -0
  448. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/test/usage.js +121 -0
  449. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/test/values.js +75 -0
  450. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/test.js +23 -0
  451. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/CHANGELOG.md +433 -0
  452. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/LICENSE +22 -0
  453. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/README.md +443 -0
  454. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/VERSION +1 -0
  455. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/bin/pegjs +263 -0
  456. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/examples/arithmetics.pegjs +22 -0
  457. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/examples/css.pegjs +557 -0
  458. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/examples/javascript.pegjs +1540 -0
  459. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/examples/json.pegjs +119 -0
  460. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/lib/compiler/opcodes.js +46 -0
  461. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/lib/compiler/passes/generate-bytecode.js +606 -0
  462. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/lib/compiler/passes/generate-javascript.js +984 -0
  463. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/lib/compiler/passes/remove-proxy-rules.js +74 -0
  464. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/lib/compiler/passes/report-left-recursion.js +65 -0
  465. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/lib/compiler/passes/report-missing-rules.js +46 -0
  466. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/lib/compiler.js +61 -0
  467. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/lib/grammar-error.js +9 -0
  468. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/lib/parser.js +2797 -0
  469. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/lib/peg.js +50 -0
  470. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/lib/utils.js +236 -0
  471. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/package.json +77 -0
  472. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/README.md +40 -0
  473. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/bin/traceur-runtime.js +2535 -0
  474. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/bin/traceur.js +27417 -0
  475. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/.bin/regexpu +112 -0
  476. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/.bin/semver +125 -0
  477. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/commander/Readme.md +239 -0
  478. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/commander/index.js +981 -0
  479. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/commander/package.json +70 -0
  480. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/LICENSE +15 -0
  481. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/README.md +361 -0
  482. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/common.js +177 -0
  483. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/glob.js +645 -0
  484. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inflight/.eslintrc +17 -0
  485. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inflight/LICENSE +15 -0
  486. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inflight/README.md +37 -0
  487. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inflight/inflight.js +44 -0
  488. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inflight/node_modules/wrappy/LICENSE +15 -0
  489. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inflight/node_modules/wrappy/README.md +36 -0
  490. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json +52 -0
  491. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inflight/node_modules/wrappy/test/basic.js +51 -0
  492. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inflight/node_modules/wrappy/wrappy.js +33 -0
  493. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inflight/package.json +61 -0
  494. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inflight/test.js +97 -0
  495. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inherits/LICENSE +16 -0
  496. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inherits/README.md +42 -0
  497. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inherits/inherits.js +1 -0
  498. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inherits/inherits_browser.js +23 -0
  499. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inherits/package.json +51 -0
  500. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inherits/test.js +25 -0
  501. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/.npmignore +1 -0
  502. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/.travis.yml +4 -0
  503. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/LICENSE +23 -0
  504. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/README.md +216 -0
  505. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/benchmark.js +15 -0
  506. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/browser.js +1181 -0
  507. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/minimatch.js +845 -0
  508. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.npmignore +2 -0
  509. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.travis.yml +3 -0
  510. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/README.md +116 -0
  511. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js +8 -0
  512. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.bak +198 -0
  513. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js +191 -0
  514. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore +2 -0
  515. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml +4 -0
  516. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile +6 -0
  517. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md +80 -0
  518. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js +5 -0
  519. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js +38 -0
  520. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json +73 -0
  521. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js +56 -0
  522. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml +4 -0
  523. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown +60 -0
  524. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js +6 -0
  525. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js +9 -0
  526. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json +64 -0
  527. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js +39 -0
  528. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json +75 -0
  529. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-comparison.js +32 -0
  530. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-results.txt +1075 -0
  531. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/cases.txt +182 -0
  532. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/dollar.js +9 -0
  533. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/empty-option.js +10 -0
  534. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/generate.sh +24 -0
  535. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/negative-increment.js +15 -0
  536. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/nested.js +16 -0
  537. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/order.js +10 -0
  538. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/pad.js +13 -0
  539. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/same-type.js +7 -0
  540. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/sequence.js +50 -0
  541. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/package.json +60 -0
  542. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/test/basic.js +399 -0
  543. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/test/brace-expand.js +45 -0
  544. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/test/defaults.js +274 -0
  545. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/test/extglob-ending-with-state-char.js +8 -0
  546. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/once/LICENSE +27 -0
  547. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/once/README.md +51 -0
  548. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/once/node_modules/wrappy/LICENSE +15 -0
  549. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/once/node_modules/wrappy/README.md +36 -0
  550. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/once/node_modules/wrappy/package.json +52 -0
  551. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/once/node_modules/wrappy/test/basic.js +51 -0
  552. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/once/node_modules/wrappy/wrappy.js +33 -0
  553. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/once/once.js +21 -0
  554. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/once/package.json +60 -0
  555. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/once/test/once.js +23 -0
  556. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/package.json +71 -0
  557. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/sync.js +405 -0
  558. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/LICENSE-MIT.txt +20 -0
  559. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/README.md +189 -0
  560. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/bin/regexpu +112 -0
  561. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/data/character-class-escape-sets.js +104 -0
  562. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/data/iu-mappings.json +194 -0
  563. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/man/regexpu.1 +58 -0
  564. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/.bin/regjsparser +50 -0
  565. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/.editorconfig +3 -0
  566. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/.npmignore +2 -0
  567. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/.travis.yml +5 -0
  568. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/LICENSE +20 -0
  569. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/README.md +140 -0
  570. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/example/add-braces +44 -0
  571. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/example/generic-identity +17 -0
  572. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/example/identity +8 -0
  573. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/example/to-while +84 -0
  574. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/lib/comments.js +304 -0
  575. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/lib/lines.js +842 -0
  576. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/lib/mapping.js +277 -0
  577. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/lib/options.js +78 -0
  578. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/lib/parser.js +175 -0
  579. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/lib/patcher.js +319 -0
  580. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/lib/printer.js +1259 -0
  581. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/lib/types.js +11 -0
  582. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/lib/util.js +141 -0
  583. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/lib/visitor.js +123 -0
  584. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/main.js +135 -0
  585. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/.bin/esparse +117 -0
  586. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/.bin/esvalidate +199 -0
  587. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/.npmignore +2 -0
  588. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/.travis.yml +6 -0
  589. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/LICENSE +20 -0
  590. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/README.md +479 -0
  591. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/def/core.js +346 -0
  592. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/def/e4x.js +87 -0
  593. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/def/es6.js +215 -0
  594. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/def/es7.js +35 -0
  595. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/def/fb-harmony.js +128 -0
  596. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/def/mozilla.js +39 -0
  597. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/lib/equiv.js +178 -0
  598. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/lib/node-path.js +396 -0
  599. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/lib/path-visitor.js +253 -0
  600. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/lib/path.js +348 -0
  601. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/lib/scope.js +248 -0
  602. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/lib/shared.js +41 -0
  603. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/lib/traverse.js +23 -0
  604. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/lib/types.js +724 -0
  605. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/main.js +32 -0
  606. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/package.json +71 -0
  607. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/cls/.travis.yml +6 -0
  608. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/cls/LICENSE +20 -0
  609. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/cls/README.md +92 -0
  610. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/cls/main.js +124 -0
  611. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/cls/package.json +59 -0
  612. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/cls/test/run.js +221 -0
  613. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/depd/History.md +67 -0
  614. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/depd/LICENSE +22 -0
  615. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/depd/Readme.md +271 -0
  616. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/depd/index.js +522 -0
  617. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/depd/lib/compat/buffer-concat.js +33 -0
  618. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/depd/lib/compat/callsite-tostring.js +101 -0
  619. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/depd/lib/compat/index.js +69 -0
  620. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/depd/package.json +67 -0
  621. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/esprima-fb/README.md +24 -0
  622. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/esprima-fb/bin/esparse.js +117 -0
  623. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/esprima-fb/bin/esvalidate.js +199 -0
  624. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/esprima-fb/esprima.js +6756 -0
  625. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/esprima-fb/package.json +87 -0
  626. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/esprima-fb/test/compat.js +244 -0
  627. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/esprima-fb/test/reflect.js +421 -0
  628. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/esprima-fb/test/run.js +66 -0
  629. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/esprima-fb/test/runner.js +500 -0
  630. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/esprima-fb/test/test.js +22859 -0
  631. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/private/.travis.yml +6 -0
  632. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/private/LICENSE +20 -0
  633. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/private/README.md +246 -0
  634. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/private/package.json +58 -0
  635. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/private/private.js +129 -0
  636. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/private/test/run.js +68 -0
  637. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/.npmignore +2 -0
  638. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/.travis.yml +4 -0
  639. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/CHANGELOG.md +121 -0
  640. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/LICENSE +28 -0
  641. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/Makefile.dryice.js +166 -0
  642. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/README.md +434 -0
  643. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/build/assert-shim.js +56 -0
  644. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/build/mini-require.js +152 -0
  645. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/build/prefix-source-map.jsm +20 -0
  646. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/build/prefix-utils.jsm +18 -0
  647. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/build/suffix-browser.js +8 -0
  648. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/build/suffix-source-map.jsm +6 -0
  649. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/build/suffix-utils.jsm +21 -0
  650. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/build/test-prefix.js +8 -0
  651. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/build/test-suffix.js +3 -0
  652. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/lib/source-map/array-set.js +97 -0
  653. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/lib/source-map/base64-vlq.js +144 -0
  654. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/lib/source-map/base64.js +42 -0
  655. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/lib/source-map/binary-search.js +81 -0
  656. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/lib/source-map/source-map-consumer.js +478 -0
  657. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/lib/source-map/source-map-generator.js +380 -0
  658. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/lib/source-map/source-node.js +371 -0
  659. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/lib/source-map/util.js +205 -0
  660. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/lib/source-map.js +8 -0
  661. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/node_modules/amdefine/LICENSE +58 -0
  662. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/node_modules/amdefine/README.md +171 -0
  663. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/node_modules/amdefine/amdefine.js +299 -0
  664. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/node_modules/amdefine/intercept.js +36 -0
  665. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/node_modules/amdefine/package.json +55 -0
  666. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/package.json +142 -0
  667. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/test/run-tests.js +62 -0
  668. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/test/source-map/test-api.js +26 -0
  669. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/test/source-map/test-array-set.js +104 -0
  670. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/test/source-map/test-base64-vlq.js +24 -0
  671. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/test/source-map/test-base64.js +35 -0
  672. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
  673. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/test/source-map/test-dog-fooding.js +72 -0
  674. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/test/source-map/test-source-map-consumer.js +451 -0
  675. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/test/source-map/test-source-map-generator.js +417 -0
  676. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/test/source-map/test-source-node.js +365 -0
  677. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/test/source-map/util.js +161 -0
  678. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/package.json +69 -0
  679. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regenerate/LICENSE-MIT.txt +20 -0
  680. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regenerate/README.md +316 -0
  681. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regenerate/package.json +61 -0
  682. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regenerate/regenerate.js +1072 -0
  683. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsgen/LICENSE.txt +20 -0
  684. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsgen/README.md +60 -0
  685. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsgen/package.json +72 -0
  686. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsgen/regjsgen.js +408 -0
  687. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/LICENSE.BSD +19 -0
  688. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/README.md +34 -0
  689. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/bin/parser +50 -0
  690. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/node_modules/.bin/jsesc +138 -0
  691. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/node_modules/jsesc/LICENSE-MIT.txt +20 -0
  692. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/node_modules/jsesc/README.md +375 -0
  693. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/node_modules/jsesc/bin/jsesc +138 -0
  694. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/node_modules/jsesc/jsesc.js +265 -0
  695. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/node_modules/jsesc/man/jsesc.1 +90 -0
  696. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/node_modules/jsesc/package.json +79 -0
  697. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/package.json +60 -0
  698. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/parser.js +921 -0
  699. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/package.json +100 -0
  700. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/regexpu.js +8 -0
  701. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/rewrite-pattern.js +190 -0
  702. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/transform-tree.js +41 -0
  703. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/transpile-code.js +22 -0
  704. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/.release.json +17 -0
  705. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/Brocfile.js +74 -0
  706. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/CHANGELOG.md +151 -0
  707. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/LICENSE +19 -0
  708. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/README.md +344 -0
  709. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bin/publish_to_s3.js +28 -0
  710. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower.json +26 -0
  711. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/json3/.bower.json +47 -0
  712. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/json3/CHANGELOG.md +44 -0
  713. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/json3/CONTRIBUTING.md +3 -0
  714. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/json3/LICENSE +20 -0
  715. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/json3/README.md +152 -0
  716. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/json3/bower.json +38 -0
  717. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/json3/lib/json3.js +902 -0
  718. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/json3/lib/json3.min.js +17 -0
  719. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/mocha/.bower.json +33 -0
  720. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/mocha/History.md +726 -0
  721. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/mocha/LICENSE +22 -0
  722. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/mocha/Readme.md +203 -0
  723. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/mocha/bower.json +23 -0
  724. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/mocha/media/logo.svg +8 -0
  725. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/mocha/mocha.css +270 -0
  726. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/mocha/mocha.js +5983 -0
  727. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/config/s3ProjectConfig.js +26 -0
  728. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/config/versionTemplate.txt +7 -0
  729. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/dist/rsvp.js +1610 -0
  730. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/dist/rsvp.min.js +25 -0
  731. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/calculateVersion.js +36 -0
  732. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/-internal.js +256 -0
  733. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/all-settled.js +71 -0
  734. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/all.js +15 -0
  735. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/asap.js +82 -0
  736. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/config.js +28 -0
  737. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/defer.js +45 -0
  738. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/enumerator.js +125 -0
  739. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/events.js +201 -0
  740. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/filter.js +120 -0
  741. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/hash-settled.js +124 -0
  742. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/hash.js +94 -0
  743. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/instrument.js +28 -0
  744. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/map.js +99 -0
  745. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/node.js +281 -0
  746. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/promise/all.js +52 -0
  747. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/promise/race.js +105 -0
  748. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/promise/reject.js +47 -0
  749. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/promise/resolve.js +49 -0
  750. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/promise-hash.js +51 -0
  751. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/promise.js +488 -0
  752. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/race.js +15 -0
  753. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/reject.js +16 -0
  754. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/resolve.js +17 -0
  755. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/rethrow.js +46 -0
  756. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/utils.js +39 -0
  757. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp.js +66 -0
  758. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp.umd.js +50 -0
  759. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/package.json +98 -0
  760. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/server/.jshintrc +3 -0
  761. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/server/index.js +6 -0
  762. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/testem.json +11 -0
  763. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/.npmignore +1 -0
  764. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/LICENSE +27 -0
  765. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/Makefile +24 -0
  766. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/README.md +158 -0
  767. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/bin/semver +125 -0
  768. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/foot.js +6 -0
  769. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/head.js +2 -0
  770. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/package.json +50 -0
  771. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/semver.browser.js +1046 -0
  772. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/semver.browser.js.gz +0 -0
  773. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/semver.js +1050 -0
  774. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/semver.min.js +1 -0
  775. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/semver.min.js.gz +0 -0
  776. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/test/amd.js +15 -0
  777. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/test/gtr.js +173 -0
  778. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/test/index.js +588 -0
  779. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/test/ltr.js +175 -0
  780. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/test/no-module.js +19 -0
  781. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/.npmignore +1 -0
  782. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/README.md +165 -0
  783. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/amd-test/browser-source-map-support.js +89 -0
  784. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/amd-test/index.html +6 -0
  785. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/amd-test/require.js +36 -0
  786. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/amd-test/script.coffee +13 -0
  787. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/amd-test/script.js +24 -0
  788. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/amd-test/script.map +10 -0
  789. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/browser-source-map-support.js +89 -0
  790. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/browser-test/index.html +6 -0
  791. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/browser-test/script.coffee +12 -0
  792. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/browser-test/script.js +25 -0
  793. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/browser-test/script.map +10 -0
  794. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/build.js +69 -0
  795. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/header-test/index.html +6 -0
  796. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/header-test/script.coffee +12 -0
  797. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/header-test/script.js +25 -0
  798. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/header-test/script.map +10 -0
  799. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/header-test/server.js +45 -0
  800. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/.npmignore +2 -0
  801. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/.travis.yml +4 -0
  802. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/CHANGELOG.md +121 -0
  803. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/LICENSE +28 -0
  804. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/Makefile.dryice.js +166 -0
  805. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/README.md +434 -0
  806. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/assert-shim.js +56 -0
  807. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/mini-require.js +152 -0
  808. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/prefix-source-map.jsm +20 -0
  809. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/prefix-utils.jsm +18 -0
  810. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/suffix-browser.js +8 -0
  811. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/suffix-source-map.jsm +6 -0
  812. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/suffix-utils.jsm +21 -0
  813. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/test-prefix.js +8 -0
  814. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/test-suffix.js +3 -0
  815. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/array-set.js +97 -0
  816. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/base64-vlq.js +144 -0
  817. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/base64.js +42 -0
  818. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/binary-search.js +81 -0
  819. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/source-map-consumer.js +478 -0
  820. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/source-map-generator.js +380 -0
  821. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/source-node.js +371 -0
  822. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/util.js +205 -0
  823. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map.js +8 -0
  824. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/node_modules/amdefine/LICENSE +58 -0
  825. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/node_modules/amdefine/README.md +171 -0
  826. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/node_modules/amdefine/amdefine.js +299 -0
  827. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/node_modules/amdefine/intercept.js +36 -0
  828. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/node_modules/amdefine/package.json +55 -0
  829. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/package.json +142 -0
  830. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/run-tests.js +62 -0
  831. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-api.js +26 -0
  832. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-array-set.js +104 -0
  833. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-base64-vlq.js +24 -0
  834. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-base64.js +35 -0
  835. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
  836. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-dog-fooding.js +72 -0
  837. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-source-map-consumer.js +451 -0
  838. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-source-map-generator.js +417 -0
  839. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-source-node.js +365 -0
  840. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/util.js +161 -0
  841. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/package.json +47 -0
  842. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/source-map-support.js +381 -0
  843. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/test.js +359 -0
  844. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/package.json +94 -0
  845. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/NodeCompiler.js +77 -0
  846. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/System.js +58 -0
  847. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/api.js +58 -0
  848. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/command.js +158 -0
  849. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/compileAllJsFilesInDir.js +40 -0
  850. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/deferred.js +110 -0
  851. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/file-util.js +73 -0
  852. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/getopt.js +147 -0
  853. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/interpreter.js +36 -0
  854. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/nodeLoader.js +41 -0
  855. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/recursiveModuleCompile.js +173 -0
  856. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/require.js +71 -0
  857. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/to-amd-compiler.js +28 -0
  858. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/to-commonjs-compiler.js +29 -0
  859. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/traceur.js +32 -0
  860. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/traceur +3 -0
  861. data/lib/spider-src/support/spider/node_modules/spider-script/package.json +86 -0
  862. data/lib/spider-src/support/spider/node_modules/spider-script/spider-script.js +6 -0
  863. data/lib/spider-src/version.rb +1 -1
  864. metadata +867 -6
@@ -0,0 +1,2694 @@
1
+ /*
2
+ Copyright (C) 2012-2014 Yusuke Suzuki <utatane.tea@gmail.com>
3
+ Copyright (C) 2012-2013 Michael Ficarra <escodegen.copyright@michael.ficarra.me>
4
+ Copyright (C) 2012-2013 Mathias Bynens <mathias@qiwi.be>
5
+ Copyright (C) 2013 Irakli Gozalishvili <rfobic@gmail.com>
6
+ Copyright (C) 2012 Robert Gust-Bardon <donate@robert.gust-bardon.org>
7
+ Copyright (C) 2012 John Freeman <jfreeman08@gmail.com>
8
+ Copyright (C) 2011-2012 Ariya Hidayat <ariya.hidayat@gmail.com>
9
+ Copyright (C) 2012 Joost-Wim Boekesteijn <joost-wim@boekesteijn.nl>
10
+ Copyright (C) 2012 Kris Kowal <kris.kowal@cixar.com>
11
+ Copyright (C) 2012 Arpad Borsos <arpad.borsos@googlemail.com>
12
+
13
+ Redistribution and use in source and binary forms, with or without
14
+ modification, are permitted provided that the following conditions are met:
15
+
16
+ * Redistributions of source code must retain the above copyright
17
+ notice, this list of conditions and the following disclaimer.
18
+ * Redistributions in binary form must reproduce the above copyright
19
+ notice, this list of conditions and the following disclaimer in the
20
+ documentation and/or other materials provided with the distribution.
21
+
22
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25
+ ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
26
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
27
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
29
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
31
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
+ */
33
+
34
+ /*global exports:true, require:true, global:true*/
35
+ (function () {
36
+ 'use strict';
37
+
38
+ var Syntax,
39
+ Precedence,
40
+ BinaryPrecedence,
41
+ SourceNode,
42
+ estraverse,
43
+ esutils,
44
+ isArray,
45
+ base,
46
+ indent,
47
+ json,
48
+ renumber,
49
+ hexadecimal,
50
+ quotes,
51
+ escapeless,
52
+ newline,
53
+ space,
54
+ parentheses,
55
+ semicolons,
56
+ safeConcatenation,
57
+ directive,
58
+ extra,
59
+ parse,
60
+ sourceMap,
61
+ FORMAT_MINIFY,
62
+ FORMAT_DEFAULTS;
63
+
64
+ estraverse = require('estraverse');
65
+ esutils = require('esutils');
66
+
67
+ Syntax = {
68
+ AssignmentExpression: 'AssignmentExpression',
69
+ ArrayExpression: 'ArrayExpression',
70
+ ArrayPattern: 'ArrayPattern',
71
+ ArrowFunctionExpression: 'ArrowFunctionExpression',
72
+ BlockStatement: 'BlockStatement',
73
+ BinaryExpression: 'BinaryExpression',
74
+ BreakStatement: 'BreakStatement',
75
+ CallExpression: 'CallExpression',
76
+ CatchClause: 'CatchClause',
77
+ ClassBody: 'ClassBody',
78
+ ClassDeclaration: 'ClassDeclaration',
79
+ ClassExpression: 'ClassExpression',
80
+ ComprehensionBlock: 'ComprehensionBlock',
81
+ ComprehensionExpression: 'ComprehensionExpression',
82
+ ConditionalExpression: 'ConditionalExpression',
83
+ ContinueStatement: 'ContinueStatement',
84
+ DirectiveStatement: 'DirectiveStatement',
85
+ DoWhileStatement: 'DoWhileStatement',
86
+ DebuggerStatement: 'DebuggerStatement',
87
+ EmptyStatement: 'EmptyStatement',
88
+ ExportBatchSpecifier: 'ExportBatchSpecifier',
89
+ ExportDeclaration: 'ExportDeclaration',
90
+ ExportSpecifier: 'ExportSpecifier',
91
+ ExpressionStatement: 'ExpressionStatement',
92
+ ForStatement: 'ForStatement',
93
+ ForInStatement: 'ForInStatement',
94
+ ForOfStatement: 'ForOfStatement',
95
+ FunctionDeclaration: 'FunctionDeclaration',
96
+ FunctionExpression: 'FunctionExpression',
97
+ GeneratorExpression: 'GeneratorExpression',
98
+ Identifier: 'Identifier',
99
+ IfStatement: 'IfStatement',
100
+ ImportDeclaration: 'ImportDeclaration',
101
+ ImportDefaultSpecifier: 'ImportDefaultSpecifier',
102
+ ImportNamespaceSpecifier: 'ImportNamespaceSpecifier',
103
+ ImportSpecifier: 'ImportSpecifier',
104
+ Literal: 'Literal',
105
+ LabeledStatement: 'LabeledStatement',
106
+ LogicalExpression: 'LogicalExpression',
107
+ MemberExpression: 'MemberExpression',
108
+ MethodDefinition: 'MethodDefinition',
109
+ ModuleSpecifier: 'ModuleSpecifier',
110
+ NewExpression: 'NewExpression',
111
+ ObjectExpression: 'ObjectExpression',
112
+ ObjectPattern: 'ObjectPattern',
113
+ Program: 'Program',
114
+ Property: 'Property',
115
+ ReturnStatement: 'ReturnStatement',
116
+ SequenceExpression: 'SequenceExpression',
117
+ SpreadElement: 'SpreadElement',
118
+ SwitchStatement: 'SwitchStatement',
119
+ SwitchCase: 'SwitchCase',
120
+ TaggedTemplateExpression: 'TaggedTemplateExpression',
121
+ TemplateElement: 'TemplateElement',
122
+ TemplateLiteral: 'TemplateLiteral',
123
+ ThisExpression: 'ThisExpression',
124
+ ThrowStatement: 'ThrowStatement',
125
+ TryStatement: 'TryStatement',
126
+ UnaryExpression: 'UnaryExpression',
127
+ UpdateExpression: 'UpdateExpression',
128
+ VariableDeclaration: 'VariableDeclaration',
129
+ VariableDeclarator: 'VariableDeclarator',
130
+ WhileStatement: 'WhileStatement',
131
+ WithStatement: 'WithStatement',
132
+ YieldExpression: 'YieldExpression'
133
+ };
134
+
135
+ // Generation is done by generateExpression.
136
+ function isExpression(node) {
137
+ switch (node.type) {
138
+ case Syntax.AssignmentExpression:
139
+ case Syntax.ArrayExpression:
140
+ case Syntax.ArrayPattern:
141
+ case Syntax.BinaryExpression:
142
+ case Syntax.CallExpression:
143
+ case Syntax.ConditionalExpression:
144
+ case Syntax.ClassExpression:
145
+ case Syntax.ExportBatchSpecifier:
146
+ case Syntax.ExportSpecifier:
147
+ case Syntax.FunctionExpression:
148
+ case Syntax.Identifier:
149
+ case Syntax.ImportDefaultSpecifier:
150
+ case Syntax.ImportNamespaceSpecifier:
151
+ case Syntax.ImportSpecifier:
152
+ case Syntax.Literal:
153
+ case Syntax.LogicalExpression:
154
+ case Syntax.MemberExpression:
155
+ case Syntax.MethodDefinition:
156
+ case Syntax.ModuleSpecifier:
157
+ case Syntax.NewExpression:
158
+ case Syntax.ObjectExpression:
159
+ case Syntax.ObjectPattern:
160
+ case Syntax.Property:
161
+ case Syntax.SequenceExpression:
162
+ case Syntax.ThisExpression:
163
+ case Syntax.UnaryExpression:
164
+ case Syntax.UpdateExpression:
165
+ case Syntax.YieldExpression:
166
+ return true;
167
+ }
168
+ return false;
169
+ }
170
+
171
+ // Generation is done by generateStatement.
172
+ function isStatement(node) {
173
+ switch (node.type) {
174
+ case Syntax.BlockStatement:
175
+ case Syntax.BreakStatement:
176
+ case Syntax.CatchClause:
177
+ case Syntax.ContinueStatement:
178
+ case Syntax.ClassDeclaration:
179
+ case Syntax.ClassBody:
180
+ case Syntax.DirectiveStatement:
181
+ case Syntax.DoWhileStatement:
182
+ case Syntax.DebuggerStatement:
183
+ case Syntax.EmptyStatement:
184
+ case Syntax.ExpressionStatement:
185
+ case Syntax.ForStatement:
186
+ case Syntax.ForInStatement:
187
+ case Syntax.ForOfStatement:
188
+ case Syntax.FunctionDeclaration:
189
+ case Syntax.IfStatement:
190
+ case Syntax.LabeledStatement:
191
+ case Syntax.Program:
192
+ case Syntax.ReturnStatement:
193
+ case Syntax.SwitchStatement:
194
+ case Syntax.SwitchCase:
195
+ case Syntax.ThrowStatement:
196
+ case Syntax.TryStatement:
197
+ case Syntax.VariableDeclaration:
198
+ case Syntax.VariableDeclarator:
199
+ case Syntax.WhileStatement:
200
+ case Syntax.WithStatement:
201
+ return true;
202
+ }
203
+ return false;
204
+ }
205
+
206
+ Precedence = {
207
+ Sequence: 0,
208
+ Yield: 1,
209
+ Assignment: 1,
210
+ Conditional: 2,
211
+ ArrowFunction: 2,
212
+ LogicalOR: 3,
213
+ LogicalAND: 4,
214
+ BitwiseOR: 5,
215
+ BitwiseXOR: 6,
216
+ BitwiseAND: 7,
217
+ Equality: 8,
218
+ Relational: 9,
219
+ BitwiseSHIFT: 10,
220
+ Additive: 11,
221
+ Multiplicative: 12,
222
+ Unary: 13,
223
+ Postfix: 14,
224
+ Call: 15,
225
+ New: 16,
226
+ TaggedTemplate: 17,
227
+ Member: 18,
228
+ Primary: 19
229
+ };
230
+
231
+ BinaryPrecedence = {
232
+ '||': Precedence.LogicalOR,
233
+ '&&': Precedence.LogicalAND,
234
+ '|': Precedence.BitwiseOR,
235
+ '^': Precedence.BitwiseXOR,
236
+ '&': Precedence.BitwiseAND,
237
+ '==': Precedence.Equality,
238
+ '!=': Precedence.Equality,
239
+ '===': Precedence.Equality,
240
+ '!==': Precedence.Equality,
241
+ 'is': Precedence.Equality,
242
+ 'isnt': Precedence.Equality,
243
+ '<': Precedence.Relational,
244
+ '>': Precedence.Relational,
245
+ '<=': Precedence.Relational,
246
+ '>=': Precedence.Relational,
247
+ 'in': Precedence.Relational,
248
+ 'instanceof': Precedence.Relational,
249
+ '<<': Precedence.BitwiseSHIFT,
250
+ '>>': Precedence.BitwiseSHIFT,
251
+ '>>>': Precedence.BitwiseSHIFT,
252
+ '+': Precedence.Additive,
253
+ '-': Precedence.Additive,
254
+ '*': Precedence.Multiplicative,
255
+ '%': Precedence.Multiplicative,
256
+ '/': Precedence.Multiplicative
257
+ };
258
+
259
+ function getDefaultOptions() {
260
+ // default options
261
+ return {
262
+ indent: null,
263
+ base: null,
264
+ parse: null,
265
+ comment: false,
266
+ format: {
267
+ indent: {
268
+ style: ' ',
269
+ base: 0,
270
+ adjustMultilineComment: false
271
+ },
272
+ newline: '\n',
273
+ space: ' ',
274
+ json: false,
275
+ renumber: false,
276
+ hexadecimal: false,
277
+ quotes: 'single',
278
+ escapeless: false,
279
+ compact: false,
280
+ parentheses: true,
281
+ semicolons: true,
282
+ safeConcatenation: false
283
+ },
284
+ moz: {
285
+ comprehensionExpressionStartsWithAssignment: false,
286
+ starlessGenerator: false
287
+ },
288
+ sourceMap: null,
289
+ sourceMapRoot: null,
290
+ sourceMapWithCode: false,
291
+ directive: false,
292
+ raw: true,
293
+ verbatim: null
294
+ };
295
+ }
296
+
297
+ function stringRepeat(str, num) {
298
+ var result = '';
299
+
300
+ for (num |= 0; num > 0; num >>>= 1, str += str) {
301
+ if (num & 1) {
302
+ result += str;
303
+ }
304
+ }
305
+
306
+ return result;
307
+ }
308
+
309
+ isArray = Array.isArray;
310
+ if (!isArray) {
311
+ isArray = function isArray(array) {
312
+ return Object.prototype.toString.call(array) === '[object Array]';
313
+ };
314
+ }
315
+
316
+ function hasLineTerminator(str) {
317
+ return (/[\r\n]/g).test(str);
318
+ }
319
+
320
+ function endsWithLineTerminator(str) {
321
+ var len = str.length;
322
+ return len && esutils.code.isLineTerminator(str.charCodeAt(len - 1));
323
+ }
324
+
325
+ function updateDeeply(target, override) {
326
+ var key, val;
327
+
328
+ function isHashObject(target) {
329
+ return typeof target === 'object' && target instanceof Object && !(target instanceof RegExp);
330
+ }
331
+
332
+ for (key in override) {
333
+ if (override.hasOwnProperty(key)) {
334
+ val = override[key];
335
+ if (isHashObject(val)) {
336
+ if (isHashObject(target[key])) {
337
+ updateDeeply(target[key], val);
338
+ } else {
339
+ target[key] = updateDeeply({}, val);
340
+ }
341
+ } else {
342
+ target[key] = val;
343
+ }
344
+ }
345
+ }
346
+ return target;
347
+ }
348
+
349
+ function generateNumber(value) {
350
+ var result, point, temp, exponent, pos;
351
+
352
+ if (value !== value) {
353
+ throw new Error('Numeric literal whose value is NaN');
354
+ }
355
+ if (value < 0 || (value === 0 && 1 / value < 0)) {
356
+ throw new Error('Numeric literal whose value is negative');
357
+ }
358
+
359
+ if (value === 1 / 0) {
360
+ return json ? 'null' : renumber ? '1e400' : '1e+400';
361
+ }
362
+
363
+ result = '' + value;
364
+ if (!renumber || result.length < 3) {
365
+ return result;
366
+ }
367
+
368
+ point = result.indexOf('.');
369
+ if (!json && result.charCodeAt(0) === 0x30 /* 0 */ && point === 1) {
370
+ point = 0;
371
+ result = result.slice(1);
372
+ }
373
+ temp = result;
374
+ result = result.replace('e+', 'e');
375
+ exponent = 0;
376
+ if ((pos = temp.indexOf('e')) > 0) {
377
+ exponent = +temp.slice(pos + 1);
378
+ temp = temp.slice(0, pos);
379
+ }
380
+ if (point >= 0) {
381
+ exponent -= temp.length - point - 1;
382
+ temp = +(temp.slice(0, point) + temp.slice(point + 1)) + '';
383
+ }
384
+ pos = 0;
385
+ while (temp.charCodeAt(temp.length + pos - 1) === 0x30 /* 0 */) {
386
+ --pos;
387
+ }
388
+ if (pos !== 0) {
389
+ exponent -= pos;
390
+ temp = temp.slice(0, pos);
391
+ }
392
+ if (exponent !== 0) {
393
+ temp += 'e' + exponent;
394
+ }
395
+ if ((temp.length < result.length ||
396
+ (hexadecimal && value > 1e12 && Math.floor(value) === value && (temp = '0x' + value.toString(16)).length < result.length)) &&
397
+ +temp === value) {
398
+ result = temp;
399
+ }
400
+
401
+ return result;
402
+ }
403
+
404
+ // Generate valid RegExp expression.
405
+ // This function is based on https://github.com/Constellation/iv Engine
406
+
407
+ function escapeRegExpCharacter(ch, previousIsBackslash) {
408
+ // not handling '\' and handling \u2028 or \u2029 to unicode escape sequence
409
+ if ((ch & ~1) === 0x2028) {
410
+ return (previousIsBackslash ? 'u' : '\\u') + ((ch === 0x2028) ? '2028' : '2029');
411
+ } else if (ch === 10 || ch === 13) { // \n, \r
412
+ return (previousIsBackslash ? '' : '\\') + ((ch === 10) ? 'n' : 'r');
413
+ }
414
+ return String.fromCharCode(ch);
415
+ }
416
+
417
+ function generateRegExp(reg) {
418
+ var match, result, flags, i, iz, ch, characterInBrack, previousIsBackslash;
419
+
420
+ result = reg.toString();
421
+
422
+ if (reg.source) {
423
+ // extract flag from toString result
424
+ match = result.match(/\/([^/]*)$/);
425
+ if (!match) {
426
+ return result;
427
+ }
428
+
429
+ flags = match[1];
430
+ result = '';
431
+
432
+ characterInBrack = false;
433
+ previousIsBackslash = false;
434
+ for (i = 0, iz = reg.source.length; i < iz; ++i) {
435
+ ch = reg.source.charCodeAt(i);
436
+
437
+ if (!previousIsBackslash) {
438
+ if (characterInBrack) {
439
+ if (ch === 93) { // ]
440
+ characterInBrack = false;
441
+ }
442
+ } else {
443
+ if (ch === 47) { // /
444
+ result += '\\';
445
+ } else if (ch === 91) { // [
446
+ characterInBrack = true;
447
+ }
448
+ }
449
+ result += escapeRegExpCharacter(ch, previousIsBackslash);
450
+ previousIsBackslash = ch === 92; // \
451
+ } else {
452
+ // if new RegExp("\\\n') is provided, create /\n/
453
+ result += escapeRegExpCharacter(ch, previousIsBackslash);
454
+ // prevent like /\\[/]/
455
+ previousIsBackslash = false;
456
+ }
457
+ }
458
+
459
+ return '/' + result + '/' + flags;
460
+ }
461
+
462
+ return result;
463
+ }
464
+
465
+ function escapeAllowedCharacter(code, next) {
466
+ var hex, result = '\\';
467
+
468
+ switch (code) {
469
+ case 0x08 /* \b */:
470
+ result += 'b';
471
+ break;
472
+ case 0x0C /* \f */:
473
+ result += 'f';
474
+ break;
475
+ case 0x09 /* \t */:
476
+ result += 't';
477
+ break;
478
+ default:
479
+ hex = code.toString(16).toUpperCase();
480
+ if (json || code > 0xFF) {
481
+ result += 'u' + '0000'.slice(hex.length) + hex;
482
+ } else if (code === 0x0000 && !esutils.code.isDecimalDigit(next)) {
483
+ result += '0';
484
+ } else if (code === 0x000B /* \v */) { // '\v'
485
+ result += 'x0B';
486
+ } else {
487
+ result += 'x' + '00'.slice(hex.length) + hex;
488
+ }
489
+ break;
490
+ }
491
+
492
+ return result;
493
+ }
494
+
495
+ function escapeDisallowedCharacter(code) {
496
+ var result = '\\';
497
+ switch (code) {
498
+ case 0x5C /* \ */:
499
+ result += '\\';
500
+ break;
501
+ case 0x0A /* \n */:
502
+ result += 'n';
503
+ break;
504
+ case 0x0D /* \r */:
505
+ result += 'r';
506
+ break;
507
+ case 0x2028:
508
+ result += 'u2028';
509
+ break;
510
+ case 0x2029:
511
+ result += 'u2029';
512
+ break;
513
+ default:
514
+ throw new Error('Incorrectly classified character');
515
+ }
516
+
517
+ return result;
518
+ }
519
+
520
+ function escapeDirective(str) {
521
+ var i, iz, code, quote;
522
+
523
+ quote = quotes === 'double' ? '"' : '\'';
524
+ for (i = 0, iz = str.length; i < iz; ++i) {
525
+ code = str.charCodeAt(i);
526
+ if (code === 0x27 /* ' */) {
527
+ quote = '"';
528
+ break;
529
+ } else if (code === 0x22 /* " */) {
530
+ quote = '\'';
531
+ break;
532
+ } else if (code === 0x5C /* \ */) {
533
+ ++i;
534
+ }
535
+ }
536
+
537
+ return quote + str + quote;
538
+ }
539
+
540
+ function escapeString(str) {
541
+ var result = '', i, len, code, singleQuotes = 0, doubleQuotes = 0, single, quote;
542
+
543
+ for (i = 0, len = str.length; i < len; ++i) {
544
+ code = str.charCodeAt(i);
545
+ if (code === 0x27 /* ' */) {
546
+ ++singleQuotes;
547
+ } else if (code === 0x22 /* " */) {
548
+ ++doubleQuotes;
549
+ } else if (code === 0x2F /* / */ && json) {
550
+ result += '\\';
551
+ } else if (esutils.code.isLineTerminator(code) || code === 0x5C /* \ */) {
552
+ result += escapeDisallowedCharacter(code);
553
+ continue;
554
+ } else if ((json && code < 0x20 /* SP */) || !(json || escapeless || (code >= 0x20 /* SP */ && code <= 0x7E /* ~ */))) {
555
+ result += escapeAllowedCharacter(code, str.charCodeAt(i + 1));
556
+ continue;
557
+ }
558
+ result += String.fromCharCode(code);
559
+ }
560
+
561
+ single = !(quotes === 'double' || (quotes === 'auto' && doubleQuotes < singleQuotes));
562
+ quote = single ? '\'' : '"';
563
+
564
+ if (!(single ? singleQuotes : doubleQuotes)) {
565
+ return quote + result + quote;
566
+ }
567
+
568
+ str = result;
569
+ result = quote;
570
+
571
+ for (i = 0, len = str.length; i < len; ++i) {
572
+ code = str.charCodeAt(i);
573
+ if ((code === 0x27 /* ' */ && single) || (code === 0x22 /* " */ && !single)) {
574
+ result += '\\';
575
+ }
576
+ result += String.fromCharCode(code);
577
+ }
578
+
579
+ return result + quote;
580
+ }
581
+
582
+ /**
583
+ * flatten an array to a string, where the array can contain
584
+ * either strings or nested arrays
585
+ */
586
+ function flattenToString(arr) {
587
+ var i, iz, elem, result = '';
588
+ for (i = 0, iz = arr.length; i < iz; ++i) {
589
+ elem = arr[i];
590
+ result += isArray(elem) ? flattenToString(elem) : elem;
591
+ }
592
+ return result;
593
+ }
594
+
595
+ /**
596
+ * convert generated to a SourceNode when source maps are enabled.
597
+ */
598
+ function toSourceNodeWhenNeeded(generated, node) {
599
+ if (!sourceMap) {
600
+ // with no source maps, generated is either an
601
+ // array or a string. if an array, flatten it.
602
+ // if a string, just return it
603
+ if (isArray(generated)) {
604
+ return flattenToString(generated);
605
+ } else {
606
+ return generated;
607
+ }
608
+ }
609
+ if (node == null) {
610
+ if (generated instanceof SourceNode) {
611
+ return generated;
612
+ } else {
613
+ node = {};
614
+ }
615
+ }
616
+ if (node.loc == null) {
617
+ return new SourceNode(null, null, sourceMap, generated, node.name || null);
618
+ }
619
+ return new SourceNode(node.loc.start.line, node.loc.start.column, (sourceMap === true ? node.loc.source || null : sourceMap), generated, node.name || null);
620
+ }
621
+
622
+ function noEmptySpace() {
623
+ return (space) ? space : ' ';
624
+ }
625
+
626
+ function join(left, right) {
627
+ var leftSource,
628
+ rightSource,
629
+ leftCharCode,
630
+ rightCharCode;
631
+
632
+ leftSource = toSourceNodeWhenNeeded(left).toString();
633
+ if (leftSource.length === 0) {
634
+ return [right];
635
+ }
636
+
637
+ rightSource = toSourceNodeWhenNeeded(right).toString();
638
+ if (rightSource.length === 0) {
639
+ return [left];
640
+ }
641
+
642
+ leftCharCode = leftSource.charCodeAt(leftSource.length - 1);
643
+ rightCharCode = rightSource.charCodeAt(0);
644
+
645
+ if ((leftCharCode === 0x2B /* + */ || leftCharCode === 0x2D /* - */) && leftCharCode === rightCharCode ||
646
+ esutils.code.isIdentifierPart(leftCharCode) && esutils.code.isIdentifierPart(rightCharCode) ||
647
+ leftCharCode === 0x2F /* / */ && rightCharCode === 0x69 /* i */) { // infix word operators all start with `i`
648
+ return [left, noEmptySpace(), right];
649
+ } else if (esutils.code.isWhiteSpace(leftCharCode) || esutils.code.isLineTerminator(leftCharCode) ||
650
+ esutils.code.isWhiteSpace(rightCharCode) || esutils.code.isLineTerminator(rightCharCode)) {
651
+ return [left, right];
652
+ }
653
+ return [left, space, right];
654
+ }
655
+
656
+ function addIndent(stmt) {
657
+ return [base, stmt];
658
+ }
659
+
660
+ function withIndent(fn) {
661
+ var previousBase, result;
662
+ previousBase = base;
663
+ base += indent;
664
+ result = fn.call(this, base);
665
+ base = previousBase;
666
+ return result;
667
+ }
668
+
669
+ function calculateSpaces(str) {
670
+ var i;
671
+ for (i = str.length - 1; i >= 0; --i) {
672
+ if (esutils.code.isLineTerminator(str.charCodeAt(i))) {
673
+ break;
674
+ }
675
+ }
676
+ return (str.length - 1) - i;
677
+ }
678
+
679
+ function adjustMultilineComment(value, specialBase) {
680
+ var array, i, len, line, j, spaces, previousBase, sn;
681
+
682
+ array = value.split(/\r\n|[\r\n]/);
683
+ spaces = Number.MAX_VALUE;
684
+
685
+ // first line doesn't have indentation
686
+ for (i = 1, len = array.length; i < len; ++i) {
687
+ line = array[i];
688
+ j = 0;
689
+ while (j < line.length && esutils.code.isWhiteSpace(line.charCodeAt(j))) {
690
+ ++j;
691
+ }
692
+ if (spaces > j) {
693
+ spaces = j;
694
+ }
695
+ }
696
+
697
+ if (typeof specialBase !== 'undefined') {
698
+ // pattern like
699
+ // {
700
+ // var t = 20; /*
701
+ // * this is comment
702
+ // */
703
+ // }
704
+ previousBase = base;
705
+ if (array[1][spaces] === '*') {
706
+ specialBase += ' ';
707
+ }
708
+ base = specialBase;
709
+ } else {
710
+ if (spaces & 1) {
711
+ // /*
712
+ // *
713
+ // */
714
+ // If spaces are odd number, above pattern is considered.
715
+ // We waste 1 space.
716
+ --spaces;
717
+ }
718
+ previousBase = base;
719
+ }
720
+
721
+ for (i = 1, len = array.length; i < len; ++i) {
722
+ sn = toSourceNodeWhenNeeded(addIndent(array[i].slice(spaces)));
723
+ array[i] = sourceMap ? sn.join('') : sn;
724
+ }
725
+
726
+ base = previousBase;
727
+
728
+ return array.join('\n');
729
+ }
730
+
731
+ function generateComment(comment, specialBase) {
732
+ if (comment.type === 'Line') {
733
+ if (endsWithLineTerminator(comment.value)) {
734
+ return '//' + comment.value;
735
+ } else {
736
+ // Always use LineTerminator
737
+ return '//' + comment.value + '\n';
738
+ }
739
+ }
740
+ if (extra.format.indent.adjustMultilineComment && /[\n\r]/.test(comment.value)) {
741
+ return adjustMultilineComment('/*' + comment.value + '*/', specialBase);
742
+ }
743
+ return '/*' + comment.value + '*/';
744
+ }
745
+
746
+ function addComments(stmt, result) {
747
+ var i, len, comment, save, tailingToStatement, specialBase, fragment;
748
+
749
+ if (stmt.leadingComments && stmt.leadingComments.length > 0) {
750
+ save = result;
751
+
752
+ comment = stmt.leadingComments[0];
753
+ result = [];
754
+ if (safeConcatenation && stmt.type === Syntax.Program && stmt.body.length === 0) {
755
+ result.push('\n');
756
+ }
757
+ result.push(generateComment(comment));
758
+ if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
759
+ result.push('\n');
760
+ }
761
+
762
+ for (i = 1, len = stmt.leadingComments.length; i < len; ++i) {
763
+ comment = stmt.leadingComments[i];
764
+ fragment = [generateComment(comment)];
765
+ if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
766
+ fragment.push('\n');
767
+ }
768
+ result.push(addIndent(fragment));
769
+ }
770
+
771
+ result.push(addIndent(save));
772
+ }
773
+
774
+ if (stmt.trailingComments) {
775
+ tailingToStatement = !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString());
776
+ specialBase = stringRepeat(' ', calculateSpaces(toSourceNodeWhenNeeded([base, result, indent]).toString()));
777
+ for (i = 0, len = stmt.trailingComments.length; i < len; ++i) {
778
+ comment = stmt.trailingComments[i];
779
+ if (tailingToStatement) {
780
+ // We assume target like following script
781
+ //
782
+ // var t = 20; /**
783
+ // * This is comment of t
784
+ // */
785
+ if (i === 0) {
786
+ // first case
787
+ result = [result, indent];
788
+ } else {
789
+ result = [result, specialBase];
790
+ }
791
+ result.push(generateComment(comment, specialBase));
792
+ } else {
793
+ result = [result, addIndent(generateComment(comment))];
794
+ }
795
+ if (i !== len - 1 && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
796
+ result = [result, '\n'];
797
+ }
798
+ }
799
+ }
800
+
801
+ return result;
802
+ }
803
+
804
+ function parenthesize(text, current, should) {
805
+ if (current < should) {
806
+ return ['(', text, ')'];
807
+ }
808
+ return text;
809
+ }
810
+
811
+ function maybeBlock(stmt, semicolonOptional, functionBody) {
812
+ var result, noLeadingComment;
813
+
814
+ noLeadingComment = !extra.comment || !stmt.leadingComments;
815
+
816
+ if (stmt.type === Syntax.BlockStatement && noLeadingComment) {
817
+ return [space, generateStatement(stmt, { functionBody: functionBody })];
818
+ }
819
+
820
+ if (stmt.type === Syntax.EmptyStatement && noLeadingComment) {
821
+ return ';';
822
+ }
823
+
824
+ withIndent(function () {
825
+ result = [newline, addIndent(generateStatement(stmt, { semicolonOptional: semicolonOptional, functionBody: functionBody }))];
826
+ });
827
+
828
+ return result;
829
+ }
830
+
831
+ function maybeBlockSuffix(stmt, result) {
832
+ var ends = endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString());
833
+ if (stmt.type === Syntax.BlockStatement && (!extra.comment || !stmt.leadingComments) && !ends) {
834
+ return [result, space];
835
+ }
836
+ if (ends) {
837
+ return [result, base];
838
+ }
839
+ return [result, newline, base];
840
+ }
841
+
842
+ function generateVerbatimString(string) {
843
+ var i, iz, result;
844
+ result = string.split(/\r\n|\n/);
845
+ for (i = 1, iz = result.length; i < iz; i++) {
846
+ result[i] = newline + base + result[i];
847
+ }
848
+ return result;
849
+ }
850
+
851
+ function generateVerbatim(expr, option) {
852
+ var verbatim, result, prec;
853
+ verbatim = expr[extra.verbatim];
854
+
855
+ if (typeof verbatim === 'string') {
856
+ result = parenthesize(generateVerbatimString(verbatim), Precedence.Sequence, option.precedence);
857
+ } else {
858
+ // verbatim is object
859
+ result = generateVerbatimString(verbatim.content);
860
+ prec = (verbatim.precedence != null) ? verbatim.precedence : Precedence.Sequence;
861
+ result = parenthesize(result, prec, option.precedence);
862
+ }
863
+
864
+ return toSourceNodeWhenNeeded(result, expr);
865
+ }
866
+
867
+ function generateIdentifier(node) {
868
+ return toSourceNodeWhenNeeded(node.name, node);
869
+ }
870
+
871
+ function generatePattern(node, options) {
872
+ var result;
873
+
874
+ if (node.type === Syntax.Identifier) {
875
+ result = generateIdentifier(node);
876
+ } else {
877
+ result = generateExpression(node, {
878
+ precedence: options.precedence,
879
+ allowIn: options.allowIn,
880
+ allowCall: true
881
+ });
882
+ }
883
+
884
+ return result;
885
+ }
886
+
887
+ function generateFunctionParams(node) {
888
+ var i, iz, result, hasDefault;
889
+
890
+ hasDefault = false;
891
+
892
+ if (node.type === Syntax.ArrowFunctionExpression &&
893
+ !node.rest && (!node.defaults || node.defaults.length === 0) &&
894
+ node.params.length === 1 && node.params[0].type === Syntax.Identifier) {
895
+ // arg => { } case
896
+ result = [generateIdentifier(node.params[0])];
897
+ } else {
898
+ result = ['('];
899
+ if (node.defaults) {
900
+ hasDefault = true;
901
+ }
902
+ for (i = 0, iz = node.params.length; i < iz; ++i) {
903
+ if (hasDefault && node.defaults[i]) {
904
+ // Handle default values.
905
+ result.push(generateAssignment(node.params[i], node.defaults[i], '=', {
906
+ precedence: Precedence.Assignment,
907
+ allowIn: true,
908
+ allowCall: true
909
+ }));
910
+ } else {
911
+ result.push(generatePattern(node.params[i], {
912
+ precedence: Precedence.Assignment,
913
+ allowIn: true,
914
+ allowCall: true
915
+ }));
916
+ }
917
+ if (i + 1 < iz) {
918
+ result.push(',' + space);
919
+ }
920
+ }
921
+
922
+ if (node.rest) {
923
+ if (node.params.length) {
924
+ result.push(',' + space);
925
+ }
926
+ result.push('...');
927
+ result.push(generateIdentifier(node.rest, {
928
+ precedence: Precedence.Assignment,
929
+ allowIn: true,
930
+ allowCall: true
931
+ }));
932
+ }
933
+
934
+ result.push(')');
935
+ }
936
+
937
+ return result;
938
+ }
939
+
940
+ function generateFunctionBody(node) {
941
+ var result, expr;
942
+
943
+ result = generateFunctionParams(node);
944
+
945
+ if (node.type === Syntax.ArrowFunctionExpression) {
946
+ result.push(space);
947
+ result.push('=>');
948
+ }
949
+
950
+ if (node.expression) {
951
+ result.push(space);
952
+ expr = generateExpression(node.body, {
953
+ precedence: Precedence.Assignment,
954
+ allowIn: true,
955
+ allowCall: true
956
+ });
957
+ if (expr.toString().charAt(0) === '{') {
958
+ expr = ['(', expr, ')'];
959
+ }
960
+ result.push(expr);
961
+ } else {
962
+ result.push(maybeBlock(node.body, false, true));
963
+ }
964
+
965
+ return result;
966
+ }
967
+
968
+ function generateIterationForStatement(operator, stmt, semicolonIsNotNeeded) {
969
+ var result = ['for' + space + '('];
970
+ withIndent(function () {
971
+ if (stmt.left.type === Syntax.VariableDeclaration) {
972
+ withIndent(function () {
973
+ result.push(stmt.left.kind + noEmptySpace());
974
+ result.push(generateStatement(stmt.left.declarations[0], {
975
+ allowIn: false
976
+ }));
977
+ });
978
+ } else {
979
+ result.push(generateExpression(stmt.left, {
980
+ precedence: Precedence.Call,
981
+ allowIn: true,
982
+ allowCall: true
983
+ }));
984
+ }
985
+
986
+ result = join(result, operator);
987
+ result = [join(
988
+ result,
989
+ generateExpression(stmt.right, {
990
+ precedence: Precedence.Sequence,
991
+ allowIn: true,
992
+ allowCall: true
993
+ })
994
+ ), ')'];
995
+ });
996
+ result.push(maybeBlock(stmt.body, semicolonIsNotNeeded));
997
+ return result;
998
+ }
999
+
1000
+ function generateVariableDeclaration(stmt, semicolon, allowIn) {
1001
+ var result, i, iz, node;
1002
+
1003
+ result = [ stmt.kind ];
1004
+
1005
+ function block() {
1006
+ node = stmt.declarations[0];
1007
+ if (extra.comment && node.leadingComments) {
1008
+ result.push('\n');
1009
+ result.push(addIndent(generateStatement(node, {
1010
+ allowIn: allowIn
1011
+ })));
1012
+ } else {
1013
+ result.push(noEmptySpace());
1014
+ result.push(generateStatement(node, {
1015
+ allowIn: allowIn
1016
+ }));
1017
+ }
1018
+
1019
+ for (i = 1, iz = stmt.declarations.length; i < iz; ++i) {
1020
+ node = stmt.declarations[i];
1021
+ if (extra.comment && node.leadingComments) {
1022
+ result.push(',' + newline);
1023
+ result.push(addIndent(generateStatement(node, {
1024
+ allowIn: allowIn
1025
+ })));
1026
+ } else {
1027
+ result.push(',' + space);
1028
+ result.push(generateStatement(node, {
1029
+ allowIn: allowIn
1030
+ }));
1031
+ }
1032
+ }
1033
+ }
1034
+
1035
+ if (stmt.declarations.length > 1) {
1036
+ withIndent(block);
1037
+ } else {
1038
+ block();
1039
+ }
1040
+
1041
+ result.push(semicolon);
1042
+
1043
+ return result;
1044
+ }
1045
+
1046
+ function generateClassBody(classBody) {
1047
+ var result = [ '{', newline];
1048
+
1049
+ withIndent(function (indent) {
1050
+ var i, iz;
1051
+
1052
+ for (i = 0, iz = classBody.body.length; i < iz; ++i) {
1053
+ result.push(indent);
1054
+ result.push(generateExpression(classBody.body[i], {
1055
+ precedence: Precedence.Sequence,
1056
+ allowIn: true,
1057
+ allowCall: true,
1058
+ type: Syntax.Property
1059
+ }));
1060
+ if (i + 1 < iz) {
1061
+ result.push(newline);
1062
+ }
1063
+ }
1064
+ });
1065
+
1066
+ if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
1067
+ result.push(newline);
1068
+ }
1069
+ result.push(base);
1070
+ result.push('}');
1071
+ return result;
1072
+ }
1073
+
1074
+ function generateLiteral(expr) {
1075
+ var raw;
1076
+ if (expr.hasOwnProperty('raw') && parse && extra.raw) {
1077
+ try {
1078
+ raw = parse(expr.raw).body[0].expression;
1079
+ if (raw.type === Syntax.Literal) {
1080
+ if (raw.value === expr.value) {
1081
+ return expr.raw;
1082
+ }
1083
+ }
1084
+ } catch (e) {
1085
+ // not use raw property
1086
+ }
1087
+ }
1088
+
1089
+ if (expr.value === null) {
1090
+ return 'null';
1091
+ }
1092
+
1093
+ if (typeof expr.value === 'string') {
1094
+ return escapeString(expr.value);
1095
+ }
1096
+
1097
+ if (typeof expr.value === 'number') {
1098
+ return generateNumber(expr.value);
1099
+ }
1100
+
1101
+ if (typeof expr.value === 'boolean') {
1102
+ return expr.value ? 'true' : 'false';
1103
+ }
1104
+
1105
+ return generateRegExp(expr.value);
1106
+ }
1107
+
1108
+ function generateModuleSpecifier(specifier) {
1109
+ return generateLiteral(specifier);
1110
+ }
1111
+
1112
+ function generatePropertyKey(expr, computed, option) {
1113
+ var result = [];
1114
+
1115
+ if (computed) {
1116
+ result.push('[');
1117
+ }
1118
+ result.push(generateExpression(expr, option));
1119
+ if (computed) {
1120
+ result.push(']');
1121
+ }
1122
+
1123
+ return result;
1124
+ }
1125
+
1126
+ function generateAssignment(left, right, operator, option) {
1127
+ var allowIn, precedence;
1128
+
1129
+ precedence = option.precedence;
1130
+ allowIn = option.allowIn || (Precedence.Assignment < precedence);
1131
+
1132
+ return parenthesize(
1133
+ [
1134
+ generateExpression(left, {
1135
+ precedence: Precedence.Call,
1136
+ allowIn: allowIn,
1137
+ allowCall: true
1138
+ }),
1139
+ space + operator + space,
1140
+ generateExpression(right, {
1141
+ precedence: Precedence.Assignment,
1142
+ allowIn: allowIn,
1143
+ allowCall: true
1144
+ })
1145
+ ],
1146
+ Precedence.Assignment,
1147
+ precedence
1148
+ );
1149
+ }
1150
+
1151
+ function generateExpression(expr, option) {
1152
+ var result,
1153
+ precedence,
1154
+ type,
1155
+ currentPrecedence,
1156
+ i,
1157
+ len,
1158
+ fragment,
1159
+ multiline,
1160
+ leftCharCode,
1161
+ leftSource,
1162
+ rightCharCode,
1163
+ allowIn,
1164
+ allowCall,
1165
+ allowUnparenthesizedNew,
1166
+ property,
1167
+ isGenerator;
1168
+
1169
+ precedence = option.precedence;
1170
+ allowIn = option.allowIn;
1171
+ allowCall = option.allowCall;
1172
+ type = expr.type || option.type;
1173
+
1174
+ if (extra.verbatim && expr.hasOwnProperty(extra.verbatim)) {
1175
+ return generateVerbatim(expr, option);
1176
+ }
1177
+
1178
+ switch (type) {
1179
+ case Syntax.SequenceExpression:
1180
+ result = [];
1181
+ allowIn |= (Precedence.Sequence < precedence);
1182
+ for (i = 0, len = expr.expressions.length; i < len; ++i) {
1183
+ result.push(generateExpression(expr.expressions[i], {
1184
+ precedence: Precedence.Assignment,
1185
+ allowIn: allowIn,
1186
+ allowCall: true
1187
+ }));
1188
+ if (i + 1 < len) {
1189
+ result.push(',' + space);
1190
+ }
1191
+ }
1192
+ result = parenthesize(result, Precedence.Sequence, precedence);
1193
+ break;
1194
+
1195
+ case Syntax.AssignmentExpression:
1196
+ result = generateAssignment(expr.left, expr.right, expr.operator, option);
1197
+ break;
1198
+
1199
+ case Syntax.ArrowFunctionExpression:
1200
+ allowIn |= (Precedence.ArrowFunction < precedence);
1201
+ result = parenthesize(generateFunctionBody(expr), Precedence.ArrowFunction, precedence);
1202
+ break;
1203
+
1204
+ case Syntax.ConditionalExpression:
1205
+ allowIn |= (Precedence.Conditional < precedence);
1206
+ result = parenthesize(
1207
+ [
1208
+ generateExpression(expr.test, {
1209
+ precedence: Precedence.LogicalOR,
1210
+ allowIn: allowIn,
1211
+ allowCall: true
1212
+ }),
1213
+ space + '?' + space,
1214
+ generateExpression(expr.consequent, {
1215
+ precedence: Precedence.Assignment,
1216
+ allowIn: allowIn,
1217
+ allowCall: true
1218
+ }),
1219
+ space + ':' + space,
1220
+ generateExpression(expr.alternate, {
1221
+ precedence: Precedence.Assignment,
1222
+ allowIn: allowIn,
1223
+ allowCall: true
1224
+ })
1225
+ ],
1226
+ Precedence.Conditional,
1227
+ precedence
1228
+ );
1229
+ break;
1230
+
1231
+ case Syntax.LogicalExpression:
1232
+ case Syntax.BinaryExpression:
1233
+ currentPrecedence = BinaryPrecedence[expr.operator];
1234
+
1235
+ allowIn |= (currentPrecedence < precedence);
1236
+
1237
+ fragment = generateExpression(expr.left, {
1238
+ precedence: currentPrecedence,
1239
+ allowIn: allowIn,
1240
+ allowCall: true
1241
+ });
1242
+
1243
+ leftSource = fragment.toString();
1244
+
1245
+ if (leftSource.charCodeAt(leftSource.length - 1) === 0x2F /* / */ && esutils.code.isIdentifierPart(expr.operator.charCodeAt(0))) {
1246
+ result = [fragment, noEmptySpace(), expr.operator];
1247
+ } else {
1248
+ result = join(fragment, expr.operator);
1249
+ }
1250
+
1251
+ fragment = generateExpression(expr.right, {
1252
+ precedence: currentPrecedence + 1,
1253
+ allowIn: allowIn,
1254
+ allowCall: true
1255
+ });
1256
+
1257
+ if (expr.operator === '/' && fragment.toString().charAt(0) === '/' ||
1258
+ expr.operator.slice(-1) === '<' && fragment.toString().slice(0, 3) === '!--') {
1259
+ // If '/' concats with '/' or `<` concats with `!--`, it is interpreted as comment start
1260
+ result.push(noEmptySpace());
1261
+ result.push(fragment);
1262
+ } else {
1263
+ result = join(result, fragment);
1264
+ }
1265
+
1266
+ if (expr.operator === 'in' && !allowIn) {
1267
+ result = ['(', result, ')'];
1268
+ } else {
1269
+ result = parenthesize(result, currentPrecedence, precedence);
1270
+ }
1271
+
1272
+ break;
1273
+
1274
+ case Syntax.CallExpression:
1275
+ result = [generateExpression(expr.callee, {
1276
+ precedence: Precedence.Call,
1277
+ allowIn: true,
1278
+ allowCall: true,
1279
+ allowUnparenthesizedNew: false
1280
+ })];
1281
+
1282
+ result.push('(');
1283
+ for (i = 0, len = expr['arguments'].length; i < len; ++i) {
1284
+ result.push(generateExpression(expr['arguments'][i], {
1285
+ precedence: Precedence.Assignment,
1286
+ allowIn: true,
1287
+ allowCall: true
1288
+ }));
1289
+ if (i + 1 < len) {
1290
+ result.push(',' + space);
1291
+ }
1292
+ }
1293
+ result.push(')');
1294
+
1295
+ if (!allowCall) {
1296
+ result = ['(', result, ')'];
1297
+ } else {
1298
+ result = parenthesize(result, Precedence.Call, precedence);
1299
+ }
1300
+ break;
1301
+
1302
+ case Syntax.NewExpression:
1303
+ len = expr['arguments'].length;
1304
+ allowUnparenthesizedNew = option.allowUnparenthesizedNew === undefined || option.allowUnparenthesizedNew;
1305
+
1306
+ result = join(
1307
+ 'new',
1308
+ generateExpression(expr.callee, {
1309
+ precedence: Precedence.New,
1310
+ allowIn: true,
1311
+ allowCall: false,
1312
+ allowUnparenthesizedNew: allowUnparenthesizedNew && !parentheses && len === 0
1313
+ })
1314
+ );
1315
+
1316
+ if (!allowUnparenthesizedNew || parentheses || len > 0) {
1317
+ result.push('(');
1318
+ for (i = 0; i < len; ++i) {
1319
+ result.push(generateExpression(expr['arguments'][i], {
1320
+ precedence: Precedence.Assignment,
1321
+ allowIn: true,
1322
+ allowCall: true
1323
+ }));
1324
+ if (i + 1 < len) {
1325
+ result.push(',' + space);
1326
+ }
1327
+ }
1328
+ result.push(')');
1329
+ }
1330
+
1331
+ result = parenthesize(result, Precedence.New, precedence);
1332
+ break;
1333
+
1334
+ case Syntax.MemberExpression:
1335
+ result = [generateExpression(expr.object, {
1336
+ precedence: Precedence.Call,
1337
+ allowIn: true,
1338
+ allowCall: allowCall,
1339
+ allowUnparenthesizedNew: false
1340
+ })];
1341
+
1342
+ if (expr.computed) {
1343
+ result.push('[');
1344
+ result.push(generateExpression(expr.property, {
1345
+ precedence: Precedence.Sequence,
1346
+ allowIn: true,
1347
+ allowCall: allowCall
1348
+ }));
1349
+ result.push(']');
1350
+ } else {
1351
+ if (expr.object.type === Syntax.Literal && typeof expr.object.value === 'number') {
1352
+ fragment = toSourceNodeWhenNeeded(result).toString();
1353
+ // When the following conditions are all true,
1354
+ // 1. No floating point
1355
+ // 2. Don't have exponents
1356
+ // 3. The last character is a decimal digit
1357
+ // 4. Not hexadecimal OR octal number literal
1358
+ // we should add a floating point.
1359
+ if (
1360
+ fragment.indexOf('.') < 0 &&
1361
+ !/[eExX]/.test(fragment) &&
1362
+ esutils.code.isDecimalDigit(fragment.charCodeAt(fragment.length - 1)) &&
1363
+ !(fragment.length >= 2 && fragment.charCodeAt(0) === 48) // '0'
1364
+ ) {
1365
+ result.push('.');
1366
+ }
1367
+ }
1368
+ result.push('.');
1369
+ result.push(generateIdentifier(expr.property));
1370
+ }
1371
+
1372
+ result = parenthesize(result, Precedence.Member, precedence);
1373
+ break;
1374
+
1375
+ case Syntax.UnaryExpression:
1376
+ fragment = generateExpression(expr.argument, {
1377
+ precedence: Precedence.Unary,
1378
+ allowIn: true,
1379
+ allowCall: true
1380
+ });
1381
+
1382
+ if (space === '') {
1383
+ result = join(expr.operator, fragment);
1384
+ } else {
1385
+ result = [expr.operator];
1386
+ if (expr.operator.length > 2) {
1387
+ // delete, void, typeof
1388
+ // get `typeof []`, not `typeof[]`
1389
+ result = join(result, fragment);
1390
+ } else {
1391
+ // Prevent inserting spaces between operator and argument if it is unnecessary
1392
+ // like, `!cond`
1393
+ leftSource = toSourceNodeWhenNeeded(result).toString();
1394
+ leftCharCode = leftSource.charCodeAt(leftSource.length - 1);
1395
+ rightCharCode = fragment.toString().charCodeAt(0);
1396
+
1397
+ if (((leftCharCode === 0x2B /* + */ || leftCharCode === 0x2D /* - */) && leftCharCode === rightCharCode) ||
1398
+ (esutils.code.isIdentifierPart(leftCharCode) && esutils.code.isIdentifierPart(rightCharCode))) {
1399
+ result.push(noEmptySpace());
1400
+ result.push(fragment);
1401
+ } else {
1402
+ result.push(fragment);
1403
+ }
1404
+ }
1405
+ }
1406
+ result = parenthesize(result, Precedence.Unary, precedence);
1407
+ break;
1408
+
1409
+ case Syntax.YieldExpression:
1410
+ if (expr.delegate) {
1411
+ result = 'yield*';
1412
+ } else {
1413
+ result = 'yield';
1414
+ }
1415
+ if (expr.argument) {
1416
+ result = join(
1417
+ result,
1418
+ generateExpression(expr.argument, {
1419
+ precedence: Precedence.Yield,
1420
+ allowIn: true,
1421
+ allowCall: true
1422
+ })
1423
+ );
1424
+ }
1425
+ result = parenthesize(result, Precedence.Yield, precedence);
1426
+ break;
1427
+
1428
+ case Syntax.UpdateExpression:
1429
+ if (expr.prefix) {
1430
+ result = parenthesize(
1431
+ [
1432
+ expr.operator,
1433
+ generateExpression(expr.argument, {
1434
+ precedence: Precedence.Unary,
1435
+ allowIn: true,
1436
+ allowCall: true
1437
+ })
1438
+ ],
1439
+ Precedence.Unary,
1440
+ precedence
1441
+ );
1442
+ } else {
1443
+ result = parenthesize(
1444
+ [
1445
+ generateExpression(expr.argument, {
1446
+ precedence: Precedence.Postfix,
1447
+ allowIn: true,
1448
+ allowCall: true
1449
+ }),
1450
+ expr.operator
1451
+ ],
1452
+ Precedence.Postfix,
1453
+ precedence
1454
+ );
1455
+ }
1456
+ break;
1457
+
1458
+ case Syntax.FunctionExpression:
1459
+ isGenerator = expr.generator && !extra.moz.starlessGenerator;
1460
+ result = isGenerator ? 'function*' : 'function';
1461
+
1462
+ if (expr.id) {
1463
+ result = [result, (isGenerator) ? space : noEmptySpace(),
1464
+ generateIdentifier(expr.id),
1465
+ generateFunctionBody(expr)];
1466
+ } else {
1467
+ result = [result + space, generateFunctionBody(expr)];
1468
+ }
1469
+ break;
1470
+
1471
+ case Syntax.ExportBatchSpecifier:
1472
+ result = '*';
1473
+ break;
1474
+
1475
+ case Syntax.ArrayPattern:
1476
+ case Syntax.ArrayExpression:
1477
+ if (!expr.elements.length) {
1478
+ result = '[]';
1479
+ break;
1480
+ }
1481
+ multiline = expr.elements.length > 1;
1482
+ result = ['[', multiline ? newline : ''];
1483
+ withIndent(function (indent) {
1484
+ for (i = 0, len = expr.elements.length; i < len; ++i) {
1485
+ if (!expr.elements[i]) {
1486
+ if (multiline) {
1487
+ result.push(indent);
1488
+ }
1489
+ if (i + 1 === len) {
1490
+ result.push(',');
1491
+ }
1492
+ } else {
1493
+ result.push(multiline ? indent : '');
1494
+ result.push(generateExpression(expr.elements[i], {
1495
+ precedence: Precedence.Assignment,
1496
+ allowIn: true,
1497
+ allowCall: true
1498
+ }));
1499
+ }
1500
+ if (i + 1 < len) {
1501
+ result.push(',' + (multiline ? newline : space));
1502
+ }
1503
+ }
1504
+ });
1505
+ if (multiline && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
1506
+ result.push(newline);
1507
+ }
1508
+ result.push(multiline ? base : '');
1509
+ result.push(']');
1510
+ break;
1511
+
1512
+ case Syntax.ClassExpression:
1513
+ result = ['class'];
1514
+ if (expr.id) {
1515
+ result = join(result, generateExpression(expr.id, {
1516
+ allowIn: true,
1517
+ allowCall: true
1518
+ }));
1519
+ }
1520
+ if (expr.superClass) {
1521
+ fragment = join('extends', generateExpression(expr.superClass, {
1522
+ precedence: Precedence.Assignment,
1523
+ allowIn: true,
1524
+ allowCall: true
1525
+ }));
1526
+ result = join(result, fragment);
1527
+ }
1528
+ result.push(space);
1529
+ result.push(generateStatement(expr.body, {
1530
+ semicolonOptional: true,
1531
+ directiveContext: false
1532
+ }));
1533
+ break;
1534
+
1535
+ case Syntax.MethodDefinition:
1536
+ if (expr['static']) {
1537
+ result = ['static' + space];
1538
+ } else {
1539
+ result = [];
1540
+ }
1541
+
1542
+ if (expr.kind === 'get' || expr.kind === 'set') {
1543
+ result = join(result, [
1544
+ join(expr.kind, generatePropertyKey(expr.key, expr.computed, {
1545
+ precedence: Precedence.Sequence,
1546
+ allowIn: true,
1547
+ allowCall: true
1548
+ })),
1549
+ generateFunctionBody(expr.value)
1550
+ ]);
1551
+ } else {
1552
+ fragment = [
1553
+ generatePropertyKey(expr.key, expr.computed, {
1554
+ precedence: Precedence.Sequence,
1555
+ allowIn: true,
1556
+ allowCall: true
1557
+ }),
1558
+ generateFunctionBody(expr.value)
1559
+ ];
1560
+ if (expr.value.generator) {
1561
+ result.push('*');
1562
+ result.push(fragment);
1563
+ } else {
1564
+ result = join(result, fragment);
1565
+ }
1566
+ }
1567
+ break;
1568
+
1569
+ case Syntax.Property:
1570
+ if (expr.kind === 'get' || expr.kind === 'set') {
1571
+ result = [
1572
+ expr.kind, noEmptySpace(),
1573
+ generatePropertyKey(expr.key, expr.computed, {
1574
+ precedence: Precedence.Sequence,
1575
+ allowIn: true,
1576
+ allowCall: true
1577
+ }),
1578
+ generateFunctionBody(expr.value)
1579
+ ];
1580
+ } else {
1581
+ if (expr.shorthand) {
1582
+ result = generatePropertyKey(expr.key, expr.computed, {
1583
+ precedence: Precedence.Sequence,
1584
+ allowIn: true,
1585
+ allowCall: true
1586
+ });
1587
+ } else if (expr.method) {
1588
+ result = [];
1589
+ if (expr.value.generator) {
1590
+ result.push('*');
1591
+ }
1592
+ result.push(generatePropertyKey(expr.key, expr.computed, {
1593
+ precedence: Precedence.Sequence,
1594
+ allowIn: true,
1595
+ allowCall: true
1596
+ }));
1597
+ result.push(generateFunctionBody(expr.value));
1598
+ } else {
1599
+ result = [
1600
+ generatePropertyKey(expr.key, expr.computed, {
1601
+ precedence: Precedence.Sequence,
1602
+ allowIn: true,
1603
+ allowCall: true
1604
+ }),
1605
+ ':' + space,
1606
+ generateExpression(expr.value, {
1607
+ precedence: Precedence.Assignment,
1608
+ allowIn: true,
1609
+ allowCall: true
1610
+ })
1611
+ ];
1612
+ }
1613
+ }
1614
+ break;
1615
+
1616
+ case Syntax.ObjectExpression:
1617
+ if (!expr.properties.length) {
1618
+ result = '{}';
1619
+ break;
1620
+ }
1621
+ multiline = expr.properties.length > 1;
1622
+
1623
+ withIndent(function () {
1624
+ fragment = generateExpression(expr.properties[0], {
1625
+ precedence: Precedence.Sequence,
1626
+ allowIn: true,
1627
+ allowCall: true,
1628
+ type: Syntax.Property
1629
+ });
1630
+ });
1631
+
1632
+ if (!multiline) {
1633
+ // issues 4
1634
+ // Do not transform from
1635
+ // dejavu.Class.declare({
1636
+ // method2: function () {}
1637
+ // });
1638
+ // to
1639
+ // dejavu.Class.declare({method2: function () {
1640
+ // }});
1641
+ if (!hasLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
1642
+ result = [ '{', space, fragment, space, '}' ];
1643
+ break;
1644
+ }
1645
+ }
1646
+
1647
+ withIndent(function (indent) {
1648
+ result = [ '{', newline, indent, fragment ];
1649
+
1650
+ if (multiline) {
1651
+ result.push(',' + newline);
1652
+ for (i = 1, len = expr.properties.length; i < len; ++i) {
1653
+ result.push(indent);
1654
+ result.push(generateExpression(expr.properties[i], {
1655
+ precedence: Precedence.Sequence,
1656
+ allowIn: true,
1657
+ allowCall: true,
1658
+ type: Syntax.Property
1659
+ }));
1660
+ if (i + 1 < len) {
1661
+ result.push(',' + newline);
1662
+ }
1663
+ }
1664
+ }
1665
+ });
1666
+
1667
+ if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
1668
+ result.push(newline);
1669
+ }
1670
+ result.push(base);
1671
+ result.push('}');
1672
+ break;
1673
+
1674
+ case Syntax.ObjectPattern:
1675
+ if (!expr.properties.length) {
1676
+ result = '{}';
1677
+ break;
1678
+ }
1679
+
1680
+ multiline = false;
1681
+ if (expr.properties.length === 1) {
1682
+ property = expr.properties[0];
1683
+ if (property.value.type !== Syntax.Identifier) {
1684
+ multiline = true;
1685
+ }
1686
+ } else {
1687
+ for (i = 0, len = expr.properties.length; i < len; ++i) {
1688
+ property = expr.properties[i];
1689
+ if (!property.shorthand) {
1690
+ multiline = true;
1691
+ break;
1692
+ }
1693
+ }
1694
+ }
1695
+ result = ['{', multiline ? newline : '' ];
1696
+
1697
+ withIndent(function (indent) {
1698
+ for (i = 0, len = expr.properties.length; i < len; ++i) {
1699
+ result.push(multiline ? indent : '');
1700
+ result.push(generateExpression(expr.properties[i], {
1701
+ precedence: Precedence.Sequence,
1702
+ allowIn: true,
1703
+ allowCall: true
1704
+ }));
1705
+ if (i + 1 < len) {
1706
+ result.push(',' + (multiline ? newline : space));
1707
+ }
1708
+ }
1709
+ });
1710
+
1711
+ if (multiline && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
1712
+ result.push(newline);
1713
+ }
1714
+ result.push(multiline ? base : '');
1715
+ result.push('}');
1716
+ break;
1717
+
1718
+ case Syntax.ThisExpression:
1719
+ result = 'this';
1720
+ break;
1721
+
1722
+ case Syntax.Identifier:
1723
+ result = generateIdentifier(expr);
1724
+ break;
1725
+
1726
+ case Syntax.ImportDefaultSpecifier:
1727
+ result = generateIdentifier(expr.id);
1728
+ break;
1729
+
1730
+ case Syntax.ImportNamespaceSpecifier:
1731
+ result = ['*'];
1732
+ if (expr.id) {
1733
+ result.push(space + 'as' + noEmptySpace() + generateIdentifier(expr.id));
1734
+ }
1735
+ break;
1736
+
1737
+ case Syntax.ImportSpecifier:
1738
+ case Syntax.ExportSpecifier:
1739
+ result = [ expr.id.name ];
1740
+ if (expr.name) {
1741
+ result.push(noEmptySpace() + 'as' + noEmptySpace() + generateIdentifier(expr.name));
1742
+ }
1743
+ break;
1744
+
1745
+ case Syntax.Literal:
1746
+ result = generateLiteral(expr);
1747
+ break;
1748
+
1749
+ case Syntax.GeneratorExpression:
1750
+ case Syntax.ComprehensionExpression:
1751
+ // GeneratorExpression should be parenthesized with (...), ComprehensionExpression with [...]
1752
+ // Due to https://bugzilla.mozilla.org/show_bug.cgi?id=883468 position of expr.body can differ in Spidermonkey and ES6
1753
+ result = (type === Syntax.GeneratorExpression) ? ['('] : ['['];
1754
+
1755
+ if (extra.moz.comprehensionExpressionStartsWithAssignment) {
1756
+ fragment = generateExpression(expr.body, {
1757
+ precedence: Precedence.Assignment,
1758
+ allowIn: true,
1759
+ allowCall: true
1760
+ });
1761
+
1762
+ result.push(fragment);
1763
+ }
1764
+
1765
+ if (expr.blocks) {
1766
+ withIndent(function () {
1767
+ for (i = 0, len = expr.blocks.length; i < len; ++i) {
1768
+ fragment = generateExpression(expr.blocks[i], {
1769
+ precedence: Precedence.Sequence,
1770
+ allowIn: true,
1771
+ allowCall: true
1772
+ });
1773
+
1774
+ if (i > 0 || extra.moz.comprehensionExpressionStartsWithAssignment) {
1775
+ result = join(result, fragment);
1776
+ } else {
1777
+ result.push(fragment);
1778
+ }
1779
+ }
1780
+ });
1781
+ }
1782
+
1783
+ if (expr.filter) {
1784
+ result = join(result, 'if' + space);
1785
+ fragment = generateExpression(expr.filter, {
1786
+ precedence: Precedence.Sequence,
1787
+ allowIn: true,
1788
+ allowCall: true
1789
+ });
1790
+ result = join(result, [ '(', fragment, ')' ]);
1791
+ }
1792
+
1793
+ if (!extra.moz.comprehensionExpressionStartsWithAssignment) {
1794
+ fragment = generateExpression(expr.body, {
1795
+ precedence: Precedence.Assignment,
1796
+ allowIn: true,
1797
+ allowCall: true
1798
+ });
1799
+
1800
+ result = join(result, fragment);
1801
+ }
1802
+
1803
+ result.push((type === Syntax.GeneratorExpression) ? ')' : ']');
1804
+ break;
1805
+
1806
+ case Syntax.ComprehensionBlock:
1807
+ if (expr.left.type === Syntax.VariableDeclaration) {
1808
+ fragment = [
1809
+ expr.left.kind, noEmptySpace(),
1810
+ generateStatement(expr.left.declarations[0], {
1811
+ allowIn: false
1812
+ })
1813
+ ];
1814
+ } else {
1815
+ fragment = generateExpression(expr.left, {
1816
+ precedence: Precedence.Call,
1817
+ allowIn: true,
1818
+ allowCall: true
1819
+ });
1820
+ }
1821
+
1822
+ fragment = join(fragment, expr.of ? 'of' : 'in');
1823
+ fragment = join(fragment, generateExpression(expr.right, {
1824
+ precedence: Precedence.Sequence,
1825
+ allowIn: true,
1826
+ allowCall: true
1827
+ }));
1828
+
1829
+ result = [ 'for' + space + '(', fragment, ')' ];
1830
+ break;
1831
+
1832
+ case Syntax.SpreadElement:
1833
+ result = [
1834
+ '...',
1835
+ generateExpression(expr.argument, {
1836
+ precedence: Precedence.Assignment,
1837
+ allowIn: true,
1838
+ allowCall: true
1839
+ })
1840
+ ];
1841
+ break;
1842
+
1843
+ case Syntax.TaggedTemplateExpression:
1844
+ result = [
1845
+ generateExpression(expr.tag, {
1846
+ precedence: Precedence.Call,
1847
+ allowIn: true,
1848
+ allowCall: allowCall,
1849
+ allowUnparenthesizedNew: false
1850
+ }),
1851
+ generateExpression(expr.quasi, {
1852
+ precedence: Precedence.Primary
1853
+ })
1854
+ ];
1855
+ result = parenthesize(result, Precedence.TaggedTemplate, precedence);
1856
+ break;
1857
+
1858
+ case Syntax.TemplateElement:
1859
+ // Don't use "cooked". Since tagged template can use raw template
1860
+ // representation. So if we do so, it breaks the script semantics.
1861
+ result = expr.value.raw;
1862
+ break;
1863
+
1864
+ case Syntax.TemplateLiteral:
1865
+ result = [ '`' ];
1866
+ for (i = 0, len = expr.quasis.length; i < len; ++i) {
1867
+ result.push(generateExpression(expr.quasis[i], {
1868
+ precedence: Precedence.Primary,
1869
+ allowIn: true,
1870
+ allowCall: true
1871
+ }));
1872
+ if (i + 1 < len) {
1873
+ result.push('${' + space);
1874
+ result.push(generateExpression(expr.expressions[i], {
1875
+ precedence: Precedence.Sequence,
1876
+ allowIn: true,
1877
+ allowCall: true
1878
+ }));
1879
+ result.push(space + '}');
1880
+ }
1881
+ }
1882
+ result.push('`');
1883
+ break;
1884
+
1885
+ case Syntax.ModuleSpecifier:
1886
+ result = generateModuleSpecifier(expr);
1887
+ break;
1888
+
1889
+ default:
1890
+ throw new Error('Unknown expression type: ' + expr.type);
1891
+ }
1892
+
1893
+ if (extra.comment) {
1894
+ result = addComments(expr,result);
1895
+ }
1896
+ return toSourceNodeWhenNeeded(result, expr);
1897
+ }
1898
+
1899
+ // ES6: 15.2.1 valid import declarations:
1900
+ // - import ImportClause FromClause ;
1901
+ // - import ModuleSpecifier ;
1902
+ function generateImportDeclaration(stmt, semicolon) {
1903
+ var result, cursor;
1904
+
1905
+ // If no ImportClause is present,
1906
+ // this should be `import ModuleSpecifier` so skip `from`
1907
+ // ModuleSpecifier is StringLiteral.
1908
+ if (stmt.specifiers.length === 0) {
1909
+ // import ModuleSpecifier ;
1910
+ return [
1911
+ 'import',
1912
+ space,
1913
+ // ModuleSpecifier
1914
+ generateExpression(stmt.source, {
1915
+ precedence: Precedence.Sequence,
1916
+ allowIn: true,
1917
+ allowCall: true
1918
+ }),
1919
+ semicolon
1920
+ ];
1921
+ }
1922
+
1923
+ // import ImportClause FromClause ;
1924
+ result = [
1925
+ 'import'
1926
+ ];
1927
+ cursor = 0;
1928
+
1929
+ // ImportedBinding
1930
+ if (stmt.specifiers[cursor].type === Syntax.ImportDefaultSpecifier) {
1931
+ result = join(result, [
1932
+ generateExpression(stmt.specifiers[cursor], {
1933
+ precedence: Precedence.Sequence,
1934
+ allowIn: true,
1935
+ allowCall: true
1936
+ })
1937
+ ]);
1938
+ ++cursor;
1939
+ }
1940
+
1941
+ if (stmt.specifiers[cursor]) {
1942
+ if (cursor !== 0) {
1943
+ result.push(',');
1944
+ }
1945
+
1946
+ if (stmt.specifiers[cursor].type === Syntax.ImportNamespaceSpecifier) {
1947
+ // NameSpaceImport
1948
+ result = join(result, [
1949
+ space,
1950
+ generateExpression(stmt.specifiers[cursor], {
1951
+ precedence: Precedence.Sequence,
1952
+ allowIn: true,
1953
+ allowCall: true
1954
+ })
1955
+ ]);
1956
+ } else {
1957
+ // NamedImports
1958
+ result.push(space + '{');
1959
+
1960
+ if ((stmt.specifiers.length - cursor) === 1) {
1961
+ // import { ... } from "...";
1962
+ result.push(space);
1963
+ result.push(generateExpression(stmt.specifiers[cursor], {
1964
+ precedence: Precedence.Sequence,
1965
+ allowIn: true,
1966
+ allowCall: true
1967
+ }));
1968
+ result.push(space + '}' + space);
1969
+ } else {
1970
+ // import {
1971
+ // ...,
1972
+ // ...,
1973
+ // } from "...";
1974
+ withIndent(function (indent) {
1975
+ var i, iz;
1976
+ result.push(newline);
1977
+ for (i = cursor, iz = stmt.specifiers.length; i < iz; ++i) {
1978
+ result.push(indent);
1979
+ result.push(generateExpression(stmt.specifiers[i], {
1980
+ precedence: Precedence.Sequence,
1981
+ allowIn: true,
1982
+ allowCall: true
1983
+ }));
1984
+ if (i + 1 < iz) {
1985
+ result.push(',' + newline);
1986
+ }
1987
+ }
1988
+ });
1989
+ if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
1990
+ result.push(newline);
1991
+ }
1992
+ result.push(base + '}' + space);
1993
+ }
1994
+ }
1995
+ }
1996
+
1997
+ result = join(result, [
1998
+ 'from' + space,
1999
+ // ModuleSpecifier
2000
+ generateExpression(stmt.source, {
2001
+ precedence: Precedence.Sequence,
2002
+ allowIn: true,
2003
+ allowCall: true
2004
+ }),
2005
+ semicolon
2006
+ ]);
2007
+ return result;
2008
+ }
2009
+
2010
+ function generateStatement(stmt, option) {
2011
+ var i,
2012
+ len,
2013
+ result,
2014
+ allowIn,
2015
+ functionBody,
2016
+ directiveContext,
2017
+ fragment,
2018
+ semicolon,
2019
+ isGenerator,
2020
+ guardedHandlers;
2021
+
2022
+ allowIn = true;
2023
+ semicolon = ';';
2024
+ functionBody = false;
2025
+ directiveContext = false;
2026
+ if (option) {
2027
+ allowIn = option.allowIn === undefined || option.allowIn;
2028
+ if (!semicolons && option.semicolonOptional === true) {
2029
+ semicolon = '';
2030
+ }
2031
+ functionBody = option.functionBody;
2032
+ directiveContext = option.directiveContext;
2033
+ }
2034
+
2035
+ switch (stmt.type) {
2036
+ case Syntax.BlockStatement:
2037
+ result = ['{', newline];
2038
+
2039
+ withIndent(function () {
2040
+ for (i = 0, len = stmt.body.length; i < len; ++i) {
2041
+ fragment = addIndent(generateStatement(stmt.body[i], {
2042
+ semicolonOptional: i === len - 1,
2043
+ directiveContext: functionBody
2044
+ }));
2045
+ result.push(fragment);
2046
+ if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
2047
+ result.push(newline);
2048
+ }
2049
+ }
2050
+ });
2051
+
2052
+ result.push(addIndent('}'));
2053
+ break;
2054
+
2055
+ case Syntax.BreakStatement:
2056
+ if (stmt.label) {
2057
+ result = 'break ' + stmt.label.name + semicolon;
2058
+ } else {
2059
+ result = 'break' + semicolon;
2060
+ }
2061
+ break;
2062
+
2063
+ case Syntax.ContinueStatement:
2064
+ if (stmt.label) {
2065
+ result = 'continue ' + stmt.label.name + semicolon;
2066
+ } else {
2067
+ result = 'continue' + semicolon;
2068
+ }
2069
+ break;
2070
+
2071
+ case Syntax.ClassBody:
2072
+ result = generateClassBody(stmt);
2073
+ break;
2074
+
2075
+ case Syntax.ClassDeclaration:
2076
+ result = ['class ' + stmt.id.name];
2077
+ if (stmt.superClass) {
2078
+ fragment = join('extends', generateExpression(stmt.superClass, {
2079
+ precedence: Precedence.Assignment,
2080
+ allowIn: true,
2081
+ allowCall: true
2082
+ }));
2083
+ result = join(result, fragment);
2084
+ }
2085
+ result.push(space);
2086
+ result.push(generateStatement(stmt.body, {
2087
+ semicolonOptional: true,
2088
+ directiveContext: false
2089
+ }));
2090
+ break;
2091
+
2092
+ case Syntax.DirectiveStatement:
2093
+ if (extra.raw && stmt.raw) {
2094
+ result = stmt.raw + semicolon;
2095
+ } else {
2096
+ result = escapeDirective(stmt.directive) + semicolon;
2097
+ }
2098
+ break;
2099
+
2100
+ case Syntax.DoWhileStatement:
2101
+ // Because `do 42 while (cond)` is Syntax Error. We need semicolon.
2102
+ result = join('do', maybeBlock(stmt.body));
2103
+ result = maybeBlockSuffix(stmt.body, result);
2104
+ result = join(result, [
2105
+ 'while' + space + '(',
2106
+ generateExpression(stmt.test, {
2107
+ precedence: Precedence.Sequence,
2108
+ allowIn: true,
2109
+ allowCall: true
2110
+ }),
2111
+ ')' + semicolon
2112
+ ]);
2113
+ break;
2114
+
2115
+ case Syntax.CatchClause:
2116
+ withIndent(function () {
2117
+ var guard;
2118
+
2119
+ result = [
2120
+ 'catch' + space + '(',
2121
+ generateExpression(stmt.param, {
2122
+ precedence: Precedence.Sequence,
2123
+ allowIn: true,
2124
+ allowCall: true
2125
+ }),
2126
+ ')'
2127
+ ];
2128
+
2129
+ if (stmt.guard) {
2130
+ guard = generateExpression(stmt.guard, {
2131
+ precedence: Precedence.Sequence,
2132
+ allowIn: true,
2133
+ allowCall: true
2134
+ });
2135
+
2136
+ result.splice(2, 0, ' if ', guard);
2137
+ }
2138
+ });
2139
+ result.push(maybeBlock(stmt.body));
2140
+ break;
2141
+
2142
+ case Syntax.DebuggerStatement:
2143
+ result = 'debugger' + semicolon;
2144
+ break;
2145
+
2146
+ case Syntax.EmptyStatement:
2147
+ result = ';';
2148
+ break;
2149
+
2150
+ case Syntax.ExportDeclaration:
2151
+ result = [ 'export' ];
2152
+
2153
+ // export default HoistableDeclaration[Default]
2154
+ // export default AssignmentExpression[In] ;
2155
+ if (stmt['default']) {
2156
+ result = join(result, 'default');
2157
+ if (isStatement(stmt.declaration)) {
2158
+ result = join(result, generateStatement(stmt.declaration, { semicolonOptional: semicolon === '' }));
2159
+ } else {
2160
+ result = join(result, generateExpression(stmt.declaration, {
2161
+ precedence: Precedence.Assignment,
2162
+ allowIn: true,
2163
+ allowCall: true
2164
+ }) + semicolon);
2165
+ }
2166
+ break;
2167
+ }
2168
+
2169
+ // export VariableStatement
2170
+ // export Declaration[Default]
2171
+ if (stmt.declaration) {
2172
+ result = join(result, generateStatement(stmt.declaration, { semicolonOptional: semicolon === '' }));
2173
+ break;
2174
+ }
2175
+
2176
+ // export * FromClause ;
2177
+ // export ExportClause[NoReference] FromClause ;
2178
+ // export ExportClause ;
2179
+ if (stmt.specifiers) {
2180
+ if (stmt.specifiers.length === 0) {
2181
+ result = join(result, '{' + space + '}');
2182
+ } else if (stmt.specifiers[0].type === Syntax.ExportBatchSpecifier) {
2183
+ result = join(result, generateExpression(stmt.specifiers[0], {
2184
+ precedence: Precedence.Sequence,
2185
+ allowIn: true,
2186
+ allowCall: true
2187
+ }));
2188
+ } else {
2189
+ result = join(result, '{');
2190
+ withIndent(function (indent) {
2191
+ var i, iz;
2192
+ result.push(newline);
2193
+ for (i = 0, iz = stmt.specifiers.length; i < iz; ++i) {
2194
+ result.push(indent);
2195
+ result.push(generateExpression(stmt.specifiers[i], {
2196
+ precedence: Precedence.Sequence,
2197
+ allowIn: true,
2198
+ allowCall: true
2199
+ }));
2200
+ if (i + 1 < iz) {
2201
+ result.push(',' + newline);
2202
+ }
2203
+ }
2204
+ });
2205
+ if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
2206
+ result.push(newline);
2207
+ }
2208
+ result.push(base + '}');
2209
+ }
2210
+
2211
+ if (stmt.source) {
2212
+ result = join(result, [
2213
+ 'from' + space,
2214
+ // ModuleSpecifier
2215
+ generateExpression(stmt.source, {
2216
+ precedence: Precedence.Sequence,
2217
+ allowIn: true,
2218
+ allowCall: true
2219
+ }),
2220
+ semicolon
2221
+ ]);
2222
+ } else {
2223
+ result.push(semicolon);
2224
+ }
2225
+ break;
2226
+ }
2227
+ break;
2228
+
2229
+ case Syntax.ExpressionStatement:
2230
+ result = [generateExpression(stmt.expression, {
2231
+ precedence: Precedence.Sequence,
2232
+ allowIn: true,
2233
+ allowCall: true
2234
+ })];
2235
+ // 12.4 '{', 'function', 'class' is not allowed in this position.
2236
+ // wrap expression with parentheses
2237
+ fragment = toSourceNodeWhenNeeded(result).toString();
2238
+ if (fragment.charAt(0) === '{' || // ObjectExpression
2239
+ (fragment.slice(0, 5) === 'class' && ' {'.indexOf(fragment.charAt(5)) >= 0) || // class
2240
+ (fragment.slice(0, 8) === 'function' && '* ('.indexOf(fragment.charAt(8)) >= 0) || // function or generator
2241
+ (directive && directiveContext && stmt.expression.type === Syntax.Literal && typeof stmt.expression.value === 'string')) {
2242
+ result = ['(', result, ')' + semicolon];
2243
+ } else {
2244
+ result.push(semicolon);
2245
+ }
2246
+ break;
2247
+
2248
+ case Syntax.ImportDeclaration:
2249
+ result = generateImportDeclaration(stmt, semicolon);
2250
+ break;
2251
+
2252
+ case Syntax.VariableDeclarator:
2253
+ if (stmt.init) {
2254
+ result = [
2255
+ generateExpression(stmt.id, {
2256
+ precedence: Precedence.Assignment,
2257
+ allowIn: allowIn,
2258
+ allowCall: true
2259
+ }),
2260
+ space,
2261
+ '=',
2262
+ space,
2263
+ generateExpression(stmt.init, {
2264
+ precedence: Precedence.Assignment,
2265
+ allowIn: allowIn,
2266
+ allowCall: true
2267
+ })
2268
+ ];
2269
+ } else {
2270
+ result = generatePattern(stmt.id, {
2271
+ precedence: Precedence.Assignment,
2272
+ allowIn: allowIn
2273
+ });
2274
+ }
2275
+ break;
2276
+
2277
+ case Syntax.VariableDeclaration:
2278
+ // VariableDeclarator is typed as Statement,
2279
+ // but joined with comma (not LineTerminator).
2280
+ // So if comment is attached to target node, we should specialize.
2281
+ result = generateVariableDeclaration(stmt, semicolon, allowIn);
2282
+ break;
2283
+
2284
+ case Syntax.ThrowStatement:
2285
+ result = [join(
2286
+ 'throw',
2287
+ generateExpression(stmt.argument, {
2288
+ precedence: Precedence.Sequence,
2289
+ allowIn: true,
2290
+ allowCall: true
2291
+ })
2292
+ ), semicolon];
2293
+ break;
2294
+
2295
+ case Syntax.TryStatement:
2296
+ result = ['try', maybeBlock(stmt.block)];
2297
+ result = maybeBlockSuffix(stmt.block, result);
2298
+
2299
+ if (stmt.handlers) {
2300
+ // old interface
2301
+ for (i = 0, len = stmt.handlers.length; i < len; ++i) {
2302
+ result = join(result, generateStatement(stmt.handlers[i]));
2303
+ if (stmt.finalizer || i + 1 !== len) {
2304
+ result = maybeBlockSuffix(stmt.handlers[i].body, result);
2305
+ }
2306
+ }
2307
+ } else {
2308
+ guardedHandlers = stmt.guardedHandlers || [];
2309
+
2310
+ for (i = 0, len = guardedHandlers.length; i < len; ++i) {
2311
+ result = join(result, generateStatement(guardedHandlers[i]));
2312
+ if (stmt.finalizer || i + 1 !== len) {
2313
+ result = maybeBlockSuffix(guardedHandlers[i].body, result);
2314
+ }
2315
+ }
2316
+
2317
+ // new interface
2318
+ if (stmt.handler) {
2319
+ if (isArray(stmt.handler)) {
2320
+ for (i = 0, len = stmt.handler.length; i < len; ++i) {
2321
+ result = join(result, generateStatement(stmt.handler[i]));
2322
+ if (stmt.finalizer || i + 1 !== len) {
2323
+ result = maybeBlockSuffix(stmt.handler[i].body, result);
2324
+ }
2325
+ }
2326
+ } else {
2327
+ result = join(result, generateStatement(stmt.handler));
2328
+ if (stmt.finalizer) {
2329
+ result = maybeBlockSuffix(stmt.handler.body, result);
2330
+ }
2331
+ }
2332
+ }
2333
+ }
2334
+ if (stmt.finalizer) {
2335
+ result = join(result, ['finally', maybeBlock(stmt.finalizer)]);
2336
+ }
2337
+ break;
2338
+
2339
+ case Syntax.SwitchStatement:
2340
+ withIndent(function () {
2341
+ result = [
2342
+ 'switch' + space + '(',
2343
+ generateExpression(stmt.discriminant, {
2344
+ precedence: Precedence.Sequence,
2345
+ allowIn: true,
2346
+ allowCall: true
2347
+ }),
2348
+ ')' + space + '{' + newline
2349
+ ];
2350
+ });
2351
+ if (stmt.cases) {
2352
+ for (i = 0, len = stmt.cases.length; i < len; ++i) {
2353
+ fragment = addIndent(generateStatement(stmt.cases[i], {semicolonOptional: i === len - 1}));
2354
+ result.push(fragment);
2355
+ if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
2356
+ result.push(newline);
2357
+ }
2358
+ }
2359
+ }
2360
+ result.push(addIndent('}'));
2361
+ break;
2362
+
2363
+ case Syntax.SwitchCase:
2364
+ withIndent(function () {
2365
+ if (stmt.test) {
2366
+ result = [
2367
+ join('case', generateExpression(stmt.test, {
2368
+ precedence: Precedence.Sequence,
2369
+ allowIn: true,
2370
+ allowCall: true
2371
+ })),
2372
+ ':'
2373
+ ];
2374
+ } else {
2375
+ result = ['default:'];
2376
+ }
2377
+
2378
+ i = 0;
2379
+ len = stmt.consequent.length;
2380
+ if (len && stmt.consequent[0].type === Syntax.BlockStatement) {
2381
+ fragment = maybeBlock(stmt.consequent[0]);
2382
+ result.push(fragment);
2383
+ i = 1;
2384
+ }
2385
+
2386
+ if (i !== len && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
2387
+ result.push(newline);
2388
+ }
2389
+
2390
+ for (; i < len; ++i) {
2391
+ fragment = addIndent(generateStatement(stmt.consequent[i], {semicolonOptional: i === len - 1 && semicolon === ''}));
2392
+ result.push(fragment);
2393
+ if (i + 1 !== len && !endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
2394
+ result.push(newline);
2395
+ }
2396
+ }
2397
+ });
2398
+ break;
2399
+
2400
+ case Syntax.IfStatement:
2401
+ withIndent(function () {
2402
+ result = [
2403
+ 'if' + space + '(',
2404
+ generateExpression(stmt.test, {
2405
+ precedence: Precedence.Sequence,
2406
+ allowIn: true,
2407
+ allowCall: true
2408
+ }),
2409
+ ')'
2410
+ ];
2411
+ });
2412
+ if (stmt.alternate) {
2413
+ result.push(maybeBlock(stmt.consequent));
2414
+ result = maybeBlockSuffix(stmt.consequent, result);
2415
+ if (stmt.alternate.type === Syntax.IfStatement) {
2416
+ result = join(result, ['else ', generateStatement(stmt.alternate, {semicolonOptional: semicolon === ''})]);
2417
+ } else {
2418
+ result = join(result, join('else', maybeBlock(stmt.alternate, semicolon === '')));
2419
+ }
2420
+ } else {
2421
+ result.push(maybeBlock(stmt.consequent, semicolon === ''));
2422
+ }
2423
+ break;
2424
+
2425
+ case Syntax.ForStatement:
2426
+ withIndent(function () {
2427
+ result = ['for' + space + '('];
2428
+ if (stmt.init) {
2429
+ if (stmt.init.type === Syntax.VariableDeclaration) {
2430
+ result.push(generateStatement(stmt.init, {allowIn: false}));
2431
+ } else {
2432
+ result.push(generateExpression(stmt.init, {
2433
+ precedence: Precedence.Sequence,
2434
+ allowIn: false,
2435
+ allowCall: true
2436
+ }));
2437
+ result.push(';');
2438
+ }
2439
+ } else {
2440
+ result.push(';');
2441
+ }
2442
+
2443
+ if (stmt.test) {
2444
+ result.push(space);
2445
+ result.push(generateExpression(stmt.test, {
2446
+ precedence: Precedence.Sequence,
2447
+ allowIn: true,
2448
+ allowCall: true
2449
+ }));
2450
+ result.push(';');
2451
+ } else {
2452
+ result.push(';');
2453
+ }
2454
+
2455
+ if (stmt.update) {
2456
+ result.push(space);
2457
+ result.push(generateExpression(stmt.update, {
2458
+ precedence: Precedence.Sequence,
2459
+ allowIn: true,
2460
+ allowCall: true
2461
+ }));
2462
+ result.push(')');
2463
+ } else {
2464
+ result.push(')');
2465
+ }
2466
+ });
2467
+
2468
+ result.push(maybeBlock(stmt.body, semicolon === ''));
2469
+ break;
2470
+
2471
+ case Syntax.ForInStatement:
2472
+ result = generateIterationForStatement('in', stmt, semicolon === '');
2473
+ break;
2474
+
2475
+ case Syntax.ForOfStatement:
2476
+ result = generateIterationForStatement('of', stmt, semicolon === '');
2477
+ break;
2478
+
2479
+ case Syntax.LabeledStatement:
2480
+ result = [stmt.label.name + ':', maybeBlock(stmt.body, semicolon === '')];
2481
+ break;
2482
+
2483
+ case Syntax.Program:
2484
+ len = stmt.body.length;
2485
+ result = [safeConcatenation && len > 0 ? '\n' : ''];
2486
+ for (i = 0; i < len; ++i) {
2487
+ fragment = addIndent(
2488
+ generateStatement(stmt.body[i], {
2489
+ semicolonOptional: !safeConcatenation && i === len - 1,
2490
+ directiveContext: true
2491
+ })
2492
+ );
2493
+ result.push(fragment);
2494
+ if (i + 1 < len && !endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
2495
+ result.push(newline);
2496
+ }
2497
+ }
2498
+ break;
2499
+
2500
+ case Syntax.FunctionDeclaration:
2501
+ isGenerator = stmt.generator && !extra.moz.starlessGenerator;
2502
+ result = [
2503
+ (isGenerator ? 'function*' : 'function'),
2504
+ (isGenerator ? space : noEmptySpace()),
2505
+ generateIdentifier(stmt.id),
2506
+ generateFunctionBody(stmt)
2507
+ ];
2508
+ break;
2509
+
2510
+ case Syntax.ReturnStatement:
2511
+ if (stmt.argument) {
2512
+ result = [join(
2513
+ 'return',
2514
+ generateExpression(stmt.argument, {
2515
+ precedence: Precedence.Sequence,
2516
+ allowIn: true,
2517
+ allowCall: true
2518
+ })
2519
+ ), semicolon];
2520
+ } else {
2521
+ result = ['return' + semicolon];
2522
+ }
2523
+ break;
2524
+
2525
+ case Syntax.WhileStatement:
2526
+ withIndent(function () {
2527
+ result = [
2528
+ 'while' + space + '(',
2529
+ generateExpression(stmt.test, {
2530
+ precedence: Precedence.Sequence,
2531
+ allowIn: true,
2532
+ allowCall: true
2533
+ }),
2534
+ ')'
2535
+ ];
2536
+ });
2537
+ result.push(maybeBlock(stmt.body, semicolon === ''));
2538
+ break;
2539
+
2540
+ case Syntax.WithStatement:
2541
+ withIndent(function () {
2542
+ result = [
2543
+ 'with' + space + '(',
2544
+ generateExpression(stmt.object, {
2545
+ precedence: Precedence.Sequence,
2546
+ allowIn: true,
2547
+ allowCall: true
2548
+ }),
2549
+ ')'
2550
+ ];
2551
+ });
2552
+ result.push(maybeBlock(stmt.body, semicolon === ''));
2553
+ break;
2554
+
2555
+ default:
2556
+ throw new Error('Unknown statement type: ' + stmt.type);
2557
+ }
2558
+
2559
+ // Attach comments
2560
+
2561
+ if (extra.comment) {
2562
+ result = addComments(stmt, result);
2563
+ }
2564
+
2565
+ fragment = toSourceNodeWhenNeeded(result).toString();
2566
+ if (stmt.type === Syntax.Program && !safeConcatenation && newline === '' && fragment.charAt(fragment.length - 1) === '\n') {
2567
+ result = sourceMap ? toSourceNodeWhenNeeded(result).replaceRight(/\s+$/, '') : fragment.replace(/\s+$/, '');
2568
+ }
2569
+
2570
+ return toSourceNodeWhenNeeded(result, stmt);
2571
+ }
2572
+
2573
+ function generateInternal(node) {
2574
+ if (isStatement(node)) {
2575
+ return generateStatement(node);
2576
+ }
2577
+
2578
+ if (isExpression(node)) {
2579
+ return generateExpression(node, {
2580
+ precedence: Precedence.Sequence,
2581
+ allowIn: true,
2582
+ allowCall: true
2583
+ });
2584
+ }
2585
+
2586
+ throw new Error('Unknown node type: ' + node.type);
2587
+ }
2588
+
2589
+ function generate(node, options) {
2590
+ var defaultOptions = getDefaultOptions(), result, pair;
2591
+
2592
+ if (options != null) {
2593
+ // Obsolete options
2594
+ //
2595
+ // `options.indent`
2596
+ // `options.base`
2597
+ //
2598
+ // Instead of them, we can use `option.format.indent`.
2599
+ if (typeof options.indent === 'string') {
2600
+ defaultOptions.format.indent.style = options.indent;
2601
+ }
2602
+ if (typeof options.base === 'number') {
2603
+ defaultOptions.format.indent.base = options.base;
2604
+ }
2605
+ options = updateDeeply(defaultOptions, options);
2606
+ indent = options.format.indent.style;
2607
+ if (typeof options.base === 'string') {
2608
+ base = options.base;
2609
+ } else {
2610
+ base = stringRepeat(indent, options.format.indent.base);
2611
+ }
2612
+ } else {
2613
+ options = defaultOptions;
2614
+ indent = options.format.indent.style;
2615
+ base = stringRepeat(indent, options.format.indent.base);
2616
+ }
2617
+ json = options.format.json;
2618
+ renumber = options.format.renumber;
2619
+ hexadecimal = json ? false : options.format.hexadecimal;
2620
+ quotes = json ? 'double' : options.format.quotes;
2621
+ escapeless = options.format.escapeless;
2622
+ newline = options.format.newline;
2623
+ space = options.format.space;
2624
+ if (options.format.compact) {
2625
+ newline = space = indent = base = '';
2626
+ }
2627
+ parentheses = options.format.parentheses;
2628
+ semicolons = options.format.semicolons;
2629
+ safeConcatenation = options.format.safeConcatenation;
2630
+ directive = options.directive;
2631
+ parse = json ? null : options.parse;
2632
+ sourceMap = options.sourceMap;
2633
+ extra = options;
2634
+
2635
+ if (sourceMap) {
2636
+ if (!exports.browser) {
2637
+ // We assume environment is node.js
2638
+ // And prevent from including source-map by browserify
2639
+ SourceNode = require('source-map').SourceNode;
2640
+ } else {
2641
+ SourceNode = global.sourceMap.SourceNode;
2642
+ }
2643
+ }
2644
+
2645
+ result = generateInternal(node);
2646
+
2647
+ if (!sourceMap) {
2648
+ pair = {code: result.toString(), map: null};
2649
+ return options.sourceMapWithCode ? pair : pair.code;
2650
+ }
2651
+
2652
+
2653
+ pair = result.toStringWithSourceMap({
2654
+ file: options.file,
2655
+ sourceRoot: options.sourceMapRoot
2656
+ });
2657
+
2658
+ if (options.sourceContent) {
2659
+ pair.map.setSourceContent(options.sourceMap,
2660
+ options.sourceContent);
2661
+ }
2662
+
2663
+ if (options.sourceMapWithCode) {
2664
+ return pair;
2665
+ }
2666
+
2667
+ return pair.map.toString();
2668
+ }
2669
+
2670
+ FORMAT_MINIFY = {
2671
+ indent: {
2672
+ style: '',
2673
+ base: 0
2674
+ },
2675
+ renumber: true,
2676
+ hexadecimal: true,
2677
+ quotes: 'auto',
2678
+ escapeless: true,
2679
+ compact: true,
2680
+ parentheses: false,
2681
+ semicolons: false
2682
+ };
2683
+
2684
+ FORMAT_DEFAULTS = getDefaultOptions().format;
2685
+
2686
+ exports.version = require('./package.json').version;
2687
+ exports.generate = generate;
2688
+ exports.attachComments = estraverse.attachComments;
2689
+ exports.Precedence = updateDeeply({}, Precedence);
2690
+ exports.browser = false;
2691
+ exports.FORMAT_MINIFY = FORMAT_MINIFY;
2692
+ exports.FORMAT_DEFAULTS = FORMAT_DEFAULTS;
2693
+ }());
2694
+ /* vim: set sw=4 ts=4 et tw=80 : */