Browse files

devDependencies

  • Loading branch information...
1 parent c735739 commit 20a733a18237a23b47d5a50a1eaaa99ed600def9 Gabriel Llamas committed Dec 14, 2012
Showing with 3 additions and 31,753 deletions.
  1. +3 −0 package.json
  2. +0 −68 tests/node_modules/mocha-runner/README.md
  3. +0 −84 tests/node_modules/mocha-runner/mocha-runner.js
  4. +0 −15 tests/node_modules/mocha-runner/node_modules/.bin/_mocha
  5. +0 −6 tests/node_modules/mocha-runner/node_modules/.bin/_mocha.cmd
  6. +0 −15 tests/node_modules/mocha-runner/node_modules/.bin/mocha
  7. +0 −6 tests/node_modules/mocha-runner/node_modules/.bin/mocha.cmd
  8. +0 −9 tests/node_modules/mocha-runner/node_modules/async/.gitmodules
  9. +0 −4 tests/node_modules/mocha-runner/node_modules/async/.npmignore
  10. +0 −19 tests/node_modules/mocha-runner/node_modules/async/LICENSE
  11. +0 −25 tests/node_modules/mocha-runner/node_modules/async/Makefile
  12. +0 −1,021 tests/node_modules/mocha-runner/node_modules/async/README.md
  13. +0 −3 tests/node_modules/mocha-runner/node_modules/async/index.js
  14. +0 −692 tests/node_modules/mocha-runner/node_modules/async/lib/async.js
  15. +0 −31 tests/node_modules/mocha-runner/node_modules/async/package.json
  16. +0 −51 tests/node_modules/mocha-runner/node_modules/file-utils/README.md
  17. +0 −1 tests/node_modules/mocha-runner/node_modules/file-utils/index.js
  18. +0 −1 tests/node_modules/mocha-runner/node_modules/file-utils/lib/file.js
  19. +0 −1 tests/node_modules/mocha-runner/node_modules/file-utils/lib/security-manager.js
  20. +0 −71 tests/node_modules/mocha-runner/node_modules/file-utils/node_modules/errno-codes/README.md
  21. +0 −1 tests/node_modules/mocha-runner/node_modules/file-utils/node_modules/errno-codes/error.js
  22. +0 −30 tests/node_modules/mocha-runner/node_modules/file-utils/node_modules/errno-codes/package.json
  23. +0 −39 tests/node_modules/mocha-runner/node_modules/file-utils/package.json
  24. +0 −6 tests/node_modules/mocha-runner/node_modules/mocha/.npmignore
  25. +0 −5 tests/node_modules/mocha-runner/node_modules/mocha/.travis.yml
  26. +0 −483 tests/node_modules/mocha-runner/node_modules/mocha/History.md
  27. +0 −22 tests/node_modules/mocha-runner/node_modules/mocha/LICENSE
  28. +0 −126 tests/node_modules/mocha-runner/node_modules/mocha/Makefile
  29. +0 −36 tests/node_modules/mocha-runner/node_modules/mocha/Readme.md
  30. +0 −4,883 tests/node_modules/mocha-runner/node_modules/mocha/_mocha.js
  31. +0 −422 tests/node_modules/mocha-runner/node_modules/mocha/bin/_mocha
  32. +0 −47 tests/node_modules/mocha-runner/node_modules/mocha/bin/mocha
  33. BIN tests/node_modules/mocha-runner/node_modules/mocha/images/error.png
  34. BIN tests/node_modules/mocha-runner/node_modules/mocha/images/ok.png
  35. +0 −4 tests/node_modules/mocha-runner/node_modules/mocha/index.js
  36. +0 −6 tests/node_modules/mocha-runner/node_modules/mocha/lib/browser/debug.js
  37. 0 tests/node_modules/mocha-runner/node_modules/mocha/lib/browser/diff.js
  38. +0 −178 tests/node_modules/mocha-runner/node_modules/mocha/lib/browser/events.js
  39. 0 tests/node_modules/mocha-runner/node_modules/mocha/lib/browser/fs.js
  40. 0 tests/node_modules/mocha-runner/node_modules/mocha/lib/browser/path.js
  41. +0 −125 tests/node_modules/mocha-runner/node_modules/mocha/lib/browser/progress.js
  42. +0 −8 tests/node_modules/mocha-runner/node_modules/mocha/lib/browser/tty.js
  43. +0 −69 tests/node_modules/mocha-runner/node_modules/mocha/lib/context.js
  44. +0 −50 tests/node_modules/mocha-runner/node_modules/mocha/lib/hook.js
  45. +0 −133 tests/node_modules/mocha-runner/node_modules/mocha/lib/interfaces/bdd.js
  46. +0 −60 tests/node_modules/mocha-runner/node_modules/mocha/lib/interfaces/exports.js
  47. +0 −5 tests/node_modules/mocha-runner/node_modules/mocha/lib/interfaces/index.js
  48. +0 −91 tests/node_modules/mocha-runner/node_modules/mocha/lib/interfaces/qunit.js
  49. +0 −123 tests/node_modules/mocha-runner/node_modules/mocha/lib/interfaces/tdd.js
  50. +0 −301 tests/node_modules/mocha-runner/node_modules/mocha/lib/mocha.js
  51. +0 −81 tests/node_modules/mocha-runner/node_modules/mocha/lib/ms.js
  52. +0 −381 tests/node_modules/mocha-runner/node_modules/mocha/lib/reporters/base.js
  53. +0 −56 tests/node_modules/mocha-runner/node_modules/mocha/lib/reporters/doc.js
  54. +0 −62 tests/node_modules/mocha-runner/node_modules/mocha/lib/reporters/dot.js
  55. +0 −51 tests/node_modules/mocha-runner/node_modules/mocha/lib/reporters/html-cov.js
  56. +0 −255 tests/node_modules/mocha-runner/node_modules/mocha/lib/reporters/html.js
  57. +0 −19 tests/node_modules/mocha-runner/node_modules/mocha/lib/reporters/index.js
  58. +0 −153 tests/node_modules/mocha-runner/node_modules/mocha/lib/reporters/json-cov.js
  59. +0 −61 tests/node_modules/mocha-runner/node_modules/mocha/lib/reporters/json-stream.js
  60. +0 −70 tests/node_modules/mocha-runner/node_modules/mocha/lib/reporters/json.js
  61. +0 −97 tests/node_modules/mocha-runner/node_modules/mocha/lib/reporters/landing.js
  62. +0 −64 tests/node_modules/mocha-runner/node_modules/mocha/lib/reporters/list.js
  63. +0 −92 tests/node_modules/mocha-runner/node_modules/mocha/lib/reporters/markdown.js
  64. +0 −38 tests/node_modules/mocha-runner/node_modules/mocha/lib/reporters/min.js
  65. +0 −259 tests/node_modules/mocha-runner/node_modules/mocha/lib/reporters/nyan.js
  66. +0 −86 tests/node_modules/mocha-runner/node_modules/mocha/lib/reporters/progress.js
  67. +0 −87 tests/node_modules/mocha-runner/node_modules/mocha/lib/reporters/spec.js
  68. +0 −63 tests/node_modules/mocha-runner/node_modules/mocha/lib/reporters/tap.js
  69. +0 −65 tests/node_modules/mocha-runner/node_modules/mocha/lib/reporters/teamcity.js
  70. +0 −50 tests/node_modules/mocha-runner/node_modules/mocha/lib/reporters/templates/coverage.jade
  71. +0 −13 tests/node_modules/mocha-runner/node_modules/mocha/lib/reporters/templates/menu.jade
  72. +0 −34 tests/node_modules/mocha-runner/node_modules/mocha/lib/reporters/templates/script.html
  73. +0 −307 tests/node_modules/mocha-runner/node_modules/mocha/lib/reporters/templates/style.html
  74. +0 −115 tests/node_modules/mocha-runner/node_modules/mocha/lib/reporters/xunit.js
  75. +0 −219 tests/node_modules/mocha-runner/node_modules/mocha/lib/runnable.js
  76. +0 −529 tests/node_modules/mocha-runner/node_modules/mocha/lib/runner.js
  77. +0 −296 tests/node_modules/mocha-runner/node_modules/mocha/lib/suite.js
  78. +0 −17 tests/node_modules/mocha-runner/node_modules/mocha/lib/template.html
  79. +0 −32 tests/node_modules/mocha-runner/node_modules/mocha/lib/test.js
  80. +0 −282 tests/node_modules/mocha-runner/node_modules/mocha/lib/utils.js
  81. +0 −227 tests/node_modules/mocha-runner/node_modules/mocha/mocha.css
  82. +0 −4,999 tests/node_modules/mocha-runner/node_modules/mocha/mocha.js
  83. +0 −15 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/.bin/jade
  84. +0 −6 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/.bin/jade.cmd
  85. +0 −4 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/commander/.npmignore
  86. +0 −4 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/commander/.travis.yml
  87. +0 −107 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/commander/History.md
  88. +0 −7 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/commander/Makefile
  89. +0 −262 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/commander/Readme.md
  90. +0 −2 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/commander/index.js
  91. +0 −1,026 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/commander/lib/commander.js
  92. +0 −35 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/commander/package.json
  93. +0 −4 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/debug/.npmignore
  94. +0 −47 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/debug/History.md
  95. +0 −4 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/debug/Makefile
  96. +0 −130 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/debug/Readme.md
  97. +0 −120 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/debug/debug.component.js
  98. +0 −116 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/debug/debug.js
  99. +0 −19 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/debug/example/app.js
  100. +0 −24 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/debug/example/browser.html
  101. +0 −10 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/debug/example/wildcards.js
  102. +0 −22 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/debug/example/worker.js
  103. +0 −1 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/debug/head.js
  104. +0 −2 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/debug/index.js
  105. +0 −135 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/debug/lib/debug.js
  106. +0 −32 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/debug/package.json
  107. +0 −4 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/debug/tail.js
  108. +0 −31 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/diff/LICENSE
  109. +0 −94 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/diff/README.md
  110. +0 −287 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/diff/diff.js
  111. +0 −89 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/diff/index.html
  112. +0 −43 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/diff/package.json
  113. +0 −81 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/diff/style.css
  114. +0 −616 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/diff/test/diffTest.js
  115. +0 −58 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/growl/History.md
  116. +0 −99 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/growl/Readme.md
  117. +0 −232 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/growl/lib/growl.js
  118. +0 −14 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/growl/package.json
  119. +0 −20 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/growl/test.js
  120. +0 −15 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/.npmignore
  121. +0 −22 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/LICENSE
  122. +0 −147 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/bin/jade
  123. +0 −4 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/index.js
  124. +0 −3,586 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/jade.js
  125. +0 −510 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/jade.md
  126. +0 −2 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/jade.min.js
  127. +0 −642 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/compiler.js
  128. +0 −18 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/doctypes.js
  129. +0 −97 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/filters.js
  130. +0 −28 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/inline-tags.js
  131. +0 −237 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/jade.js
  132. +0 −771 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/lexer.js
  133. +0 −77 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/nodes/attrs.js
  134. +0 −33 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/nodes/block-comment.js
  135. +0 −121 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/nodes/block.js
  136. +0 −43 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/nodes/case.js
  137. +0 −35 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/nodes/code.js
  138. +0 −32 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/nodes/comment.js
  139. +0 −29 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/nodes/doctype.js
  140. +0 −35 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/nodes/each.js
  141. +0 −35 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/nodes/filter.js
  142. +0 −20 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/nodes/index.js
  143. +0 −32 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/nodes/literal.js
  144. +0 −36 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/nodes/mixin.js
  145. +0 −25 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/nodes/node.js
  146. +0 −95 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/nodes/tag.js
  147. +0 −36 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/nodes/text.js
  148. +0 −710 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/parser.js
  149. +0 −174 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/runtime.js
  150. +0 −19 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/self-closing.js
  151. +0 −49 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/lib/utils.js
  152. +0 −2 ...ode_modules/mocha-runner/node_modules/mocha/node_modules/jade/node_modules/mkdirp/.gitignore.orig
  153. +0 −5 ...node_modules/mocha-runner/node_modules/mocha/node_modules/jade/node_modules/mkdirp/.gitignore.rej
  154. +0 −2 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/node_modules/mkdirp/.npmignore
  155. +0 −21 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/node_modules/mkdirp/LICENSE
  156. +0 −54 ...ode_modules/mocha-runner/node_modules/mocha/node_modules/jade/node_modules/mkdirp/README.markdown
  157. +0 −6 ...ode_modules/mocha-runner/node_modules/mocha/node_modules/jade/node_modules/mkdirp/examples/pow.js
  158. +0 −6 ...odules/mocha-runner/node_modules/mocha/node_modules/jade/node_modules/mkdirp/examples/pow.js.orig
  159. +0 −19 ...modules/mocha-runner/node_modules/mocha/node_modules/jade/node_modules/mkdirp/examples/pow.js.rej
  160. +0 −79 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/node_modules/mkdirp/index.js
  161. +0 −33 ...s/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/node_modules/mkdirp/package.json
  162. +0 −38 .../node_modules/mocha-runner/node_modules/mocha/node_modules/jade/node_modules/mkdirp/test/chmod.js
  163. +0 −37 ...ode_modules/mocha-runner/node_modules/mocha/node_modules/jade/node_modules/mkdirp/test/clobber.js
  164. +0 −28 ...node_modules/mocha-runner/node_modules/mocha/node_modules/jade/node_modules/mkdirp/test/mkdirp.js
  165. +0 −32 ...s/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/node_modules/mkdirp/test/perm.js
  166. +0 −39 ...e_modules/mocha-runner/node_modules/mocha/node_modules/jade/node_modules/mkdirp/test/perm_sync.js
  167. +0 −41 ...s/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/node_modules/mkdirp/test/race.js
  168. +0 −32 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/node_modules/mkdirp/test/rel.js
  169. +0 −27 ...s/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/node_modules/mkdirp/test/sync.js
  170. +0 −28 .../node_modules/mocha-runner/node_modules/mocha/node_modules/jade/node_modules/mkdirp/test/umask.js
  171. +0 −27 ..._modules/mocha-runner/node_modules/mocha/node_modules/jade/node_modules/mkdirp/test/umask_sync.js
  172. +0 −44 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/package.json
  173. +0 −179 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/runtime.js
  174. +0 −1 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/runtime.min.js
  175. +0 −7 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/test.jade
  176. +0 −5 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/testing/head.jade
  177. +0 −22 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/testing/index.jade
  178. +0 −11 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/testing/index.js
  179. +0 −6 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/testing/layout.jade
  180. +0 −7 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/testing/user.jade
  181. +0 −27 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/jade/testing/user.js
  182. +0 −2 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/.gitignore.orig
  183. +0 −5 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/.gitignore.rej
  184. +0 −2 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/.npmignore
  185. +0 −4 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/.travis.yml
  186. +0 −21 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/LICENSE
  187. +0 −61 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/README.markdown
  188. +0 −6 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/examples/pow.js
  189. +0 −6 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/examples/pow.js.orig
  190. +0 −19 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/examples/pow.js.rej
  191. +0 −94 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/index.js
  192. +0 −33 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/package.json
  193. +0 −38 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/test/chmod.js
  194. +0 −37 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/test/clobber.js
  195. +0 −28 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/test/mkdirp.js
  196. +0 −32 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/test/perm.js
  197. +0 −39 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/test/perm_sync.js
  198. +0 −41 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/test/race.js
  199. +0 −32 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/test/rel.js
  200. +0 −25 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/test/return.js
  201. +0 −24 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/test/return_sync.js
  202. +0 −18 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/test/root.js
  203. +0 −32 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/test/sync.js
  204. +0 −28 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/test/umask.js
  205. +0 −32 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/mkdirp/test/umask_sync.js
  206. +0 −1 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/ms/.npmignore
  207. +0 −21 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/ms/History.md
  208. +0 −8 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/ms/Makefile
  209. +0 −24 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/ms/README.md
  210. +0 −7 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/ms/component.json
  211. +0 −81 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/ms/ms.js
  212. +0 −15 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/ms/package.json
  213. +0 −19 tests/node_modules/mocha-runner/node_modules/mocha/node_modules/ms/test/index.html
