@basemaps/lambda-tiler 6.15.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 (708) hide show
  1. package/CHANGELOG.md +981 -0
  2. package/LICENSE +21 -0
  3. package/README.md +3 -0
  4. package/build/__test__/index.test.d.ts +2 -0
  5. package/build/__test__/index.test.d.ts.map +1 -0
  6. package/build/__test__/index.test.js +45 -0
  7. package/build/__test__/tiff.cache.test.d.ts +2 -0
  8. package/build/__test__/tiff.cache.test.d.ts.map +1 -0
  9. package/build/__test__/tiff.cache.test.js +58 -0
  10. package/build/__test__/tile.cache.key.test.d.ts +2 -0
  11. package/build/__test__/tile.cache.key.test.d.ts.map +1 -0
  12. package/build/__test__/tile.cache.key.test.js +49 -0
  13. package/build/__test__/tile.set.cache.test.d.ts +2 -0
  14. package/build/__test__/tile.set.cache.test.d.ts.map +1 -0
  15. package/build/__test__/tile.set.cache.test.js +120 -0
  16. package/build/__test__/tile.set.test.d.ts +2 -0
  17. package/build/__test__/tile.set.test.d.ts.map +1 -0
  18. package/build/__test__/tile.set.test.js +16 -0
  19. package/build/__test__/wmts.capability.test.d.ts +2 -0
  20. package/build/__test__/wmts.capability.test.d.ts.map +1 -0
  21. package/build/__test__/wmts.capability.test.js +193 -0
  22. package/build/__test__/xyz.test.d.ts +2 -0
  23. package/build/__test__/xyz.test.d.ts.map +1 -0
  24. package/build/__test__/xyz.test.js +282 -0
  25. package/build/__test__/xyz.util.d.ts +10 -0
  26. package/build/__test__/xyz.util.d.ts.map +1 -0
  27. package/build/__test__/xyz.util.js +48 -0
  28. package/build/api.key.d.ts +2 -0
  29. package/build/api.key.d.ts.map +1 -0
  30. package/build/api.key.js +23 -0
  31. package/build/cli/dump.d.ts +2 -0
  32. package/build/cli/dump.d.ts.map +1 -0
  33. package/build/cli/dump.js +48 -0
  34. package/build/cli/serve.d.ts +2 -0
  35. package/build/cli/serve.d.ts.map +1 -0
  36. package/build/cli/serve.js +116 -0
  37. package/build/cli/tile.set.local.d.ts +12 -0
  38. package/build/cli/tile.set.local.d.ts.map +1 -0
  39. package/build/cli/tile.set.local.js +39 -0
  40. package/build/cli/validate.d.ts +2 -0
  41. package/build/cli/validate.d.ts.map +1 -0
  42. package/build/cli/validate.js +47 -0
  43. package/build/index.d.ts +4 -0
  44. package/build/index.d.ts.map +1 -0
  45. package/build/index.js +29 -0
  46. package/build/router.d.ts +15 -0
  47. package/build/router.d.ts.map +1 -0
  48. package/build/router.js +47 -0
  49. package/build/routes/__test__/attribution.test.d.ts +2 -0
  50. package/build/routes/__test__/attribution.test.d.ts.map +1 -0
  51. package/build/routes/__test__/attribution.test.js +419 -0
  52. package/build/routes/__test__/health.test.d.ts +2 -0
  53. package/build/routes/__test__/health.test.d.ts.map +1 -0
  54. package/build/routes/__test__/health.test.js +68 -0
  55. package/build/routes/api.d.ts +5 -0
  56. package/build/routes/api.d.ts.map +1 -0
  57. package/build/routes/api.js +16 -0
  58. package/build/routes/attribution.d.ts +10 -0
  59. package/build/routes/attribution.d.ts.map +1 -0
  60. package/build/routes/attribution.js +199 -0
  61. package/build/routes/health.d.ts +19 -0
  62. package/build/routes/health.d.ts.map +1 -0
  63. package/build/routes/health.js +75 -0
  64. package/build/routes/tile.d.ts +23 -0
  65. package/build/routes/tile.d.ts.map +1 -0
  66. package/build/routes/tile.etag.d.ts +11 -0
  67. package/build/routes/tile.etag.d.ts.map +1 -0
  68. package/build/routes/tile.etag.js +29 -0
  69. package/build/routes/tile.js +180 -0
  70. package/build/tiff.cache.d.ts +17 -0
  71. package/build/tiff.cache.d.ts.map +1 -0
  72. package/build/tiff.cache.js +45 -0
  73. package/build/tile.set.cache.d.ts +21 -0
  74. package/build/tile.set.cache.d.ts.map +1 -0
  75. package/build/tile.set.cache.js +96 -0
  76. package/build/tile.set.d.ts +20 -0
  77. package/build/tile.set.d.ts.map +1 -0
  78. package/build/tile.set.js +20 -0
  79. package/build/tile.set.raster.d.ts +47 -0
  80. package/build/tile.set.raster.d.ts.map +1 -0
  81. package/build/tile.set.raster.js +181 -0
  82. package/build/tile.set.vector.d.ts +16 -0
  83. package/build/tile.set.vector.d.ts.map +1 -0
  84. package/build/tile.set.vector.js +51 -0
  85. package/build/validate.d.ts +16 -0
  86. package/build/validate.d.ts.map +1 -0
  87. package/build/validate.js +31 -0
  88. package/build/wmts.capability.d.ts +24 -0
  89. package/build/wmts.capability.d.ts.map +1 -0
  90. package/build/wmts.capability.js +173 -0
  91. package/bundle.sh +11 -0
  92. package/dist/index.js +27642 -0
  93. package/dist/node_modules/ansi-regex/index.js +4 -0
  94. package/dist/node_modules/ansi-regex/license +21 -0
  95. package/dist/node_modules/ansi-regex/package.json +108 -0
  96. package/dist/node_modules/ansi-regex/readme.md +39 -0
  97. package/dist/node_modules/aproba/LICENSE +14 -0
  98. package/dist/node_modules/aproba/README.md +94 -0
  99. package/dist/node_modules/aproba/index.js +105 -0
  100. package/dist/node_modules/aproba/package.json +62 -0
  101. package/dist/node_modules/are-we-there-yet/CHANGES.md +37 -0
  102. package/dist/node_modules/are-we-there-yet/LICENSE +5 -0
  103. package/dist/node_modules/are-we-there-yet/README.md +195 -0
  104. package/dist/node_modules/are-we-there-yet/index.js +4 -0
  105. package/dist/node_modules/are-we-there-yet/package.json +63 -0
  106. package/dist/node_modules/are-we-there-yet/tracker-base.js +11 -0
  107. package/dist/node_modules/are-we-there-yet/tracker-group.js +107 -0
  108. package/dist/node_modules/are-we-there-yet/tracker-stream.js +36 -0
  109. package/dist/node_modules/are-we-there-yet/tracker.js +30 -0
  110. package/dist/node_modules/base64-js/LICENSE +21 -0
  111. package/dist/node_modules/base64-js/README.md +34 -0
  112. package/dist/node_modules/base64-js/base64js.min.js +1 -0
  113. package/dist/node_modules/base64-js/index.d.ts +3 -0
  114. package/dist/node_modules/base64-js/index.js +150 -0
  115. package/dist/node_modules/base64-js/package.json +75 -0
  116. package/dist/node_modules/bl/.travis.yml +17 -0
  117. package/dist/node_modules/bl/BufferList.js +396 -0
  118. package/dist/node_modules/bl/LICENSE.md +13 -0
  119. package/dist/node_modules/bl/README.md +247 -0
  120. package/dist/node_modules/bl/bl.js +84 -0
  121. package/dist/node_modules/bl/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  122. package/dist/node_modules/bl/node_modules/readable-stream/GOVERNANCE.md +136 -0
  123. package/dist/node_modules/bl/node_modules/readable-stream/LICENSE +47 -0
  124. package/dist/node_modules/bl/node_modules/readable-stream/README.md +106 -0
  125. package/dist/node_modules/bl/node_modules/readable-stream/errors-browser.js +127 -0
  126. package/dist/node_modules/bl/node_modules/readable-stream/errors.js +116 -0
  127. package/dist/node_modules/bl/node_modules/readable-stream/experimentalWarning.js +17 -0
  128. package/dist/node_modules/bl/node_modules/readable-stream/lib/_stream_duplex.js +139 -0
  129. package/dist/node_modules/bl/node_modules/readable-stream/lib/_stream_passthrough.js +39 -0
  130. package/dist/node_modules/bl/node_modules/readable-stream/lib/_stream_readable.js +1124 -0
  131. package/dist/node_modules/bl/node_modules/readable-stream/lib/_stream_transform.js +201 -0
  132. package/dist/node_modules/bl/node_modules/readable-stream/lib/_stream_writable.js +697 -0
  133. package/dist/node_modules/bl/node_modules/readable-stream/lib/internal/streams/async_iterator.js +207 -0
  134. package/dist/node_modules/bl/node_modules/readable-stream/lib/internal/streams/buffer_list.js +210 -0
  135. package/dist/node_modules/bl/node_modules/readable-stream/lib/internal/streams/destroy.js +105 -0
  136. package/dist/node_modules/bl/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +104 -0
  137. package/dist/node_modules/bl/node_modules/readable-stream/lib/internal/streams/from-browser.js +3 -0
  138. package/dist/node_modules/bl/node_modules/readable-stream/lib/internal/streams/from.js +64 -0
  139. package/dist/node_modules/bl/node_modules/readable-stream/lib/internal/streams/pipeline.js +97 -0
  140. package/dist/node_modules/bl/node_modules/readable-stream/lib/internal/streams/state.js +27 -0
  141. package/dist/node_modules/bl/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  142. package/dist/node_modules/bl/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  143. package/dist/node_modules/bl/node_modules/readable-stream/package.json +97 -0
  144. package/dist/node_modules/bl/node_modules/readable-stream/readable-browser.js +9 -0
  145. package/dist/node_modules/bl/node_modules/readable-stream/readable.js +16 -0
  146. package/dist/node_modules/bl/package.json +69 -0
  147. package/dist/node_modules/bl/test/convert.js +21 -0
  148. package/dist/node_modules/bl/test/indexOf.js +492 -0
  149. package/dist/node_modules/bl/test/isBufferList.js +32 -0
  150. package/dist/node_modules/bl/test/test.js +869 -0
  151. package/dist/node_modules/buffer/AUTHORS.md +70 -0
  152. package/dist/node_modules/buffer/LICENSE +21 -0
  153. package/dist/node_modules/buffer/README.md +410 -0
  154. package/dist/node_modules/buffer/index.d.ts +186 -0
  155. package/dist/node_modules/buffer/index.js +1817 -0
  156. package/dist/node_modules/buffer/package.json +127 -0
  157. package/dist/node_modules/chownr/LICENSE +15 -0
  158. package/dist/node_modules/chownr/README.md +3 -0
  159. package/dist/node_modules/chownr/chownr.js +167 -0
  160. package/dist/node_modules/chownr/package.json +62 -0
  161. package/dist/node_modules/code-point-at/index.js +32 -0
  162. package/dist/node_modules/code-point-at/license +21 -0
  163. package/dist/node_modules/code-point-at/package.json +70 -0
  164. package/dist/node_modules/code-point-at/readme.md +32 -0
  165. package/dist/node_modules/color/LICENSE +21 -0
  166. package/dist/node_modules/color/README.md +123 -0
  167. package/dist/node_modules/color/index.js +482 -0
  168. package/dist/node_modules/color/package.json +72 -0
  169. package/dist/node_modules/color-convert/CHANGELOG.md +54 -0
  170. package/dist/node_modules/color-convert/LICENSE +21 -0
  171. package/dist/node_modules/color-convert/README.md +68 -0
  172. package/dist/node_modules/color-convert/conversions.js +868 -0
  173. package/dist/node_modules/color-convert/index.js +78 -0
  174. package/dist/node_modules/color-convert/package.json +81 -0
  175. package/dist/node_modules/color-convert/route.js +97 -0
  176. package/dist/node_modules/color-name/.eslintrc.json +43 -0
  177. package/dist/node_modules/color-name/LICENSE +8 -0
  178. package/dist/node_modules/color-name/README.md +11 -0
  179. package/dist/node_modules/color-name/index.js +152 -0
  180. package/dist/node_modules/color-name/package.json +54 -0
  181. package/dist/node_modules/color-name/test.js +7 -0
  182. package/dist/node_modules/color-string/LICENSE +21 -0
  183. package/dist/node_modules/color-string/README.md +62 -0
  184. package/dist/node_modules/color-string/index.js +242 -0
  185. package/dist/node_modules/color-string/package.json +81 -0
  186. package/dist/node_modules/console-control-strings/LICENSE +13 -0
  187. package/dist/node_modules/console-control-strings/README.md +145 -0
  188. package/dist/node_modules/console-control-strings/README.md~ +140 -0
  189. package/dist/node_modules/console-control-strings/index.js +125 -0
  190. package/dist/node_modules/console-control-strings/package.json +61 -0
  191. package/dist/node_modules/core-util-is/LICENSE +19 -0
  192. package/dist/node_modules/core-util-is/README.md +3 -0
  193. package/dist/node_modules/core-util-is/lib/util.js +107 -0
  194. package/dist/node_modules/core-util-is/package.json +68 -0
  195. package/dist/node_modules/decompress-response/index.d.ts +29 -0
  196. package/dist/node_modules/decompress-response/index.js +40 -0
  197. package/dist/node_modules/decompress-response/license +9 -0
  198. package/dist/node_modules/decompress-response/package.json +82 -0
  199. package/dist/node_modules/decompress-response/readme.md +52 -0
  200. package/dist/node_modules/deep-extend/CHANGELOG.md +46 -0
  201. package/dist/node_modules/deep-extend/LICENSE +20 -0
  202. package/dist/node_modules/deep-extend/README.md +91 -0
  203. package/dist/node_modules/deep-extend/index.js +1 -0
  204. package/dist/node_modules/deep-extend/lib/deep-extend.js +150 -0
  205. package/dist/node_modules/deep-extend/package.json +92 -0
  206. package/dist/node_modules/delegates/History.md +22 -0
  207. package/dist/node_modules/delegates/License +20 -0
  208. package/dist/node_modules/delegates/Makefile +8 -0
  209. package/dist/node_modules/delegates/Readme.md +94 -0
  210. package/dist/node_modules/delegates/index.js +121 -0
  211. package/dist/node_modules/delegates/package.json +48 -0
  212. package/dist/node_modules/delegates/test/index.js +94 -0
  213. package/dist/node_modules/detect-libc/LICENSE +201 -0
  214. package/dist/node_modules/detect-libc/README.md +78 -0
  215. package/dist/node_modules/detect-libc/bin/detect-libc.js +18 -0
  216. package/dist/node_modules/detect-libc/lib/detect-libc.js +92 -0
  217. package/dist/node_modules/detect-libc/package.json +71 -0
  218. package/dist/node_modules/end-of-stream/LICENSE +21 -0
  219. package/dist/node_modules/end-of-stream/README.md +54 -0
  220. package/dist/node_modules/end-of-stream/index.js +94 -0
  221. package/dist/node_modules/end-of-stream/package.json +66 -0
  222. package/dist/node_modules/expand-template/.travis.yml +6 -0
  223. package/dist/node_modules/expand-template/LICENSE +21 -0
  224. package/dist/node_modules/expand-template/README.md +43 -0
  225. package/dist/node_modules/expand-template/index.js +26 -0
  226. package/dist/node_modules/expand-template/package.json +60 -0
  227. package/dist/node_modules/expand-template/test.js +67 -0
  228. package/dist/node_modules/fs-constants/LICENSE +21 -0
  229. package/dist/node_modules/fs-constants/README.md +26 -0
  230. package/dist/node_modules/fs-constants/browser.js +1 -0
  231. package/dist/node_modules/fs-constants/index.js +1 -0
  232. package/dist/node_modules/fs-constants/package.json +47 -0
  233. package/dist/node_modules/gauge/CHANGELOG.md +160 -0
  234. package/dist/node_modules/gauge/LICENSE +13 -0
  235. package/dist/node_modules/gauge/README.md +399 -0
  236. package/dist/node_modules/gauge/base-theme.js +14 -0
  237. package/dist/node_modules/gauge/error.js +24 -0
  238. package/dist/node_modules/gauge/has-color.js +12 -0
  239. package/dist/node_modules/gauge/index.js +233 -0
  240. package/dist/node_modules/gauge/package.json +91 -0
  241. package/dist/node_modules/gauge/plumbing.js +48 -0
  242. package/dist/node_modules/gauge/process.js +3 -0
  243. package/dist/node_modules/gauge/progress-bar.js +35 -0
  244. package/dist/node_modules/gauge/render-template.js +181 -0
  245. package/dist/node_modules/gauge/set-immediate.js +7 -0
  246. package/dist/node_modules/gauge/set-interval.js +3 -0
  247. package/dist/node_modules/gauge/spin.js +5 -0
  248. package/dist/node_modules/gauge/template-item.js +73 -0
  249. package/dist/node_modules/gauge/theme-set.js +115 -0
  250. package/dist/node_modules/gauge/themes.js +54 -0
  251. package/dist/node_modules/gauge/wide-truncate.js +25 -0
  252. package/dist/node_modules/github-from-package/.travis.yml +4 -0
  253. package/dist/node_modules/github-from-package/LICENSE +18 -0
  254. package/dist/node_modules/github-from-package/example/package.json +8 -0
  255. package/dist/node_modules/github-from-package/example/url.js +3 -0
  256. package/dist/node_modules/github-from-package/index.js +17 -0
  257. package/dist/node_modules/github-from-package/package.json +58 -0
  258. package/dist/node_modules/github-from-package/readme.markdown +53 -0
  259. package/dist/node_modules/github-from-package/test/a.json +8 -0
  260. package/dist/node_modules/github-from-package/test/b.json +5 -0
  261. package/dist/node_modules/github-from-package/test/c.json +5 -0
  262. package/dist/node_modules/github-from-package/test/d.json +7 -0
  263. package/dist/node_modules/github-from-package/test/e.json +5 -0
  264. package/dist/node_modules/github-from-package/test/url.js +19 -0
  265. package/dist/node_modules/has-unicode/LICENSE +14 -0
  266. package/dist/node_modules/has-unicode/README.md +43 -0
  267. package/dist/node_modules/has-unicode/index.js +16 -0
  268. package/dist/node_modules/has-unicode/package.json +58 -0
  269. package/dist/node_modules/ieee754/LICENSE +11 -0
  270. package/dist/node_modules/ieee754/README.md +51 -0
  271. package/dist/node_modules/ieee754/index.d.ts +10 -0
  272. package/dist/node_modules/ieee754/index.js +85 -0
  273. package/dist/node_modules/ieee754/package.json +84 -0
  274. package/dist/node_modules/inherits/LICENSE +16 -0
  275. package/dist/node_modules/inherits/README.md +42 -0
  276. package/dist/node_modules/inherits/inherits.js +9 -0
  277. package/dist/node_modules/inherits/inherits_browser.js +27 -0
  278. package/dist/node_modules/inherits/package.json +65 -0
  279. package/dist/node_modules/ini/LICENSE +15 -0
  280. package/dist/node_modules/ini/README.md +102 -0
  281. package/dist/node_modules/ini/ini.js +206 -0
  282. package/dist/node_modules/ini/package.json +66 -0
  283. package/dist/node_modules/is-arrayish/LICENSE +21 -0
  284. package/dist/node_modules/is-arrayish/README.md +16 -0
  285. package/dist/node_modules/is-arrayish/index.js +9 -0
  286. package/dist/node_modules/is-arrayish/package.json +77 -0
  287. package/dist/node_modules/is-arrayish/yarn-error.log +1443 -0
  288. package/dist/node_modules/is-fullwidth-code-point/index.js +46 -0
  289. package/dist/node_modules/is-fullwidth-code-point/license +21 -0
  290. package/dist/node_modules/is-fullwidth-code-point/package.json +77 -0
  291. package/dist/node_modules/is-fullwidth-code-point/readme.md +39 -0
  292. package/dist/node_modules/isarray/.travis.yml +4 -0
  293. package/dist/node_modules/isarray/Makefile +6 -0
  294. package/dist/node_modules/isarray/README.md +60 -0
  295. package/dist/node_modules/isarray/component.json +19 -0
  296. package/dist/node_modules/isarray/index.js +5 -0
  297. package/dist/node_modules/isarray/package.json +73 -0
  298. package/dist/node_modules/isarray/test.js +20 -0
  299. package/dist/node_modules/lru-cache/LICENSE +15 -0
  300. package/dist/node_modules/lru-cache/README.md +166 -0
  301. package/dist/node_modules/lru-cache/index.js +334 -0
  302. package/dist/node_modules/lru-cache/package.json +69 -0
  303. package/dist/node_modules/mimic-response/index.d.ts +17 -0
  304. package/dist/node_modules/mimic-response/index.js +38 -0
  305. package/dist/node_modules/mimic-response/license +9 -0
  306. package/dist/node_modules/mimic-response/package.json +74 -0
  307. package/dist/node_modules/mimic-response/readme.md +57 -0
  308. package/dist/node_modules/minimist/.travis.yml +8 -0
  309. package/dist/node_modules/minimist/LICENSE +18 -0
  310. package/dist/node_modules/minimist/example/parse.js +2 -0
  311. package/dist/node_modules/minimist/index.js +245 -0
  312. package/dist/node_modules/minimist/package.json +74 -0
  313. package/dist/node_modules/minimist/readme.markdown +95 -0
  314. package/dist/node_modules/minimist/test/all_bool.js +32 -0
  315. package/dist/node_modules/minimist/test/bool.js +178 -0
  316. package/dist/node_modules/minimist/test/dash.js +31 -0
  317. package/dist/node_modules/minimist/test/default_bool.js +35 -0
  318. package/dist/node_modules/minimist/test/dotted.js +22 -0
  319. package/dist/node_modules/minimist/test/kv_short.js +16 -0
  320. package/dist/node_modules/minimist/test/long.js +31 -0
  321. package/dist/node_modules/minimist/test/num.js +36 -0
  322. package/dist/node_modules/minimist/test/parse.js +197 -0
  323. package/dist/node_modules/minimist/test/parse_modified.js +9 -0
  324. package/dist/node_modules/minimist/test/proto.js +44 -0
  325. package/dist/node_modules/minimist/test/short.js +67 -0
  326. package/dist/node_modules/minimist/test/stop_early.js +15 -0
  327. package/dist/node_modules/minimist/test/unknown.js +102 -0
  328. package/dist/node_modules/minimist/test/whitespace.js +8 -0
  329. package/dist/node_modules/mkdirp-classic/LICENSE +21 -0
  330. package/dist/node_modules/mkdirp-classic/README.md +18 -0
  331. package/dist/node_modules/mkdirp-classic/index.js +98 -0
  332. package/dist/node_modules/mkdirp-classic/package.json +47 -0
  333. package/dist/node_modules/napi-build-utils/LICENSE +21 -0
  334. package/dist/node_modules/napi-build-utils/README.md +48 -0
  335. package/dist/node_modules/napi-build-utils/index.js +213 -0
  336. package/dist/node_modules/napi-build-utils/index.md +81 -0
  337. package/dist/node_modules/napi-build-utils/package.json +68 -0
  338. package/dist/node_modules/node-abi/.github/workflows/update-abi.yml +41 -0
  339. package/dist/node_modules/node-abi/.travis.yml +17 -0
  340. package/dist/node_modules/node-abi/CODE_OF_CONDUCT.md +73 -0
  341. package/dist/node_modules/node-abi/CONTRIBUTING.md +53 -0
  342. package/dist/node_modules/node-abi/LICENSE +21 -0
  343. package/dist/node_modules/node-abi/README.md +50 -0
  344. package/dist/node_modules/node-abi/abi_registry.json +144 -0
  345. package/dist/node_modules/node-abi/index.js +176 -0
  346. package/dist/node_modules/node-abi/node_modules/semver/CHANGELOG.md +39 -0
  347. package/dist/node_modules/node-abi/node_modules/semver/LICENSE +15 -0
  348. package/dist/node_modules/node-abi/node_modules/semver/README.md +412 -0
  349. package/dist/node_modules/node-abi/node_modules/semver/bin/semver +160 -0
  350. package/dist/node_modules/node-abi/node_modules/semver/package.json +60 -0
  351. package/dist/node_modules/node-abi/node_modules/semver/range.bnf +16 -0
  352. package/dist/node_modules/node-abi/node_modules/semver/semver.js +1483 -0
  353. package/dist/node_modules/node-abi/package.json +65 -0
  354. package/dist/node_modules/node-abi/scripts/update-abi-registry.js +119 -0
  355. package/dist/node_modules/node-abi/test/index.js +174 -0
  356. package/dist/node_modules/node-addon-api/CHANGELOG.md +722 -0
  357. package/dist/node_modules/node-addon-api/LICENSE.md +13 -0
  358. package/dist/node_modules/node-addon-api/README.md +293 -0
  359. package/dist/node_modules/node-addon-api/common.gypi +21 -0
  360. package/dist/node_modules/node-addon-api/except.gypi +16 -0
  361. package/dist/node_modules/node-addon-api/index.js +11 -0
  362. package/dist/node_modules/node-addon-api/napi-inl.deprecated.h +192 -0
  363. package/dist/node_modules/node-addon-api/napi-inl.h +5671 -0
  364. package/dist/node_modules/node-addon-api/napi.h +2727 -0
  365. package/dist/node_modules/node-addon-api/node_api.gyp +9 -0
  366. package/dist/node_modules/node-addon-api/noexcept.gypi +16 -0
  367. package/dist/node_modules/node-addon-api/nothing.c +0 -0
  368. package/dist/node_modules/node-addon-api/package-support.json +21 -0
  369. package/dist/node_modules/node-addon-api/package.json +393 -0
  370. package/dist/node_modules/node-addon-api/tools/README.md +73 -0
  371. package/dist/node_modules/node-addon-api/tools/check-napi.js +100 -0
  372. package/dist/node_modules/node-addon-api/tools/clang-format.js +67 -0
  373. package/dist/node_modules/node-addon-api/tools/conversion.js +309 -0
  374. package/dist/node_modules/npmlog/CHANGELOG.md +49 -0
  375. package/dist/node_modules/npmlog/LICENSE +15 -0
  376. package/dist/node_modules/npmlog/README.md +216 -0
  377. package/dist/node_modules/npmlog/log.js +309 -0
  378. package/dist/node_modules/npmlog/package.json +61 -0
  379. package/dist/node_modules/number-is-nan/index.js +4 -0
  380. package/dist/node_modules/number-is-nan/license +21 -0
  381. package/dist/node_modules/number-is-nan/package.json +67 -0
  382. package/dist/node_modules/number-is-nan/readme.md +28 -0
  383. package/dist/node_modules/object-assign/index.js +90 -0
  384. package/dist/node_modules/object-assign/license +21 -0
  385. package/dist/node_modules/object-assign/package.json +74 -0
  386. package/dist/node_modules/object-assign/readme.md +61 -0
  387. package/dist/node_modules/once/LICENSE +15 -0
  388. package/dist/node_modules/once/README.md +79 -0
  389. package/dist/node_modules/once/once.js +42 -0
  390. package/dist/node_modules/once/package.json +68 -0
  391. package/dist/node_modules/prebuild-install/CHANGELOG.md +81 -0
  392. package/dist/node_modules/prebuild-install/CONTRIBUTING.md +6 -0
  393. package/dist/node_modules/prebuild-install/LICENSE +21 -0
  394. package/dist/node_modules/prebuild-install/README.md +139 -0
  395. package/dist/node_modules/prebuild-install/asset.js +44 -0
  396. package/dist/node_modules/prebuild-install/bin.js +78 -0
  397. package/dist/node_modules/prebuild-install/download.js +142 -0
  398. package/dist/node_modules/prebuild-install/error.js +14 -0
  399. package/dist/node_modules/prebuild-install/help.txt +16 -0
  400. package/dist/node_modules/prebuild-install/index.js +1 -0
  401. package/dist/node_modules/prebuild-install/log.js +25 -0
  402. package/dist/node_modules/prebuild-install/package.json +127 -0
  403. package/dist/node_modules/prebuild-install/proxy.js +35 -0
  404. package/dist/node_modules/prebuild-install/rc.js +60 -0
  405. package/dist/node_modules/prebuild-install/util.js +143 -0
  406. package/dist/node_modules/process-nextick-args/index.js +45 -0
  407. package/dist/node_modules/process-nextick-args/license.md +19 -0
  408. package/dist/node_modules/process-nextick-args/package.json +50 -0
  409. package/dist/node_modules/process-nextick-args/readme.md +18 -0
  410. package/dist/node_modules/pump/.travis.yml +5 -0
  411. package/dist/node_modules/pump/LICENSE +21 -0
  412. package/dist/node_modules/pump/README.md +65 -0
  413. package/dist/node_modules/pump/index.js +82 -0
  414. package/dist/node_modules/pump/package.json +60 -0
  415. package/dist/node_modules/pump/test-browser.js +66 -0
  416. package/dist/node_modules/pump/test-node.js +53 -0
  417. package/dist/node_modules/rc/LICENSE.APACHE2 +15 -0
  418. package/dist/node_modules/rc/LICENSE.BSD +26 -0
  419. package/dist/node_modules/rc/LICENSE.MIT +24 -0
  420. package/dist/node_modules/rc/README.md +227 -0
  421. package/dist/node_modules/rc/browser.js +7 -0
  422. package/dist/node_modules/rc/cli.js +4 -0
  423. package/dist/node_modules/rc/index.js +53 -0
  424. package/dist/node_modules/rc/lib/utils.js +104 -0
  425. package/dist/node_modules/rc/package.json +64 -0
  426. package/dist/node_modules/rc/test/ini.js +16 -0
  427. package/dist/node_modules/rc/test/nested-env-vars.js +50 -0
  428. package/dist/node_modules/rc/test/test.js +59 -0
  429. package/dist/node_modules/readable-stream/.travis.yml +34 -0
  430. package/dist/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  431. package/dist/node_modules/readable-stream/GOVERNANCE.md +136 -0
  432. package/dist/node_modules/readable-stream/LICENSE +47 -0
  433. package/dist/node_modules/readable-stream/README.md +58 -0
  434. package/dist/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
  435. package/dist/node_modules/readable-stream/duplex-browser.js +1 -0
  436. package/dist/node_modules/readable-stream/duplex.js +1 -0
  437. package/dist/node_modules/readable-stream/lib/_stream_duplex.js +131 -0
  438. package/dist/node_modules/readable-stream/lib/_stream_passthrough.js +47 -0
  439. package/dist/node_modules/readable-stream/lib/_stream_readable.js +1019 -0
  440. package/dist/node_modules/readable-stream/lib/_stream_transform.js +214 -0
  441. package/dist/node_modules/readable-stream/lib/_stream_writable.js +687 -0
  442. package/dist/node_modules/readable-stream/lib/internal/streams/BufferList.js +79 -0
  443. package/dist/node_modules/readable-stream/lib/internal/streams/destroy.js +74 -0
  444. package/dist/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  445. package/dist/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  446. package/dist/node_modules/readable-stream/package.json +81 -0
  447. package/dist/node_modules/readable-stream/passthrough.js +1 -0
  448. package/dist/node_modules/readable-stream/readable-browser.js +7 -0
  449. package/dist/node_modules/readable-stream/readable.js +19 -0
  450. package/dist/node_modules/readable-stream/transform.js +1 -0
  451. package/dist/node_modules/readable-stream/writable-browser.js +1 -0
  452. package/dist/node_modules/readable-stream/writable.js +8 -0
  453. package/dist/node_modules/safe-buffer/LICENSE +21 -0
  454. package/dist/node_modules/safe-buffer/README.md +584 -0
  455. package/dist/node_modules/safe-buffer/index.d.ts +187 -0
  456. package/dist/node_modules/safe-buffer/index.js +62 -0
  457. package/dist/node_modules/safe-buffer/package.json +64 -0
  458. package/dist/node_modules/semver/CHANGELOG.md +111 -0
  459. package/dist/node_modules/semver/LICENSE +15 -0
  460. package/dist/node_modules/semver/README.md +566 -0
  461. package/dist/node_modules/semver/bin/semver.js +173 -0
  462. package/dist/node_modules/semver/classes/comparator.js +135 -0
  463. package/dist/node_modules/semver/classes/index.js +5 -0
  464. package/dist/node_modules/semver/classes/range.js +510 -0
  465. package/dist/node_modules/semver/classes/semver.js +287 -0
  466. package/dist/node_modules/semver/functions/clean.js +6 -0
  467. package/dist/node_modules/semver/functions/cmp.js +48 -0
  468. package/dist/node_modules/semver/functions/coerce.js +51 -0
  469. package/dist/node_modules/semver/functions/compare-build.js +7 -0
  470. package/dist/node_modules/semver/functions/compare-loose.js +3 -0
  471. package/dist/node_modules/semver/functions/compare.js +5 -0
  472. package/dist/node_modules/semver/functions/diff.js +23 -0
  473. package/dist/node_modules/semver/functions/eq.js +3 -0
  474. package/dist/node_modules/semver/functions/gt.js +3 -0
  475. package/dist/node_modules/semver/functions/gte.js +3 -0
  476. package/dist/node_modules/semver/functions/inc.js +15 -0
  477. package/dist/node_modules/semver/functions/lt.js +3 -0
  478. package/dist/node_modules/semver/functions/lte.js +3 -0
  479. package/dist/node_modules/semver/functions/major.js +3 -0
  480. package/dist/node_modules/semver/functions/minor.js +3 -0
  481. package/dist/node_modules/semver/functions/neq.js +3 -0
  482. package/dist/node_modules/semver/functions/parse.js +33 -0
  483. package/dist/node_modules/semver/functions/patch.js +3 -0
  484. package/dist/node_modules/semver/functions/prerelease.js +6 -0
  485. package/dist/node_modules/semver/functions/rcompare.js +3 -0
  486. package/dist/node_modules/semver/functions/rsort.js +3 -0
  487. package/dist/node_modules/semver/functions/satisfies.js +10 -0
  488. package/dist/node_modules/semver/functions/sort.js +3 -0
  489. package/dist/node_modules/semver/functions/valid.js +6 -0
  490. package/dist/node_modules/semver/index.js +48 -0
  491. package/dist/node_modules/semver/internal/constants.js +17 -0
  492. package/dist/node_modules/semver/internal/debug.js +9 -0
  493. package/dist/node_modules/semver/internal/identifiers.js +23 -0
  494. package/dist/node_modules/semver/internal/parse-options.js +11 -0
  495. package/dist/node_modules/semver/internal/re.js +182 -0
  496. package/dist/node_modules/semver/package.json +73 -0
  497. package/dist/node_modules/semver/preload.js +2 -0
  498. package/dist/node_modules/semver/range.bnf +16 -0
  499. package/dist/node_modules/semver/ranges/gtr.js +4 -0
  500. package/dist/node_modules/semver/ranges/intersects.js +7 -0
  501. package/dist/node_modules/semver/ranges/ltr.js +4 -0
  502. package/dist/node_modules/semver/ranges/max-satisfying.js +25 -0
  503. package/dist/node_modules/semver/ranges/min-satisfying.js +24 -0
  504. package/dist/node_modules/semver/ranges/min-version.js +60 -0
  505. package/dist/node_modules/semver/ranges/outside.js +80 -0
  506. package/dist/node_modules/semver/ranges/simplify.js +44 -0
  507. package/dist/node_modules/semver/ranges/subset.js +222 -0
  508. package/dist/node_modules/semver/ranges/to-comparators.js +8 -0
  509. package/dist/node_modules/semver/ranges/valid.js +11 -0
  510. package/dist/node_modules/set-blocking/CHANGELOG.md +26 -0
  511. package/dist/node_modules/set-blocking/LICENSE.txt +14 -0
  512. package/dist/node_modules/set-blocking/README.md +31 -0
  513. package/dist/node_modules/set-blocking/index.js +7 -0
  514. package/dist/node_modules/set-blocking/package.json +70 -0
  515. package/dist/node_modules/sharp/LICENSE +191 -0
  516. package/dist/node_modules/sharp/README.md +117 -0
  517. package/dist/node_modules/sharp/binding.gyp +230 -0
  518. package/dist/node_modules/sharp/build/Release/sharp.node +0 -0
  519. package/dist/node_modules/sharp/install/can-compile.js +11 -0
  520. package/dist/node_modules/sharp/install/dll-copy.js +37 -0
  521. package/dist/node_modules/sharp/install/libvips.js +180 -0
  522. package/dist/node_modules/sharp/lib/agent.js +40 -0
  523. package/dist/node_modules/sharp/lib/channel.js +167 -0
  524. package/dist/node_modules/sharp/lib/colour.js +130 -0
  525. package/dist/node_modules/sharp/lib/composite.js +178 -0
  526. package/dist/node_modules/sharp/lib/constructor.js +392 -0
  527. package/dist/node_modules/sharp/lib/index.js +13 -0
  528. package/dist/node_modules/sharp/lib/input.js +429 -0
  529. package/dist/node_modules/sharp/lib/is.js +129 -0
  530. package/dist/node_modules/sharp/lib/libvips.js +123 -0
  531. package/dist/node_modules/sharp/lib/operation.js +648 -0
  532. package/dist/node_modules/sharp/lib/output.js +1035 -0
  533. package/dist/node_modules/sharp/lib/platform.js +25 -0
  534. package/dist/node_modules/sharp/lib/resize.js +454 -0
  535. package/dist/node_modules/sharp/lib/utility.js +179 -0
  536. package/dist/node_modules/sharp/package.json +427 -0
  537. package/dist/node_modules/sharp/src/common.cc +827 -0
  538. package/dist/node_modules/sharp/src/common.h +308 -0
  539. package/dist/node_modules/sharp/src/libvips/cplusplus/VConnection.cpp +178 -0
  540. package/dist/node_modules/sharp/src/libvips/cplusplus/VError.cpp +50 -0
  541. package/dist/node_modules/sharp/src/libvips/cplusplus/VImage.cpp +1467 -0
  542. package/dist/node_modules/sharp/src/libvips/cplusplus/VInterpolate.cpp +76 -0
  543. package/dist/node_modules/sharp/src/libvips/cplusplus/vips-operators.cpp +3526 -0
  544. package/dist/node_modules/sharp/src/metadata.cc +271 -0
  545. package/dist/node_modules/sharp/src/metadata.h +90 -0
  546. package/dist/node_modules/sharp/src/operations.cc +285 -0
  547. package/dist/node_modules/sharp/src/operations.h +102 -0
  548. package/dist/node_modules/sharp/src/pipeline.cc +1516 -0
  549. package/dist/node_modules/sharp/src/pipeline.h +325 -0
  550. package/dist/node_modules/sharp/src/sharp.cc +52 -0
  551. package/dist/node_modules/sharp/src/stats.cc +193 -0
  552. package/dist/node_modules/sharp/src/stats.h +70 -0
  553. package/dist/node_modules/sharp/src/utilities.cc +243 -0
  554. package/dist/node_modules/sharp/src/utilities.h +29 -0
  555. package/dist/node_modules/sharp/vendor/8.10.6/THIRD-PARTY-NOTICES.md +42 -0
  556. package/dist/node_modules/sharp/vendor/8.10.6/lib/libvips-cpp.so.42 +0 -0
  557. package/dist/node_modules/sharp/vendor/8.10.6/platform.json +1 -0
  558. package/dist/node_modules/sharp/vendor/8.10.6/versions.json +31 -0
  559. package/dist/node_modules/signal-exit/LICENSE.txt +16 -0
  560. package/dist/node_modules/signal-exit/README.md +39 -0
  561. package/dist/node_modules/signal-exit/index.js +200 -0
  562. package/dist/node_modules/signal-exit/package.json +66 -0
  563. package/dist/node_modules/signal-exit/signals.js +53 -0
  564. package/dist/node_modules/simple-concat/.travis.yml +3 -0
  565. package/dist/node_modules/simple-concat/LICENSE +20 -0
  566. package/dist/node_modules/simple-concat/README.md +44 -0
  567. package/dist/node_modules/simple-concat/index.js +15 -0
  568. package/dist/node_modules/simple-concat/package.json +72 -0
  569. package/dist/node_modules/simple-concat/test/basic.js +41 -0
  570. package/dist/node_modules/simple-get/LICENSE +20 -0
  571. package/dist/node_modules/simple-get/README.md +319 -0
  572. package/dist/node_modules/simple-get/index.js +99 -0
  573. package/dist/node_modules/simple-get/package.json +79 -0
  574. package/dist/node_modules/simple-swizzle/LICENSE +21 -0
  575. package/dist/node_modules/simple-swizzle/README.md +39 -0
  576. package/dist/node_modules/simple-swizzle/index.js +29 -0
  577. package/dist/node_modules/simple-swizzle/package.json +71 -0
  578. package/dist/node_modules/string-width/index.js +37 -0
  579. package/dist/node_modules/string-width/license +21 -0
  580. package/dist/node_modules/string-width/package.json +89 -0
  581. package/dist/node_modules/string-width/readme.md +42 -0
  582. package/dist/node_modules/string_decoder/.travis.yml +50 -0
  583. package/dist/node_modules/string_decoder/LICENSE +48 -0
  584. package/dist/node_modules/string_decoder/README.md +47 -0
  585. package/dist/node_modules/string_decoder/lib/string_decoder.js +296 -0
  586. package/dist/node_modules/string_decoder/package.json +61 -0
  587. package/dist/node_modules/strip-ansi/index.js +6 -0
  588. package/dist/node_modules/strip-ansi/license +21 -0
  589. package/dist/node_modules/strip-ansi/package.json +102 -0
  590. package/dist/node_modules/strip-ansi/readme.md +33 -0
  591. package/dist/node_modules/strip-json-comments/index.js +70 -0
  592. package/dist/node_modules/strip-json-comments/license +21 -0
  593. package/dist/node_modules/strip-json-comments/package.json +74 -0
  594. package/dist/node_modules/strip-json-comments/readme.md +64 -0
  595. package/dist/node_modules/tar-fs/.travis.yml +6 -0
  596. package/dist/node_modules/tar-fs/LICENSE +21 -0
  597. package/dist/node_modules/tar-fs/README.md +165 -0
  598. package/dist/node_modules/tar-fs/index.js +351 -0
  599. package/dist/node_modules/tar-fs/package.json +69 -0
  600. package/dist/node_modules/tar-fs/test/fixtures/a/hello.txt +1 -0
  601. package/dist/node_modules/tar-fs/test/fixtures/b/a/test.txt +1 -0
  602. package/dist/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  603. package/dist/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  604. package/dist/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  605. package/dist/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  606. package/dist/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  607. package/dist/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  608. package/dist/node_modules/tar-fs/test/fixtures/e/file +0 -0
  609. package/dist/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  610. package/dist/node_modules/tar-fs/test/index.js +346 -0
  611. package/dist/node_modules/tar-stream/LICENSE +21 -0
  612. package/dist/node_modules/tar-stream/README.md +168 -0
  613. package/dist/node_modules/tar-stream/extract.js +257 -0
  614. package/dist/node_modules/tar-stream/headers.js +295 -0
  615. package/dist/node_modules/tar-stream/index.js +2 -0
  616. package/dist/node_modules/tar-stream/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  617. package/dist/node_modules/tar-stream/node_modules/readable-stream/GOVERNANCE.md +136 -0
  618. package/dist/node_modules/tar-stream/node_modules/readable-stream/LICENSE +47 -0
  619. package/dist/node_modules/tar-stream/node_modules/readable-stream/README.md +106 -0
  620. package/dist/node_modules/tar-stream/node_modules/readable-stream/errors-browser.js +127 -0
  621. package/dist/node_modules/tar-stream/node_modules/readable-stream/errors.js +116 -0
  622. package/dist/node_modules/tar-stream/node_modules/readable-stream/experimentalWarning.js +17 -0
  623. package/dist/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_duplex.js +139 -0
  624. package/dist/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_passthrough.js +39 -0
  625. package/dist/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_readable.js +1124 -0
  626. package/dist/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_transform.js +201 -0
  627. package/dist/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_writable.js +697 -0
  628. package/dist/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/async_iterator.js +207 -0
  629. package/dist/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/buffer_list.js +210 -0
  630. package/dist/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/destroy.js +105 -0
  631. package/dist/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +104 -0
  632. package/dist/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/from-browser.js +3 -0
  633. package/dist/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/from.js +64 -0
  634. package/dist/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/pipeline.js +97 -0
  635. package/dist/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/state.js +27 -0
  636. package/dist/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  637. package/dist/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  638. package/dist/node_modules/tar-stream/node_modules/readable-stream/package.json +97 -0
  639. package/dist/node_modules/tar-stream/node_modules/readable-stream/readable-browser.js +9 -0
  640. package/dist/node_modules/tar-stream/node_modules/readable-stream/readable.js +16 -0
  641. package/dist/node_modules/tar-stream/pack.js +255 -0
  642. package/dist/node_modules/tar-stream/package.json +90 -0
  643. package/dist/node_modules/tar-stream/sandbox.js +11 -0
  644. package/dist/node_modules/tunnel-agent/LICENSE +55 -0
  645. package/dist/node_modules/tunnel-agent/README.md +4 -0
  646. package/dist/node_modules/tunnel-agent/index.js +244 -0
  647. package/dist/node_modules/tunnel-agent/package.json +56 -0
  648. package/dist/node_modules/util-deprecate/History.md +16 -0
  649. package/dist/node_modules/util-deprecate/LICENSE +24 -0
  650. package/dist/node_modules/util-deprecate/README.md +53 -0
  651. package/dist/node_modules/util-deprecate/browser.js +67 -0
  652. package/dist/node_modules/util-deprecate/node.js +6 -0
  653. package/dist/node_modules/util-deprecate/package.json +58 -0
  654. package/dist/node_modules/wide-align/LICENSE +14 -0
  655. package/dist/node_modules/wide-align/README.md +47 -0
  656. package/dist/node_modules/wide-align/align.js +65 -0
  657. package/dist/node_modules/wide-align/package.json +66 -0
  658. package/dist/node_modules/wrappy/LICENSE +15 -0
  659. package/dist/node_modules/wrappy/README.md +36 -0
  660. package/dist/node_modules/wrappy/package.json +58 -0
  661. package/dist/node_modules/wrappy/wrappy.js +33 -0
  662. package/dist/node_modules/yallist/LICENSE +15 -0
  663. package/dist/node_modules/yallist/README.md +204 -0
  664. package/dist/node_modules/yallist/iterator.js +8 -0
  665. package/dist/node_modules/yallist/package.json +62 -0
  666. package/dist/node_modules/yallist/yallist.js +426 -0
  667. package/dist/package-lock.json +507 -0
  668. package/dist/package.json +62 -0
  669. package/dist/static/expected_tile_2193_153_255_z7.png +0 -0
  670. package/dist/static/expected_tile_NZTM2000Quad_30_33_z6.png +0 -0
  671. package/dist/static/expected_tile_WebMercatorQuad_252_156_z8.png +0 -0
  672. package/package.json +64 -0
  673. package/src/__test__/index.test.ts +57 -0
  674. package/src/__test__/tiff.cache.test.ts +73 -0
  675. package/src/__test__/tile.cache.key.test.ts +56 -0
  676. package/src/__test__/tile.set.cache.test.ts +143 -0
  677. package/src/__test__/tile.set.test.ts +19 -0
  678. package/src/__test__/wmts.capability.test.ts +265 -0
  679. package/src/__test__/xyz.test.ts +333 -0
  680. package/src/__test__/xyz.util.ts +58 -0
  681. package/src/api.key.ts +23 -0
  682. package/src/cli/dump.ts +62 -0
  683. package/src/cli/serve.ts +148 -0
  684. package/src/cli/tile.set.local.ts +51 -0
  685. package/src/cli/validate.ts +49 -0
  686. package/src/index.ts +31 -0
  687. package/src/router.ts +56 -0
  688. package/src/routes/__test__/attribution.test.ts +441 -0
  689. package/src/routes/__test__/health.test.ts +89 -0
  690. package/src/routes/api.ts +19 -0
  691. package/src/routes/attribution.ts +245 -0
  692. package/src/routes/health.ts +84 -0
  693. package/src/routes/tile.etag.ts +36 -0
  694. package/src/routes/tile.ts +198 -0
  695. package/src/tiff.cache.ts +51 -0
  696. package/src/tile.set.cache.ts +107 -0
  697. package/src/tile.set.raster.ts +209 -0
  698. package/src/tile.set.ts +44 -0
  699. package/src/tile.set.vector.ts +50 -0
  700. package/src/validate.ts +32 -0
  701. package/src/wmts.capability.ts +203 -0
  702. package/static/expected_tile_2193_153_255_z7.png +0 -0
  703. package/static/expected_tile_NZTM2000Quad_30_33_z6.png +0 -0
  704. package/static/expected_tile_WebMercatorQuad_252_156_z8.png +0 -0
  705. package/test-dump.js +6 -0
  706. package/test-imagery.js +3 -0
  707. package/tsconfig.json +15 -0
  708. package/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ const detectLibc = require('detect-libc');
