@basemaps/lambda-tiler 6.28.1 → 6.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (448) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/build/__tests__/xyz.util.d.ts.map +1 -1
  3. package/build/__tests__/xyz.util.js +0 -1
  4. package/build/index.d.ts.map +1 -1
  5. package/build/index.js +5 -0
  6. package/build/routes/__tests__/attribution.test.js +0 -1
  7. package/build/routes/__tests__/fonts.test.d.ts +2 -0
  8. package/build/routes/__tests__/fonts.test.d.ts.map +1 -0
  9. package/build/routes/__tests__/fonts.test.js +60 -0
  10. package/build/routes/__tests__/memory.fs.d.ts +18 -0
  11. package/build/routes/__tests__/memory.fs.d.ts.map +1 -0
  12. package/build/routes/__tests__/memory.fs.js +73 -0
  13. package/build/routes/__tests__/sprites.test.d.ts +2 -0
  14. package/build/routes/__tests__/sprites.test.d.ts.map +1 -0
  15. package/build/routes/__tests__/sprites.test.js +55 -0
  16. package/build/routes/fonts.d.ts +13 -0
  17. package/build/routes/fonts.d.ts.map +1 -0
  18. package/build/routes/fonts.js +50 -0
  19. package/build/routes/sprites.d.ts +9 -0
  20. package/build/routes/sprites.d.ts.map +1 -0
  21. package/build/routes/sprites.js +42 -0
  22. package/dist/index.js +183 -0
  23. package/dist/node_modules/.package-lock.json +488 -0
  24. package/dist/node_modules/base64-js/LICENSE +21 -0
  25. package/dist/node_modules/base64-js/README.md +34 -0
  26. package/dist/node_modules/base64-js/base64js.min.js +1 -0
  27. package/dist/node_modules/base64-js/index.d.ts +3 -0
  28. package/dist/node_modules/base64-js/index.js +150 -0
  29. package/dist/node_modules/base64-js/package.json +47 -0
  30. package/dist/node_modules/bl/.travis.yml +17 -0
  31. package/dist/node_modules/bl/BufferList.js +396 -0
  32. package/dist/node_modules/bl/LICENSE.md +13 -0
  33. package/dist/node_modules/bl/README.md +247 -0
  34. package/dist/node_modules/bl/bl.js +84 -0
  35. package/dist/node_modules/bl/package.json +37 -0
  36. package/dist/node_modules/bl/test/convert.js +21 -0
  37. package/dist/node_modules/bl/test/indexOf.js +492 -0
  38. package/dist/node_modules/bl/test/isBufferList.js +32 -0
  39. package/dist/node_modules/bl/test/test.js +869 -0
  40. package/dist/node_modules/buffer/AUTHORS.md +70 -0
  41. package/dist/node_modules/buffer/LICENSE +21 -0
  42. package/dist/node_modules/buffer/README.md +410 -0
  43. package/dist/node_modules/buffer/index.d.ts +186 -0
  44. package/dist/node_modules/buffer/index.js +1817 -0
  45. package/dist/node_modules/buffer/package.json +96 -0
  46. package/dist/node_modules/chownr/LICENSE +15 -0
  47. package/dist/node_modules/chownr/README.md +3 -0
  48. package/dist/node_modules/chownr/chownr.js +167 -0
  49. package/dist/node_modules/chownr/package.json +29 -0
  50. package/dist/node_modules/color/LICENSE +21 -0
  51. package/dist/node_modules/color/README.md +123 -0
  52. package/dist/node_modules/color/index.js +496 -0
  53. package/dist/node_modules/color/package.json +47 -0
  54. package/dist/node_modules/color-convert/CHANGELOG.md +54 -0
  55. package/dist/node_modules/color-convert/LICENSE +21 -0
  56. package/dist/node_modules/color-convert/README.md +68 -0
  57. package/dist/node_modules/color-convert/conversions.js +839 -0
  58. package/dist/node_modules/color-convert/index.js +81 -0
  59. package/dist/node_modules/color-convert/package.json +48 -0
  60. package/dist/node_modules/color-convert/route.js +97 -0
  61. package/dist/node_modules/color-name/LICENSE +8 -0
  62. package/dist/node_modules/color-name/README.md +11 -0
  63. package/dist/node_modules/color-name/index.js +152 -0
  64. package/dist/node_modules/color-name/package.json +28 -0
  65. package/dist/node_modules/color-string/LICENSE +21 -0
  66. package/dist/node_modules/color-string/README.md +62 -0
  67. package/dist/node_modules/color-string/index.js +242 -0
  68. package/dist/node_modules/color-string/package.json +39 -0
  69. package/dist/node_modules/decompress-response/index.d.ts +22 -0
  70. package/dist/node_modules/decompress-response/index.js +58 -0
  71. package/dist/node_modules/decompress-response/license +9 -0
  72. package/dist/node_modules/decompress-response/package.json +56 -0
  73. package/dist/node_modules/decompress-response/readme.md +48 -0
  74. package/dist/node_modules/deep-extend/CHANGELOG.md +46 -0
  75. package/dist/node_modules/deep-extend/LICENSE +20 -0
  76. package/dist/node_modules/deep-extend/README.md +91 -0
  77. package/dist/node_modules/deep-extend/index.js +1 -0
  78. package/dist/node_modules/deep-extend/lib/deep-extend.js +150 -0
  79. package/dist/node_modules/deep-extend/package.json +62 -0
  80. package/dist/node_modules/detect-libc/LICENSE +201 -0
  81. package/dist/node_modules/detect-libc/README.md +160 -0
  82. package/dist/node_modules/detect-libc/index.d.ts +11 -0
  83. package/dist/node_modules/detect-libc/lib/detect-libc.js +178 -0
  84. package/dist/node_modules/detect-libc/lib/process.js +16 -0
  85. package/dist/node_modules/detect-libc/package.json +36 -0
  86. package/dist/node_modules/end-of-stream/LICENSE +21 -0
  87. package/dist/node_modules/end-of-stream/README.md +54 -0
  88. package/dist/node_modules/end-of-stream/index.js +94 -0
  89. package/dist/node_modules/end-of-stream/package.json +37 -0
  90. package/dist/node_modules/expand-template/.travis.yml +6 -0
  91. package/dist/node_modules/expand-template/LICENSE +21 -0
  92. package/dist/node_modules/expand-template/README.md +43 -0
  93. package/dist/node_modules/expand-template/index.js +26 -0
  94. package/dist/node_modules/expand-template/package.json +29 -0
  95. package/dist/node_modules/expand-template/test.js +67 -0
  96. package/dist/node_modules/fs-constants/LICENSE +21 -0
  97. package/dist/node_modules/fs-constants/README.md +26 -0
  98. package/dist/node_modules/fs-constants/browser.js +1 -0
  99. package/dist/node_modules/fs-constants/index.js +1 -0
  100. package/dist/node_modules/fs-constants/package.json +19 -0
  101. package/dist/node_modules/github-from-package/.travis.yml +4 -0
  102. package/dist/node_modules/github-from-package/LICENSE +18 -0
  103. package/dist/node_modules/github-from-package/example/package.json +8 -0
  104. package/dist/node_modules/github-from-package/example/url.js +3 -0
  105. package/dist/node_modules/github-from-package/index.js +17 -0
  106. package/dist/node_modules/github-from-package/package.json +30 -0
  107. package/dist/node_modules/github-from-package/readme.markdown +53 -0
  108. package/dist/node_modules/github-from-package/test/a.json +8 -0
  109. package/dist/node_modules/github-from-package/test/b.json +5 -0
  110. package/dist/node_modules/github-from-package/test/c.json +5 -0
  111. package/dist/node_modules/github-from-package/test/d.json +7 -0
  112. package/dist/node_modules/github-from-package/test/e.json +5 -0
  113. package/dist/node_modules/github-from-package/test/url.js +19 -0
  114. package/dist/node_modules/ieee754/LICENSE +11 -0
  115. package/dist/node_modules/ieee754/README.md +51 -0
  116. package/dist/node_modules/ieee754/index.d.ts +10 -0
  117. package/dist/node_modules/ieee754/index.js +85 -0
  118. package/dist/node_modules/ieee754/package.json +52 -0
  119. package/dist/node_modules/inherits/LICENSE +16 -0
  120. package/dist/node_modules/inherits/README.md +42 -0
  121. package/dist/node_modules/inherits/inherits.js +9 -0
  122. package/dist/node_modules/inherits/inherits_browser.js +27 -0
  123. package/dist/node_modules/inherits/package.json +29 -0
  124. package/dist/node_modules/ini/LICENSE +15 -0
  125. package/dist/node_modules/ini/README.md +102 -0
  126. package/dist/node_modules/ini/ini.js +206 -0
  127. package/dist/node_modules/ini/package.json +33 -0
  128. package/dist/node_modules/is-arrayish/LICENSE +21 -0
  129. package/dist/node_modules/is-arrayish/README.md +16 -0
  130. package/dist/node_modules/is-arrayish/index.js +9 -0
  131. package/dist/node_modules/is-arrayish/package.json +45 -0
  132. package/dist/node_modules/is-arrayish/yarn-error.log +1443 -0
  133. package/dist/node_modules/lru-cache/LICENSE +15 -0
  134. package/dist/node_modules/lru-cache/README.md +166 -0
  135. package/dist/node_modules/lru-cache/index.js +334 -0
  136. package/dist/node_modules/lru-cache/package.json +34 -0
  137. package/dist/node_modules/mimic-response/index.d.ts +17 -0
  138. package/dist/node_modules/mimic-response/index.js +77 -0
  139. package/dist/node_modules/mimic-response/license +9 -0
  140. package/dist/node_modules/mimic-response/package.json +42 -0
  141. package/dist/node_modules/mimic-response/readme.md +78 -0
  142. package/dist/node_modules/minimist/.travis.yml +8 -0
  143. package/dist/node_modules/minimist/LICENSE +18 -0
  144. package/dist/node_modules/minimist/example/parse.js +2 -0
  145. package/dist/node_modules/minimist/index.js +249 -0
  146. package/dist/node_modules/minimist/package.json +45 -0
  147. package/dist/node_modules/minimist/readme.markdown +98 -0
  148. package/dist/node_modules/minimist/test/all_bool.js +32 -0
  149. package/dist/node_modules/minimist/test/bool.js +178 -0
  150. package/dist/node_modules/minimist/test/dash.js +31 -0
  151. package/dist/node_modules/minimist/test/default_bool.js +35 -0
  152. package/dist/node_modules/minimist/test/dotted.js +22 -0
  153. package/dist/node_modules/minimist/test/kv_short.js +16 -0
  154. package/dist/node_modules/minimist/test/long.js +31 -0
  155. package/dist/node_modules/minimist/test/num.js +36 -0
  156. package/dist/node_modules/minimist/test/parse.js +197 -0
  157. package/dist/node_modules/minimist/test/parse_modified.js +9 -0
  158. package/dist/node_modules/minimist/test/proto.js +60 -0
  159. package/dist/node_modules/minimist/test/short.js +67 -0
  160. package/dist/node_modules/minimist/test/stop_early.js +15 -0
  161. package/dist/node_modules/minimist/test/unknown.js +102 -0
  162. package/dist/node_modules/minimist/test/whitespace.js +8 -0
  163. package/dist/node_modules/mkdirp-classic/LICENSE +21 -0
  164. package/dist/node_modules/mkdirp-classic/README.md +18 -0
  165. package/dist/node_modules/mkdirp-classic/index.js +98 -0
  166. package/dist/node_modules/mkdirp-classic/package.json +18 -0
  167. package/dist/node_modules/napi-build-utils/LICENSE +21 -0
  168. package/dist/node_modules/napi-build-utils/README.md +48 -0
  169. package/dist/node_modules/napi-build-utils/index.js +213 -0
  170. package/dist/node_modules/napi-build-utils/index.md +81 -0
  171. package/dist/node_modules/napi-build-utils/package.json +41 -0
  172. package/dist/node_modules/node-abi/.circleci/config.yml +63 -0
  173. package/dist/node_modules/node-abi/.github/workflows/update-abi.yml +41 -0
  174. package/dist/node_modules/node-abi/.releaserc.json +9 -0
  175. package/dist/node_modules/node-abi/CODE_OF_CONDUCT.md +73 -0
  176. package/dist/node_modules/node-abi/CONTRIBUTING.md +62 -0
  177. package/dist/node_modules/node-abi/LICENSE +21 -0
  178. package/dist/node_modules/node-abi/README.md +50 -0
  179. package/dist/node_modules/node-abi/abi_registry.json +210 -0
  180. package/dist/node_modules/node-abi/index.js +179 -0
  181. package/dist/node_modules/node-abi/package.json +39 -0
  182. package/dist/node_modules/node-abi/scripts/update-abi-registry.js +119 -0
  183. package/dist/node_modules/node-abi/test/index.js +166 -0
  184. package/dist/node_modules/node-addon-api/LICENSE.md +13 -0
  185. package/dist/node_modules/node-addon-api/README.md +293 -0
  186. package/dist/node_modules/node-addon-api/common.gypi +21 -0
  187. package/dist/node_modules/node-addon-api/except.gypi +25 -0
  188. package/dist/node_modules/node-addon-api/index.js +11 -0
  189. package/dist/node_modules/node-addon-api/napi-inl.deprecated.h +192 -0
  190. package/dist/node_modules/node-addon-api/napi-inl.h +6259 -0
  191. package/dist/node_modules/node-addon-api/napi.h +3003 -0
  192. package/dist/node_modules/node-addon-api/node_api.gyp +9 -0
  193. package/dist/node_modules/node-addon-api/noexcept.gypi +26 -0
  194. package/dist/node_modules/node-addon-api/nothing.c +0 -0
  195. package/dist/node_modules/node-addon-api/package-support.json +21 -0
  196. package/dist/node_modules/node-addon-api/package.json +415 -0
  197. package/dist/node_modules/node-addon-api/tools/README.md +73 -0
  198. package/dist/node_modules/node-addon-api/tools/check-napi.js +100 -0
  199. package/dist/node_modules/node-addon-api/tools/clang-format.js +71 -0
  200. package/dist/node_modules/node-addon-api/tools/conversion.js +309 -0
  201. package/dist/node_modules/node-addon-api/tools/eslint-format.js +71 -0
  202. package/dist/node_modules/once/LICENSE +15 -0
  203. package/dist/node_modules/once/README.md +79 -0
  204. package/dist/node_modules/once/once.js +42 -0
  205. package/dist/node_modules/once/package.json +33 -0
  206. package/dist/node_modules/prebuild-install/CHANGELOG.md +116 -0
  207. package/dist/node_modules/prebuild-install/CONTRIBUTING.md +6 -0
  208. package/dist/node_modules/prebuild-install/LICENSE +21 -0
  209. package/dist/node_modules/prebuild-install/README.md +163 -0
  210. package/dist/node_modules/prebuild-install/asset.js +44 -0
  211. package/dist/node_modules/prebuild-install/bin.js +78 -0
  212. package/dist/node_modules/prebuild-install/download.js +142 -0
  213. package/dist/node_modules/prebuild-install/error.js +14 -0
  214. package/dist/node_modules/prebuild-install/help.txt +16 -0
  215. package/dist/node_modules/prebuild-install/index.js +1 -0
  216. package/dist/node_modules/prebuild-install/log.js +33 -0
  217. package/dist/node_modules/prebuild-install/package.json +67 -0
  218. package/dist/node_modules/prebuild-install/proxy.js +35 -0
  219. package/dist/node_modules/prebuild-install/rc.js +64 -0
  220. package/dist/node_modules/prebuild-install/util.js +143 -0
  221. package/dist/node_modules/pump/.travis.yml +5 -0
  222. package/dist/node_modules/pump/LICENSE +21 -0
  223. package/dist/node_modules/pump/README.md +65 -0
  224. package/dist/node_modules/pump/index.js +82 -0
  225. package/dist/node_modules/pump/package.json +24 -0
  226. package/dist/node_modules/pump/test-browser.js +66 -0
  227. package/dist/node_modules/pump/test-node.js +53 -0
  228. package/dist/node_modules/rc/LICENSE.APACHE2 +15 -0
  229. package/dist/node_modules/rc/LICENSE.BSD +26 -0
  230. package/dist/node_modules/rc/LICENSE.MIT +24 -0
  231. package/dist/node_modules/rc/README.md +227 -0
  232. package/dist/node_modules/rc/browser.js +7 -0
  233. package/dist/node_modules/rc/cli.js +4 -0
  234. package/dist/node_modules/rc/index.js +53 -0
  235. package/dist/node_modules/rc/lib/utils.js +104 -0
  236. package/dist/node_modules/rc/package.json +29 -0
  237. package/dist/node_modules/rc/test/ini.js +16 -0
  238. package/dist/node_modules/rc/test/nested-env-vars.js +50 -0
  239. package/dist/node_modules/rc/test/test.js +59 -0
  240. package/dist/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  241. package/dist/node_modules/readable-stream/GOVERNANCE.md +136 -0
  242. package/dist/node_modules/readable-stream/LICENSE +47 -0
  243. package/dist/node_modules/readable-stream/README.md +106 -0
  244. package/dist/node_modules/readable-stream/errors-browser.js +127 -0
  245. package/dist/node_modules/readable-stream/errors.js +116 -0
  246. package/dist/node_modules/readable-stream/experimentalWarning.js +17 -0
  247. package/dist/node_modules/readable-stream/lib/_stream_duplex.js +139 -0
  248. package/dist/node_modules/readable-stream/lib/_stream_passthrough.js +39 -0
  249. package/dist/node_modules/readable-stream/lib/_stream_readable.js +1124 -0
  250. package/dist/node_modules/readable-stream/lib/_stream_transform.js +201 -0
  251. package/dist/node_modules/readable-stream/lib/_stream_writable.js +697 -0
  252. package/dist/node_modules/readable-stream/lib/internal/streams/async_iterator.js +207 -0
  253. package/dist/node_modules/readable-stream/lib/internal/streams/buffer_list.js +210 -0
  254. package/dist/node_modules/readable-stream/lib/internal/streams/destroy.js +105 -0
  255. package/dist/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +104 -0
  256. package/dist/node_modules/readable-stream/lib/internal/streams/from-browser.js +3 -0
  257. package/dist/node_modules/readable-stream/lib/internal/streams/from.js +64 -0
  258. package/dist/node_modules/readable-stream/lib/internal/streams/pipeline.js +97 -0
  259. package/dist/node_modules/readable-stream/lib/internal/streams/state.js +27 -0
  260. package/dist/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  261. package/dist/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  262. package/dist/node_modules/readable-stream/package.json +68 -0
  263. package/dist/node_modules/readable-stream/readable-browser.js +9 -0
  264. package/dist/node_modules/readable-stream/readable.js +16 -0
  265. package/dist/node_modules/safe-buffer/LICENSE +21 -0
  266. package/dist/node_modules/safe-buffer/README.md +584 -0
  267. package/dist/node_modules/safe-buffer/index.d.ts +187 -0
  268. package/dist/node_modules/safe-buffer/index.js +65 -0
  269. package/dist/node_modules/safe-buffer/package.json +51 -0
  270. package/dist/node_modules/semver/LICENSE +15 -0
  271. package/dist/node_modules/semver/README.md +568 -0
  272. package/dist/node_modules/semver/bin/semver.js +183 -0
  273. package/dist/node_modules/semver/classes/comparator.js +136 -0
  274. package/dist/node_modules/semver/classes/index.js +5 -0
  275. package/dist/node_modules/semver/classes/range.js +519 -0
  276. package/dist/node_modules/semver/classes/semver.js +287 -0
  277. package/dist/node_modules/semver/functions/clean.js +6 -0
  278. package/dist/node_modules/semver/functions/cmp.js +52 -0
  279. package/dist/node_modules/semver/functions/coerce.js +52 -0
  280. package/dist/node_modules/semver/functions/compare-build.js +7 -0
  281. package/dist/node_modules/semver/functions/compare-loose.js +3 -0
  282. package/dist/node_modules/semver/functions/compare.js +5 -0
  283. package/dist/node_modules/semver/functions/diff.js +23 -0
  284. package/dist/node_modules/semver/functions/eq.js +3 -0
  285. package/dist/node_modules/semver/functions/gt.js +3 -0
  286. package/dist/node_modules/semver/functions/gte.js +3 -0
  287. package/dist/node_modules/semver/functions/inc.js +18 -0
  288. package/dist/node_modules/semver/functions/lt.js +3 -0
  289. package/dist/node_modules/semver/functions/lte.js +3 -0
  290. package/dist/node_modules/semver/functions/major.js +3 -0
  291. package/dist/node_modules/semver/functions/minor.js +3 -0
  292. package/dist/node_modules/semver/functions/neq.js +3 -0
  293. package/dist/node_modules/semver/functions/parse.js +33 -0
  294. package/dist/node_modules/semver/functions/patch.js +3 -0
  295. package/dist/node_modules/semver/functions/prerelease.js +6 -0
  296. package/dist/node_modules/semver/functions/rcompare.js +3 -0
  297. package/dist/node_modules/semver/functions/rsort.js +3 -0
  298. package/dist/node_modules/semver/functions/satisfies.js +10 -0
  299. package/dist/node_modules/semver/functions/sort.js +3 -0
  300. package/dist/node_modules/semver/functions/valid.js +6 -0
  301. package/dist/node_modules/semver/index.js +48 -0
  302. package/dist/node_modules/semver/internal/constants.js +17 -0
  303. package/dist/node_modules/semver/internal/debug.js +9 -0
  304. package/dist/node_modules/semver/internal/identifiers.js +23 -0
  305. package/dist/node_modules/semver/internal/parse-options.js +11 -0
  306. package/dist/node_modules/semver/internal/re.js +182 -0
  307. package/dist/node_modules/semver/package.json +75 -0
  308. package/dist/node_modules/semver/preload.js +2 -0
  309. package/dist/node_modules/semver/range.bnf +16 -0
  310. package/dist/node_modules/semver/ranges/gtr.js +4 -0
  311. package/dist/node_modules/semver/ranges/intersects.js +7 -0
  312. package/dist/node_modules/semver/ranges/ltr.js +4 -0
  313. package/dist/node_modules/semver/ranges/max-satisfying.js +25 -0
  314. package/dist/node_modules/semver/ranges/min-satisfying.js +24 -0
  315. package/dist/node_modules/semver/ranges/min-version.js +61 -0
  316. package/dist/node_modules/semver/ranges/outside.js +80 -0
  317. package/dist/node_modules/semver/ranges/simplify.js +47 -0
  318. package/dist/node_modules/semver/ranges/subset.js +244 -0
  319. package/dist/node_modules/semver/ranges/to-comparators.js +8 -0
  320. package/dist/node_modules/semver/ranges/valid.js +11 -0
  321. package/dist/node_modules/sharp/LICENSE +191 -0
  322. package/dist/node_modules/sharp/README.md +117 -0
  323. package/dist/node_modules/sharp/binding.gyp +233 -0
  324. package/dist/node_modules/sharp/build/Release/sharp-linux-x64.node +0 -0
  325. package/dist/node_modules/sharp/install/can-compile.js +11 -0
  326. package/dist/node_modules/sharp/install/dll-copy.js +37 -0
  327. package/dist/node_modules/sharp/install/libvips.js +215 -0
  328. package/dist/node_modules/sharp/lib/agent.js +40 -0
  329. package/dist/node_modules/sharp/lib/channel.js +171 -0
  330. package/dist/node_modules/sharp/lib/colour.js +180 -0
  331. package/dist/node_modules/sharp/lib/composite.js +193 -0
  332. package/dist/node_modules/sharp/lib/constructor.js +386 -0
  333. package/dist/node_modules/sharp/lib/index.js +13 -0
  334. package/dist/node_modules/sharp/lib/input.js +507 -0
  335. package/dist/node_modules/sharp/lib/is.js +143 -0
  336. package/dist/node_modules/sharp/lib/libvips.js +136 -0
  337. package/dist/node_modules/sharp/lib/operation.js +803 -0
  338. package/dist/node_modules/sharp/lib/output.js +1231 -0
  339. package/dist/node_modules/sharp/lib/platform.js +27 -0
  340. package/dist/node_modules/sharp/lib/resize.js +473 -0
  341. package/dist/node_modules/sharp/lib/sharp.js +35 -0
  342. package/dist/node_modules/sharp/lib/utility.js +211 -0
  343. package/dist/node_modules/sharp/package.json +196 -0
  344. package/dist/node_modules/sharp/src/common.cc +966 -0
  345. package/dist/node_modules/sharp/src/common.h +352 -0
  346. package/dist/node_modules/sharp/src/libvips/cplusplus/VConnection.cpp +152 -0
  347. package/dist/node_modules/sharp/src/libvips/cplusplus/VError.cpp +50 -0
  348. package/dist/node_modules/sharp/src/libvips/cplusplus/VImage.cpp +1523 -0
  349. package/dist/node_modules/sharp/src/libvips/cplusplus/VInterpolate.cpp +63 -0
  350. package/dist/node_modules/sharp/src/libvips/cplusplus/vips-operators.cpp +3738 -0
  351. package/dist/node_modules/sharp/src/metadata.cc +291 -0
  352. package/dist/node_modules/sharp/src/metadata.h +92 -0
  353. package/dist/node_modules/sharp/src/operations.cc +412 -0
  354. package/dist/node_modules/sharp/src/operations.h +126 -0
  355. package/dist/node_modules/sharp/src/pipeline.cc +1624 -0
  356. package/dist/node_modules/sharp/src/pipeline.h +349 -0
  357. package/dist/node_modules/sharp/src/sharp.cc +52 -0
  358. package/dist/node_modules/sharp/src/stats.cc +193 -0
  359. package/dist/node_modules/sharp/src/stats.h +70 -0
  360. package/dist/node_modules/sharp/src/utilities.cc +243 -0
  361. package/dist/node_modules/sharp/src/utilities.h +29 -0
  362. package/dist/node_modules/sharp/vendor/8.12.2/linux-x64/THIRD-PARTY-NOTICES.md +43 -0
  363. package/dist/node_modules/sharp/vendor/8.12.2/linux-x64/lib/libvips-cpp.so.42 +0 -0
  364. package/dist/node_modules/sharp/vendor/8.12.2/linux-x64/platform.json +1 -0
  365. package/dist/node_modules/sharp/vendor/8.12.2/linux-x64/versions.json +31 -0
  366. package/dist/node_modules/simple-concat/.travis.yml +3 -0
  367. package/dist/node_modules/simple-concat/LICENSE +20 -0
  368. package/dist/node_modules/simple-concat/README.md +44 -0
  369. package/dist/node_modules/simple-concat/index.js +15 -0
  370. package/dist/node_modules/simple-concat/package.json +47 -0
  371. package/dist/node_modules/simple-concat/test/basic.js +41 -0
  372. package/dist/node_modules/simple-get/.github/dependabot.yml +15 -0
  373. package/dist/node_modules/simple-get/.github/workflows/ci.yml +23 -0
  374. package/dist/node_modules/simple-get/LICENSE +20 -0
  375. package/dist/node_modules/simple-get/README.md +333 -0
  376. package/dist/node_modules/simple-get/index.js +108 -0
  377. package/dist/node_modules/simple-get/package.json +67 -0
  378. package/dist/node_modules/simple-swizzle/LICENSE +21 -0
  379. package/dist/node_modules/simple-swizzle/README.md +39 -0
  380. package/dist/node_modules/simple-swizzle/index.js +29 -0
  381. package/dist/node_modules/simple-swizzle/package.json +36 -0
  382. package/dist/node_modules/string_decoder/LICENSE +48 -0
  383. package/dist/node_modules/string_decoder/README.md +47 -0
  384. package/dist/node_modules/string_decoder/lib/string_decoder.js +296 -0
  385. package/dist/node_modules/string_decoder/package.json +34 -0
  386. package/dist/node_modules/strip-json-comments/index.js +70 -0
  387. package/dist/node_modules/strip-json-comments/license +21 -0
  388. package/dist/node_modules/strip-json-comments/package.json +42 -0
  389. package/dist/node_modules/strip-json-comments/readme.md +64 -0
  390. package/dist/node_modules/tar-fs/.travis.yml +6 -0
  391. package/dist/node_modules/tar-fs/LICENSE +21 -0
  392. package/dist/node_modules/tar-fs/README.md +165 -0
  393. package/dist/node_modules/tar-fs/index.js +351 -0
  394. package/dist/node_modules/tar-fs/package.json +41 -0
  395. package/dist/node_modules/tar-fs/test/fixtures/a/hello.txt +1 -0
  396. package/dist/node_modules/tar-fs/test/fixtures/b/a/test.txt +1 -0
  397. package/dist/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  398. package/dist/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  399. package/dist/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  400. package/dist/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  401. package/dist/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  402. package/dist/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  403. package/dist/node_modules/tar-fs/test/fixtures/e/file +0 -0
  404. package/dist/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  405. package/dist/node_modules/tar-fs/test/index.js +346 -0
  406. package/dist/node_modules/tar-stream/LICENSE +21 -0
  407. package/dist/node_modules/tar-stream/README.md +168 -0
  408. package/dist/node_modules/tar-stream/extract.js +257 -0
  409. package/dist/node_modules/tar-stream/headers.js +295 -0
  410. package/dist/node_modules/tar-stream/index.js +2 -0
  411. package/dist/node_modules/tar-stream/pack.js +255 -0
  412. package/dist/node_modules/tar-stream/package.json +58 -0
  413. package/dist/node_modules/tar-stream/sandbox.js +11 -0
  414. package/dist/node_modules/tunnel-agent/LICENSE +55 -0
  415. package/dist/node_modules/tunnel-agent/README.md +4 -0
  416. package/dist/node_modules/tunnel-agent/index.js +244 -0
  417. package/dist/node_modules/tunnel-agent/package.json +22 -0
  418. package/dist/node_modules/util-deprecate/History.md +16 -0
  419. package/dist/node_modules/util-deprecate/LICENSE +24 -0
  420. package/dist/node_modules/util-deprecate/README.md +53 -0
  421. package/dist/node_modules/util-deprecate/browser.js +67 -0
  422. package/dist/node_modules/util-deprecate/node.js +6 -0
  423. package/dist/node_modules/util-deprecate/package.json +27 -0
  424. package/dist/node_modules/wrappy/LICENSE +15 -0
  425. package/dist/node_modules/wrappy/README.md +36 -0
  426. package/dist/node_modules/wrappy/package.json +29 -0
  427. package/dist/node_modules/wrappy/wrappy.js +33 -0
  428. package/dist/node_modules/yallist/LICENSE +15 -0
  429. package/dist/node_modules/yallist/README.md +204 -0
  430. package/dist/node_modules/yallist/iterator.js +8 -0
  431. package/dist/node_modules/yallist/package.json +29 -0
  432. package/dist/node_modules/yallist/yallist.js +426 -0
  433. package/dist/package-lock.json +830 -0
  434. package/dist/package.json +39 -0
  435. package/dist/static/expected_tile_2193_153_255_z7.png +0 -0
  436. package/dist/static/expected_tile_NZTM2000Quad_30_33_z6.png +0 -0
  437. package/dist/static/expected_tile_WebMercatorQuad_252_156_z8.png +0 -0
  438. package/package.json +9 -9
  439. package/scripts/create.deployment.package.mjs +1 -1
  440. package/src/__tests__/xyz.util.ts +0 -1
  441. package/src/index.ts +7 -0
  442. package/src/routes/__tests__/attribution.test.ts +0 -1
  443. package/src/routes/__tests__/fonts.test.ts +71 -0
  444. package/src/routes/__tests__/memory.fs.ts +77 -0
  445. package/src/routes/__tests__/sprites.test.ts +64 -0
  446. package/src/routes/fonts.ts +54 -0
  447. package/src/routes/sprites.ts +49 -0
  448. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,67 @@