Sorry, we could not display the entire diff because it was too big.
View
3 package.json
@@ -17,6 +17,9 @@
"dependencies": {
"error-provider": "*"
},
+ "devDependencies": {
+ "mocha-runner": "*"
+ },
"licenses": [{
"type": "MIT",
"url": "http://www.opensource.org/licenses/mit-license.html"
View
68 tests/node_modules/mocha-runner/README.md
@@ -1,68 +0,0 @@
-mocha-runner
-============
-
-_Node.js project_
-
-#### Runs Mocha tests locally without using makefiles (Windows supported) ####
-
-Version: 0.0.2
-
-If you simply want to run Mocha tests without installing it globally and without using makefiles -therefore both Windows and Linux are supported- this library is made for you.
-
-Furthermore, for ease the testing process the directory from where you run the tests is cleaned before executing them.
-
-<table>
-<tr>
- <th colspan="2">package.json</th>
-</tr>
-<tr>
- <th>Before (Linux only)</th>
- <th>After (Linux & Windows)</th>
-</tr>
-<tr>
- <td>
- "scripts" : {<br/>
- &emsp;"test" : "make test"<br/>
- }
- </td>
- <td>
- "scripts" : {<br/>
- &emsp;"test" : "node tests/run.js"<br/>
- }
- </td>
-</tr>
-</table>
-
-#### Installation ####
-
-```
-npm install mocha-runner
-```
-
-#### Example ####
-
-```javascript
-var Runner = require ("mocha-runner");
-
-new Runner ({
- //If the reporter is not specified "dot" is used by default
- reporter: "list",
-
- //Before running the tests all the files are removed to ensure a consistent state except:
- //- Excluded files
- //- Test files
- //- node_modules directory
- //- This file (the file that uses mocha-runner to run the tests)
- //It's recommended to create a folder named `tests` and put there all the testing stuff including this file
- exclude: ["file1", "file2"],
-
- //To remove some specific files
- //If this property is set, "exclude" is ignored
- include: ["file1", "file2"],
-
- tests: ["test1", "test2"]
-}).run (function (error){
- //It's not the Mocha stderr
- if (error) console.log (error);
-});
-```
View
84 tests/node_modules/mocha-runner/mocha-runner.js
@@ -1,84 +0,0 @@
-"use strict";
-
-var SPAWN = require ("child_process").spawn;
-var FS = require ("fs");
-var ASYNC = require ("async");
-var File = require ("file-utils").File;
-
-var endsWith = function (str, suffix){
- return str.indexOf (suffix, str.length - suffix.length) !== -1;
-};
-
-var Runner = module.exports = function (params){
- var tests = params.tests || [];
- if (tests.length === 0) throw new Error ("No tests to run");
-
- var me = this;
- this._args = [
- __dirname + "/node_modules/mocha/bin/_mocha",
- "-R",
- params.reporter || "dot"
- ];
-
- for (var i=0, len=tests.length; i<len; i++){
- var test = tests[i];
- if (!endsWith (test, ".js")){
- test += ".js";
- }
- me._args.push (test);
- tests[i] = test;
- }
-
- this._exclude = params.exclude || [];
- this._include = params.include || [];
- this._cwd = new File (".");
- this._exclude = this._exclude.concat (tests, "node_modules",
- new File (process.mainModule.filename).getName ());
-};
-
-Runner.prototype._clean = function (cb){
- if (this._include.length){
- ASYNC.forEach (this._include, function (entry, cb){
- new File (entry, true).remove (cb);
- }, cb);
- return;
- }
-
- var remove = function (entry){
- var found = false;
- for (var i=0, len=me._exclude.length; i<len; i++){
- if (me._exclude[i] === entry){
- found = true;
- break;
- }
- }
- return !found;
- };
-
- var entries = [];
- var me = this;
-
- this._cwd.tree (function (name, path){
- if (remove (name)) entries.push (path);
- return true;
- }, 1, function (error){
- if (error) return cb (error);
- ASYNC.forEach (entries, function (entry, cb){
- new File (entry, true).remove (cb);
- }, cb);
- });
-};
-
-Runner.prototype.run = function (cb){
- var me = this;
- this._clean (function (error){
- if (error){
- if (cb) cb (error);
- return;
- }
- SPAWN ("node", me._args, { cwd: me._cwd.getPath (), customFds: [0, 1, 2] })
- .on ("exit", function (){
- if (cb) cb (null);
- });
- });
-};
View
15 tests/node_modules/mocha-runner/node_modules/.bin/_mocha
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=`dirname "$0"`
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../mocha/bin/_mocha" "$@"
- ret=$?
-else
- node "$basedir/../mocha/bin/_mocha" "$@"
- ret=$?
-fi
-exit $ret
View
6 tests/node_modules/mocha-runner/node_modules/.bin/_mocha.cmd
@@ -1,6 +0,0 @@
-:: Created by npm, please don't edit manually.
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\mocha\bin\_mocha" %*
-) ELSE (
- node "%~dp0\..\mocha\bin\_mocha" %*
-)
View
15 tests/node_modules/mocha-runner/node_modules/.bin/mocha
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=`dirname "$0"`
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../mocha/bin/mocha" "$@"
- ret=$?
-else
- node "$basedir/../mocha/bin/mocha" "$@"
- ret=$?
-fi
-exit $ret
View
6 tests/node_modules/mocha-runner/node_modules/.bin/mocha.cmd
@@ -1,6 +0,0 @@
-:: Created by npm, please don't edit manually.
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\mocha\bin\mocha" %*
-) ELSE (
- node "%~dp0\..\mocha\bin\mocha" %*
-)
View
9 tests/node_modules/mocha-runner/node_modules/async/.gitmodules
@@ -1,9 +0,0 @@
-[submodule "deps/nodeunit"]
- path = deps/nodeunit
- url = git://github.com/caolan/nodeunit.git
-[submodule "deps/UglifyJS"]
- path = deps/UglifyJS
- url = https://github.com/mishoo/UglifyJS.git
-[submodule "deps/nodelint"]
- path = deps/nodelint
- url = https://github.com/tav/nodelint.git
View
4 tests/node_modules/mocha-runner/node_modules/async/.npmignore
@@ -1,4 +0,0 @@
-deps
-dist
-test
-nodelint.cfg
View
19 tests/node_modules/mocha-runner/node_modules/async/LICENSE
@@ -1,19 +0,0 @@
-Copyright (c) 2010 Caolan McMahon
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
View
25 tests/node_modules/mocha-runner/node_modules/async/Makefile
@@ -1,25 +0,0 @@
-PACKAGE = asyncjs
-NODEJS = $(if $(shell test -f /usr/bin/nodejs && echo "true"),nodejs,node)
-CWD := $(shell pwd)
-NODEUNIT = $(CWD)/node_modules/nodeunit/bin/nodeunit
-UGLIFY = $(CWD)/node_modules/uglify-js/bin/uglifyjs
-NODELINT = $(CWD)/node_modules/nodelint/nodelint
-
-BUILDDIR = dist
-
-all: clean test build
-
-build: $(wildcard lib/*.js)
- mkdir -p $(BUILDDIR)
- $(UGLIFY) lib/async.js > $(BUILDDIR)/async.min.js
-
-test:
- $(NODEUNIT) test
-
-clean:
- rm -rf $(BUILDDIR)
-
-lint:
- $(NODELINT) --config nodelint.cfg lib/async.js
-
-.PHONY: test build all
View
1,021 tests/node_modules/mocha-runner/node_modules/async/README.md
@@ -1,1021 +0,0 @@
-# Async.js
-
-Async is a utility module which provides straight-forward, powerful functions
-for working with asynchronous JavaScript. Although originally designed for
-use with [node.js](http://nodejs.org), it can also be used directly in the
-browser.
-
-Async provides around 20 functions that include the usual 'functional'
-suspects (map, reduce, filter, forEach…) as well as some common patterns
-for asynchronous control flow (parallel, series, waterfall…). All these
-functions assume you follow the node.js convention of providing a single
-callback as the last argument of your async function.
-
-
-## Quick Examples
-
- async.map(['file1','file2','file3'], fs.stat, function(err, results){
- // results is now an array of stats for each file
- });
-
- async.filter(['file1','file2','file3'], path.exists, function(results){
- // results now equals an array of the existing files
- });
-
- async.parallel([
- function(){ ... },
- function(){ ... }
- ], callback);
-
- async.series([
- function(){ ... },
- function(){ ... }
- ]);
-
-There are many more functions available so take a look at the docs below for a
-full list. This module aims to be comprehensive, so if you feel anything is
-missing please create a GitHub issue for it.
-
-
-## Download
-
-Releases are available for download from
-[GitHub](http://github.com/caolan/async/downloads).
-Alternatively, you can install using Node Package Manager (npm):
-
- npm install async
-
-
-__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 17.5kb Uncompressed
-
-__Production:__ [async.min.js](https://github.com/caolan/async/raw/master/dist/async.min.js) - 1.7kb Packed and Gzipped
-
-
-## In the Browser
-
-So far its been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. Usage:
-
- <script type="text/javascript" src="async.js"></script>
- <script type="text/javascript">
-
- async.map(data, asyncProcess, function(err, results){
- alert(results);
- });
-
- </script>
-
-
-## Documentation
-
-### Collections
-
-* [forEach](#forEach)
-* [map](#map)
-* [filter](#filter)
-* [reject](#reject)
-* [reduce](#reduce)
-* [detect](#detect)
-* [sortBy](#sortBy)
-* [some](#some)
-* [every](#every)
-* [concat](#concat)
-
-### Control Flow
-
-* [series](#series)
-* [parallel](#parallel)
-* [whilst](#whilst)
-* [until](#until)
-* [waterfall](#waterfall)
-* [queue](#queue)
-* [auto](#auto)
-* [iterator](#iterator)
-* [apply](#apply)
-* [nextTick](#nextTick)
-
-### Utils
-
-* [memoize](#memoize)
-* [unmemoize](#unmemoize)
-* [log](#log)
-* [dir](#dir)
-* [noConflict](#noConflict)
-
-
-## Collections
-
-<a name="forEach" />
-### forEach(arr, iterator, callback)
-
-Applies an iterator function to each item in an array, in parallel.
-The iterator is called with an item from the list and a callback for when it
-has finished. If the iterator passes an error to this callback, the main
-callback for the forEach function is immediately called with the error.
-
-Note, that since this function applies the iterator to each item in parallel
-there is no guarantee that the iterator functions will complete in order.
-
-__Arguments__
-
-* arr - An array to iterate over.
-* iterator(item, callback) - A function to apply to each item in the array.
- The iterator is passed a callback which must be called once it has completed.
-* callback(err) - A callback which is called after all the iterator functions
- have finished, or an error has occurred.
-
-__Example__
-
- // assuming openFiles is an array of file names and saveFile is a function
- // to save the modified contents of that file:
-
- async.forEach(openFiles, saveFile, function(err){
- // if any of the saves produced an error, err would equal that error
- });
-
----------------------------------------
-
-<a name="forEachSeries" />
-### forEachSeries(arr, iterator, callback)
-
-The same as forEach only the iterator is applied to each item in the array in
-series. The next iterator is only called once the current one has completed
-processing. This means the iterator functions will complete in order.
-
-
----------------------------------------
-
-<a name="forEachLimit" />
-### forEachLimit(arr, limit, iterator, callback)
-
-The same as forEach only the iterator is applied to batches of items in the
-array, in series. The next batch of iterators is only called once the current
-one has completed processing.
-
-__Arguments__
-
-* arr - An array to iterate over.
-* limit - How many items should be in each batch.
-* iterator(item, callback) - A function to apply to each item in the array.
- The iterator is passed a callback which must be called once it has completed.
-* callback(err) - A callback which is called after all the iterator functions
- have finished, or an error has occurred.
-
-__Example__
-
- // Assume documents is an array of JSON objects and requestApi is a
- // function that interacts with a rate-limited REST api.
-
- async.forEachLimit(documents, 20, requestApi, function(err){
- // if any of the saves produced an error, err would equal that error
- });
----------------------------------------
-
-<a name="map" />
-### map(arr, iterator, callback)
-
-Produces a new array of values by mapping each value in the given array through
-the iterator function. The iterator is called with an item from the array and a
-callback for when it has finished processing. The callback takes 2 arguments,
-an error and the transformed item from the array. If the iterator passes an
-error to this callback, the main callback for the map function is immediately
-called with the error.
-
-Note, that since this function applies the iterator to each item in parallel
-there is no guarantee that the iterator functions will complete in order, however
-the results array will be in the same order as the original array.
-
-__Arguments__
-
-* arr - An array to iterate over.
-* iterator(item, callback) - A function to apply to each item in the array.
- The iterator is passed a callback which must be called once it has completed
- with an error (which can be null) and a transformed item.
-* callback(err, results) - A callback which is called after all the iterator
- functions have finished, or an error has occurred. Results is an array of the
- transformed items from the original array.
-
-__Example__
-
- async.map(['file1','file2','file3'], fs.stat, function(err, results){
- // results is now an array of stats for each file
- });
-
----------------------------------------
-
-<a name="mapSeries" />
-### mapSeries(arr, iterator, callback)
-
-The same as map only the iterator is applied to each item in the array in
-series. The next iterator is only called once the current one has completed
-processing. The results array will be in the same order as the original.
-
-
----------------------------------------
-
-<a name="filter" />
-### filter(arr, iterator, callback)
-
-__Alias:__ select
-
-Returns a new array of all the values which pass an async truth test.
-_The callback for each iterator call only accepts a single argument of true or
-false, it does not accept an error argument first!_ This is in-line with the
-way node libraries work with truth tests like path.exists. This operation is
-performed in parallel, but the results array will be in the same order as the
-original.
-
-__Arguments__
-
-* arr - An array to iterate over.
-* iterator(item, callback) - A truth test to apply to each item in the array.
- The iterator is passed a callback which must be called once it has completed.
-* callback(results) - A callback which is called after all the iterator
- functions have finished.
-
-__Example__
-
- async.filter(['file1','file2','file3'], path.exists, function(results){
- // results now equals an array of the existing files
- });
-
----------------------------------------
-
-<a name="filterSeries" />
-### filterSeries(arr, iterator, callback)
-
-__alias:__ selectSeries
-
-The same as filter only the iterator is applied to each item in the array in
-series. The next iterator is only called once the current one has completed
-processing. The results array will be in the same order as the original.
-
----------------------------------------
-
-<a name="reject" />
-### reject(arr, iterator, callback)
-
-The opposite of filter. Removes values that pass an async truth test.
-
----------------------------------------
-
-<a name="rejectSeries" />
-### rejectSeries(arr, iterator, callback)
-
-The same as filter, only the iterator is applied to each item in the array
-in series.
-
-
----------------------------------------
-
-<a name="reduce" />
-### reduce(arr, memo, iterator, callback)
-
-__aliases:__ inject, foldl
-
-Reduces a list of values into a single value using an async iterator to return
-each successive step. Memo is the initial state of the reduction. This
-function only operates in series. For performance reasons, it may make sense to
-split a call to this function into a parallel map, then use the normal
-Array.prototype.reduce on the results. This function is for situations where
-each step in the reduction needs to be async, if you can get the data before
-reducing it then its probably a good idea to do so.
-
-__Arguments__
-
-* arr - An array to iterate over.
-* memo - The initial state of the reduction.
-* iterator(memo, item, callback) - A function applied to each item in the
- array to produce the next step in the reduction. The iterator is passed a
- callback which accepts an optional error as its first argument, and the state
- of the reduction as the second. If an error is passed to the callback, the
- reduction is stopped and the main callback is immediately called with the
- error.
-* callback(err, result) - A callback which is called after all the iterator
- functions have finished. Result is the reduced value.
-
-__Example__
-
- async.reduce([1,2,3], 0, function(memo, item, callback){
- // pointless async:
- process.nextTick(function(){
- callback(null, memo + item)
- });
- }, function(err, result){
- // result is now equal to the last value of memo, which is 6
- });
-
----------------------------------------
-
-<a name="reduceRight" />
-### reduceRight(arr, memo, iterator, callback)
-
-__Alias:__ foldr
-
-Same as reduce, only operates on the items in the array in reverse order.
-
-
----------------------------------------
-
-<a name="detect" />
-### detect(arr, iterator, callback)
-
-Returns the first value in a list that passes an async truth test. The
-iterator is applied in parallel, meaning the first iterator to return true will
-fire the detect callback with that result. That means the result might not be
-the first item in the original array (in terms of order) that passes the test.
-
-If order within the original array is important then look at detectSeries.
-
-__Arguments__
-
-* arr - An array to iterate over.
-* iterator(item, callback) - A truth test to apply to each item in the array.
- The iterator is passed a callback which must be called once it has completed.
-* callback(result) - A callback which is called as soon as any iterator returns
- true, or after all the iterator functions have finished. Result will be
- the first item in the array that passes the truth test (iterator) or the
- value undefined if none passed.
-
-__Example__
-
- async.detect(['file1','file2','file3'], path.exists, function(result){
- // result now equals the first file in the list that exists
- });
-
----------------------------------------
-
-<a name="detectSeries" />
-### detectSeries(arr, iterator, callback)
-
-The same as detect, only the iterator is applied to each item in the array
-in series. This means the result is always the first in the original array (in
-terms of array order) that passes the truth test.
-
-
----------------------------------------
-
-<a name="sortBy" />
-### sortBy(arr, iterator, callback)
-
-Sorts a list by the results of running each value through an async iterator.
-
-__Arguments__
-
-* arr - An array to iterate over.
-* iterator(item, callback) - A function to apply to each item in the array.
- The iterator is passed a callback which must be called once it has completed
- with an error (which can be null) and a value to use as the sort criteria.
-* callback(err, results) - A callback which is called after all the iterator
- functions have finished, or an error has occurred. Results is the items from
- the original array sorted by the values returned by the iterator calls.
-
-__Example__
-
- async.sortBy(['file1','file2','file3'], function(file, callback){
- fs.stat(file, function(err, stats){
- callback(err, stats.mtime);
- });
- }, function(err, results){
- // results is now the original array of files sorted by
- // modified date
- });
-
-
----------------------------------------
-
-<a name="some" />
-### some(arr, iterator, callback)
-
-__Alias:__ any
-
-Returns true if at least one element in the array satisfies an async test.
-_The callback for each iterator call only accepts a single argument of true or
-false, it does not accept an error argument first!_ This is in-line with the
-way node libraries work with truth tests like path.exists. Once any iterator
-call returns true, the main callback is immediately called.
-
-__Arguments__
-
-* arr - An array to iterate over.
-* iterator(item, callback) - A truth test to apply to each item in the array.
- The iterator is passed a callback which must be called once it has completed.
-* callback(result) - A callback which is called as soon as any iterator returns
- true, or after all the iterator functions have finished. Result will be
- either true or false depending on the values of the async tests.
-
-__Example__
-
- async.some(['file1','file2','file3'], path.exists, function(result){
- // if result is true then at least one of the files exists
- });
-
----------------------------------------
-
-<a name="every" />
-### every(arr, iterator, callback)
-
-__Alias:__ all
-
-Returns true if every element in the array satisfies an async test.
-_The callback for each iterator call only accepts a single argument of true or
-false, it does not accept an error argument first!_ This is in-line with the
-way node libraries work with truth tests like path.exists.
-
-__Arguments__
-
-* arr - An array to iterate over.
-* iterator(item, callback) - A truth test to apply to each item in the array.
- The iterator is passed a callback which must be called once it has completed.
-* callback(result) - A callback which is called after all the iterator
- functions have finished. Result will be either true or false depending on
- the values of the async tests.
-
-__Example__
-
- async.every(['file1','file2','file3'], path.exists, function(result){
- // if result is true then every file exists
- });
-
----------------------------------------
-
-<a name="concat" />
-### concat(arr, iterator, callback)
-
-Applies an iterator to each item in a list, concatenating the results. Returns the
-concatenated list. The iterators are called in parallel, and the results are
-concatenated as they return. There is no guarantee that the results array will
-be returned in the original order of the arguments passed to the iterator function.
-
-__Arguments__
-
-* arr - An array to iterate over
-* iterator(item, callback) - A function to apply to each item in the array.
- The iterator is passed a callback which must be called once it has completed
- with an error (which can be null) and an array of results.
-* callback(err, results) - A callback which is called after all the iterator
- functions have finished, or an error has occurred. Results is an array containing
- the concatenated results of the iterator function.
-
-__Example__
-
- async.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files){
- // files is now a list of filenames that exist in the 3 directories
- });
-
----------------------------------------
-
-<a name="concatSeries" />
-### concatSeries(arr, iterator, callback)
-
-Same as async.concat, but executes in series instead of parallel.
-
-
-## Control Flow
-
-<a name="series" />
-### series(tasks, [callback])
-
-Run an array of functions in series, each one running once the previous
-function has completed. If any functions in the series pass an error to its
-callback, no more functions are run and the callback for the series is
-immediately called with the value of the error. Once the tasks have completed,
-the results are passed to the final callback as an array.
-
-It is also possible to use an object instead of an array. Each property will be
-run as a function and the results will be passed to the final callback as an object
-instead of an array. This can be a more readable way of handling results from
-async.series.
-
-
-__Arguments__
-
-* tasks - An array or object containing functions to run, each function is passed
- a callback it must call on completion.
-* callback(err, results) - An optional callback to run once all the functions
- have completed. This function gets an array of all the arguments passed to
- the callbacks used in the array.
-
-__Example__
-
- async.series([
- function(callback){
- // do some stuff ...
- callback(null, 'one');
- },
- function(callback){
- // do some more stuff ...
- callback(null, 'two');
- },
- ],
- // optional callback
- function(err, results){
- // results is now equal to ['one', 'two']
- });
-
-
- // an example using an object instead of an array
- async.series({
- one: function(callback){
- setTimeout(function(){
- callback(null, 1);
- }, 200);
- },
- two: function(callback){
- setTimeout(function(){
- callback(null, 2);
- }, 100);
- },
- },
- function(err, results) {
- // results is now equal to: {one: 1, two: 2}
- });
-
-
----------------------------------------
-
-<a name="parallel" />
-### parallel(tasks, [callback])
-
-Run an array of functions in parallel, without waiting until the previous
-function has completed. If any of the functions pass an error to its
-callback, the main callback is immediately called with the value of the error.
-Once the tasks have completed, the results are passed to the final callback as an
-array.
-
-It is also possible to use an object instead of an array. Each property will be
-run as a function and the results will be passed to the final callback as an object
-instead of an array. This can be a more readable way of handling results from
-async.parallel.
-
-
-__Arguments__
-
-* tasks - An array or object containing functions to run, each function is passed a
- callback it must call on completion.
-* callback(err, results) - An optional callback to run once all the functions
- have completed. This function gets an array of all the arguments passed to
- the callbacks used in the array.
-
-__Example__
-
- async.parallel([
- function(callback){
- setTimeout(function(){
- callback(null, 'one');
- }, 200);
- },
- function(callback){
- setTimeout(function(){
- callback(null, 'two');
- }, 100);
- },
- ],
- // optional callback
- function(err, results){
- // the results array will equal ['one','two'] even though
- // the second function had a shorter timeout.
- });
-
-
- // an example using an object instead of an array
- async.parallel({
- one: function(callback){
- setTimeout(function(){
- callback(null, 1);
- }, 200);
- },
- two: function(callback){
- setTimeout(function(){
- callback(null, 2);
- }, 100);
- },
- },
- function(err, results) {
- // results is now equals to: {one: 1, two: 2}
- });
-
-
----------------------------------------
-
-<a name="whilst" />
-### whilst(test, fn, callback)
-
-Repeatedly call fn, while test returns true. Calls the callback when stopped,
-or an error occurs.
-
-__Arguments__
-
-* test() - synchronous truth test to perform before each execution of fn.
-* fn(callback) - A function to call each time the test passes. The function is
- passed a callback which must be called once it has completed with an optional
- error as the first argument.
-* callback(err) - A callback which is called after the test fails and repeated
- execution of fn has stopped.
-
-__Example__
-
- var count = 0;
-
- async.whilst(
- function () { return count < 5; },
- function (callback) {
- count++;
- setTimeout(callback, 1000);
- },
- function (err) {
- // 5 seconds have passed
- }
- );
-
-
----------------------------------------
-
-<a name="until" />
-### until(test, fn, callback)
-
-Repeatedly call fn, until test returns true. Calls the callback when stopped,
-or an error occurs.
-
-The inverse of async.whilst.
-
-
----------------------------------------
-
-<a name="waterfall" />
-### waterfall(tasks, [callback])
-
-Runs an array of functions in series, each passing their results to the next in
-the array. However, if any of the functions pass an error to the callback, the
-next function is not executed and the main callback is immediately called with
-the error.
-
-__Arguments__
-
-* tasks - An array of functions to run, each function is passed a callback it
- must call on completion.
-* callback(err, [results]) - An optional callback to run once all the functions
- have completed. This will be passed the results of the last task's callback.
-
-
-
-__Example__
-
- async.waterfall([
- function(callback){
- callback(null, 'one', 'two');
- },
- function(arg1, arg2, callback){
- callback(null, 'three');
- },
- function(arg1, callback){
- // arg1 now equals 'three'
- callback(null, 'done');
- }
- ], function (err, result) {
- // result now equals 'done'
- });
-
-
----------------------------------------
-
-<a name="queue" />
-### queue(worker, concurrency)
-
-Creates a queue object with the specified concurrency. Tasks added to the
-queue will be processed in parallel (up to the concurrency limit). If all
-workers are in progress, the task is queued until one is available. Once
-a worker has completed a task, the task's callback is called.
-
-__Arguments__
-
-* worker(task, callback) - An asynchronous function for processing a queued
- task.
-* concurrency - An integer for determining how many worker functions should be
- run in parallel.
-
-__Queue objects__
-
-The queue object returned by this function has the following properties and
-methods:
-
-* length() - a function returning the number of items waiting to be processed.
-* concurrency - an integer for determining how many worker functions should be
- run in parallel. This property can be changed after a queue is created to
- alter the concurrency on-the-fly.
-* push(task, [callback]) - add a new task to the queue, the callback is called
- once the worker has finished processing the task.
- instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.
-* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued
-* empty - a callback that is called when the last item from the queue is given to a worker
-* drain - a callback that is called when the last item from the queue has returned from the worker
-
-__Example__
-
- // create a queue object with concurrency 2
-
- var q = async.queue(function (task, callback) {
- console.log('hello ' + task.name);
- callback();
- }, 2);
-
-
- // assign a callback
- q.drain = function() {
- console.log('all items have been processed');
- }
-
- // add some items to the queue
-
- q.push({name: 'foo'}, function (err) {
- console.log('finished processing foo');
- });
- q.push({name: 'bar'}, function (err) {
- console.log('finished processing bar');
- });
-
- // add some items to the queue (batch-wise)
-
- q.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) {
- console.log('finished processing bar');
- });
-
-
----------------------------------------
-
-<a name="auto" />
-### auto(tasks, [callback])
-
-Determines the best order for running functions based on their requirements.
-Each function can optionally depend on other functions being completed first,
-and each function is run as soon as its requirements are satisfied. If any of
-the functions pass an error to their callback, that function will not complete
-(so any other functions depending on it will not run) and the main callback
-will be called immediately with the error. Functions also receive an object
-containing the results of functions which have completed so far.
-
-__Arguments__
-
-* tasks - An object literal containing named functions or an array of
- requirements, with the function itself the last item in the array. The key
- used for each function or array is used when specifying requirements. The
- syntax is easier to understand by looking at the example.
-* callback(err, results) - An optional callback which is called when all the
- tasks have been completed. The callback will receive an error as an argument
- if any tasks pass an error to their callback. If all tasks complete
- successfully, it will receive an object containing their results.
-
-__Example__
-
- async.auto({
- get_data: function(callback){
- // async code to get some data
- },
- make_folder: function(callback){
- // async code to create a directory to store a file in
- // this is run at the same time as getting the data
- },
- write_file: ['get_data', 'make_folder', function(callback){
- // once there is some data and the directory exists,
- // write the data to a file in the directory
- callback(null, filename);
- }],
- email_link: ['write_file', function(callback, results){
- // once the file is written let's email a link to it...
- // results.write_file contains the filename returned by write_file.
- }]
- });
-
-This is a fairly trivial example, but to do this using the basic parallel and
-series functions would look like this:
-
- async.parallel([
- function(callback){
- // async code to get some data
- },
- function(callback){
- // async code to create a directory to store a file in
- // this is run at the same time as getting the data
- }
- ],
- function(results){
- async.series([
- function(callback){
- // once there is some data and the directory exists,
- // write the data to a file in the directory
- },
- email_link: function(callback){
- // once the file is written let's email a link to it...
- }
- ]);
- });
-
-For a complicated series of async tasks using the auto function makes adding
-new tasks much easier and makes the code more readable.
-
-
----------------------------------------
-
-<a name="iterator" />
-### iterator(tasks)
-
-Creates an iterator function which calls the next function in the array,
-returning a continuation to call the next one after that. Its also possible to
-'peek' the next iterator by doing iterator.next().
-
-This function is used internally by the async module but can be useful when
-you want to manually control the flow of functions in series.
-
-__Arguments__
-
-* tasks - An array of functions to run, each function is passed a callback it
- must call on completion.
-
-__Example__
-
- var iterator = async.iterator([
- function(){ sys.p('one'); },
- function(){ sys.p('two'); },
- function(){ sys.p('three'); }
- ]);
-
- node> var iterator2 = iterator();
- 'one'
- node> var iterator3 = iterator2();
- 'two'
- node> iterator3();
- 'three'
- node> var nextfn = iterator2.next();
- node> nextfn();
- 'three'
-
-
----------------------------------------
-
-<a name="apply" />
-### apply(function, arguments..)
-
-Creates a continuation function with some arguments already applied, a useful
-shorthand when combined with other control flow functions. Any arguments
-passed to the returned function are added to the arguments originally passed
-to apply.
-
-__Arguments__
-
-* function - The function you want to eventually apply all arguments to.
-* arguments... - Any number of arguments to automatically apply when the
- continuation is called.
-
-__Example__
-
- // using apply
-
- async.parallel([
- async.apply(fs.writeFile, 'testfile1', 'test1'),
- async.apply(fs.writeFile, 'testfile2', 'test2'),
- ]);
-
-
- // the same process without using apply
-
- async.parallel([
- function(callback){
- fs.writeFile('testfile1', 'test1', callback);
- },
- function(callback){
- fs.writeFile('testfile2', 'test2', callback);
- },
- ]);
-
-It's possible to pass any number of additional arguments when calling the
-continuation:
-
- node> var fn = async.apply(sys.puts, 'one');
- node> fn('two', 'three');
- one
- two
- three
-
----------------------------------------
-
-<a name="nextTick" />
-### nextTick(callback)
-
-Calls the callback on a later loop around the event loop. In node.js this just
-calls process.nextTick, in the browser it falls back to setTimeout(callback, 0),
-which means other higher priority events may precede the execution of the callback.
-
-This is used internally for browser-compatibility purposes.
-
-__Arguments__
-
-* callback - The function to call on a later loop around the event loop.
-
-__Example__
-
- var call_order = [];
- async.nextTick(function(){
- call_order.push('two');
- // call_order now equals ['one','two]
- });
- call_order.push('one')
-
-
-## Utils
-
-<a name="memoize" />
-### memoize(fn, [hasher])
-
-Caches the results of an async function. When creating a hash to store function
-results against, the callback is omitted from the hash and an optional hash
-function can be used.
-
-__Arguments__
-
-* fn - the function you to proxy and cache results from.
-* hasher - an optional function for generating a custom hash for storing
- results, it has all the arguments applied to it apart from the callback, and
- must be synchronous.
-
-__Example__
-
- var slow_fn = function (name, callback) {
- // do something
- callback(null, result);
- };
- var fn = async.memoize(slow_fn);
-
- // fn can now be used as if it were slow_fn
- fn('some name', function () {
- // callback
- });
-
-<a name="unmemoize" />
-### unmemoize(fn)
-
-Undoes a memoized function, reverting it to the original, unmemoized
-form. Comes handy in tests.
-
-__Arguments__
-
-* fn - the memoized function
-
-<a name="log" />
-### log(function, arguments)
-
-Logs the result of an async function to the console. Only works in node.js or
-in browsers that support console.log and console.error (such as FF and Chrome).
-If multiple arguments are returned from the async function, console.log is
-called on each argument in order.
-
-__Arguments__
-
-* function - The function you want to eventually apply all arguments to.
-* arguments... - Any number of arguments to apply to the function.
-
-__Example__
-
- var hello = function(name, callback){
- setTimeout(function(){
- callback(null, 'hello ' + name);
- }, 1000);
- };
-
- node> async.log(hello, 'world');
- 'hello world'
-
-
----------------------------------------
-
-<a name="dir" />
-### dir(function, arguments)
-
-Logs the result of an async function to the console using console.dir to
-display the properties of the resulting object. Only works in node.js or
-in browsers that support console.dir and console.error (such as FF and Chrome).
-If multiple arguments are returned from the async function, console.dir is
-called on each argument in order.
-
-__Arguments__
-
-* function - The function you want to eventually apply all arguments to.
-* arguments... - Any number of arguments to apply to the function.
-
-__Example__
-
- var hello = function(name, callback){
- setTimeout(function(){
- callback(null, {hello: name});
- }, 1000);
- };
-
- node> async.dir(hello, 'world');
- {hello: 'world'}
-
-
----------------------------------------
-
-<a name="noConflict" />
-### noConflict()
-
-Changes the value of async back to its original value, returning a reference to the
-async object.
View
3 tests/node_modules/mocha-runner/node_modules/async/index.js
@@ -1,3 +0,0 @@
-// This file is just added for convenience so this repository can be
-// directly checked out into a project's deps folder
-module.exports = require('./lib/async');
View
692 tests/node_modules/mocha-runner/node_modules/async/lib/async.js
@@ -1,692 +0,0 @@
-/*global setTimeout: false, console: false */
-(function () {
-
- var async = {};
-
- // global on the server, window in the browser
- var root = this,
- previous_async = root.async;
-
- if (typeof module !== 'undefined' && module.exports) {
- module.exports = async;
- }
- else {
- root.async = async;
- }
-
- async.noConflict = function () {
- root.async = previous_async;
- return async;
- };
-
- //// cross-browser compatiblity functions ////
-
- var _forEach = function (arr, iterator) {
- if (arr.forEach) {
- return arr.forEach(iterator);
- }
- for (var i = 0; i < arr.length; i += 1) {
- iterator(arr[i], i, arr);
- }
- };
-
- var _map = function (arr, iterator) {
- if (arr.map) {
- return arr.map(iterator);
- }
- var results = [];
- _forEach(arr, function (x, i, a) {
- results.push(iterator(x, i, a));
- });
- return results;
- };
-
- var _reduce = function (arr, iterator, memo) {
- if (arr.reduce) {
- return arr.reduce(iterator, memo);
- }
- _forEach(arr, function (x, i, a) {
- memo = iterator(memo, x, i, a);
- });
- return memo;
- };
-
- var _keys = function (obj) {
- if (Object.keys) {
- return Object.keys(obj);
- }
- var keys = [];
- for (var k in obj) {
- if (obj.hasOwnProperty(k)) {
- keys.push(k);
- }
- }
- return keys;
- };
-
- //// exported async module functions ////
-
- //// nextTick implementation with browser-compatible fallback ////
- if (typeof process === 'undefined' || !(process.nextTick)) {
- async.nextTick = function (fn) {
- setTimeout(fn, 0);
- };
- }
- else {
- async.nextTick = process.nextTick;
- }
-
- async.forEach = function (arr, iterator, callback) {
- callback = callback || function () {};
- if (!arr.length) {
- return callback();
- }
- var completed = 0;
- _forEach(arr, function (x) {
- iterator(x, function (err) {
- if (err) {
- callback(err);
- callback = function () {};
- }
- else {
- completed += 1;
- if (completed === arr.length) {
- callback(null);
- }
- }
- });
- });
- };
-
- async.forEachSeries = function (arr, iterator, callback) {
- callback = callback || function () {};
- if (!arr.length) {
- return callback();
- }
- var completed = 0;
- var iterate = function () {
- iterator(arr[completed], function (err) {
- if (err) {
- callback(err);
- callback = function () {};
- }
- else {
- completed += 1;
- if (completed === arr.length) {
- callback(null);
- }
- else {
- iterate();
- }
- }
- });
- };
- iterate();
- };
-
- async.forEachLimit = function (arr, limit, iterator, callback) {
- callback = callback || function () {};
- if (!arr.length || limit <= 0) {
- return callback();
- }
- var completed = 0;
- var started = 0;
- var running = 0;
-
- (function replenish () {
- if (completed === arr.length) {
- return callback();
- }
-
- while (running < limit && started < arr.length) {
- started += 1;
- running += 1;
- iterator(arr[started - 1], function (err) {
- if (err) {
- callback(err);
- callback = function () {};
- }
- else {
- completed += 1;
- running -= 1;
- if (completed === arr.length) {
- callback();
- }
- else {
- replenish();
- }
- }
- });
- }
- })();
- };
-
-
- var doParallel = function (fn) {
- return function () {
- var args = Array.prototype.slice.call(arguments);
- return fn.apply(null, [async.forEach].concat(args));
- };
- };
- var doSeries = function (fn) {
- return function () {
- var args = Array.prototype.slice.call(arguments);
- return fn.apply(null, [async.forEachSeries].concat(args));
- };
- };
-
-
- var _asyncMap = function (eachfn, arr, iterator, callback) {
- var results = [];
- arr = _map(arr, function (x, i) {
- return {index: i, value: x};
- });
- eachfn(arr, function (x, callback) {
- iterator(x.value, function (err, v) {
- results[x.index] = v;
- callback(err);
- });
- }, function (err) {
- callback(err, results);
- });
- };
- async.map = doParallel(_asyncMap);
- async.mapSeries = doSeries(_asyncMap);
-
-
- // reduce only has a series version, as doing reduce in parallel won't
- // work in many situations.
- async.reduce = function (arr, memo, iterator, callback) {
- async.forEachSeries(arr, function (x, callback) {
- iterator(memo, x, function (err, v) {
- memo = v;
- callback(err);
- });
- }, function (err) {
- callback(err, memo);
- });
- };
- // inject alias
- async.inject = async.reduce;
- // foldl alias
- async.foldl = async.reduce;
-
- async.reduceRight = function (arr, memo, iterator, callback) {
- var reversed = _map(arr, function (x) {
- return x;
- }).reverse();
- async.reduce(reversed, memo, iterator, callback);
- };
- // foldr alias
- async.foldr = async.reduceRight;
-
- var _filter = function (eachfn, arr, iterator, callback) {
- var results = [];
- arr = _map(arr, function (x, i) {
- return {index: i, value: x};
- });
- eachfn(arr, function (x, callback) {
- iterator(x.value, function (v) {
- if (v) {
- results.push(x);
- }
- callback();
- });
- }, function (err) {
- callback(_map(results.sort(function (a, b) {
- return a.index - b.index;
- }), function (x) {
- return x.value;
- }));
- });
- };
- async.filter = doParallel(_filter);
- async.filterSeries = doSeries(_filter);
- // select alias
- async.select = async.filter;
- async.selectSeries = async.filterSeries;
-
- var _reject = function (eachfn, arr, iterator, callback) {
- var results = [];
- arr = _map(arr, function (x, i) {
- return {index: i, value: x};
- });
- eachfn(arr, function (x, callback) {
- iterator(x.value, function (v) {
- if (!v) {
- results.push(x);
- }
- callback();
- });
- }, function (err) {
- callback(_map(results.sort(function (a, b) {
- return a.index - b.index;
- }), function (x) {
- return x.value;
- }));
- });
- };
- async.reject = doParallel(_reject);
- async.rejectSeries = doSeries(_reject);
-
- var _detect = function (eachfn, arr, iterator, main_callback) {
- eachfn(arr, function (x, callback) {
- iterator(x, function (result) {
- if (result) {
- main_callback(x);
- main_callback = function () {};
- }
- else {
- callback();
- }
- });
- }, function (err) {
- main_callback();
- });
- };
- async.detect = doParallel(_detect);
- async.detectSeries = doSeries(_detect);
-
- async.some = function (arr, iterator, main_callback) {
- async.forEach(arr, function (x, callback) {
- iterator(x, function (v) {
- if (v) {
- main_callback(true);
- main_callback = function () {};
- }
- callback();
- });
- }, function (err) {
- main_callback(false);
- });
- };
- // any alias
- async.any = async.some;
-
- async.every = function (arr, iterator, main_callback) {
- async.forEach(arr, function (x, callback) {
- iterator(x, function (v) {
- if (!v) {
- main_callback(false);
- main_callback = function () {};
- }
- callback();
- });
- }, function (err) {
- main_callback(true);
- });
- };
- // all alias
- async.all = async.every;
-
- async.sortBy = function (arr, iterator, callback) {
- async.map(arr, function (x, callback) {
- iterator(x, function (err, criteria) {
- if (err) {
- callback(err);
- }
- else {
- callback(null, {value: x, criteria: criteria});
- }
- });
- }, function (err, results) {
- if (err) {
- return callback(err);
- }
- else {
- var fn = function (left, right) {
- var a = left.criteria, b = right.criteria;
- return a < b ? -1 : a > b ? 1 : 0;
- };
- callback(null, _map(results.sort(fn), function (x) {
- return x.value;
- }));
- }
- });
- };
-
- async.auto = function (tasks, callback) {
- callback = callback || function () {};
- var keys = _keys(tasks);
- if (!keys.length) {
- return callback(null);
- }
-
- var results = {};
-
- var listeners = [];
- var addListener = function (fn) {
- listeners.unshift(fn);
- };
- var removeListener = function (fn) {
- for (var i = 0; i < listeners.length; i += 1) {
- if (listeners[i] === fn) {
- listeners.splice(i, 1);
- return;
- }
- }
- };
- var taskComplete = function () {
- _forEach(listeners.slice(0), function (fn) {
- fn();
- });
- };
-
- addListener(function () {
- if (_keys(results).length === keys.length) {
- callback(null, results);
- callback = function () {};
- }
- });
-
- _forEach(keys, function (k) {
- var task = (tasks[k] instanceof Function) ? [tasks[k]]: tasks[k];
- var taskCallback = function (err) {
- if (err) {
- callback(err);
- // stop subsequent errors hitting callback multiple times
- callback = function () {};
- }
- else {
- var args = Array.prototype.slice.call(arguments, 1);
- if (args.length <= 1) {
- args = args[0];
- }
- results[k] = args;
- taskComplete();
- }
- };
- var requires = task.slice(0, Math.abs(task.length - 1)) || [];
- var ready = function () {
- return _reduce(requires, function (a, x) {
- return (a && results.hasOwnProperty(x));
- }, true) && !results.hasOwnProperty(k);
- };
- if (ready()) {
- task[task.length - 1](taskCallback, results);
- }
- else {
- var listener = function () {
- if (ready()) {
- removeListener(listener);
- task[task.length - 1](taskCallback, results);
- }
- };
- addListener(listener);
- }
- });
- };
-
- async.waterfall = function (tasks, callback) {
- callback = callback || function () {};
- if (!tasks.length) {
- return callback();
- }
- var wrapIterator = function (iterator) {
- return function (err) {
- if (err) {
- callback(err);
- callback = function () {};
- }
- else {
- var args = Array.prototype.slice.call(arguments, 1);
- var next = iterator.next();
- if (next) {
- args.push(wrapIterator(next));
- }
- else {
- args.push(callback);
- }
- async.nextTick(function () {
- iterator.apply(null, args);
- });
- }
- };
- };
- wrapIterator(async.iterator(tasks))();
- };
-
- async.parallel = function (tasks, callback) {
- callback = callback || function () {};
- if (tasks.constructor === Array) {
- async.map(tasks, function (fn, callback) {
- if (fn) {
- fn(function (err) {
- var args = Array.prototype.slice.call(arguments, 1);
- if (args.length <= 1) {
- args = args[0];
- }
- callback.call(null, err, args);
- });
- }
- }, callback);
- }
- else {
- var results = {};
- async.forEach(_keys(tasks), function (k, callback) {
- tasks[k](function (err) {
- var args = Array.prototype.slice.call(arguments, 1);
- if (args.length <= 1) {
- args = args[0];
- }
- results[k] = args;
- callback(err);
- });
- }, function (err) {
- callback(err, results);
- });
- }
- };
-
- async.series = function (tasks, callback) {
- callback = callback || function () {};
- if (tasks.constructor === Array) {
- async.mapSeries(tasks, function (fn, callback) {
- if (fn) {
- fn(function (err) {
- var args = Array.prototype.slice.call(arguments, 1);
- if (args.length <= 1) {
- args = args[0];
- }
- callback.call(null, err, args);
- });
- }
- }, callback);
- }
- else {
- var results = {};
- async.forEachSeries(_keys(tasks), function (k, callback) {
- tasks[k](function (err) {
- var args = Array.prototype.slice.call(arguments, 1);
- if (args.length <= 1) {
- args = args[0];
- }
- results[k] = args;
- callback(err);
- });
- }, function (err) {
- callback(err, results);
- });
- }
- };
-
- async.iterator = function (tasks) {
- var makeCallback = function (index) {
- var fn = function () {
- if (tasks.length) {
- tasks[index].apply(null, arguments);
- }
- return fn.next();
- };
- fn.next = function () {
- return (index < tasks.length - 1) ? makeCallback(index + 1): null;
- };
- return fn;
- };
- return makeCallback(0);
- };
-
- async.apply = function (fn) {
- var args = Array.prototype.slice.call(arguments, 1);
- return function () {
- return fn.apply(
- null, args.concat(Array.prototype.slice.call(arguments))
- );
- };
- };
-
- var _concat = function (eachfn, arr, fn, callback) {
- var r = [];
- eachfn(arr, function (x, cb) {
- fn(x, function (err, y) {
- r = r.concat(y || []);
- cb(err);
- });
- }, function (err) {
- callback(err, r);
- });
- };
- async.concat = doParallel(_concat);
- async.concatSeries = doSeries(_concat);
-
- async.whilst = function (test, iterator, callback) {
- if (test()) {
- iterator(function (err) {
- if (err) {
- return callback(err);
- }
- async.whilst(test, iterator, callback);
- });
- }
- else {
- callback();
- }
- };
-
- async.until = function (test, iterator, callback) {
- if (!test()) {
- iterator(function (err) {
- if (err) {
- return callback(err);
- }
- async.until(test, iterator, callback);
- });
- }
- else {
- callback();
- }
- };
-
- async.queue = function (worker, concurrency) {
- var workers = 0;
- var q = {
- tasks: [],
- concurrency: concurrency,
- saturated: null,
- empty: null,
- drain: null,
- push: function (data, callback) {
- if(data.constructor !== Array) {
- data = [data];
- }
- _forEach(data, function(task) {
- q.tasks.push({
- data: task,
- callback: typeof callback === 'function' ? callback : null
- });
- if (q.saturated && q.tasks.length == concurrency) {
- q.saturated();
- }
- async.nextTick(q.process);
- });
- },
- process: function () {
- if (workers < q.concurrency && q.tasks.length) {
- var task = q.tasks.shift();
- if(q.empty && q.tasks.length == 0) q.empty();
- workers += 1;
- worker(task.data, function () {
- workers -= 1;
- if (task.callback) {
- task.callback.apply(task, arguments);
- }
- if(q.drain && q.tasks.length + workers == 0) q.drain();
- q.process();
- });
- }
- },
- length: function () {
- return q.tasks.length;
- },
- running: function () {
- return workers;
- }
- };
- return q;
- };
-
- var _console_fn = function (name) {
- return function (fn) {
- var args = Array.prototype.slice.call(arguments, 1);
- fn.apply(null, args.concat([function (err) {
- var args = Array.prototype.slice.call(arguments, 1);
- if (typeof console !== 'undefined') {
- if (err) {
- if (console.error) {
- console.error(err);
- }
- }
- else if (console[name]) {
- _forEach(args, function (x) {
- console[name](x);
- });
- }
- }
- }]));
- };
- };
- async.log = _console_fn('log');
- async.dir = _console_fn('dir');
- /*async.info = _console_fn('info');
- async.warn = _console_fn('warn');
- async.error = _console_fn('error');*/
-
- async.memoize = function (fn, hasher) {
- var memo = {};
- var queues = {};
- hasher = hasher || function (x) {
- return x;
- };
- var memoized = function () {
- var args = Array.prototype.slice.call(arguments);
- var callback = args.pop();
- var key = hasher.apply(null, args);
- if (key in memo) {
- callback.apply(null, memo[key]);
- }
- else if (key in queues) {
- queues[key].push(callback);
- }
- else {
- queues[key] = [callback];
- fn.apply(null, args.concat([function () {
- memo[key] = arguments;
- var q = queues[key];
- delete queues[key];
- for (var i = 0, l = q.length; i < l; i++) {
- q[i].apply(null, arguments);
- }
- }]));
- }
- };
- memoized.unmemoized = fn;
- return memoized;
- };
-
- async.unmemoize = function (fn) {
- return function () {
- return (fn.unmemoized || fn).apply(null, arguments);
- };
- };
-
-}());
View
31 tests/node_modules/mocha-runner/node_modules/async/package.json
@@ -1,31 +0,0 @@
-{
- "name": "async",
- "description": "Higher-order functions and common patterns for asynchronous code",
- "main": "./index",
- "author": {
- "name": "Caolan McMahon"
- },
- "version": "0.1.22",