4
+
5
+ const env = process.env;
6
+
7
+ module.exports = function () {
8
+ const arch = env.npm_config_arch || process.arch;
9
+ const platform = env.npm_config_platform || process.platform;
10
+ /* istanbul ignore next */
11
+ const libc = (platform === 'linux' && detectLibc.isNonGlibcLinux) ? detectLibc.family : '';
12
+
13
+ const platformId = [`${platform}${libc}`];
14
+
15
+ if (arch === 'arm') {
16
+ const fallback = process.versions.electron ? '7' : '6';
17
+ platformId.push(`armv${env.npm_config_arm_version || process.config.variables.arm_version || fallback}`);
18
+ } else if (arch === 'arm64') {
19
+ platformId.push(`arm64v${env.npm_config_arm_version || '8'}`);
20
+ } else {
21
+ platformId.push(arch);
22
+ }
23
+
24
+ return platformId.join('-');
25
+ };
@@ -0,0 +1,454 @@
1
+ 'use strict';
2
+
3
+ const is = require('./is');
4
+
5
+ /**
6
+ * Weighting to apply when using contain/cover fit.
7
+ * @member
8
+ * @private
9
+ */
10
+ const gravity = {
11
+ center: 0,
12
+ centre: 0,
13
+ north: 1,
14
+ east: 2,
15
+ south: 3,
16
+ west: 4,
17
+ northeast: 5,
18
+ southeast: 6,
19
+ southwest: 7,
20
+ northwest: 8
21
+ };
22
+
23
+ /**
24
+ * Position to apply when using contain/cover fit.
25
+ * @member
26
+ * @private
27
+ */
28
+ const position = {
29
+ top: 1,
30
+ right: 2,
31
+ bottom: 3,
32
+ left: 4,
33
+ 'right top': 5,
34
+ 'right bottom': 6,
35
+ 'left bottom': 7,
36
+ 'left top': 8
37
+ };
38
+
39
+ /**
40
+ * Strategies for automagic cover behaviour.
41
+ * @member
42
+ * @private
43
+ */
44
+ const strategy = {
45
+ entropy: 16,
46
+ attention: 17
47
+ };
48
+
49
+ /**
50
+ * Reduction kernels.
51
+ * @member
52
+ * @private
53
+ */
54
+ const kernel = {
55
+ nearest: 'nearest',
56
+ cubic: 'cubic',
57
+ mitchell: 'mitchell',
58
+ lanczos2: 'lanczos2',
59
+ lanczos3: 'lanczos3'
60
+ };
61
+
62
+ /**
63
+ * Methods by which an image can be resized to fit the provided dimensions.
64
+ * @member
65
+ * @private
66
+ */
67
+ const fit = {
68
+ contain: 'contain',
69
+ cover: 'cover',
70
+ fill: 'fill',
71
+ inside: 'inside',
72
+ outside: 'outside'
73
+ };
74
+
75
+ /**
76
+ * Map external fit property to internal canvas property.
77
+ * @member
78
+ * @private
79
+ */
80
+ const mapFitToCanvas = {
81
+ contain: 'embed',
82
+ cover: 'crop',
83
+ fill: 'ignore_aspect',
84
+ inside: 'max',
85
+ outside: 'min'
86
+ };
87
+
88
+ /**
89
+ * @private
90
+ */
91
+ function isRotationExpected (options) {
92
+ return (options.angle % 360) !== 0 || options.useExifOrientation === true || options.rotationAngle !== 0;
93
+ }
94
+
95
+ /**
96
+ * Resize image to `width`, `height` or `width x height`.
97
+ *
98
+ * When both a `width` and `height` are provided, the possible methods by which the image should **fit** these are:
99
+ * - `cover`: (default) Preserving aspect ratio, ensure the image covers both provided dimensions by cropping/clipping to fit.
100
+ * - `contain`: Preserving aspect ratio, contain within both provided dimensions using "letterboxing" where necessary.
101
+ * - `fill`: Ignore the aspect ratio of the input and stretch to both provided dimensions.
102
+ * - `inside`: Preserving aspect ratio, resize the image to be as large as possible while ensuring its dimensions are less than or equal to both those specified.
103
+ * - `outside`: Preserving aspect ratio, resize the image to be as small as possible while ensuring its dimensions are greater than or equal to both those specified.
104
+ *
105
+ * Some of these values are based on the [object-fit](https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit) CSS property.
106
+ *
107
+ * When using a `fit` of `cover` or `contain`, the default **position** is `centre`. Other options are:
108
+ * - `sharp.position`: `top`, `right top`, `right`, `right bottom`, `bottom`, `left bottom`, `left`, `left top`.
109
+ * - `sharp.gravity`: `north`, `northeast`, `east`, `southeast`, `south`, `southwest`, `west`, `northwest`, `center` or `centre`.
110
+ * - `sharp.strategy`: `cover` only, dynamically crop using either the `entropy` or `attention` strategy.
111
+ *
112
+ * Some of these values are based on the [object-position](https://developer.mozilla.org/en-US/docs/Web/CSS/object-position) CSS property.
113
+ *
114
+ * The experimental strategy-based approach resizes so one dimension is at its target length
115
+ * then repeatedly ranks edge regions, discarding the edge with the lowest score based on the selected strategy.
116
+ * - `entropy`: focus on the region with the highest [Shannon entropy](https://en.wikipedia.org/wiki/Entropy_%28information_theory%29).
117
+ * - `attention`: focus on the region with the highest luminance frequency, colour saturation and presence of skin tones.
118
+ *
119
+ * Possible interpolation kernels are:
120
+ * - `nearest`: Use [nearest neighbour interpolation](http://en.wikipedia.org/wiki/Nearest-neighbor_interpolation).
121
+ * - `cubic`: Use a [Catmull-Rom spline](https://en.wikipedia.org/wiki/Centripetal_Catmull%E2%80%93Rom_spline).
122
+ * - `mitchell`: Use a [Mitchell-Netravali spline](https://www.cs.utexas.edu/~fussell/courses/cs384g-fall2013/lectures/mitchell/Mitchell.pdf).
123
+ * - `lanczos2`: Use a [Lanczos kernel](https://en.wikipedia.org/wiki/Lanczos_resampling#Lanczos_kernel) with `a=2`.
124
+ * - `lanczos3`: Use a Lanczos kernel with `a=3` (the default).
125
+ *
126
+ * @example
127
+ * sharp(input)
128
+ * .resize({ width: 100 })
129
+ * .toBuffer()
130
+ * .then(data => {
131
+ * // 100 pixels wide, auto-scaled height
132
+ * });
133
+ *
134
+ * @example
135
+ * sharp(input)
136
+ * .resize({ height: 100 })
137
+ * .toBuffer()
138
+ * .then(data => {
139
+ * // 100 pixels high, auto-scaled width
140
+ * });
141
+ *
142
+ * @example
143
+ * sharp(input)
144
+ * .resize(200, 300, {
145
+ * kernel: sharp.kernel.nearest,
146
+ * fit: 'contain',
147
+ * position: 'right top',
148
+ * background: { r: 255, g: 255, b: 255, alpha: 0.5 }
149
+ * })
150
+ * .toFile('output.png')
151
+ * .then(() => {
152
+ * // output.png is a 200 pixels wide and 300 pixels high image
153
+ * // containing a nearest-neighbour scaled version
154
+ * // contained within the north-east corner of a semi-transparent white canvas
155
+ * });
156
+ *
157
+ * @example
158
+ * const transformer = sharp()
159
+ * .resize({
160
+ * width: 200,
161
+ * height: 200,
162
+ * fit: sharp.fit.cover,
163
+ * position: sharp.strategy.entropy
164
+ * });
165
+ * // Read image data from readableStream
166
+ * // Write 200px square auto-cropped image data to writableStream
167
+ * readableStream
168
+ * .pipe(transformer)
169
+ * .pipe(writableStream);
170
+ *
171
+ * @example
172
+ * sharp(input)
173
+ * .resize(200, 200, {
174
+ * fit: sharp.fit.inside,
175
+ * withoutEnlargement: true
176
+ * })
177
+ * .toFormat('jpeg')
178
+ * .toBuffer()
179
+ * .then(function(outputBuffer) {
180
+ * // outputBuffer contains JPEG image data
181
+ * // no wider and no higher than 200 pixels
182
+ * // and no larger than the input image
183
+ * });
184
+ *
185
+ * @example
186
+ * const scaleByHalf = await sharp(input)
187
+ * .metadata()
188
+ * .then(({ width }) => sharp(input)
189
+ * .resize(Math.round(width * 0.5))
190
+ * .toBuffer()
191
+ * );
192
+ *
193
+ * @param {number} [width] - pixels wide the resultant image should be. Use `null` or `undefined` to auto-scale the width to match the height.
194
+ * @param {number} [height] - pixels high the resultant image should be. Use `null` or `undefined` to auto-scale the height to match the width.
195
+ * @param {Object} [options]
196
+ * @param {String} [options.width] - alternative means of specifying `width`. If both are present this take priority.
197
+ * @param {String} [options.height] - alternative means of specifying `height`. If both are present this take priority.
198
+ * @param {String} [options.fit='cover'] - how the image should be resized to fit both provided dimensions, one of `cover`, `contain`, `fill`, `inside` or `outside`.
199
+ * @param {String} [options.position='centre'] - position, gravity or strategy to use when `fit` is `cover` or `contain`.
200
+ * @param {String|Object} [options.background={r: 0, g: 0, b: 0, alpha: 1}] - background colour when using a `fit` of `contain`, parsed by the [color](https://www.npmjs.org/package/color) module, defaults to black without transparency.
201
+ * @param {String} [options.kernel='lanczos3'] - the kernel to use for image reduction.
202
+ * @param {Boolean} [options.withoutEnlargement=false] - do not enlarge if the width *or* height are already less than the specified dimensions, equivalent to GraphicsMagick's `>` geometry option.
203
+ * @param {Boolean} [options.fastShrinkOnLoad=true] - take greater advantage of the JPEG and WebP shrink-on-load feature, which can lead to a slight moiré pattern on some images.
204
+ * @returns {Sharp}
205
+ * @throws {Error} Invalid parameters
206
+ */
207
+ function resize (width, height, options) {
208
+ if (is.defined(width)) {
209
+ if (is.object(width) && !is.defined(options)) {
210
+ options = width;
211
+ } else if (is.integer(width) && width > 0) {
212
+ this.options.width = width;
213
+ } else {
214
+ throw is.invalidParameterError('width', 'positive integer', width);
215
+ }
216
+ } else {
217
+ this.options.width = -1;
218
+ }
219
+ if (is.defined(height)) {
220
+ if (is.integer(height) && height > 0) {
221
+ this.options.height = height;
222
+ } else {
223
+ throw is.invalidParameterError('height', 'positive integer', height);
224
+ }
225
+ } else {
226
+ this.options.height = -1;
227
+ }
228
+ if (is.object(options)) {
229
+ // Width
230
+ if (is.defined(options.width)) {
231
+ if (is.integer(options.width) && options.width > 0) {
232
+ this.options.width = options.width;
233
+ } else {
234
+ throw is.invalidParameterError('width', 'positive integer', options.width);
235
+ }
236
+ }
237
+ // Height
238
+ if (is.defined(options.height)) {
239
+ if (is.integer(options.height) && options.height > 0) {
240
+ this.options.height = options.height;
241
+ } else {
242
+ throw is.invalidParameterError('height', 'positive integer', options.height);
243
+ }
244
+ }
245
+ // Fit
246
+ if (is.defined(options.fit)) {
247
+ const canvas = mapFitToCanvas[options.fit];
248
+ if (is.string(canvas)) {
249
+ this.options.canvas = canvas;
250
+ } else {
251
+ throw is.invalidParameterError('fit', 'valid fit', options.fit);
252
+ }
253
+ }
254
+ // Position
255
+ if (is.defined(options.position)) {
256
+ const pos = is.integer(options.position)
257
+ ? options.position
258
+ : strategy[options.position] || position[options.position] || gravity[options.position];
259
+ if (is.integer(pos) && (is.inRange(pos, 0, 8) || is.inRange(pos, 16, 17))) {
260
+ this.options.position = pos;
261
+ } else {
262
+ throw is.invalidParameterError('position', 'valid position/gravity/strategy', options.position);
263
+ }
264
+ }
265
+ // Background
266
+ this._setBackgroundColourOption('resizeBackground', options.background);
267
+ // Kernel
268
+ if (is.defined(options.kernel)) {
269
+ if (is.string(kernel[options.kernel])) {
270
+ this.options.kernel = kernel[options.kernel];
271
+ } else {
272
+ throw is.invalidParameterError('kernel', 'valid kernel name', options.kernel);
273
+ }
274
+ }
275
+ // Without enlargement
276
+ if (is.defined(options.withoutEnlargement)) {
277
+ this._setBooleanOption('withoutEnlargement', options.withoutEnlargement);
278
+ }
279
+ // Shrink on load
280
+ if (is.defined(options.fastShrinkOnLoad)) {
281
+ this._setBooleanOption('fastShrinkOnLoad', options.fastShrinkOnLoad);
282
+ }
283
+ }
284
+ return this;
285
+ }
286
+
287
+ /**
288
+ * Extends/pads the edges of the image with the provided background colour.
289
+ * This operation will always occur after resizing and extraction, if any.
290
+ *
291
+ * @example
292
+ * // Resize to 140 pixels wide, then add 10 transparent pixels
293
+ * // to the top, left and right edges and 20 to the bottom edge
294
+ * sharp(input)
295
+ * .resize(140)
296
+ * .extend({
297
+ * top: 10,
298
+ * bottom: 20,
299
+ * left: 10,
300
+ * right: 10,
301
+ * background: { r: 0, g: 0, b: 0, alpha: 0 }
302
+ * })
303
+ * ...
304
+ *
305
+ * @example
306
+ * // Add a row of 10 red pixels to the bottom
307
+ * sharp(input)
308
+ * .extend({
309
+ * bottom: 10,
310
+ * background: 'red'
311
+ * })
312
+ * ...
313
+ *
314
+ * @param {(number|Object)} extend - single pixel count to add to all edges or an Object with per-edge counts
315
+ * @param {number} [extend.top=0]
316
+ * @param {number} [extend.left=0]
317
+ * @param {number} [extend.bottom=0]
318
+ * @param {number} [extend.right=0]
319
+ * @param {String|Object} [extend.background={r: 0, g: 0, b: 0, alpha: 1}] - background colour, parsed by the [color](https://www.npmjs.org/package/color) module, defaults to black without transparency.
320
+ * @returns {Sharp}
321
+ * @throws {Error} Invalid parameters
322
+ */
323
+ function extend (extend) {
324
+ if (is.integer(extend) && extend > 0) {
325
+ this.options.extendTop = extend;
326
+ this.options.extendBottom = extend;
327
+ this.options.extendLeft = extend;
328
+ this.options.extendRight = extend;
329
+ } else if (is.object(extend)) {
330
+ if (is.defined(extend.top)) {
331
+ if (is.integer(extend.top) && extend.top >= 0) {
332
+ this.options.extendTop = extend.top;
333
+ } else {
334
+ throw is.invalidParameterError('top', 'positive integer', extend.top);
335
+ }
336
+ }
337
+ if (is.defined(extend.bottom)) {
338
+ if (is.integer(extend.bottom) && extend.bottom >= 0) {
339
+ this.options.extendBottom = extend.bottom;
340
+ } else {
341
+ throw is.invalidParameterError('bottom', 'positive integer', extend.bottom);
342
+ }
343
+ }
344
+ if (is.defined(extend.left)) {
345
+ if (is.integer(extend.left) && extend.left >= 0) {
346
+ this.options.extendLeft = extend.left;
347
+ } else {
348
+ throw is.invalidParameterError('left', 'positive integer', extend.left);
349
+ }
350
+ }
351
+ if (is.defined(extend.right)) {
352
+ if (is.integer(extend.right) && extend.right >= 0) {
353
+ this.options.extendRight = extend.right;
354
+ } else {
355
+ throw is.invalidParameterError('right', 'positive integer', extend.right);
356
+ }
357
+ }
358
+ this._setBackgroundColourOption('extendBackground', extend.background);
359
+ } else {
360
+ throw is.invalidParameterError('extend', 'integer or object', extend);
361
+ }
362
+ return this;
363
+ }
364
+
365
+ /**
366
+ * Extract/crop a region of the image.
367
+ *
368
+ * - Use `extract` before `resize` for pre-resize extraction.
369
+ * - Use `extract` after `resize` for post-resize extraction.
370
+ * - Use `extract` before and after for both.
371
+ *
372
+ * @example
373
+ * sharp(input)
374
+ * .extract({ left: left, top: top, width: width, height: height })
375
+ * .toFile(output, function(err) {
376
+ * // Extract a region of the input image, saving in the same format.
377
+ * });
378
+ * @example
379
+ * sharp(input)
380
+ * .extract({ left: leftOffsetPre, top: topOffsetPre, width: widthPre, height: heightPre })
381
+ * .resize(width, height)
382
+ * .extract({ left: leftOffsetPost, top: topOffsetPost, width: widthPost, height: heightPost })
383
+ * .toFile(output, function(err) {
384
+ * // Extract a region, resize, then extract from the resized image
385
+ * });
386
+ *
387
+ * @param {Object} options - describes the region to extract using integral pixel values
388
+ * @param {number} options.left - zero-indexed offset from left edge
389
+ * @param {number} options.top - zero-indexed offset from top edge
390
+ * @param {number} options.width - width of region to extract
391
+ * @param {number} options.height - height of region to extract
392
+ * @returns {Sharp}
393
+ * @throws {Error} Invalid parameters
394
+ */
395
+ function extract (options) {
396
+ const suffix = this.options.width === -1 && this.options.height === -1 ? 'Pre' : 'Post';
397
+ ['left', 'top', 'width', 'height'].forEach(function (name) {
398
+ const value = options[name];
399
+ if (is.integer(value) && value >= 0) {
400
+ this.options[name + (name === 'left' || name === 'top' ? 'Offset' : '') + suffix] = value;
401
+ } else {
402
+ throw is.invalidParameterError(name, 'integer', value);
403
+ }
404
+ }, this);
405
+ // Ensure existing rotation occurs before pre-resize extraction
406
+ if (suffix === 'Pre' && isRotationExpected(this.options)) {
407
+ this.options.rotateBeforePreExtract = true;
408
+ }
409
+ return this;
410
+ }
411
+
412
+ /**
413
+ * Trim "boring" pixels from all edges that contain values similar to the top-left pixel.
414
+ * Images consisting entirely of a single colour will calculate "boring" using the alpha channel, if any.
415
+ *
416
+ * The `info` response Object, obtained from callback of `.toFile()` or `.toBuffer()`,
417
+ * will contain `trimOffsetLeft` and `trimOffsetTop` properties.
418
+ *
419
+ * @param {number} [threshold=10] the allowed difference from the top-left pixel, a number greater than zero.
420
+ * @returns {Sharp}
421
+ * @throws {Error} Invalid parameters
422
+ */
423
+ function trim (threshold) {
424
+ if (!is.defined(threshold)) {
425
+ this.options.trimThreshold = 10;
426
+ } else if (is.number(threshold) && threshold > 0) {
427
+ this.options.trimThreshold = threshold;
428
+ } else {
429
+ throw is.invalidParameterError('threshold', 'number greater than zero', threshold);
430
+ }
431
+ if (this.options.trimThreshold && isRotationExpected(this.options)) {
432
+ this.options.rotateBeforePreExtract = true;
433
+ }
434
+ return this;
435
+ }
436
+
437
+ /**
438
+ * Decorate the Sharp prototype with resize-related functions.
439
+ * @private
440
+ */
441
+ module.exports = function (Sharp) {
442
+ Object.assign(Sharp.prototype, {
443
+ resize,
444
+ extend,
445
+ extract,
446
+ trim
447
+ });
448
+ // Class attributes
449
+ Sharp.gravity = gravity;
450
+ Sharp.strategy = strategy;
451
+ Sharp.kernel = kernel;
452
+ Sharp.fit = fit;
453
+ Sharp.position = position;
454
+ };
@@ -0,0 +1,179 @@
1
+ 'use strict';
2
+
3
+ const events = require('events');
4
+ const detectLibc = require('detect-libc');
5
+
6
+ const is = require('./is');
7
+ const sharp = require('../build/Release/sharp.node');
8
+
9
+ /**
10
+ * An Object containing nested boolean values representing the available input and output formats/methods.
11
+ * @member
12
+ * @example
13
+ * console.log(sharp.format);
14
+ * @returns {Object}
15
+ */
16
+ const format = sharp.format();
17
+
18
+ /**
19
+ * An Object containing the available interpolators and their proper values
20
+ * @readonly
21
+ * @enum {string}
22
+ */
23
+ const interpolators = {
24
+ /** [Nearest neighbour interpolation](http://en.wikipedia.org/wiki/Nearest-neighbor_interpolation). Suitable for image enlargement only. */
25
+ nearest: 'nearest',
26
+ /** [Bilinear interpolation](http://en.wikipedia.org/wiki/Bilinear_interpolation). Faster than bicubic but with less smooth results. */
27
+ bilinear: 'bilinear',
28
+ /** [Bicubic interpolation](http://en.wikipedia.org/wiki/Bicubic_interpolation) (the default). */
29
+ bicubic: 'bicubic',
30
+ /** [LBB interpolation](https://github.com/jcupitt/libvips/blob/master/libvips/resample/lbb.cpp#L100). Prevents some "[acutance](http://en.wikipedia.org/wiki/Acutance)" but typically reduces performance by a factor of 2. */
31
+ locallyBoundedBicubic: 'lbb',
32
+ /** [Nohalo interpolation](http://eprints.soton.ac.uk/268086/). Prevents acutance but typically reduces performance by a factor of 3. */
33
+ nohalo: 'nohalo',
34
+ /** [VSQBS interpolation](https://github.com/jcupitt/libvips/blob/master/libvips/resample/vsqbs.cpp#L48). Prevents "staircasing" when enlarging. */
35
+ vertexSplitQuadraticBasisSpline: 'vsqbs'
36
+ };
37
+
38
+ /**
39
+ * An Object containing the version numbers of libvips and its dependencies.
40
+ * @member
41
+ * @example
42
+ * console.log(sharp.versions);
43
+ */
44
+ let versions = {
45
+ vips: sharp.libvipsVersion()
46
+ };
47
+ try {
48
+ versions = require(`../vendor/${versions.vips}/versions.json`);
49
+ } catch (err) {}
50
+
51
+ /**
52
+ * Gets or, when options are provided, sets the limits of _libvips'_ operation cache.
53
+ * Existing entries in the cache will be trimmed after any change in limits.
54
+ * This method always returns cache statistics,
55
+ * useful for determining how much working memory is required for a particular task.
56
+ *
57
+ * @example
58
+ * const stats = sharp.cache();
59
+ * @example
60
+ * sharp.cache( { items: 200 } );
61
+ * sharp.cache( { files: 0 } );
62
+ * sharp.cache(false);
63
+ *
64
+ * @param {Object|boolean} [options=true] - Object with the following attributes, or boolean where true uses default cache settings and false removes all caching
65
+ * @param {number} [options.memory=50] - is the maximum memory in MB to use for this cache
66
+ * @param {number} [options.files=20] - is the maximum number of files to hold open
67
+ * @param {number} [options.items=100] - is the maximum number of operations to cache
68
+ * @returns {Object}
69
+ */
70
+ function cache (options) {
71
+ if (is.bool(options)) {
72
+ if (options) {
73
+ // Default cache settings of 50MB, 20 files, 100 items
74
+ return sharp.cache(50, 20, 100);
75
+ } else {
76
+ return sharp.cache(0, 0, 0);
77
+ }
78
+ } else if (is.object(options)) {
79
+ return sharp.cache(options.memory, options.files, options.items);
80
+ } else {
81
+ return sharp.cache();
82
+ }
83
+ }
84
+ cache(true);
85
+
86
+ /**
87
+ * Gets or, when a concurrency is provided, sets
88
+ * the number of threads _libvips'_ should create to process each image.
89
+ *
90
+ * The default value is the number of CPU cores,
91
+ * except when using glibc-based Linux without jemalloc,
92
+ * where the default is `1` to help reduce memory fragmentation.
93
+ *
94
+ * A value of `0` will reset this to the number of CPU cores.
95
+ *
96
+ * The maximum number of images that can be processed in parallel
97
+ * is limited by libuv's `UV_THREADPOOL_SIZE` environment variable.
98
+ *
99
+ * This method always returns the current concurrency.
100
+ *
101
+ * @example
102
+ * const threads = sharp.concurrency(); // 4
103
+ * sharp.concurrency(2); // 2
104
+ * sharp.concurrency(0); // 4
105
+ *
106
+ * @param {number} [concurrency]
107
+ * @returns {number} concurrency
108
+ */
109
+ function concurrency (concurrency) {
110
+ return sharp.concurrency(is.integer(concurrency) ? concurrency : null);
111
+ }
112
+ /* istanbul ignore next */
113
+ if (detectLibc.family === detectLibc.GLIBC && !sharp._isUsingJemalloc()) {
114
+ // Reduce default concurrency to 1 when using glibc memory allocator
115
+ sharp.concurrency(1);
116
+ }
117
+
118
+ /**
119
+ * An EventEmitter that emits a `change` event when a task is either:
120
+ * - queued, waiting for _libuv_ to provide a worker thread
121
+ * - complete
122
+ * @member
123
+ * @example
124
+ * sharp.queue.on('change', function(queueLength) {
125
+ * console.log('Queue contains ' + queueLength + ' task(s)');
126
+ * });
127
+ */
128
+ const queue = new events.EventEmitter();
129
+
130
+ /**
131
+ * Provides access to internal task counters.
132
+ * - queue is the number of tasks this module has queued waiting for _libuv_ to provide a worker thread from its pool.
133
+ * - process is the number of resize tasks currently being processed.
134
+ *
135
+ * @example
136
+ * const counters = sharp.counters(); // { queue: 2, process: 4 }
137
+ *
138
+ * @returns {Object}
139
+ */
140
+ function counters () {
141
+ return sharp.counters();
142
+ }
143
+
144
+ /**
145
+ * Get and set use of SIMD vector unit instructions.
146
+ * Requires libvips to have been compiled with liborc support.
147
+ *
148
+ * Improves the performance of `resize`, `blur` and `sharpen` operations
149
+ * by taking advantage of the SIMD vector unit of the CPU, e.g. Intel SSE and ARM NEON.
150
+ *
151
+ * @example
152
+ * const simd = sharp.simd();
153
+ * // simd is `true` if the runtime use of liborc is currently enabled
154
+ * @example
155
+ * const simd = sharp.simd(false);
156
+ * // prevent libvips from using liborc at runtime
157
+ *
158
+ * @param {boolean} [simd=true]
159
+ * @returns {boolean}
160
+ */
161
+ function simd (simd) {
162
+ return sharp.simd(is.bool(simd) ? simd : null);
163
+ }
164
+ simd(true);
165
+
166
+ /**
167
+ * Decorate the Sharp class with utility-related functions.
168
+ * @private
169
+ */
170
+ module.exports = function (Sharp) {
171
+ Sharp.cache = cache;
172
+ Sharp.concurrency = concurrency;
173
+ Sharp.counters = counters;
174
+ Sharp.simd = simd;
175
+ Sharp.format = format;
176
+ Sharp.interpolators = interpolators;
177
+ Sharp.versions = versions;
178
+ Sharp.queue = queue;
179
+ };