1
+ {
2
+ "name": "prebuild-install",
3
+ "version": "7.1.1",
4
+ "description": "A command line tool to easily install prebuilt binaries for multiple version of node/iojs on a specific platform",
5
+ "scripts": {
6
+ "test": "standard && hallmark && tape test/*-test.js",
7
+ "hallmark": "hallmark --fix"
8
+ },
9
+ "keywords": [
10
+ "prebuilt",
11
+ "binaries",
12
+ "native",
13
+ "addon",
14
+ "module",
15
+ "c",
16
+ "c++",
17
+ "bindings",
18
+ "devops",
19
+ "napi"
20
+ ],
21
+ "dependencies": {
22
+ "detect-libc": "^2.0.0",
23
+ "expand-template": "^2.0.3",
24
+ "github-from-package": "0.0.0",
25
+ "minimist": "^1.2.3",
26
+ "mkdirp-classic": "^0.5.3",
27
+ "napi-build-utils": "^1.0.1",
28
+ "node-abi": "^3.3.0",
29
+ "pump": "^3.0.0",
30
+ "rc": "^1.2.7",
31
+ "simple-get": "^4.0.0",
32
+ "tar-fs": "^2.0.0",
33
+ "tunnel-agent": "^0.6.0"
34
+ },
35
+ "devDependencies": {
36
+ "a-native-module": "^1.0.0",
37
+ "hallmark": "^4.0.0",
38
+ "nock": "^10.0.6",
39
+ "rimraf": "^2.5.2",
40
+ "standard": "^16.0.4",
41
+ "tape": "^5.3.1",
42
+ "tempy": "0.2.1"
43
+ },
44
+ "bin": "./bin.js",
45
+ "repository": {
46
+ "type": "git",
47
+ "url": "https://github.com/prebuild/prebuild-install.git"
48
+ },
49
+ "author": "Mathias Buus (@mafintosh)",
50
+ "contributors": [
51
+ "Julian Gruber <julian@juliangruber.com> (https://github.com/juliangruber)",
52
+ "Brett Lawson <brett19@gmail.com> (https://github.com/brett19)",
53
+ "Pieter Hintjens <ph@imatix.com> (https://github.com/hintjens)",
54
+ "Lars-Magnus Skog <ralphtheninja@riseup.net> (https://github.com/ralphtheninja)",
55
+ "Jesús Leganés Combarro <piranna@gmail.com> (https://github.com/piranna)",
56
+ "Mathias Küsel <mathiask@hotmail.de> (https://github.com/mathiask88)",
57
+ "Lukas Geiger <lukas.geiger94@gmail.com> (https://github.com/lgeiger)"
58
+ ],
59
+ "license": "MIT",
60
+ "bugs": {
61
+ "url": "https://github.com/prebuild/prebuild-install/issues"
62
+ },
63
+ "homepage": "https://github.com/prebuild/prebuild-install",
64
+ "engines": {
65
+ "node": ">=10"
66
+ }
67
+ }
@@ -0,0 +1,35 @@
1
+ const url = require('url')
2
+ const tunnel = require('tunnel-agent')
3
+ const util = require('./util')
4
+
5
+ function applyProxy (reqOpts, opts) {
6
+ const log = opts.log || util.noopLogger
7
+
8
+ const proxy = opts['https-proxy'] || opts.proxy
9
+
10
+ if (proxy) {
11
+ // eslint-disable-next-line node/no-deprecated-api
12
+ const parsedDownloadUrl = url.parse(reqOpts.url)
13
+ // eslint-disable-next-line node/no-deprecated-api
14
+ const parsedProxy = url.parse(proxy)
15
+ const uriProtocol = (parsedDownloadUrl.protocol === 'https:' ? 'https' : 'http')
16
+ const proxyProtocol = (parsedProxy.protocol === 'https:' ? 'Https' : 'Http')
17
+ const tunnelFnName = [uriProtocol, proxyProtocol].join('Over')
18
+ reqOpts.agent = tunnel[tunnelFnName]({
19
+ proxy: {
20
+ host: parsedProxy.hostname,
21
+ port: +parsedProxy.port,
22
+ proxyAuth: parsedProxy.auth
23
+ }
24
+ })
25
+ log.http('request', 'Proxy setup detected (Host: ' +
26
+ parsedProxy.hostname + ', Port: ' +
27
+ parsedProxy.port + ', Authentication: ' +
28
+ (parsedProxy.auth ? 'Yes' : 'No') + ')' +
29
+ ' Tunneling with ' + tunnelFnName)
30
+ }
31
+
32
+ return reqOpts
33
+ }
34
+
35
+ module.exports = applyProxy
@@ -0,0 +1,64 @@
1
+ const path = require('path')
2
+ const minimist = require('minimist')
3
+ const getAbi = require('node-abi').getAbi
4
+ const detectLibc = require('detect-libc')
5
+ const napi = require('napi-build-utils')
6
+
7
+ const env = process.env
8
+
9
+ const libc = env.LIBC || process.env.npm_config_libc ||
10
+ (detectLibc.isNonGlibcLinuxSync() && detectLibc.familySync()) || ''
11
+
12
+ // Get the configuration
13
+ module.exports = function (pkg) {
14
+ const pkgConf = pkg.config || {}
15
+ const buildFromSource = env.npm_config_build_from_source
16
+
17
+ const rc = require('rc')('prebuild-install', {
18
+ target: pkgConf.target || env.npm_config_target || process.versions.node,
19
+ runtime: pkgConf.runtime || env.npm_config_runtime || 'node',
20
+ arch: pkgConf.arch || env.npm_config_arch || process.arch,
21
+ libc: libc,
22
+ platform: env.npm_config_platform || process.platform,
23
+ debug: env.npm_config_debug === 'true',
24
+ force: false,
25
+ verbose: env.npm_config_verbose === 'true',
26
+ buildFromSource: buildFromSource === pkg.name || buildFromSource === 'true',
27
+ path: '.',
28
+ proxy: env.npm_config_proxy || env.http_proxy || env.HTTP_PROXY,
29
+ 'https-proxy': env.npm_config_https_proxy || env.https_proxy || env.HTTPS_PROXY,
30
+ 'local-address': env.npm_config_local_address,
31
+ 'local-prebuilds': 'prebuilds',
32
+ 'tag-prefix': 'v',
33
+ download: env.npm_config_download
34
+ }, minimist(process.argv, {
35
+ alias: {
36
+ target: 't',
37
+ runtime: 'r',
38
+ help: 'h',
39
+ arch: 'a',
40
+ path: 'p',
41
+ version: 'v',
42
+ download: 'd',
43
+ buildFromSource: 'build-from-source',
44
+ token: 'T'
45
+ }
46
+ }))
47
+
48
+ rc.path = path.resolve(rc.path === true ? '.' : rc.path || '.')
49
+
50
+ if (napi.isNapiRuntime(rc.runtime) && rc.target === process.versions.node) {
51
+ rc.target = napi.getBestNapiBuildVersion()
52
+ }
53
+
54
+ rc.abi = napi.isNapiRuntime(rc.runtime) ? rc.target : getAbi(rc.target, rc.runtime)
55
+
56
+ rc.libc = rc.platform !== 'linux' || rc.libc === detectLibc.GLIBC ? '' : rc.libc
57
+
58
+ return rc
59
+ }
60
+
61
+ // Print the configuration values when executed standalone for testing purposses
62
+ if (!module.parent) {
63
+ console.log(JSON.stringify(module.exports({}), null, 2))
64
+ }
@@ -0,0 +1,143 @@
1
+ const path = require('path')
2
+ const github = require('github-from-package')
3
+ const home = require('os').homedir
4
+ const crypto = require('crypto')
5
+ const expandTemplate = require('expand-template')()
6
+
7
+ function getDownloadUrl (opts) {
8
+ const pkgName = opts.pkg.name.replace(/^@[a-zA-Z0-9_\-.~]+\//, '')
9
+ return expandTemplate(urlTemplate(opts), {
10
+ name: pkgName,
11
+ package_name: pkgName,
12
+ version: opts.pkg.version,
13
+ major: opts.pkg.version.split('.')[0],
14
+ minor: opts.pkg.version.split('.')[1],
15
+ patch: opts.pkg.version.split('.')[2],
16
+ prerelease: opts.pkg.version.split('-')[1],
17
+ build: opts.pkg.version.split('+')[1],
18
+ abi: opts.abi || process.versions.modules,
19
+ node_abi: process.versions.modules,
20
+ runtime: opts.runtime || 'node',
21
+ platform: opts.platform,
22
+ arch: opts.arch,
23
+ libc: opts.libc || '',
24
+ configuration: (opts.debug ? 'Debug' : 'Release'),
25
+ module_name: opts.pkg.binary && opts.pkg.binary.module_name,
26
+ tag_prefix: opts['tag-prefix']
27
+ })
28
+ }
29
+
30
+ function getApiUrl (opts) {
31
+ return github(opts.pkg).replace('github.com', 'api.github.com/repos') + '/releases'
32
+ }
33
+
34
+ function getAssetUrl (opts, assetId) {
35
+ return getApiUrl(opts) + '/assets/' + assetId
36
+ }
37
+
38
+ function urlTemplate (opts) {
39
+ if (typeof opts.download === 'string') {
40
+ return opts.download
41
+ }
42
+
43
+ const packageName = '{name}-v{version}-{runtime}-v{abi}-{platform}{libc}-{arch}.tar.gz'
44
+ const hostMirrorUrl = getHostMirrorUrl(opts)
45
+
46
+ if (hostMirrorUrl) {
47
+ return hostMirrorUrl + '/{tag_prefix}{version}/' + packageName
48
+ }
49
+
50
+ if (opts.pkg.binary && opts.pkg.binary.host) {
51
+ return [
52
+ opts.pkg.binary.host,
53
+ opts.pkg.binary.remote_path,
54
+ opts.pkg.binary.package_name || packageName
55
+ ].map(function (path) {
56
+ return trimSlashes(path)
57
+ }).filter(Boolean).join('/')
58
+ }
59
+
60
+ return github(opts.pkg) + '/releases/download/{tag_prefix}{version}/' + packageName
61
+ }
62
+
63
+ function getEnvPrefix (pkgName) {
64
+ return 'npm_config_' + (pkgName || '').replace(/[^a-zA-Z0-9]/g, '_').replace(/^_/, '')
65
+ }
66
+
67
+ function getHostMirrorUrl (opts) {
68
+ const propName = getEnvPrefix(opts.pkg.name) + '_binary_host'
69
+ return process.env[propName] || process.env[propName + '_mirror']
70
+ }
71
+
72
+ function trimSlashes (str) {
73
+ if (str) return str.replace(/^\.\/|^\/|\/$/g, '')
74
+ }
75
+
76
+ function cachedPrebuild (url) {
77
+ const digest = crypto.createHash('md5').update(url).digest('hex').slice(0, 6)
78
+ return path.join(prebuildCache(), digest + '-' + path.basename(url).replace(/[^a-zA-Z0-9.]+/g, '-'))
79
+ }
80
+
81
+ function npmCache () {
82
+ const env = process.env
83
+ return env.npm_config_cache || (env.APPDATA ? path.join(env.APPDATA, 'npm-cache') : path.join(home(), '.npm'))
84
+ }
85
+
86
+ function prebuildCache () {
87
+ return path.join(npmCache(), '_prebuilds')
88
+ }
89
+
90
+ function tempFile (cached) {
91
+ return cached + '.' + process.pid + '-' + Math.random().toString(16).slice(2) + '.tmp'
92
+ }
93
+
94
+ function packageOrigin (env, pkg) {
95
+ // npm <= 6: metadata is stored on disk in node_modules
96
+ if (pkg._from) {
97
+ return pkg._from
98
+ }
99
+
100
+ // npm 7: metadata is exposed to environment by arborist
101
+ if (env.npm_package_from) {
102
+ // NOTE: seems undefined atm (npm 7.0.2)
103
+ return env.npm_package_from
104
+ }
105
+
106
+ if (env.npm_package_resolved) {
107
+ // NOTE: not sure about the difference with _from, but it's all we have
108
+ return env.npm_package_resolved
109
+ }
110
+ }
111
+
112
+ function localPrebuild (url, opts) {
113
+ const propName = getEnvPrefix(opts.pkg.name) + '_local_prebuilds'
114
+ const prefix = process.env[propName] || opts['local-prebuilds'] || 'prebuilds'
115
+ return path.join(prefix, path.basename(url))
116
+ }
117
+
118
+ const noopLogger = {
119
+ http: function () {},
120
+ silly: function () {},
121
+ debug: function () {},
122
+ info: function () {},
123
+ warn: function () {},
124
+ error: function () {},
125
+ critical: function () {},
126
+ alert: function () {},
127
+ emergency: function () {},
128
+ notice: function () {},
129
+ verbose: function () {},
130
+ fatal: function () {}
131
+ }
132
+
133
+ exports.getDownloadUrl = getDownloadUrl
134
+ exports.getApiUrl = getApiUrl
135
+ exports.getAssetUrl = getAssetUrl
136
+ exports.urlTemplate = urlTemplate
137
+ exports.cachedPrebuild = cachedPrebuild
138
+ exports.localPrebuild = localPrebuild
139
+ exports.prebuildCache = prebuildCache
140
+ exports.npmCache = npmCache
141
+ exports.tempFile = tempFile
142
+ exports.packageOrigin = packageOrigin
143
+ exports.noopLogger = noopLogger
@@ -0,0 +1,5 @@
1
+ language: node_js
2
+ node_js:
3
+ - "0.10"
4
+
5
+ script: "npm test"
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2014 Mathias Buus
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,65 @@
1
+ # pump
2
+
3
+ pump is a small node module that pipes streams together and destroys all of them if one of them closes.
4
+
5
+ ```
6
+ npm install pump
7
+ ```
8
+
9
+ [![build status](http://img.shields.io/travis/mafintosh/pump.svg?style=flat)](http://travis-ci.org/mafintosh/pump)
10
+
11
+ ## What problem does it solve?
12
+
13
+ When using standard `source.pipe(dest)` source will _not_ be destroyed if dest emits close or an error.
14
+ You are also not able to provide a callback to tell when then pipe has finished.
15
+
16
+ pump does these two things for you
17
+
18
+ ## Usage
19
+
20
+ Simply pass the streams you want to pipe together to pump and add an optional callback
21
+
22
+ ``` js
23
+ var pump = require('pump')
24
+ var fs = require('fs')
25
+
26
+ var source = fs.createReadStream('/dev/random')
27
+ var dest = fs.createWriteStream('/dev/null')
28
+
29
+ pump(source, dest, function(err) {
30
+ console.log('pipe finished', err)
31
+ })
32
+
33
+ setTimeout(function() {
34
+ dest.destroy() // when dest is closed pump will destroy source
35
+ }, 1000)
36
+ ```
37
+
38
+ You can use pump to pipe more than two streams together as well
39
+
40
+ ``` js
41
+ var transform = someTransformStream()
42
+
43
+ pump(source, transform, anotherTransform, dest, function(err) {
44
+ console.log('pipe finished', err)
45
+ })
46
+ ```
47
+
48
+ If `source`, `transform`, `anotherTransform` or `dest` closes all of them will be destroyed.
49
+
50
+ Similarly to `stream.pipe()`, `pump()` returns the last stream passed in, so you can do:
51
+
52
+ ```
53
+ return pump(s1, s2) // returns s2
54
+ ```
55
+
56
+ If you want to return a stream that combines *both* s1 and s2 to a single stream use
57
+ [pumpify](https://github.com/mafintosh/pumpify) instead.
58
+
59
+ ## License
60
+
61
+ MIT
62
+
63
+ ## Related
64
+
65
+ `pump` is part of the [mississippi stream utility collection](https://github.com/maxogden/mississippi) which includes more useful stream modules similar to this one.
@@ -0,0 +1,82 @@
1
+ var once = require('once')
2
+ var eos = require('end-of-stream')
3
+ var fs = require('fs') // we only need fs to get the ReadStream and WriteStream prototypes
4
+
5
+ var noop = function () {}
6
+ var ancient = /^v?\.0/.test(process.version)
7
+
8
+ var isFn = function (fn) {
9
+ return typeof fn === 'function'
10
+ }
11
+
12
+ var isFS = function (stream) {
13
+ if (!ancient) return false // newer node version do not need to care about fs is a special way
14
+ if (!fs) return false // browser
15
+ return (stream instanceof (fs.ReadStream || noop) || stream instanceof (fs.WriteStream || noop)) && isFn(stream.close)
16
+ }
17
+
18
+ var isRequest = function (stream) {
19
+ return stream.setHeader && isFn(stream.abort)
20
+ }
21
+
22
+ var destroyer = function (stream, reading, writing, callback) {
23
+ callback = once(callback)
24
+
25
+ var closed = false
26
+ stream.on('close', function () {
27
+ closed = true
28
+ })
29
+
30
+ eos(stream, {readable: reading, writable: writing}, function (err) {
31
+ if (err) return callback(err)
32
+ closed = true
33
+ callback()
34
+ })
35
+
36
+ var destroyed = false
37
+ return function (err) {
38
+ if (closed) return
39
+ if (destroyed) return
40
+ destroyed = true
41
+
42
+ if (isFS(stream)) return stream.close(noop) // use close for fs streams to avoid fd leaks
43
+ if (isRequest(stream)) return stream.abort() // request.destroy just do .end - .abort is what we want
44
+
45
+ if (isFn(stream.destroy)) return stream.destroy()
46
+
47
+ callback(err || new Error('stream was destroyed'))
48
+ }
49
+ }
50
+
51
+ var call = function (fn) {
52
+ fn()
53
+ }
54
+
55
+ var pipe = function (from, to) {
56
+ return from.pipe(to)
57
+ }
58
+
59
+ var pump = function () {
60
+ var streams = Array.prototype.slice.call(arguments)
61
+ var callback = isFn(streams[streams.length - 1] || noop) && streams.pop() || noop
62
+
63
+ if (Array.isArray(streams[0])) streams = streams[0]
64
+ if (streams.length < 2) throw new Error('pump requires two streams per minimum')
65
+
66
+ var error
67
+ var destroys = streams.map(function (stream, i) {
68
+ var reading = i < streams.length - 1
69
+ var writing = i > 0
70
+ return destroyer(stream, reading, writing, function (err) {
71
+ if (!error) error = err
72
+ if (err) destroys.forEach(call)
73
+ if (reading) return
74
+ destroys.forEach(call)
75
+ callback(error)
76
+ })
77
+ })
78
+
79
+ return streams.reduce(pipe)
80
+ }
81
+
82
+ module.exports = pump
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "pump",
3
+ "version": "3.0.0",
4
+ "repository": "git://github.com/mafintosh/pump.git",
5
+ "license": "MIT",
6
+ "description": "pipe streams together and close all of them if one of them closes",
7
+ "browser": {
8
+ "fs": false
9
+ },
10
+ "keywords": [
11
+ "streams",
12
+ "pipe",
13
+ "destroy",
14
+ "callback"
15
+ ],
16
+ "author": "Mathias Buus Madsen <mathiasbuus@gmail.com>",
17
+ "dependencies": {
18
+ "end-of-stream": "^1.1.0",
19
+ "once": "^1.3.1"
20
+ },
21
+ "scripts": {
22
+ "test": "node test-browser.js && node test-node.js"
23
+ }
24
+ }
@@ -0,0 +1,66 @@
1
+ var stream = require('stream')
2
+ var pump = require('./index')
3
+
4
+ var rs = new stream.Readable()
5
+ var ws = new stream.Writable()
6
+
7
+ rs._read = function (size) {
8
+ this.push(Buffer(size).fill('abc'))
9
+ }
10
+
11
+ ws._write = function (chunk, encoding, cb) {
12
+ setTimeout(function () {
13
+ cb()
14
+ }, 100)
15
+ }
16
+
17
+ var toHex = function () {
18
+ var reverse = new (require('stream').Transform)()
19
+
20
+ reverse._transform = function (chunk, enc, callback) {
21
+ reverse.push(chunk.toString('hex'))
22
+ callback()
23
+ }
24
+
25
+ return reverse
26
+ }
27
+
28
+ var wsClosed = false
29
+ var rsClosed = false
30
+ var callbackCalled = false
31
+
32
+ var check = function () {
33
+ if (wsClosed && rsClosed && callbackCalled) {
34
+ console.log('test-browser.js passes')
35
+ clearTimeout(timeout)
36
+ }
37
+ }
38
+
39
+ ws.on('finish', function () {
40
+ wsClosed = true
41
+ check()
42
+ })
43
+
44
+ rs.on('end', function () {
45
+ rsClosed = true
46
+ check()
47
+ })
48
+
49
+ var res = pump(rs, toHex(), toHex(), toHex(), ws, function () {
50
+ callbackCalled = true
51
+ check()
52
+ })
53
+
54
+ if (res !== ws) {
55
+ throw new Error('should return last stream')
56
+ }
57
+
58
+ setTimeout(function () {
59
+ rs.push(null)
60
+ rs.emit('close')
61
+ }, 1000)
62
+
63
+ var timeout = setTimeout(function () {
64
+ check()
65
+ throw new Error('timeout')
66
+ }, 5000)
@@ -0,0 +1,53 @@
1
+ var pump = require('./index')
2
+
3
+ var rs = require('fs').createReadStream('/dev/random')
4
+ var ws = require('fs').createWriteStream('/dev/null')
5
+
6
+ var toHex = function () {
7
+ var reverse = new (require('stream').Transform)()
8
+
9
+ reverse._transform = function (chunk, enc, callback) {
10
+ reverse.push(chunk.toString('hex'))
11
+ callback()
12
+ }
13
+
14
+ return reverse
15
+ }
16
+
17
+ var wsClosed = false
18
+ var rsClosed = false
19
+ var callbackCalled = false
20
+
21
+ var check = function () {
22
+ if (wsClosed && rsClosed && callbackCalled) {
23
+ console.log('test-node.js passes')
24
+ clearTimeout(timeout)
25
+ }
26
+ }
27
+
28
+ ws.on('close', function () {
29
+ wsClosed = true
30
+ check()
31
+ })
32
+
33
+ rs.on('close', function () {
34
+ rsClosed = true
35
+ check()
36
+ })
37
+
38
+ var res = pump(rs, toHex(), toHex(), toHex(), ws, function () {
39
+ callbackCalled = true
40
+ check()
41
+ })
42
+
43
+ if (res !== ws) {
44
+ throw new Error('should return last stream')
45
+ }
46
+
47
+ setTimeout(function () {
48
+ rs.destroy()
49
+ }, 1000)
50
+
51
+ var timeout = setTimeout(function () {
52
+ throw new Error('timeout')
53
+ }, 5000)
@@ -0,0 +1,15 @@
1
+ Apache License, Version 2.0
2
+
3
+ Copyright (c) 2011 Dominic Tarr
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
@@ -0,0 +1,26 @@
1
+ Copyright (c) 2013, Dominic Tarr
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are met:
6
+
7
+ 1. Redistributions of source code must retain the above copyright notice, this
8
+ list of conditions and the following disclaimer.
9
+ 2. Redistributions in binary form must reproduce the above copyright notice,
10
+ this list of conditions and the following disclaimer in the documentation
11
+ and/or other materials provided with the distribution.
12
+
13
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
14
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
17
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
18
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
19
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
20
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
22
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23
+
24
+ The views and conclusions contained in the software and documentation are those
25
+ of the authors and should not be interpreted as representing official policies,
26
+ either expressed or implied, of the FreeBSD Project.