pleeease 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (615) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +22 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +23 -0
  6. data/Rakefile +1 -0
  7. data/lib/pleeease.rb +9 -0
  8. data/lib/pleeease/processor.rb +13 -0
  9. data/lib/pleeease/railtie.rb +10 -0
  10. data/lib/pleeease/runner.rb +70 -0
  11. data/lib/pleeease/version.rb +3 -0
  12. data/node_modules/.bin/pleeease +13 -0
  13. data/node_modules/.bin/pleeease-compile +20 -0
  14. data/node_modules/.bin/pleeease-watch +20 -0
  15. data/node_modules/pleeease/.jshintignore +1 -0
  16. data/node_modules/pleeease/.jshintrc +28 -0
  17. data/node_modules/pleeease/.npmignore +2 -0
  18. data/node_modules/pleeease/README.md +288 -0
  19. data/node_modules/pleeease/app.min.css.map +1 -0
  20. data/node_modules/pleeease/bin/pleeease +13 -0
  21. data/node_modules/pleeease/bin/pleeease-compile +20 -0
  22. data/node_modules/pleeease/bin/pleeease-watch +20 -0
  23. data/node_modules/pleeease/jshint.sh +2 -0
  24. data/node_modules/pleeease/lib/cli.js +136 -0
  25. data/node_modules/pleeease/lib/index.js +97 -0
  26. data/node_modules/pleeease/lib/options.js +38 -0
  27. data/node_modules/pleeease/lib/processors/import.js +123 -0
  28. data/node_modules/pleeease/lib/processors/pseudoElements.js +24 -0
  29. data/node_modules/pleeease/node_modules/.bin/autoprefixer +13 -0
  30. data/node_modules/pleeease/node_modules/.bin/csswring +3 -0
  31. data/node_modules/pleeease/node_modules/.bin/mkdirp +33 -0
  32. data/node_modules/pleeease/node_modules/autoprefixer/ChangeLog.md +354 -0
  33. data/node_modules/pleeease/node_modules/autoprefixer/LICENSE +20 -0
  34. data/node_modules/pleeease/node_modules/autoprefixer/README.md +565 -0
  35. data/node_modules/pleeease/node_modules/autoprefixer/bin/autoprefixer +13 -0
  36. data/node_modules/pleeease/node_modules/autoprefixer/data/browsers.js +53 -0
  37. data/node_modules/pleeease/node_modules/autoprefixer/data/prefixes.js +323 -0
  38. data/node_modules/pleeease/node_modules/autoprefixer/lib/autoprefixer.js +109 -0
  39. data/node_modules/pleeease/node_modules/autoprefixer/lib/binary.js +344 -0
  40. data/node_modules/pleeease/node_modules/autoprefixer/lib/browsers.js +197 -0
  41. data/node_modules/pleeease/node_modules/autoprefixer/lib/declaration.js +152 -0
  42. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/align-content.js +57 -0
  43. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/align-items.js +57 -0
  44. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/align-self.js +55 -0
  45. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/border-image.js +28 -0
  46. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/border-radius.js +56 -0
  47. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/break-inside.js +54 -0
  48. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/display-flex.js +67 -0
  49. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/fill-available.js +41 -0
  50. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/filter.js +29 -0
  51. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex-basis.js +47 -0
  52. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex-direction.js +71 -0
  53. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex-flow.js +35 -0
  54. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex-grow.js +41 -0
  55. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex-shrink.js +47 -0
  56. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex-spec.js +11 -0
  57. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex-wrap.js +33 -0
  58. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex.js +56 -0
  59. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/fullscreen.js +33 -0
  60. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/gradient.js +217 -0
  61. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/justify-content.js +62 -0
  62. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/order.js +52 -0
  63. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/placeholder.js +39 -0
  64. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/transform-decl.js +59 -0
  65. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/transform-value.js +31 -0
  66. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/transition.js +37 -0
  67. data/node_modules/pleeease/node_modules/autoprefixer/lib/info.js +114 -0
  68. data/node_modules/pleeease/node_modules/autoprefixer/lib/keyframes.js +40 -0
  69. data/node_modules/pleeease/node_modules/autoprefixer/lib/old-selector.js +68 -0
  70. data/node_modules/pleeease/node_modules/autoprefixer/lib/old-value.js +29 -0
  71. data/node_modules/pleeease/node_modules/autoprefixer/lib/prefixer.js +88 -0
  72. data/node_modules/pleeease/node_modules/autoprefixer/lib/prefixes.js +334 -0
  73. data/node_modules/pleeease/node_modules/autoprefixer/lib/processor.js +105 -0
  74. data/node_modules/pleeease/node_modules/autoprefixer/lib/selector.js +117 -0
  75. data/node_modules/pleeease/node_modules/autoprefixer/lib/updater.js +234 -0
  76. data/node_modules/pleeease/node_modules/autoprefixer/lib/utils.js +41 -0
  77. data/node_modules/pleeease/node_modules/autoprefixer/lib/value.js +99 -0
  78. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/.npmignore +2 -0
  79. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/CHANGELOG.md +126 -0
  80. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/LICENSE +15 -0
  81. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/README.md +371 -0
  82. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/copy.js +79 -0
  83. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/create.js +55 -0
  84. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/ensure.js +4 -0
  85. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/index.js +137 -0
  86. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/json.js +30 -0
  87. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/mkdir.js +8 -0
  88. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/move.js +108 -0
  89. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/output.js +37 -0
  90. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/remove.js +19 -0
  91. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/.bin/mkdirp +33 -0
  92. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/.bin/ncp +48 -0
  93. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/.bin/rimraf +33 -0
  94. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/jsonfile/.npmignore +2 -0
  95. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/jsonfile/CHANGELOG.md +20 -0
  96. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/jsonfile/LICENSE +15 -0
  97. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/jsonfile/README.md +121 -0
  98. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/jsonfile/lib/jsonfile.js +47 -0
  99. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/jsonfile/package.json +44 -0
  100. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/.npmignore +2 -0
  101. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/.travis.yml +5 -0
  102. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/LICENSE +21 -0
  103. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/bin/cmd.js +33 -0
  104. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/bin/usage.txt +12 -0
  105. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/examples/pow.js +6 -0
  106. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/index.js +97 -0
  107. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/.travis.yml +4 -0
  108. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/LICENSE +18 -0
  109. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/example/parse.js +2 -0
  110. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/index.js +187 -0
  111. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/package.json +52 -0
  112. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/readme.markdown +73 -0
  113. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/dash.js +24 -0
  114. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/default_bool.js +20 -0
  115. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/dotted.js +16 -0
  116. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/long.js +31 -0
  117. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/parse.js +318 -0
  118. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js +9 -0
  119. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/short.js +67 -0
  120. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/whitespace.js +8 -0
  121. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/package.json +43 -0
  122. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/readme.markdown +100 -0
  123. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/chmod.js +38 -0
  124. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/clobber.js +37 -0
  125. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/mkdirp.js +26 -0
  126. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/opts_fs.js +27 -0
  127. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/opts_fs_sync.js +25 -0
  128. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/perm.js +30 -0
  129. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/perm_sync.js +34 -0
  130. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/race.js +40 -0
  131. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/rel.js +30 -0
  132. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/return.js +25 -0
  133. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/return_sync.js +24 -0
  134. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/root.js +18 -0
  135. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/sync.js +30 -0
  136. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/umask.js +26 -0
  137. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/umask_sync.js +30 -0
  138. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/.npmignore +4 -0
  139. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/.travis.yml +6 -0
  140. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/LICENSE.md +21 -0
  141. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/README.md +58 -0
  142. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/bin/ncp +48 -0
  143. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/lib/ncp.js +230 -0
  144. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/package.json +43 -0
  145. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/a +1 -0
  146. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/b +1 -0
  147. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/c +0 -0
  148. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/d +0 -0
  149. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/e +0 -0
  150. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/f +0 -0
  151. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/sub/a +1 -0
  152. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/sub/b +0 -0
  153. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/ncp.js +86 -0
  154. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/AUTHORS +6 -0
  155. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/LICENSE +23 -0
  156. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/README.md +30 -0
  157. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/bin.js +33 -0
  158. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/package.json +58 -0
  159. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/rimraf.js +248 -0
  160. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/test/run.sh +16 -0
  161. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/test/setup.sh +47 -0
  162. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/test/test-async.js +5 -0
  163. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/test/test-sync.js +3 -0
  164. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/package.json +68 -0
  165. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/ChangeLog.md +46 -0
  166. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/LICENSE +20 -0
  167. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/README.md +784 -0
  168. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/at-rule.js +94 -0
  169. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/comment.js +38 -0
  170. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/container.js +315 -0
  171. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/declaration.js +69 -0
  172. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/lazy.js +18 -0
  173. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/list.js +64 -0
  174. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/map-generator.js +242 -0
  175. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/node.js +189 -0
  176. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/parse.js +496 -0
  177. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/postcss.js +78 -0
  178. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/raw.js +32 -0
  179. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/result.js +26 -0
  180. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/root.js +57 -0
  181. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/rule.js +59 -0
  182. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/syntax-error.js +27 -0
  183. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/vendor.js +27 -0
  184. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/base64-js/.travis.yml +5 -0
  185. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/base64-js/LICENSE.MIT +21 -0
  186. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/base64-js/README.md +31 -0
  187. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/base64-js/bench/bench.js +19 -0
  188. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/base64-js/lib/b64.js +120 -0
  189. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/base64-js/package.json +47 -0
  190. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/base64-js/test/convert.js +51 -0
  191. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/.npmignore +2 -0
  192. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/.tern-port +1 -0
  193. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/.travis.yml +4 -0
  194. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/CHANGELOG.md +137 -0
  195. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/LICENSE +28 -0
  196. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/Makefile.dryice.js +166 -0
  197. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/README.md +446 -0
  198. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/assert-shim.js +56 -0
  199. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/mini-require.js +152 -0
  200. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/prefix-source-map.jsm +20 -0
  201. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/prefix-utils.jsm +18 -0
  202. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/suffix-browser.js +8 -0
  203. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/suffix-source-map.jsm +6 -0
  204. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/suffix-utils.jsm +21 -0
  205. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/test-prefix.js +8 -0
  206. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/test-suffix.js +3 -0
  207. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map.js +8 -0
  208. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/array-set.js +97 -0
  209. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/base64-vlq.js +144 -0
  210. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/base64.js +42 -0
  211. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/binary-search.js +81 -0
  212. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/source-map-consumer.js +478 -0
  213. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/source-map-generator.js +400 -0
  214. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/source-node.js +400 -0
  215. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/util.js +302 -0
  216. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/node_modules/amdefine/LICENSE +58 -0
  217. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/node_modules/amdefine/README.md +171 -0
  218. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/node_modules/amdefine/amdefine.js +299 -0
  219. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/node_modules/amdefine/intercept.js +36 -0
  220. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/node_modules/amdefine/package.json +39 -0
  221. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/package.json +132 -0
  222. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/run-tests.js +62 -0
  223. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-api.js +26 -0
  224. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-array-set.js +104 -0
  225. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-base64-vlq.js +24 -0
  226. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-base64.js +35 -0
  227. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
  228. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-dog-fooding.js +84 -0
  229. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-source-map-consumer.js +475 -0
  230. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-source-map-generator.js +549 -0
  231. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-source-node.js +487 -0
  232. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-util.js +127 -0
  233. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/util.js +161 -0
  234. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/package.json +46 -0
  235. data/node_modules/pleeease/node_modules/autoprefixer/package.json +49 -0
  236. data/node_modules/pleeease/node_modules/autoprefixer/updaters/browsers.js +65 -0
  237. data/node_modules/pleeease/node_modules/autoprefixer/updaters/prefixes.js +273 -0
  238. data/node_modules/pleeease/node_modules/chokidar/.npmignore +35 -0
  239. data/node_modules/pleeease/node_modules/chokidar/CHANGELOG.md +95 -0
  240. data/node_modules/pleeease/node_modules/chokidar/README.md +121 -0
  241. data/node_modules/pleeease/node_modules/chokidar/example.js +3 -0
  242. data/node_modules/pleeease/node_modules/chokidar/index.js +425 -0
  243. data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/README.md +22 -0
  244. data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/index.js +45 -0
  245. data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/package.json +39 -0
  246. data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/test/recursive-raddir-test.js +17 -0
  247. data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/test/testdir/a/a +0 -0
  248. data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/test/testdir/a/beans +0 -0
  249. data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/test/testdir/b/123 +0 -0
  250. data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/test/testdir/b/b/hurp-durp +0 -0
  251. data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/test/testdir/c.txt +0 -0
  252. data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/test/testdir/d.txt +0 -0
  253. data/node_modules/pleeease/node_modules/chokidar/package.json +55 -0
  254. data/node_modules/pleeease/node_modules/chokidar/test.js +296 -0
  255. data/node_modules/pleeease/node_modules/colors/MIT-LICENSE.txt +22 -0
  256. data/node_modules/pleeease/node_modules/colors/ReadMe.md +77 -0
  257. data/node_modules/pleeease/node_modules/colors/colors.js +342 -0
  258. data/node_modules/pleeease/node_modules/colors/example.html +76 -0
  259. data/node_modules/pleeease/node_modules/colors/example.js +77 -0
  260. data/node_modules/pleeease/node_modules/colors/package.json +29 -0
  261. data/node_modules/pleeease/node_modules/colors/test.js +70 -0
  262. data/node_modules/pleeease/node_modules/colors/themes/winston-dark.js +12 -0
  263. data/node_modules/pleeease/node_modules/colors/themes/winston-light.js +12 -0
  264. data/node_modules/pleeease/node_modules/commander/Readme.md +208 -0
  265. data/node_modules/pleeease/node_modules/commander/index.js +852 -0
  266. data/node_modules/pleeease/node_modules/commander/package.json +43 -0
  267. data/node_modules/pleeease/node_modules/css-mqpacker/.npmignore +3 -0
  268. data/node_modules/pleeease/node_modules/css-mqpacker/.sass-cache/ca3e061f00144e273a11e95ed4eb3170f1f7a328/maps-input.scssc +0 -0
  269. data/node_modules/pleeease/node_modules/css-mqpacker/.sass-cache/ca3e061f00144e273a11e95ed4eb3170f1f7a328/sourcemap-expected.scssc +0 -0
  270. data/node_modules/pleeease/node_modules/css-mqpacker/README.md +141 -0
  271. data/node_modules/pleeease/node_modules/css-mqpacker/index.js +1 -0
  272. data/node_modules/pleeease/node_modules/css-mqpacker/lib/css-mqpacker.js +43 -0
  273. data/node_modules/pleeease/node_modules/css-mqpacker/package.json +43 -0
  274. data/node_modules/pleeease/node_modules/css-mqpacker/test/css-mqpacker_test.js +64 -0
  275. data/node_modules/pleeease/node_modules/css-mqpacker/test/expected/multi.css +31 -0
  276. data/node_modules/pleeease/node_modules/css-mqpacker/test/expected/query-order.css +17 -0
  277. data/node_modules/pleeease/node_modules/css-mqpacker/test/expected/simple.css +37 -0
  278. data/node_modules/pleeease/node_modules/css-mqpacker/test/fixtures/multi.css +37 -0
  279. data/node_modules/pleeease/node_modules/css-mqpacker/test/fixtures/query-order.css +19 -0
  280. data/node_modules/pleeease/node_modules/css-mqpacker/test/fixtures/simple.css +41 -0
  281. data/node_modules/pleeease/node_modules/csswring/.npmignore +3 -0
  282. data/node_modules/pleeease/node_modules/csswring/README.md +55 -0
  283. data/node_modules/pleeease/node_modules/csswring/bin/csswring +3 -0
  284. data/node_modules/pleeease/node_modules/csswring/index.js +1 -0
  285. data/node_modules/pleeease/node_modules/csswring/lib/cli.js +93 -0
  286. data/node_modules/pleeease/node_modules/csswring/lib/csswring.js +110 -0
  287. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/.travis.yml +4 -0
  288. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/LICENSE +18 -0
  289. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/example/parse.js +2 -0
  290. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/index.js +187 -0
  291. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/package.json +52 -0
  292. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/readme.markdown +73 -0
  293. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/dash.js +24 -0
  294. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/default_bool.js +20 -0
  295. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/dotted.js +16 -0
  296. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/long.js +31 -0
  297. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/parse.js +318 -0
  298. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/parse_modified.js +9 -0
  299. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/short.js +67 -0
  300. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/whitespace.js +8 -0
  301. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/.gitmodules +3 -0
  302. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/.npmignore +2 -0
  303. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/LICENSE +24 -0
  304. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/Makefile +45 -0
  305. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/README.md +313 -0
  306. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/bin/build.js +29 -0
  307. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/component.json +11 -0
  308. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/demo/demo.css +58 -0
  309. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/demo/demo.js +35 -0
  310. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/demo/index.html +54 -0
  311. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color-namedColors.js +150 -0
  312. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color.js +231 -0
  313. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/CMYK.js +31 -0
  314. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/HSL.js +30 -0
  315. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/HSV.js +94 -0
  316. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/LAB.js +33 -0
  317. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/XYZ.js +65 -0
  318. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/_all.js +25 -0
  319. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/_base.js +6 -0
  320. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/clearer.js +3 -0
  321. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/darken.js +5 -0
  322. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/desaturate.js +5 -0
  323. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/greyscale.js +9 -0
  324. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/lighten.js +5 -0
  325. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/mix.js +17 -0
  326. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/negate.js +4 -0
  327. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/opaquer.js +3 -0
  328. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/rotate.js +3 -0
  329. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/saturate.js +5 -0
  330. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/toAlpha.js +46 -0
  331. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/ender.js +5 -0
  332. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/es5-shim.js +97 -0
  333. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/one-color-all-debug.js +754 -0
  334. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/one-color-all.js +1 -0
  335. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/one-color-debug.js +359 -0
  336. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/one-color-ieshim.js +1 -0
  337. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/one-color.js +1 -0
  338. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/package.json +66 -0
  339. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/README.markdown +5 -0
  340. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/boilerplate.html +55 -0
  341. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/classList.js +116 -0
  342. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/img/rainbow-wood.jpg +0 -0
  343. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/index.html +234 -0
  344. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/license.txt +21 -0
  345. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/logo.png +0 -0
  346. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/logo.svg +52 -0
  347. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/plugins/css-controls.js +40 -0
  348. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/plugins/css-edit.js +132 -0
  349. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/plugins/css-snippets.js +89 -0
  350. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/plugins/incrementable.js +94 -0
  351. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/slideshow.css +288 -0
  352. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/slideshow.js +471 -0
  353. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/talk.css +41 -0
  354. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/theme.css +214 -0
  355. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/colorcat/css/colorcat.css +36 -0
  356. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/colorcat/css/demo.css +677 -0
  357. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/colorcat/images/transparent.gif +0 -0
  358. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/colorcat/js/colorcat.js +135 -0
  359. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/colorcat/js/one-color-debug.js +1137 -0
  360. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/1024px-HSV_color_solid_cylinder_alpha_lowgamma.png +0 -0
  361. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/ExtJS.png +0 -0
  362. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/HSL.png +0 -0
  363. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/HSV.png +0 -0
  364. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/Hsl-hsv_models_b.svg +450 -0
  365. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/Pixels.jpg +0 -0
  366. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/PullingHair.png +0 -0
  367. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/RGB.png +0 -0
  368. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/RGB_HSL_HSV_comparison.png +0 -0
  369. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/Space_Rainbow_desktop_background_pictures.jpg +0 -0
  370. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/blog.png +0 -0
  371. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/calendar.png +0 -0
  372. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/colorSpace.jpg +0 -0
  373. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/index.html +562 -0
  374. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/talk.css +137 -0
  375. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/theme.css +247 -0
  376. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/test/color-test.js +178 -0
  377. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/test/conversion-test.js +46 -0
  378. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/test/samples.js +147 -0
  379. data/node_modules/pleeease/node_modules/csswring/package.json +51 -0
  380. data/node_modules/pleeease/node_modules/csswring/test/csswring_test.js +67 -0
  381. data/node_modules/pleeease/node_modules/csswring/test/expected/empty-declarations.css +1 -0
  382. data/node_modules/pleeease/node_modules/csswring/test/expected/extra-semicolons.css +1 -0
  383. data/node_modules/pleeease/node_modules/csswring/test/expected/issue3.css +1 -0
  384. data/node_modules/pleeease/node_modules/csswring/test/expected/simple.css +3 -0
  385. data/node_modules/pleeease/node_modules/csswring/test/expected/single-charset.css +1 -0
  386. data/node_modules/pleeease/node_modules/csswring/test/expected/value.css +1 -0
  387. data/node_modules/pleeease/node_modules/csswring/test/fixtures/empty-declarations.css +12 -0
  388. data/node_modules/pleeease/node_modules/csswring/test/fixtures/extra-semicolons.css +4 -0
  389. data/node_modules/pleeease/node_modules/csswring/test/fixtures/issue3.css +3 -0
  390. data/node_modules/pleeease/node_modules/csswring/test/fixtures/simple.css +31 -0
  391. data/node_modules/pleeease/node_modules/csswring/test/fixtures/single-charset.css +13 -0
  392. data/node_modules/pleeease/node_modules/csswring/test/fixtures/value.css +14 -0
  393. data/node_modules/pleeease/node_modules/deep-extend/.npmignore +1 -0
  394. data/node_modules/pleeease/node_modules/deep-extend/LICENSE +20 -0
  395. data/node_modules/pleeease/node_modules/deep-extend/README.md +52 -0
  396. data/node_modules/pleeease/node_modules/deep-extend/index.js +87 -0
  397. data/node_modules/pleeease/node_modules/deep-extend/package.json +45 -0
  398. data/node_modules/pleeease/node_modules/deep-extend/test/index.spec.js +44 -0
  399. data/node_modules/pleeease/node_modules/deep-extend/test/mocha.opts +1 -0
  400. data/node_modules/pleeease/node_modules/mkdirp/.npmignore +2 -0
  401. data/node_modules/pleeease/node_modules/mkdirp/.travis.yml +5 -0
  402. data/node_modules/pleeease/node_modules/mkdirp/LICENSE +21 -0
  403. data/node_modules/pleeease/node_modules/mkdirp/bin/cmd.js +33 -0
  404. data/node_modules/pleeease/node_modules/mkdirp/bin/usage.txt +12 -0
  405. data/node_modules/pleeease/node_modules/mkdirp/examples/pow.js +6 -0
  406. data/node_modules/pleeease/node_modules/mkdirp/index.js +80 -0
  407. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/.travis.yml +4 -0
  408. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/LICENSE +18 -0
  409. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/example/parse.js +2 -0
  410. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/index.js +187 -0
  411. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/package.json +52 -0
  412. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/readme.markdown +73 -0
  413. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/dash.js +24 -0
  414. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/default_bool.js +20 -0
  415. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/dotted.js +16 -0
  416. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/long.js +31 -0
  417. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/parse.js +318 -0
  418. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js +9 -0
  419. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/short.js +67 -0
  420. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/whitespace.js +8 -0
  421. data/node_modules/pleeease/node_modules/mkdirp/package.json +42 -0
  422. data/node_modules/pleeease/node_modules/mkdirp/readme.markdown +90 -0
  423. data/node_modules/pleeease/node_modules/mkdirp/test/chmod.js +38 -0
  424. data/node_modules/pleeease/node_modules/mkdirp/test/clobber.js +37 -0
  425. data/node_modules/pleeease/node_modules/mkdirp/test/mkdirp.js +28 -0
  426. data/node_modules/pleeease/node_modules/mkdirp/test/perm.js +32 -0
  427. data/node_modules/pleeease/node_modules/mkdirp/test/perm_sync.js +39 -0
  428. data/node_modules/pleeease/node_modules/mkdirp/test/race.js +41 -0
  429. data/node_modules/pleeease/node_modules/mkdirp/test/rel.js +32 -0
  430. data/node_modules/pleeease/node_modules/mkdirp/test/return.js +25 -0
  431. data/node_modules/pleeease/node_modules/mkdirp/test/return_sync.js +24 -0
  432. data/node_modules/pleeease/node_modules/mkdirp/test/root.js +18 -0
  433. data/node_modules/pleeease/node_modules/mkdirp/test/sync.js +32 -0
  434. data/node_modules/pleeease/node_modules/mkdirp/test/umask.js +28 -0
  435. data/node_modules/pleeease/node_modules/mkdirp/test/umask_sync.js +32 -0
  436. data/node_modules/pleeease/node_modules/multi-glob/.npmignore +2 -0
  437. data/node_modules/pleeease/node_modules/multi-glob/.travis.yml +3 -0
  438. data/node_modules/pleeease/node_modules/multi-glob/AUTHORS +2 -0
  439. data/node_modules/pleeease/node_modules/multi-glob/LICENSE +27 -0
  440. data/node_modules/pleeease/node_modules/multi-glob/Readme.rst +42 -0
  441. data/node_modules/pleeease/node_modules/multi-glob/autolint.js +20 -0
  442. data/node_modules/pleeease/node_modules/multi-glob/buster.js +6 -0
  443. data/node_modules/pleeease/node_modules/multi-glob/lib/multi-glob.js +39 -0
  444. data/node_modules/pleeease/node_modules/multi-glob/node_modules/async/.travis.yml +3 -0
  445. data/node_modules/pleeease/node_modules/multi-glob/node_modules/async/LICENSE +19 -0
  446. data/node_modules/pleeease/node_modules/multi-glob/node_modules/async/README.md +1646 -0
  447. data/node_modules/pleeease/node_modules/multi-glob/node_modules/async/component.json +11 -0
  448. data/node_modules/pleeease/node_modules/multi-glob/node_modules/async/lib/async.js +1123 -0
  449. data/node_modules/pleeease/node_modules/multi-glob/node_modules/async/package.json +45 -0
  450. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/.npmignore +2 -0
  451. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/.travis.yml +4 -0
  452. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/LICENSE +27 -0
  453. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/README.md +250 -0
  454. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/examples/g.js +9 -0
  455. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/examples/usr-local.js +9 -0
  456. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/glob.js +738 -0
  457. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/inherits/LICENSE +16 -0
  458. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/inherits/README.md +42 -0
  459. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/inherits/inherits.js +1 -0
  460. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/inherits/inherits_browser.js +23 -0
  461. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/inherits/package.json +33 -0
  462. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/inherits/test.js +25 -0
  463. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/.npmignore +1 -0
  464. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/LICENSE +23 -0
  465. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/README.md +218 -0
  466. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/minimatch.js +1061 -0
  467. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/.npmignore +1 -0
  468. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS +14 -0
  469. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/LICENSE +23 -0
  470. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/README.md +97 -0
  471. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js +252 -0
  472. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json +33 -0
  473. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/test/basic.js +369 -0
  474. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/test/foreach.js +52 -0
  475. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js +50 -0
  476. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/sigmund/LICENSE +27 -0
  477. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/sigmund/README.md +53 -0
  478. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/sigmund/bench.js +283 -0
  479. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/sigmund/package.json +42 -0
  480. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/sigmund/sigmund.js +39 -0
  481. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/sigmund/test/basic.js +24 -0
  482. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/package.json +42 -0
  483. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/test/basic.js +399 -0
  484. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/test/brace-expand.js +33 -0
  485. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/test/caching.js +14 -0
  486. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/test/defaults.js +274 -0
  487. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/test/extglob-ending-with-state-char.js +8 -0
  488. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/once/LICENSE +27 -0
  489. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/once/README.md +51 -0
  490. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/once/once.js +20 -0
  491. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/once/package.json +42 -0
  492. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/once/test/once.js +20 -0
  493. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/package.json +43 -0
  494. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/00-setup.js +176 -0
  495. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/bash-comparison.js +63 -0
  496. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/bash-results.json +354 -0
  497. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/cwd-test.js +55 -0
  498. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/empty-set.js +20 -0
  499. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/error-callback.js +20 -0
  500. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/globstar-match.js +19 -0
  501. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/mark.js +118 -0
  502. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/new-glob-optional-options.js +10 -0
  503. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/nocase-nomagic.js +124 -0
  504. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/pause-resume.js +73 -0
  505. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/readme-issue.js +36 -0
  506. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/root-nomount.js +39 -0
  507. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/root.js +46 -0
  508. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/stat.js +32 -0
  509. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/zz-cleanup.js +11 -0
  510. data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/LICENSE.txt +22 -0
  511. data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/README.md +163 -0
  512. data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/dist/lodash.compat.js +7157 -0
  513. data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/dist/lodash.compat.min.js +61 -0
  514. data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/dist/lodash.js +6785 -0
  515. data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/dist/lodash.min.js +56 -0
  516. data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/dist/lodash.underscore.js +4979 -0
  517. data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/dist/lodash.underscore.min.js +39 -0
  518. data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/lodash.js +7179 -0
  519. data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/package.json +102 -0
  520. data/node_modules/pleeease/node_modules/multi-glob/package.json +46 -0
  521. data/node_modules/pleeease/node_modules/multi-glob/test/multi-glob-test.js +113 -0
  522. data/node_modules/pleeease/node_modules/pixrem/.editorconfig +13 -0
  523. data/node_modules/pleeease/node_modules/pixrem/.gitattributes +1 -0
  524. data/node_modules/pleeease/node_modules/pixrem/.gitignore +2 -0
  525. data/node_modules/pleeease/node_modules/pixrem/.jshintrc +22 -0
  526. data/node_modules/pleeease/node_modules/pixrem/.travis.yml +4 -0
  527. data/node_modules/pleeease/node_modules/pixrem/LICENSE +22 -0
  528. data/node_modules/pleeease/node_modules/pixrem/README.md +108 -0
  529. data/node_modules/pleeease/node_modules/pixrem/lib/pixrem.js +73 -0
  530. data/node_modules/pleeease/node_modules/pixrem/package.json +50 -0
  531. data/node_modules/pleeease/node_modules/pixrem/spec/pixrem-spec.js +78 -0
  532. data/node_modules/pleeease/node_modules/postcss-vars/README.md +84 -0
  533. data/node_modules/pleeease/node_modules/postcss-vars/lib/index.js +91 -0
  534. data/node_modules/pleeease/node_modules/postcss-vars/package.json +18 -0
  535. data/node_modules/pleeease/node_modules/postcss/ChangeLog.md +42 -0
  536. data/node_modules/pleeease/node_modules/postcss/LICENSE +20 -0
  537. data/node_modules/pleeease/node_modules/postcss/README.md +732 -0
  538. data/node_modules/pleeease/node_modules/postcss/lib/at-rule.js +94 -0
  539. data/node_modules/pleeease/node_modules/postcss/lib/comment.js +38 -0
  540. data/node_modules/pleeease/node_modules/postcss/lib/container.js +315 -0
  541. data/node_modules/pleeease/node_modules/postcss/lib/declaration.js +69 -0
  542. data/node_modules/pleeease/node_modules/postcss/lib/lazy.js +18 -0
  543. data/node_modules/pleeease/node_modules/postcss/lib/list.js +64 -0
  544. data/node_modules/pleeease/node_modules/postcss/lib/map-generator.js +242 -0
  545. data/node_modules/pleeease/node_modules/postcss/lib/node.js +189 -0
  546. data/node_modules/pleeease/node_modules/postcss/lib/parse.js +496 -0
  547. data/node_modules/pleeease/node_modules/postcss/lib/postcss.js +76 -0
  548. data/node_modules/pleeease/node_modules/postcss/lib/raw.js +32 -0
  549. data/node_modules/pleeease/node_modules/postcss/lib/result.js +22 -0
  550. data/node_modules/pleeease/node_modules/postcss/lib/root.js +57 -0
  551. data/node_modules/pleeease/node_modules/postcss/lib/rule.js +59 -0
  552. data/node_modules/pleeease/node_modules/postcss/lib/syntax-error.js +27 -0
  553. data/node_modules/pleeease/node_modules/postcss/lib/vendor.js +27 -0
  554. data/node_modules/pleeease/node_modules/postcss/node_modules/base64-js/.travis.yml +5 -0
  555. data/node_modules/pleeease/node_modules/postcss/node_modules/base64-js/LICENSE.MIT +21 -0
  556. data/node_modules/pleeease/node_modules/postcss/node_modules/base64-js/README.md +31 -0
  557. data/node_modules/pleeease/node_modules/postcss/node_modules/base64-js/bench/bench.js +19 -0
  558. data/node_modules/pleeease/node_modules/postcss/node_modules/base64-js/lib/b64.js +120 -0
  559. data/node_modules/pleeease/node_modules/postcss/node_modules/base64-js/package.json +47 -0
  560. data/node_modules/pleeease/node_modules/postcss/node_modules/base64-js/test/convert.js +51 -0
  561. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/.npmignore +2 -0
  562. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/.tern-port +1 -0
  563. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/.travis.yml +4 -0
  564. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/CHANGELOG.md +137 -0
  565. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/LICENSE +28 -0
  566. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/Makefile.dryice.js +166 -0
  567. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/README.md +446 -0
  568. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/assert-shim.js +56 -0
  569. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/mini-require.js +152 -0
  570. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/prefix-source-map.jsm +20 -0
  571. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/prefix-utils.jsm +18 -0
  572. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/suffix-browser.js +8 -0
  573. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/suffix-source-map.jsm +6 -0
  574. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/suffix-utils.jsm +21 -0
  575. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/test-prefix.js +8 -0
  576. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/test-suffix.js +3 -0
  577. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map.js +8 -0
  578. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/array-set.js +97 -0
  579. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/base64-vlq.js +144 -0
  580. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/base64.js +42 -0
  581. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/binary-search.js +81 -0
  582. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/source-map-consumer.js +478 -0
  583. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/source-map-generator.js +400 -0
  584. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/source-node.js +400 -0
  585. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/util.js +302 -0
  586. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/node_modules/amdefine/LICENSE +58 -0
  587. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/node_modules/amdefine/README.md +171 -0
  588. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/node_modules/amdefine/amdefine.js +299 -0
  589. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/node_modules/amdefine/intercept.js +36 -0
  590. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/node_modules/amdefine/package.json +38 -0
  591. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/package.json +132 -0
  592. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/run-tests.js +62 -0
  593. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-api.js +26 -0
  594. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-array-set.js +104 -0
  595. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-base64-vlq.js +24 -0
  596. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-base64.js +35 -0
  597. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
  598. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-dog-fooding.js +84 -0
  599. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-source-map-consumer.js +475 -0
  600. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-source-map-generator.js +549 -0
  601. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-source-node.js +487 -0
  602. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-util.js +127 -0
  603. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/util.js +161 -0
  604. data/node_modules/pleeease/node_modules/postcss/package.json +46 -0
  605. data/node_modules/pleeease/package.json +40 -0
  606. data/node_modules/pleeease/spec/pleeease-spec.js +112 -0
  607. data/node_modules/pleeease/spec/prefixes.css +1 -0
  608. data/node_modules/pleeease/test/.pleeeaserc +7 -0
  609. data/node_modules/pleeease/test/app.min.css +42 -0
  610. data/node_modules/pleeease/test/bar.css +11 -0
  611. data/node_modules/pleeease/test/foo.css +25 -0
  612. data/node_modules/pleeease/test/import/imported.css +3 -0
  613. data/package.json +11 -0
  614. data/pleeease.gemspec +23 -0
  615. metadata +685 -0
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "async",
3
+ "repo": "caolan/async",
4
+ "description": "Higher-order functions and common patterns for asynchronous code",
5
+ "version": "0.1.23",
6
+ "keywords": [],
7
+ "dependencies": {},
8
+ "development": {},
9
+ "main": "lib/async.js",
10
+ "scripts": [ "lib/async.js" ]
11
+ }
@@ -0,0 +1,1123 @@
1
+ /*!
2
+ * async
3
+ * https://github.com/caolan/async
4
+ *
5
+ * Copyright 2010-2014 Caolan McMahon
6
+ * Released under the MIT license
7
+ */
8
+ /*jshint onevar: false, indent:4 */
9
+ /*global setImmediate: false, setTimeout: false, console: false */
10
+ (function () {
11
+
12
+ var async = {};
13
+
14
+ // global on the server, window in the browser
15
+ var root, previous_async;
16
+
17
+ root = this;
18
+ if (root != null) {
19
+ previous_async = root.async;
20
+ }
21
+
22
+ async.noConflict = function () {
23
+ root.async = previous_async;
24
+ return async;
25
+ };
26
+
27
+ function only_once(fn) {
28
+ var called = false;
29
+ return function() {
30
+ if (called) throw new Error("Callback was already called.");
31
+ called = true;
32
+ fn.apply(root, arguments);
33
+ }
34
+ }
35
+
36
+ //// cross-browser compatiblity functions ////
37
+
38
+ var _toString = Object.prototype.toString;
39
+
40
+ var _isArray = Array.isArray || function (obj) {
41
+ return _toString.call(obj) === '[object Array]';
42
+ };
43
+
44
+ var _each = function (arr, iterator) {
45
+ if (arr.forEach) {
46
+ return arr.forEach(iterator);
47
+ }
48
+ for (var i = 0; i < arr.length; i += 1) {
49
+ iterator(arr[i], i, arr);
50
+ }
51
+ };
52
+
53
+ var _map = function (arr, iterator) {
54
+ if (arr.map) {
55
+ return arr.map(iterator);
56
+ }
57
+ var results = [];
58
+ _each(arr, function (x, i, a) {
59
+ results.push(iterator(x, i, a));
60
+ });
61
+ return results;
62
+ };
63
+
64
+ var _reduce = function (arr, iterator, memo) {
65
+ if (arr.reduce) {
66
+ return arr.reduce(iterator, memo);
67
+ }
68
+ _each(arr, function (x, i, a) {
69
+ memo = iterator(memo, x, i, a);
70
+ });
71
+ return memo;
72
+ };
73
+
74
+ var _keys = function (obj) {
75
+ if (Object.keys) {
76
+ return Object.keys(obj);
77
+ }
78
+ var keys = [];
79
+ for (var k in obj) {
80
+ if (obj.hasOwnProperty(k)) {
81
+ keys.push(k);
82
+ }
83
+ }
84
+ return keys;
85
+ };
86
+
87
+ //// exported async module functions ////
88
+
89
+ //// nextTick implementation with browser-compatible fallback ////
90
+ if (typeof process === 'undefined' || !(process.nextTick)) {
91
+ if (typeof setImmediate === 'function') {
92
+ async.nextTick = function (fn) {
93
+ // not a direct alias for IE10 compatibility
94
+ setImmediate(fn);
95
+ };
96
+ async.setImmediate = async.nextTick;
97
+ }
98
+ else {
99
+ async.nextTick = function (fn) {
100
+ setTimeout(fn, 0);
101
+ };
102
+ async.setImmediate = async.nextTick;
103
+ }
104
+ }
105
+ else {
106
+ async.nextTick = process.nextTick;
107
+ if (typeof setImmediate !== 'undefined') {
108
+ async.setImmediate = function (fn) {
109
+ // not a direct alias for IE10 compatibility
110
+ setImmediate(fn);
111
+ };
112
+ }
113
+ else {
114
+ async.setImmediate = async.nextTick;
115
+ }
116
+ }
117
+
118
+ async.each = function (arr, iterator, callback) {
119
+ callback = callback || function () {};
120
+ if (!arr.length) {
121
+ return callback();
122
+ }
123
+ var completed = 0;
124
+ _each(arr, function (x) {
125
+ iterator(x, only_once(done) );
126
+ });
127
+ function done(err) {
128
+ if (err) {
129
+ callback(err);
130
+ callback = function () {};
131
+ }
132
+ else {
133
+ completed += 1;
134
+ if (completed >= arr.length) {
135
+ callback();
136
+ }
137
+ }
138
+ }
139
+ };
140
+ async.forEach = async.each;
141
+
142
+ async.eachSeries = function (arr, iterator, callback) {
143
+ callback = callback || function () {};
144
+ if (!arr.length) {
145
+ return callback();
146
+ }
147
+ var completed = 0;
148
+ var iterate = function () {
149
+ iterator(arr[completed], function (err) {
150
+ if (err) {
151
+ callback(err);
152
+ callback = function () {};
153
+ }
154
+ else {
155
+ completed += 1;
156
+ if (completed >= arr.length) {
157
+ callback();
158
+ }
159
+ else {
160
+ iterate();
161
+ }
162
+ }
163
+ });
164
+ };
165
+ iterate();
166
+ };
167
+ async.forEachSeries = async.eachSeries;
168
+
169
+ async.eachLimit = function (arr, limit, iterator, callback) {
170
+ var fn = _eachLimit(limit);
171
+ fn.apply(null, [arr, iterator, callback]);
172
+ };
173
+ async.forEachLimit = async.eachLimit;
174
+
175
+ var _eachLimit = function (limit) {
176
+
177
+ return function (arr, iterator, callback) {
178
+ callback = callback || function () {};
179
+ if (!arr.length || limit <= 0) {
180
+ return callback();
181
+ }
182
+ var completed = 0;
183
+ var started = 0;
184
+ var running = 0;
185
+
186
+ (function replenish () {
187
+ if (completed >= arr.length) {
188
+ return callback();
189
+ }
190
+
191
+ while (running < limit && started < arr.length) {
192
+ started += 1;
193
+ running += 1;
194
+ iterator(arr[started - 1], function (err) {
195
+ if (err) {
196
+ callback(err);
197
+ callback = function () {};
198
+ }
199
+ else {
200
+ completed += 1;
201
+ running -= 1;
202
+ if (completed >= arr.length) {
203
+ callback();
204
+ }
205
+ else {
206
+ replenish();
207
+ }
208
+ }
209
+ });
210
+ }
211
+ })();
212
+ };
213
+ };
214
+
215
+
216
+ var doParallel = function (fn) {
217
+ return function () {
218
+ var args = Array.prototype.slice.call(arguments);
219
+ return fn.apply(null, [async.each].concat(args));
220
+ };
221
+ };
222
+ var doParallelLimit = function(limit, fn) {
223
+ return function () {
224
+ var args = Array.prototype.slice.call(arguments);
225
+ return fn.apply(null, [_eachLimit(limit)].concat(args));
226
+ };
227
+ };
228
+ var doSeries = function (fn) {
229
+ return function () {
230
+ var args = Array.prototype.slice.call(arguments);
231
+ return fn.apply(null, [async.eachSeries].concat(args));
232
+ };
233
+ };
234
+
235
+
236
+ var _asyncMap = function (eachfn, arr, iterator, callback) {
237
+ arr = _map(arr, function (x, i) {
238
+ return {index: i, value: x};
239
+ });
240
+ if (!callback) {
241
+ eachfn(arr, function (x, callback) {
242
+ iterator(x.value, function (err) {
243
+ callback(err);
244
+ });
245
+ });
246
+ } else {
247
+ var results = [];
248
+ eachfn(arr, function (x, callback) {
249
+ iterator(x.value, function (err, v) {
250
+ results[x.index] = v;
251
+ callback(err);
252
+ });
253
+ }, function (err) {
254
+ callback(err, results);
255
+ });
256
+ }
257
+ };
258
+ async.map = doParallel(_asyncMap);
259
+ async.mapSeries = doSeries(_asyncMap);
260
+ async.mapLimit = function (arr, limit, iterator, callback) {
261
+ return _mapLimit(limit)(arr, iterator, callback);
262
+ };
263
+
264
+ var _mapLimit = function(limit) {
265
+ return doParallelLimit(limit, _asyncMap);
266
+ };
267
+
268
+ // reduce only has a series version, as doing reduce in parallel won't
269
+ // work in many situations.
270
+ async.reduce = function (arr, memo, iterator, callback) {
271
+ async.eachSeries(arr, function (x, callback) {
272
+ iterator(memo, x, function (err, v) {
273
+ memo = v;
274
+ callback(err);
275
+ });
276
+ }, function (err) {
277
+ callback(err, memo);
278
+ });
279
+ };
280
+ // inject alias
281
+ async.inject = async.reduce;
282
+ // foldl alias
283
+ async.foldl = async.reduce;
284
+
285
+ async.reduceRight = function (arr, memo, iterator, callback) {
286
+ var reversed = _map(arr, function (x) {
287
+ return x;
288
+ }).reverse();
289
+ async.reduce(reversed, memo, iterator, callback);
290
+ };
291
+ // foldr alias
292
+ async.foldr = async.reduceRight;
293
+
294
+ var _filter = function (eachfn, arr, iterator, callback) {
295
+ var results = [];
296
+ arr = _map(arr, function (x, i) {
297
+ return {index: i, value: x};
298
+ });
299
+ eachfn(arr, function (x, callback) {
300
+ iterator(x.value, function (v) {
301
+ if (v) {
302
+ results.push(x);
303
+ }
304
+ callback();
305
+ });
306
+ }, function (err) {
307
+ callback(_map(results.sort(function (a, b) {
308
+ return a.index - b.index;
309
+ }), function (x) {
310
+ return x.value;
311
+ }));
312
+ });
313
+ };
314
+ async.filter = doParallel(_filter);
315
+ async.filterSeries = doSeries(_filter);
316
+ // select alias
317
+ async.select = async.filter;
318
+ async.selectSeries = async.filterSeries;
319
+
320
+ var _reject = function (eachfn, arr, iterator, callback) {
321
+ var results = [];
322
+ arr = _map(arr, function (x, i) {
323
+ return {index: i, value: x};
324
+ });
325
+ eachfn(arr, function (x, callback) {
326
+ iterator(x.value, function (v) {
327
+ if (!v) {
328
+ results.push(x);
329
+ }
330
+ callback();
331
+ });
332
+ }, function (err) {
333
+ callback(_map(results.sort(function (a, b) {
334
+ return a.index - b.index;
335
+ }), function (x) {
336
+ return x.value;
337
+ }));
338
+ });
339
+ };
340
+ async.reject = doParallel(_reject);
341
+ async.rejectSeries = doSeries(_reject);
342
+
343
+ var _detect = function (eachfn, arr, iterator, main_callback) {
344
+ eachfn(arr, function (x, callback) {
345
+ iterator(x, function (result) {
346
+ if (result) {
347
+ main_callback(x);
348
+ main_callback = function () {};
349
+ }
350
+ else {
351
+ callback();
352
+ }
353
+ });
354
+ }, function (err) {
355
+ main_callback();
356
+ });
357
+ };
358
+ async.detect = doParallel(_detect);
359
+ async.detectSeries = doSeries(_detect);
360
+
361
+ async.some = function (arr, iterator, main_callback) {
362
+ async.each(arr, function (x, callback) {
363
+ iterator(x, function (v) {
364
+ if (v) {
365
+ main_callback(true);
366
+ main_callback = function () {};
367
+ }
368
+ callback();
369
+ });
370
+ }, function (err) {
371
+ main_callback(false);
372
+ });
373
+ };
374
+ // any alias
375
+ async.any = async.some;
376
+
377
+ async.every = function (arr, iterator, main_callback) {
378
+ async.each(arr, function (x, callback) {
379
+ iterator(x, function (v) {
380
+ if (!v) {
381
+ main_callback(false);
382
+ main_callback = function () {};
383
+ }
384
+ callback();
385
+ });
386
+ }, function (err) {
387
+ main_callback(true);
388
+ });
389
+ };
390
+ // all alias
391
+ async.all = async.every;
392
+
393
+ async.sortBy = function (arr, iterator, callback) {
394
+ async.map(arr, function (x, callback) {
395
+ iterator(x, function (err, criteria) {
396
+ if (err) {
397
+ callback(err);
398
+ }
399
+ else {
400
+ callback(null, {value: x, criteria: criteria});
401
+ }
402
+ });
403
+ }, function (err, results) {
404
+ if (err) {
405
+ return callback(err);
406
+ }
407
+ else {
408
+ var fn = function (left, right) {
409
+ var a = left.criteria, b = right.criteria;
410
+ return a < b ? -1 : a > b ? 1 : 0;
411
+ };
412
+ callback(null, _map(results.sort(fn), function (x) {
413
+ return x.value;
414
+ }));
415
+ }
416
+ });
417
+ };
418
+
419
+ async.auto = function (tasks, callback) {
420
+ callback = callback || function () {};
421
+ var keys = _keys(tasks);
422
+ var remainingTasks = keys.length
423
+ if (!remainingTasks) {
424
+ return callback();
425
+ }
426
+
427
+ var results = {};
428
+
429
+ var listeners = [];
430
+ var addListener = function (fn) {
431
+ listeners.unshift(fn);
432
+ };
433
+ var removeListener = function (fn) {
434
+ for (var i = 0; i < listeners.length; i += 1) {
435
+ if (listeners[i] === fn) {
436
+ listeners.splice(i, 1);
437
+ return;
438
+ }
439
+ }
440
+ };
441
+ var taskComplete = function () {
442
+ remainingTasks--
443
+ _each(listeners.slice(0), function (fn) {
444
+ fn();
445
+ });
446
+ };
447
+
448
+ addListener(function () {
449
+ if (!remainingTasks) {
450
+ var theCallback = callback;
451
+ // prevent final callback from calling itself if it errors
452
+ callback = function () {};
453
+
454
+ theCallback(null, results);
455
+ }
456
+ });
457
+
458
+ _each(keys, function (k) {
459
+ var task = _isArray(tasks[k]) ? tasks[k]: [tasks[k]];
460
+ var taskCallback = function (err) {
461
+ var args = Array.prototype.slice.call(arguments, 1);
462
+ if (args.length <= 1) {
463
+ args = args[0];
464
+ }
465
+ if (err) {
466
+ var safeResults = {};
467
+ _each(_keys(results), function(rkey) {
468
+ safeResults[rkey] = results[rkey];
469
+ });
470
+ safeResults[k] = args;
471
+ callback(err, safeResults);
472
+ // stop subsequent errors hitting callback multiple times
473
+ callback = function () {};
474
+ }
475
+ else {
476
+ results[k] = args;
477
+ async.setImmediate(taskComplete);
478
+ }
479
+ };
480
+ var requires = task.slice(0, Math.abs(task.length - 1)) || [];
481
+ var ready = function () {
482
+ return _reduce(requires, function (a, x) {
483
+ return (a && results.hasOwnProperty(x));
484
+ }, true) && !results.hasOwnProperty(k);
485
+ };
486
+ if (ready()) {
487
+ task[task.length - 1](taskCallback, results);
488
+ }
489
+ else {
490
+ var listener = function () {
491
+ if (ready()) {
492
+ removeListener(listener);
493
+ task[task.length - 1](taskCallback, results);
494
+ }
495
+ };
496
+ addListener(listener);
497
+ }
498
+ });
499
+ };
500
+
501
+ async.retry = function(times, task, callback) {
502
+ var DEFAULT_TIMES = 5;
503
+ var attempts = [];
504
+ // Use defaults if times not passed
505
+ if (typeof times === 'function') {
506
+ callback = task;
507
+ task = times;
508
+ times = DEFAULT_TIMES;
509
+ }
510
+ // Make sure times is a number
511
+ times = parseInt(times, 10) || DEFAULT_TIMES;
512
+ var wrappedTask = function(wrappedCallback, wrappedResults) {
513
+ var retryAttempt = function(task, finalAttempt) {
514
+ return function(seriesCallback) {
515
+ task(function(err, result){
516
+ seriesCallback(!err || finalAttempt, {err: err, result: result});
517
+ }, wrappedResults);
518
+ };
519
+ };
520
+ while (times) {
521
+ attempts.push(retryAttempt(task, !(times-=1)));
522
+ }
523
+ async.series(attempts, function(done, data){
524
+ data = data[data.length - 1];
525
+ (wrappedCallback || callback)(data.err, data.result);
526
+ });
527
+ }
528
+ // If a callback is passed, run this as a controll flow
529
+ return callback ? wrappedTask() : wrappedTask
530
+ };
531
+
532
+ async.waterfall = function (tasks, callback) {
533
+ callback = callback || function () {};
534
+ if (!_isArray(tasks)) {
535
+ var err = new Error('First argument to waterfall must be an array of functions');
536
+ return callback(err);
537
+ }
538
+ if (!tasks.length) {
539
+ return callback();
540
+ }
541
+ var wrapIterator = function (iterator) {
542
+ return function (err) {
543
+ if (err) {
544
+ callback.apply(null, arguments);
545
+ callback = function () {};
546
+ }
547
+ else {
548
+ var args = Array.prototype.slice.call(arguments, 1);
549
+ var next = iterator.next();
550
+ if (next) {
551
+ args.push(wrapIterator(next));
552
+ }
553
+ else {
554
+ args.push(callback);
555
+ }
556
+ async.setImmediate(function () {
557
+ iterator.apply(null, args);
558
+ });
559
+ }
560
+ };
561
+ };
562
+ wrapIterator(async.iterator(tasks))();
563
+ };
564
+
565
+ var _parallel = function(eachfn, tasks, callback) {
566
+ callback = callback || function () {};
567
+ if (_isArray(tasks)) {
568
+ eachfn.map(tasks, function (fn, callback) {
569
+ if (fn) {
570
+ fn(function (err) {
571
+ var args = Array.prototype.slice.call(arguments, 1);
572
+ if (args.length <= 1) {
573
+ args = args[0];
574
+ }
575
+ callback.call(null, err, args);
576
+ });
577
+ }
578
+ }, callback);
579
+ }
580
+ else {
581
+ var results = {};
582
+ eachfn.each(_keys(tasks), function (k, callback) {
583
+ tasks[k](function (err) {
584
+ var args = Array.prototype.slice.call(arguments, 1);
585
+ if (args.length <= 1) {
586
+ args = args[0];
587
+ }
588
+ results[k] = args;
589
+ callback(err);
590
+ });
591
+ }, function (err) {
592
+ callback(err, results);
593
+ });
594
+ }
595
+ };
596
+
597
+ async.parallel = function (tasks, callback) {
598
+ _parallel({ map: async.map, each: async.each }, tasks, callback);
599
+ };
600
+
601
+ async.parallelLimit = function(tasks, limit, callback) {
602
+ _parallel({ map: _mapLimit(limit), each: _eachLimit(limit) }, tasks, callback);
603
+ };
604
+
605
+ async.series = function (tasks, callback) {
606
+ callback = callback || function () {};
607
+ if (_isArray(tasks)) {
608
+ async.mapSeries(tasks, function (fn, callback) {
609
+ if (fn) {
610
+ fn(function (err) {
611
+ var args = Array.prototype.slice.call(arguments, 1);
612
+ if (args.length <= 1) {
613
+ args = args[0];
614
+ }
615
+ callback.call(null, err, args);
616
+ });
617
+ }
618
+ }, callback);
619
+ }
620
+ else {
621
+ var results = {};
622
+ async.eachSeries(_keys(tasks), function (k, callback) {
623
+ tasks[k](function (err) {
624
+ var args = Array.prototype.slice.call(arguments, 1);
625
+ if (args.length <= 1) {
626
+ args = args[0];
627
+ }
628
+ results[k] = args;
629
+ callback(err);
630
+ });
631
+ }, function (err) {
632
+ callback(err, results);
633
+ });
634
+ }
635
+ };
636
+
637
+ async.iterator = function (tasks) {
638
+ var makeCallback = function (index) {
639
+ var fn = function () {
640
+ if (tasks.length) {
641
+ tasks[index].apply(null, arguments);
642
+ }
643
+ return fn.next();
644
+ };
645
+ fn.next = function () {
646
+ return (index < tasks.length - 1) ? makeCallback(index + 1): null;
647
+ };
648
+ return fn;
649
+ };
650
+ return makeCallback(0);
651
+ };
652
+
653
+ async.apply = function (fn) {
654
+ var args = Array.prototype.slice.call(arguments, 1);
655
+ return function () {
656
+ return fn.apply(
657
+ null, args.concat(Array.prototype.slice.call(arguments))
658
+ );
659
+ };
660
+ };
661
+
662
+ var _concat = function (eachfn, arr, fn, callback) {
663
+ var r = [];
664
+ eachfn(arr, function (x, cb) {
665
+ fn(x, function (err, y) {
666
+ r = r.concat(y || []);
667
+ cb(err);
668
+ });
669
+ }, function (err) {
670
+ callback(err, r);
671
+ });
672
+ };
673
+ async.concat = doParallel(_concat);
674
+ async.concatSeries = doSeries(_concat);
675
+
676
+ async.whilst = function (test, iterator, callback) {
677
+ if (test()) {
678
+ iterator(function (err) {
679
+ if (err) {
680
+ return callback(err);
681
+ }
682
+ async.whilst(test, iterator, callback);
683
+ });
684
+ }
685
+ else {
686
+ callback();
687
+ }
688
+ };
689
+
690
+ async.doWhilst = function (iterator, test, callback) {
691
+ iterator(function (err) {
692
+ if (err) {
693
+ return callback(err);
694
+ }
695
+ var args = Array.prototype.slice.call(arguments, 1);
696
+ if (test.apply(null, args)) {
697
+ async.doWhilst(iterator, test, callback);
698
+ }
699
+ else {
700
+ callback();
701
+ }
702
+ });
703
+ };
704
+
705
+ async.until = function (test, iterator, callback) {
706
+ if (!test()) {
707
+ iterator(function (err) {
708
+ if (err) {
709
+ return callback(err);
710
+ }
711
+ async.until(test, iterator, callback);
712
+ });
713
+ }
714
+ else {
715
+ callback();
716
+ }
717
+ };
718
+
719
+ async.doUntil = function (iterator, test, callback) {
720
+ iterator(function (err) {
721
+ if (err) {
722
+ return callback(err);
723
+ }
724
+ var args = Array.prototype.slice.call(arguments, 1);
725
+ if (!test.apply(null, args)) {
726
+ async.doUntil(iterator, test, callback);
727
+ }
728
+ else {
729
+ callback();
730
+ }
731
+ });
732
+ };
733
+
734
+ async.queue = function (worker, concurrency) {
735
+ if (concurrency === undefined) {
736
+ concurrency = 1;
737
+ }
738
+ function _insert(q, data, pos, callback) {
739
+ if (!q.started){
740
+ q.started = true;
741
+ }
742
+ if (!_isArray(data)) {
743
+ data = [data];
744
+ }
745
+ if(data.length == 0) {
746
+ // call drain immediately if there are no tasks
747
+ return async.setImmediate(function() {
748
+ if (q.drain) {
749
+ q.drain();
750
+ }
751
+ });
752
+ }
753
+ _each(data, function(task) {
754
+ var item = {
755
+ data: task,
756
+ callback: typeof callback === 'function' ? callback : null
757
+ };
758
+
759
+ if (pos) {
760
+ q.tasks.unshift(item);
761
+ } else {
762
+ q.tasks.push(item);
763
+ }
764
+
765
+ if (q.saturated && q.tasks.length === q.concurrency) {
766
+ q.saturated();
767
+ }
768
+ async.setImmediate(q.process);
769
+ });
770
+ }
771
+
772
+ var workers = 0;
773
+ var q = {
774
+ tasks: [],
775
+ concurrency: concurrency,
776
+ saturated: null,
777
+ empty: null,
778
+ drain: null,
779
+ started: false,
780
+ paused: false,
781
+ push: function (data, callback) {
782
+ _insert(q, data, false, callback);
783
+ },
784
+ kill: function () {
785
+ q.drain = null;
786
+ q.tasks = [];
787
+ },
788
+ unshift: function (data, callback) {
789
+ _insert(q, data, true, callback);
790
+ },
791
+ process: function () {
792
+ if (!q.paused && workers < q.concurrency && q.tasks.length) {
793
+ var task = q.tasks.shift();
794
+ if (q.empty && q.tasks.length === 0) {
795
+ q.empty();
796
+ }
797
+ workers += 1;
798
+ var next = function () {
799
+ workers -= 1;
800
+ if (task.callback) {
801
+ task.callback.apply(task, arguments);
802
+ }
803
+ if (q.drain && q.tasks.length + workers === 0) {
804
+ q.drain();
805
+ }
806
+ q.process();
807
+ };
808
+ var cb = only_once(next);
809
+ worker(task.data, cb);
810
+ }
811
+ },
812
+ length: function () {
813
+ return q.tasks.length;
814
+ },
815
+ running: function () {
816
+ return workers;
817
+ },
818
+ idle: function() {
819
+ return q.tasks.length + workers === 0;
820
+ },
821
+ pause: function () {
822
+ if (q.paused === true) { return; }
823
+ q.paused = true;
824
+ q.process();
825
+ },
826
+ resume: function () {
827
+ if (q.paused === false) { return; }
828
+ q.paused = false;
829
+ q.process();
830
+ }
831
+ };
832
+ return q;
833
+ };
834
+
835
+ async.priorityQueue = function (worker, concurrency) {
836
+
837
+ function _compareTasks(a, b){
838
+ return a.priority - b.priority;
839
+ };
840
+
841
+ function _binarySearch(sequence, item, compare) {
842
+ var beg = -1,
843
+ end = sequence.length - 1;
844
+ while (beg < end) {
845
+ var mid = beg + ((end - beg + 1) >>> 1);
846
+ if (compare(item, sequence[mid]) >= 0) {
847
+ beg = mid;
848
+ } else {
849
+ end = mid - 1;
850
+ }
851
+ }
852
+ return beg;
853
+ }
854
+
855
+ function _insert(q, data, priority, callback) {
856
+ if (!q.started){
857
+ q.started = true;
858
+ }
859
+ if (!_isArray(data)) {
860
+ data = [data];
861
+ }
862
+ if(data.length == 0) {
863
+ // call drain immediately if there are no tasks
864
+ return async.setImmediate(function() {
865
+ if (q.drain) {
866
+ q.drain();
867
+ }
868
+ });
869
+ }
870
+ _each(data, function(task) {
871
+ var item = {
872
+ data: task,
873
+ priority: priority,
874
+ callback: typeof callback === 'function' ? callback : null
875
+ };
876
+
877
+ q.tasks.splice(_binarySearch(q.tasks, item, _compareTasks) + 1, 0, item);
878
+
879
+ if (q.saturated && q.tasks.length === q.concurrency) {
880
+ q.saturated();
881
+ }
882
+ async.setImmediate(q.process);
883
+ });
884
+ }
885
+
886
+ // Start with a normal queue
887
+ var q = async.queue(worker, concurrency);
888
+
889
+ // Override push to accept second parameter representing priority
890
+ q.push = function (data, priority, callback) {
891
+ _insert(q, data, priority, callback);
892
+ };
893
+
894
+ // Remove unshift function
895
+ delete q.unshift;
896
+
897
+ return q;
898
+ };
899
+
900
+ async.cargo = function (worker, payload) {
901
+ var working = false,
902
+ tasks = [];
903
+
904
+ var cargo = {
905
+ tasks: tasks,
906
+ payload: payload,
907
+ saturated: null,
908
+ empty: null,
909
+ drain: null,
910
+ drained: true,
911
+ push: function (data, callback) {
912
+ if (!_isArray(data)) {
913
+ data = [data];
914
+ }
915
+ _each(data, function(task) {
916
+ tasks.push({
917
+ data: task,
918
+ callback: typeof callback === 'function' ? callback : null
919
+ });
920
+ cargo.drained = false;
921
+ if (cargo.saturated && tasks.length === payload) {
922
+ cargo.saturated();
923
+ }
924
+ });
925
+ async.setImmediate(cargo.process);
926
+ },
927
+ process: function process() {
928
+ if (working) return;
929
+ if (tasks.length === 0) {
930
+ if(cargo.drain && !cargo.drained) cargo.drain();
931
+ cargo.drained = true;
932
+ return;
933
+ }
934
+
935
+ var ts = typeof payload === 'number'
936
+ ? tasks.splice(0, payload)
937
+ : tasks.splice(0, tasks.length);
938
+
939
+ var ds = _map(ts, function (task) {
940
+ return task.data;
941
+ });
942
+
943
+ if(cargo.empty) cargo.empty();
944
+ working = true;
945
+ worker(ds, function () {
946
+ working = false;
947
+
948
+ var args = arguments;
949
+ _each(ts, function (data) {
950
+ if (data.callback) {
951
+ data.callback.apply(null, args);
952
+ }
953
+ });
954
+
955
+ process();
956
+ });
957
+ },
958
+ length: function () {
959
+ return tasks.length;
960
+ },
961
+ running: function () {
962
+ return working;
963
+ }
964
+ };
965
+ return cargo;
966
+ };
967
+
968
+ var _console_fn = function (name) {
969
+ return function (fn) {
970
+ var args = Array.prototype.slice.call(arguments, 1);
971
+ fn.apply(null, args.concat([function (err) {
972
+ var args = Array.prototype.slice.call(arguments, 1);
973
+ if (typeof console !== 'undefined') {
974
+ if (err) {
975
+ if (console.error) {
976
+ console.error(err);
977
+ }
978
+ }
979
+ else if (console[name]) {
980
+ _each(args, function (x) {
981
+ console[name](x);
982
+ });
983
+ }
984
+ }
985
+ }]));
986
+ };
987
+ };
988
+ async.log = _console_fn('log');
989
+ async.dir = _console_fn('dir');
990
+ /*async.info = _console_fn('info');
991
+ async.warn = _console_fn('warn');
992
+ async.error = _console_fn('error');*/
993
+
994
+ async.memoize = function (fn, hasher) {
995
+ var memo = {};
996
+ var queues = {};
997
+ hasher = hasher || function (x) {
998
+ return x;
999
+ };
1000
+ var memoized = function () {
1001
+ var args = Array.prototype.slice.call(arguments);
1002
+ var callback = args.pop();
1003
+ var key = hasher.apply(null, args);
1004
+ if (key in memo) {
1005
+ async.nextTick(function () {
1006
+ callback.apply(null, memo[key]);
1007
+ });
1008
+ }
1009
+ else if (key in queues) {
1010
+ queues[key].push(callback);
1011
+ }
1012
+ else {
1013
+ queues[key] = [callback];
1014
+ fn.apply(null, args.concat([function () {
1015
+ memo[key] = arguments;
1016
+ var q = queues[key];
1017
+ delete queues[key];
1018
+ for (var i = 0, l = q.length; i < l; i++) {
1019
+ q[i].apply(null, arguments);
1020
+ }
1021
+ }]));
1022
+ }
1023
+ };
1024
+ memoized.memo = memo;
1025
+ memoized.unmemoized = fn;
1026
+ return memoized;
1027
+ };
1028
+
1029
+ async.unmemoize = function (fn) {
1030
+ return function () {
1031
+ return (fn.unmemoized || fn).apply(null, arguments);
1032
+ };
1033
+ };
1034
+
1035
+ async.times = function (count, iterator, callback) {
1036
+ var counter = [];
1037
+ for (var i = 0; i < count; i++) {
1038
+ counter.push(i);
1039
+ }
1040
+ return async.map(counter, iterator, callback);
1041
+ };
1042
+
1043
+ async.timesSeries = function (count, iterator, callback) {
1044
+ var counter = [];
1045
+ for (var i = 0; i < count; i++) {
1046
+ counter.push(i);
1047
+ }
1048
+ return async.mapSeries(counter, iterator, callback);
1049
+ };
1050
+
1051
+ async.seq = function (/* functions... */) {
1052
+ var fns = arguments;
1053
+ return function () {
1054
+ var that = this;
1055
+ var args = Array.prototype.slice.call(arguments);
1056
+ var callback = args.pop();
1057
+ async.reduce(fns, args, function (newargs, fn, cb) {
1058
+ fn.apply(that, newargs.concat([function () {
1059
+ var err = arguments[0];
1060
+ var nextargs = Array.prototype.slice.call(arguments, 1);
1061
+ cb(err, nextargs);
1062
+ }]))
1063
+ },
1064
+ function (err, results) {
1065
+ callback.apply(that, [err].concat(results));
1066
+ });
1067
+ };
1068
+ };
1069
+
1070
+ async.compose = function (/* functions... */) {
1071
+ return async.seq.apply(null, Array.prototype.reverse.call(arguments));
1072
+ };
1073
+
1074
+ var _applyEach = function (eachfn, fns /*args...*/) {
1075
+ var go = function () {
1076
+ var that = this;
1077
+ var args = Array.prototype.slice.call(arguments);
1078
+ var callback = args.pop();
1079
+ return eachfn(fns, function (fn, cb) {
1080
+ fn.apply(that, args.concat([cb]));
1081
+ },
1082
+ callback);
1083
+ };
1084
+ if (arguments.length > 2) {
1085
+ var args = Array.prototype.slice.call(arguments, 2);
1086
+ return go.apply(this, args);
1087
+ }
1088
+ else {
1089
+ return go;
1090
+ }
1091
+ };
1092
+ async.applyEach = doParallel(_applyEach);
1093
+ async.applyEachSeries = doSeries(_applyEach);
1094
+
1095
+ async.forever = function (fn, callback) {
1096
+ function next(err) {
1097
+ if (err) {
1098
+ if (callback) {
1099
+ return callback(err);
1100
+ }
1101
+ throw err;
1102
+ }
1103
+ fn(next);
1104
+ }
1105
+ next();
1106
+ };
1107
+
1108
+ // Node.js
1109
+ if (typeof module !== 'undefined' && module.exports) {
1110
+ module.exports = async;
1111
+ }
1112
+ // AMD / RequireJS
1113
+ else if (typeof define !== 'undefined' && define.amd) {
1114
+ define([], function () {
1115
+ return async;
1116
+ });
1117
+ }
1118
+ // included directly via <script> tag
1119
+ else {
1120
+ root.async = async;
1121
+ }
1122
+
1123
+ }());