@basemaps/lambda-tiler 6.41.0 → 6.44.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 (474) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/build/__tests__/index.test.js +17 -5
  3. package/build/__tests__/index.test.js.map +1 -1
  4. package/build/cli/render.preview.d.ts +2 -0
  5. package/build/cli/render.preview.d.ts.map +1 -0
  6. package/build/cli/render.preview.js +38 -0
  7. package/build/cli/render.preview.js.map +1 -0
  8. package/build/cli/render.tile.js +25 -10
  9. package/build/cli/render.tile.js.map +1 -1
  10. package/build/index.d.ts.map +1 -1
  11. package/build/index.js +6 -0
  12. package/build/index.js.map +1 -1
  13. package/build/routes/__tests__/preview.index.test.d.ts +2 -0
  14. package/build/routes/__tests__/preview.index.test.d.ts.map +1 -0
  15. package/build/routes/__tests__/preview.index.test.js +82 -0
  16. package/build/routes/__tests__/preview.index.test.js.map +1 -0
  17. package/build/routes/attribution.d.ts.map +1 -1
  18. package/build/routes/attribution.js +1 -3
  19. package/build/routes/attribution.js.map +1 -1
  20. package/build/routes/preview.d.ts +58 -0
  21. package/build/routes/preview.d.ts.map +1 -0
  22. package/build/routes/preview.index.d.ts +23 -0
  23. package/build/routes/preview.index.d.ts.map +1 -0
  24. package/build/routes/preview.index.js +98 -0
  25. package/build/routes/preview.index.js.map +1 -0
  26. package/build/routes/preview.js +159 -0
  27. package/build/routes/preview.js.map +1 -0
  28. package/build/routes/tile.xyz.raster.d.ts +15 -0
  29. package/build/routes/tile.xyz.raster.d.ts.map +1 -1
  30. package/build/routes/tile.xyz.raster.js +45 -26
  31. package/build/routes/tile.xyz.raster.js.map +1 -1
  32. package/build/routes/version.d.ts.map +1 -1
  33. package/build/routes/version.js +17 -1
  34. package/build/routes/version.js.map +1 -1
  35. package/build/util/validate.d.ts +3 -1
  36. package/build/util/validate.d.ts.map +1 -1
  37. package/build/util/validate.js +10 -0
  38. package/build/util/validate.js.map +1 -1
  39. package/bundle.sh +1 -1
  40. package/package.json +9 -9
  41. package/src/__tests__/index.test.ts +20 -5
  42. package/src/cli/render.preview.ts +44 -0
  43. package/src/cli/render.tile.ts +26 -10
  44. package/src/index.ts +7 -0
  45. package/src/routes/__tests__/preview.index.test.ts +94 -0
  46. package/src/routes/attribution.ts +1 -3
  47. package/src/routes/preview.index.ts +119 -0
  48. package/src/routes/preview.ts +234 -0
  49. package/src/routes/tile.xyz.raster.ts +53 -29
  50. package/src/routes/version.ts +17 -1
  51. package/src/util/validate.ts +10 -1
  52. package/tsconfig.tsbuildinfo +1 -1
  53. package/dist/index.js +0 -229
  54. package/dist/node_modules/.package-lock.json +0 -491
  55. package/dist/node_modules/base64-js/LICENSE +0 -21
  56. package/dist/node_modules/base64-js/README.md +0 -34
  57. package/dist/node_modules/base64-js/base64js.min.js +0 -1
  58. package/dist/node_modules/base64-js/index.d.ts +0 -3
  59. package/dist/node_modules/base64-js/index.js +0 -150
  60. package/dist/node_modules/base64-js/package.json +0 -47
  61. package/dist/node_modules/bl/.travis.yml +0 -17
  62. package/dist/node_modules/bl/BufferList.js +0 -396
  63. package/dist/node_modules/bl/LICENSE.md +0 -13
  64. package/dist/node_modules/bl/README.md +0 -247
  65. package/dist/node_modules/bl/bl.js +0 -84
  66. package/dist/node_modules/bl/package.json +0 -37
  67. package/dist/node_modules/bl/test/convert.js +0 -21
  68. package/dist/node_modules/bl/test/indexOf.js +0 -492
  69. package/dist/node_modules/bl/test/isBufferList.js +0 -32
  70. package/dist/node_modules/bl/test/test.js +0 -869
  71. package/dist/node_modules/buffer/AUTHORS.md +0 -70
  72. package/dist/node_modules/buffer/LICENSE +0 -21
  73. package/dist/node_modules/buffer/README.md +0 -410
  74. package/dist/node_modules/buffer/index.d.ts +0 -186
  75. package/dist/node_modules/buffer/index.js +0 -1817
  76. package/dist/node_modules/buffer/package.json +0 -96
  77. package/dist/node_modules/chownr/LICENSE +0 -15
  78. package/dist/node_modules/chownr/README.md +0 -3
  79. package/dist/node_modules/chownr/chownr.js +0 -167
  80. package/dist/node_modules/chownr/package.json +0 -29
  81. package/dist/node_modules/color/LICENSE +0 -21
  82. package/dist/node_modules/color/README.md +0 -123
  83. package/dist/node_modules/color/index.js +0 -496
  84. package/dist/node_modules/color/package.json +0 -47
  85. package/dist/node_modules/color-convert/CHANGELOG.md +0 -54
  86. package/dist/node_modules/color-convert/LICENSE +0 -21
  87. package/dist/node_modules/color-convert/README.md +0 -68
  88. package/dist/node_modules/color-convert/conversions.js +0 -839
  89. package/dist/node_modules/color-convert/index.js +0 -81
  90. package/dist/node_modules/color-convert/package.json +0 -48
  91. package/dist/node_modules/color-convert/route.js +0 -97
  92. package/dist/node_modules/color-name/LICENSE +0 -8
  93. package/dist/node_modules/color-name/README.md +0 -11
  94. package/dist/node_modules/color-name/index.js +0 -152
  95. package/dist/node_modules/color-name/package.json +0 -28
  96. package/dist/node_modules/color-string/LICENSE +0 -21
  97. package/dist/node_modules/color-string/README.md +0 -62
  98. package/dist/node_modules/color-string/index.js +0 -242
  99. package/dist/node_modules/color-string/package.json +0 -39
  100. package/dist/node_modules/decompress-response/index.d.ts +0 -22
  101. package/dist/node_modules/decompress-response/index.js +0 -58
  102. package/dist/node_modules/decompress-response/license +0 -9
  103. package/dist/node_modules/decompress-response/package.json +0 -56
  104. package/dist/node_modules/decompress-response/readme.md +0 -48
  105. package/dist/node_modules/deep-extend/CHANGELOG.md +0 -46
  106. package/dist/node_modules/deep-extend/LICENSE +0 -20
  107. package/dist/node_modules/deep-extend/README.md +0 -91
  108. package/dist/node_modules/deep-extend/index.js +0 -1
  109. package/dist/node_modules/deep-extend/lib/deep-extend.js +0 -150
  110. package/dist/node_modules/deep-extend/package.json +0 -62
  111. package/dist/node_modules/detect-libc/LICENSE +0 -201
  112. package/dist/node_modules/detect-libc/README.md +0 -163
  113. package/dist/node_modules/detect-libc/index.d.ts +0 -14
  114. package/dist/node_modules/detect-libc/lib/detect-libc.js +0 -279
  115. package/dist/node_modules/detect-libc/lib/filesystem.js +0 -41
  116. package/dist/node_modules/detect-libc/lib/process.js +0 -19
  117. package/dist/node_modules/detect-libc/package.json +0 -40
  118. package/dist/node_modules/end-of-stream/LICENSE +0 -21
  119. package/dist/node_modules/end-of-stream/README.md +0 -54
  120. package/dist/node_modules/end-of-stream/index.js +0 -94
  121. package/dist/node_modules/end-of-stream/package.json +0 -37
  122. package/dist/node_modules/expand-template/.travis.yml +0 -6
  123. package/dist/node_modules/expand-template/LICENSE +0 -21
  124. package/dist/node_modules/expand-template/README.md +0 -43
  125. package/dist/node_modules/expand-template/index.js +0 -26
  126. package/dist/node_modules/expand-template/package.json +0 -29
  127. package/dist/node_modules/expand-template/test.js +0 -67
  128. package/dist/node_modules/fs-constants/LICENSE +0 -21
  129. package/dist/node_modules/fs-constants/README.md +0 -26
  130. package/dist/node_modules/fs-constants/browser.js +0 -1
  131. package/dist/node_modules/fs-constants/index.js +0 -1
  132. package/dist/node_modules/fs-constants/package.json +0 -19
  133. package/dist/node_modules/github-from-package/.travis.yml +0 -4
  134. package/dist/node_modules/github-from-package/LICENSE +0 -18
  135. package/dist/node_modules/github-from-package/example/package.json +0 -8
  136. package/dist/node_modules/github-from-package/example/url.js +0 -3
  137. package/dist/node_modules/github-from-package/index.js +0 -17
  138. package/dist/node_modules/github-from-package/package.json +0 -30
  139. package/dist/node_modules/github-from-package/readme.markdown +0 -53
  140. package/dist/node_modules/github-from-package/test/a.json +0 -8
  141. package/dist/node_modules/github-from-package/test/b.json +0 -5
  142. package/dist/node_modules/github-from-package/test/c.json +0 -5
  143. package/dist/node_modules/github-from-package/test/d.json +0 -7
  144. package/dist/node_modules/github-from-package/test/e.json +0 -5
  145. package/dist/node_modules/github-from-package/test/url.js +0 -19
  146. package/dist/node_modules/ieee754/LICENSE +0 -11
  147. package/dist/node_modules/ieee754/README.md +0 -51
  148. package/dist/node_modules/ieee754/index.d.ts +0 -10
  149. package/dist/node_modules/ieee754/index.js +0 -85
  150. package/dist/node_modules/ieee754/package.json +0 -52
  151. package/dist/node_modules/inherits/LICENSE +0 -16
  152. package/dist/node_modules/inherits/README.md +0 -42
  153. package/dist/node_modules/inherits/inherits.js +0 -9
  154. package/dist/node_modules/inherits/inherits_browser.js +0 -27
  155. package/dist/node_modules/inherits/package.json +0 -29
  156. package/dist/node_modules/ini/LICENSE +0 -15
  157. package/dist/node_modules/ini/README.md +0 -102
  158. package/dist/node_modules/ini/ini.js +0 -206
  159. package/dist/node_modules/ini/package.json +0 -33
  160. package/dist/node_modules/is-arrayish/LICENSE +0 -21
  161. package/dist/node_modules/is-arrayish/README.md +0 -16
  162. package/dist/node_modules/is-arrayish/index.js +0 -9
  163. package/dist/node_modules/is-arrayish/package.json +0 -45
  164. package/dist/node_modules/is-arrayish/yarn-error.log +0 -1443
  165. package/dist/node_modules/lru-cache/LICENSE +0 -15
  166. package/dist/node_modules/lru-cache/README.md +0 -166
  167. package/dist/node_modules/lru-cache/index.js +0 -334
  168. package/dist/node_modules/lru-cache/package.json +0 -34
  169. package/dist/node_modules/mimic-response/index.d.ts +0 -17
  170. package/dist/node_modules/mimic-response/index.js +0 -77
  171. package/dist/node_modules/mimic-response/license +0 -9
  172. package/dist/node_modules/mimic-response/package.json +0 -42
  173. package/dist/node_modules/mimic-response/readme.md +0 -78
  174. package/dist/node_modules/minimist/.eslintrc +0 -29
  175. package/dist/node_modules/minimist/.github/FUNDING.yml +0 -12
  176. package/dist/node_modules/minimist/.nycrc +0 -14
  177. package/dist/node_modules/minimist/CHANGELOG.md +0 -298
  178. package/dist/node_modules/minimist/LICENSE +0 -18
  179. package/dist/node_modules/minimist/README.md +0 -121
  180. package/dist/node_modules/minimist/example/parse.js +0 -4
  181. package/dist/node_modules/minimist/index.js +0 -263
  182. package/dist/node_modules/minimist/package.json +0 -75
  183. package/dist/node_modules/minimist/test/all_bool.js +0 -34
  184. package/dist/node_modules/minimist/test/bool.js +0 -177
  185. package/dist/node_modules/minimist/test/dash.js +0 -43
  186. package/dist/node_modules/minimist/test/default_bool.js +0 -37
  187. package/dist/node_modules/minimist/test/dotted.js +0 -24
  188. package/dist/node_modules/minimist/test/kv_short.js +0 -32
  189. package/dist/node_modules/minimist/test/long.js +0 -33
  190. package/dist/node_modules/minimist/test/num.js +0 -38
  191. package/dist/node_modules/minimist/test/parse.js +0 -209
  192. package/dist/node_modules/minimist/test/parse_modified.js +0 -11
  193. package/dist/node_modules/minimist/test/proto.js +0 -64
  194. package/dist/node_modules/minimist/test/short.js +0 -69
  195. package/dist/node_modules/minimist/test/stop_early.js +0 -17
  196. package/dist/node_modules/minimist/test/unknown.js +0 -104
  197. package/dist/node_modules/minimist/test/whitespace.js +0 -10
  198. package/dist/node_modules/mkdirp-classic/LICENSE +0 -21
  199. package/dist/node_modules/mkdirp-classic/README.md +0 -18
  200. package/dist/node_modules/mkdirp-classic/index.js +0 -98
  201. package/dist/node_modules/mkdirp-classic/package.json +0 -18
  202. package/dist/node_modules/napi-build-utils/LICENSE +0 -21
  203. package/dist/node_modules/napi-build-utils/README.md +0 -48
  204. package/dist/node_modules/napi-build-utils/index.js +0 -213
  205. package/dist/node_modules/napi-build-utils/index.md +0 -81
  206. package/dist/node_modules/napi-build-utils/package.json +0 -41
  207. package/dist/node_modules/node-abi/.circleci/config.yml +0 -45
  208. package/dist/node_modules/node-abi/.github/CODEOWNERS +0 -1
  209. package/dist/node_modules/node-abi/.github/workflows/semantic.yml +0 -26
  210. package/dist/node_modules/node-abi/.github/workflows/update-abi.yml +0 -42
  211. package/dist/node_modules/node-abi/.releaserc.json +0 -9
  212. package/dist/node_modules/node-abi/CODE_OF_CONDUCT.md +0 -73
  213. package/dist/node_modules/node-abi/CONTRIBUTING.md +0 -62
  214. package/dist/node_modules/node-abi/LICENSE +0 -21
  215. package/dist/node_modules/node-abi/README.md +0 -52
  216. package/dist/node_modules/node-abi/abi_registry.json +0 -269
  217. package/dist/node_modules/node-abi/index.js +0 -179
  218. package/dist/node_modules/node-abi/package.json +0 -38
  219. package/dist/node_modules/node-abi/scripts/update-abi-registry.js +0 -119
  220. package/dist/node_modules/node-abi/test/index.js +0 -166
  221. package/dist/node_modules/node-addon-api/LICENSE.md +0 -13
  222. package/dist/node_modules/node-addon-api/README.md +0 -317
  223. package/dist/node_modules/node-addon-api/common.gypi +0 -21
  224. package/dist/node_modules/node-addon-api/except.gypi +0 -25
  225. package/dist/node_modules/node-addon-api/index.js +0 -11
  226. package/dist/node_modules/node-addon-api/napi-inl.deprecated.h +0 -186
  227. package/dist/node_modules/node-addon-api/napi-inl.h +0 -6303
  228. package/dist/node_modules/node-addon-api/napi.h +0 -3114
  229. package/dist/node_modules/node-addon-api/node_api.gyp +0 -9
  230. package/dist/node_modules/node-addon-api/noexcept.gypi +0 -26
  231. package/dist/node_modules/node-addon-api/nothing.c +0 -0
  232. package/dist/node_modules/node-addon-api/package-support.json +0 -21
  233. package/dist/node_modules/node-addon-api/package.json +0 -456
  234. package/dist/node_modules/node-addon-api/tools/README.md +0 -73
  235. package/dist/node_modules/node-addon-api/tools/check-napi.js +0 -99
  236. package/dist/node_modules/node-addon-api/tools/clang-format.js +0 -71
  237. package/dist/node_modules/node-addon-api/tools/conversion.js +0 -301
  238. package/dist/node_modules/node-addon-api/tools/eslint-format.js +0 -79
  239. package/dist/node_modules/once/LICENSE +0 -15
  240. package/dist/node_modules/once/README.md +0 -79
  241. package/dist/node_modules/once/once.js +0 -42
  242. package/dist/node_modules/once/package.json +0 -33
  243. package/dist/node_modules/prebuild-install/CHANGELOG.md +0 -116
  244. package/dist/node_modules/prebuild-install/CONTRIBUTING.md +0 -6
  245. package/dist/node_modules/prebuild-install/LICENSE +0 -21
  246. package/dist/node_modules/prebuild-install/README.md +0 -163
  247. package/dist/node_modules/prebuild-install/asset.js +0 -44
  248. package/dist/node_modules/prebuild-install/bin.js +0 -78
  249. package/dist/node_modules/prebuild-install/download.js +0 -142
  250. package/dist/node_modules/prebuild-install/error.js +0 -14
  251. package/dist/node_modules/prebuild-install/help.txt +0 -16
  252. package/dist/node_modules/prebuild-install/index.js +0 -1
  253. package/dist/node_modules/prebuild-install/log.js +0 -33
  254. package/dist/node_modules/prebuild-install/package.json +0 -67
  255. package/dist/node_modules/prebuild-install/proxy.js +0 -35
  256. package/dist/node_modules/prebuild-install/rc.js +0 -64
  257. package/dist/node_modules/prebuild-install/util.js +0 -143
  258. package/dist/node_modules/pump/.travis.yml +0 -5
  259. package/dist/node_modules/pump/LICENSE +0 -21
  260. package/dist/node_modules/pump/README.md +0 -65
  261. package/dist/node_modules/pump/index.js +0 -82
  262. package/dist/node_modules/pump/package.json +0 -24
  263. package/dist/node_modules/pump/test-browser.js +0 -66
  264. package/dist/node_modules/pump/test-node.js +0 -53
  265. package/dist/node_modules/rc/LICENSE.APACHE2 +0 -15
  266. package/dist/node_modules/rc/LICENSE.BSD +0 -26
  267. package/dist/node_modules/rc/LICENSE.MIT +0 -24
  268. package/dist/node_modules/rc/README.md +0 -227
  269. package/dist/node_modules/rc/browser.js +0 -7
  270. package/dist/node_modules/rc/cli.js +0 -4
  271. package/dist/node_modules/rc/index.js +0 -53
  272. package/dist/node_modules/rc/lib/utils.js +0 -104
  273. package/dist/node_modules/rc/package.json +0 -29
  274. package/dist/node_modules/rc/test/ini.js +0 -16
  275. package/dist/node_modules/rc/test/nested-env-vars.js +0 -50
  276. package/dist/node_modules/rc/test/test.js +0 -59
  277. package/dist/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  278. package/dist/node_modules/readable-stream/GOVERNANCE.md +0 -136
  279. package/dist/node_modules/readable-stream/LICENSE +0 -47
  280. package/dist/node_modules/readable-stream/README.md +0 -106
  281. package/dist/node_modules/readable-stream/errors-browser.js +0 -127
  282. package/dist/node_modules/readable-stream/errors.js +0 -116
  283. package/dist/node_modules/readable-stream/experimentalWarning.js +0 -17
  284. package/dist/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
  285. package/dist/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
  286. package/dist/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
  287. package/dist/node_modules/readable-stream/lib/_stream_transform.js +0 -190
  288. package/dist/node_modules/readable-stream/lib/_stream_writable.js +0 -641
  289. package/dist/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
  290. package/dist/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
  291. package/dist/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
  292. package/dist/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
  293. package/dist/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  294. package/dist/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
  295. package/dist/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
  296. package/dist/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
  297. package/dist/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  298. package/dist/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  299. package/dist/node_modules/readable-stream/package.json +0 -68
  300. package/dist/node_modules/readable-stream/readable-browser.js +0 -9
  301. package/dist/node_modules/readable-stream/readable.js +0 -16
  302. package/dist/node_modules/safe-buffer/LICENSE +0 -21
  303. package/dist/node_modules/safe-buffer/README.md +0 -584
  304. package/dist/node_modules/safe-buffer/index.d.ts +0 -187
  305. package/dist/node_modules/safe-buffer/index.js +0 -65
  306. package/dist/node_modules/safe-buffer/package.json +0 -51
  307. package/dist/node_modules/semver/LICENSE +0 -15
  308. package/dist/node_modules/semver/README.md +0 -637
  309. package/dist/node_modules/semver/bin/semver.js +0 -197
  310. package/dist/node_modules/semver/classes/comparator.js +0 -141
  311. package/dist/node_modules/semver/classes/index.js +0 -5
  312. package/dist/node_modules/semver/classes/range.js +0 -539
  313. package/dist/node_modules/semver/classes/semver.js +0 -302
  314. package/dist/node_modules/semver/functions/clean.js +0 -6
  315. package/dist/node_modules/semver/functions/cmp.js +0 -52
  316. package/dist/node_modules/semver/functions/coerce.js +0 -52
  317. package/dist/node_modules/semver/functions/compare-build.js +0 -7
  318. package/dist/node_modules/semver/functions/compare-loose.js +0 -3
  319. package/dist/node_modules/semver/functions/compare.js +0 -5
  320. package/dist/node_modules/semver/functions/diff.js +0 -65
  321. package/dist/node_modules/semver/functions/eq.js +0 -3
  322. package/dist/node_modules/semver/functions/gt.js +0 -3
  323. package/dist/node_modules/semver/functions/gte.js +0 -3
  324. package/dist/node_modules/semver/functions/inc.js +0 -19
  325. package/dist/node_modules/semver/functions/lt.js +0 -3
  326. package/dist/node_modules/semver/functions/lte.js +0 -3
  327. package/dist/node_modules/semver/functions/major.js +0 -3
  328. package/dist/node_modules/semver/functions/minor.js +0 -3
  329. package/dist/node_modules/semver/functions/neq.js +0 -3
  330. package/dist/node_modules/semver/functions/parse.js +0 -16
  331. package/dist/node_modules/semver/functions/patch.js +0 -3
  332. package/dist/node_modules/semver/functions/prerelease.js +0 -6
  333. package/dist/node_modules/semver/functions/rcompare.js +0 -3
  334. package/dist/node_modules/semver/functions/rsort.js +0 -3
  335. package/dist/node_modules/semver/functions/satisfies.js +0 -10
  336. package/dist/node_modules/semver/functions/sort.js +0 -3
  337. package/dist/node_modules/semver/functions/valid.js +0 -6
  338. package/dist/node_modules/semver/index.js +0 -89
  339. package/dist/node_modules/semver/internal/constants.js +0 -35
  340. package/dist/node_modules/semver/internal/debug.js +0 -9
  341. package/dist/node_modules/semver/internal/identifiers.js +0 -23
  342. package/dist/node_modules/semver/internal/parse-options.js +0 -15
  343. package/dist/node_modules/semver/internal/re.js +0 -212
  344. package/dist/node_modules/semver/package.json +0 -87
  345. package/dist/node_modules/semver/preload.js +0 -2
  346. package/dist/node_modules/semver/range.bnf +0 -16
  347. package/dist/node_modules/semver/ranges/gtr.js +0 -4
  348. package/dist/node_modules/semver/ranges/intersects.js +0 -7
  349. package/dist/node_modules/semver/ranges/ltr.js +0 -4
  350. package/dist/node_modules/semver/ranges/max-satisfying.js +0 -25
  351. package/dist/node_modules/semver/ranges/min-satisfying.js +0 -24
  352. package/dist/node_modules/semver/ranges/min-version.js +0 -61
  353. package/dist/node_modules/semver/ranges/outside.js +0 -80
  354. package/dist/node_modules/semver/ranges/simplify.js +0 -47
  355. package/dist/node_modules/semver/ranges/subset.js +0 -247
  356. package/dist/node_modules/semver/ranges/to-comparators.js +0 -8
  357. package/dist/node_modules/semver/ranges/valid.js +0 -11
  358. package/dist/node_modules/sharp/LICENSE +0 -191
  359. package/dist/node_modules/sharp/README.md +0 -117
  360. package/dist/node_modules/sharp/binding.gyp +0 -233
  361. package/dist/node_modules/sharp/build/Release/sharp-linux-x64.node +0 -0
  362. package/dist/node_modules/sharp/install/can-compile.js +0 -11
  363. package/dist/node_modules/sharp/install/dll-copy.js +0 -37
  364. package/dist/node_modules/sharp/install/libvips.js +0 -215
  365. package/dist/node_modules/sharp/lib/agent.js +0 -40
  366. package/dist/node_modules/sharp/lib/channel.js +0 -171
  367. package/dist/node_modules/sharp/lib/colour.js +0 -180
  368. package/dist/node_modules/sharp/lib/composite.js +0 -193
  369. package/dist/node_modules/sharp/lib/constructor.js +0 -386
  370. package/dist/node_modules/sharp/lib/index.js +0 -13
  371. package/dist/node_modules/sharp/lib/input.js +0 -507
  372. package/dist/node_modules/sharp/lib/is.js +0 -143
  373. package/dist/node_modules/sharp/lib/libvips.js +0 -136
  374. package/dist/node_modules/sharp/lib/operation.js +0 -803
  375. package/dist/node_modules/sharp/lib/output.js +0 -1231
  376. package/dist/node_modules/sharp/lib/platform.js +0 -27
  377. package/dist/node_modules/sharp/lib/resize.js +0 -473
  378. package/dist/node_modules/sharp/lib/sharp.js +0 -35
  379. package/dist/node_modules/sharp/lib/utility.js +0 -211
  380. package/dist/node_modules/sharp/package.json +0 -196
  381. package/dist/node_modules/sharp/src/common.cc +0 -966
  382. package/dist/node_modules/sharp/src/common.h +0 -352
  383. package/dist/node_modules/sharp/src/libvips/cplusplus/VConnection.cpp +0 -152
  384. package/dist/node_modules/sharp/src/libvips/cplusplus/VError.cpp +0 -50
  385. package/dist/node_modules/sharp/src/libvips/cplusplus/VImage.cpp +0 -1523
  386. package/dist/node_modules/sharp/src/libvips/cplusplus/VInterpolate.cpp +0 -63
  387. package/dist/node_modules/sharp/src/libvips/cplusplus/vips-operators.cpp +0 -3738
  388. package/dist/node_modules/sharp/src/metadata.cc +0 -291
  389. package/dist/node_modules/sharp/src/metadata.h +0 -92
  390. package/dist/node_modules/sharp/src/operations.cc +0 -412
  391. package/dist/node_modules/sharp/src/operations.h +0 -126
  392. package/dist/node_modules/sharp/src/pipeline.cc +0 -1624
  393. package/dist/node_modules/sharp/src/pipeline.h +0 -349
  394. package/dist/node_modules/sharp/src/sharp.cc +0 -52
  395. package/dist/node_modules/sharp/src/stats.cc +0 -193
  396. package/dist/node_modules/sharp/src/stats.h +0 -70
  397. package/dist/node_modules/sharp/src/utilities.cc +0 -243
  398. package/dist/node_modules/sharp/src/utilities.h +0 -29
  399. package/dist/node_modules/sharp/vendor/8.12.2/linux-x64/THIRD-PARTY-NOTICES.md +0 -43
  400. package/dist/node_modules/sharp/vendor/8.12.2/linux-x64/lib/libvips-cpp.so.42 +0 -0
  401. package/dist/node_modules/sharp/vendor/8.12.2/linux-x64/platform.json +0 -1
  402. package/dist/node_modules/sharp/vendor/8.12.2/linux-x64/versions.json +0 -31
  403. package/dist/node_modules/simple-concat/.travis.yml +0 -3
  404. package/dist/node_modules/simple-concat/LICENSE +0 -20
  405. package/dist/node_modules/simple-concat/README.md +0 -44
  406. package/dist/node_modules/simple-concat/index.js +0 -15
  407. package/dist/node_modules/simple-concat/package.json +0 -47
  408. package/dist/node_modules/simple-concat/test/basic.js +0 -41
  409. package/dist/node_modules/simple-get/.github/dependabot.yml +0 -15
  410. package/dist/node_modules/simple-get/.github/workflows/ci.yml +0 -23
  411. package/dist/node_modules/simple-get/LICENSE +0 -20
  412. package/dist/node_modules/simple-get/README.md +0 -333
  413. package/dist/node_modules/simple-get/index.js +0 -108
  414. package/dist/node_modules/simple-get/package.json +0 -67
  415. package/dist/node_modules/simple-swizzle/LICENSE +0 -21
  416. package/dist/node_modules/simple-swizzle/README.md +0 -39
  417. package/dist/node_modules/simple-swizzle/index.js +0 -29
  418. package/dist/node_modules/simple-swizzle/package.json +0 -36
  419. package/dist/node_modules/string_decoder/LICENSE +0 -48
  420. package/dist/node_modules/string_decoder/README.md +0 -47
  421. package/dist/node_modules/string_decoder/lib/string_decoder.js +0 -296
  422. package/dist/node_modules/string_decoder/package.json +0 -34
  423. package/dist/node_modules/strip-json-comments/index.js +0 -70
  424. package/dist/node_modules/strip-json-comments/license +0 -21
  425. package/dist/node_modules/strip-json-comments/package.json +0 -42
  426. package/dist/node_modules/strip-json-comments/readme.md +0 -64
  427. package/dist/node_modules/tar-fs/.travis.yml +0 -6
  428. package/dist/node_modules/tar-fs/LICENSE +0 -21
  429. package/dist/node_modules/tar-fs/README.md +0 -165
  430. package/dist/node_modules/tar-fs/index.js +0 -351
  431. package/dist/node_modules/tar-fs/package.json +0 -41
  432. package/dist/node_modules/tar-fs/test/fixtures/a/hello.txt +0 -1
  433. package/dist/node_modules/tar-fs/test/fixtures/b/a/test.txt +0 -1
  434. package/dist/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  435. package/dist/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  436. package/dist/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  437. package/dist/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  438. package/dist/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  439. package/dist/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  440. package/dist/node_modules/tar-fs/test/fixtures/e/file +0 -0
  441. package/dist/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  442. package/dist/node_modules/tar-fs/test/index.js +0 -346
  443. package/dist/node_modules/tar-stream/LICENSE +0 -21
  444. package/dist/node_modules/tar-stream/README.md +0 -168
  445. package/dist/node_modules/tar-stream/extract.js +0 -257
  446. package/dist/node_modules/tar-stream/headers.js +0 -295
  447. package/dist/node_modules/tar-stream/index.js +0 -2
  448. package/dist/node_modules/tar-stream/pack.js +0 -255
  449. package/dist/node_modules/tar-stream/package.json +0 -58
  450. package/dist/node_modules/tar-stream/sandbox.js +0 -11
  451. package/dist/node_modules/tunnel-agent/LICENSE +0 -55
  452. package/dist/node_modules/tunnel-agent/README.md +0 -4
  453. package/dist/node_modules/tunnel-agent/index.js +0 -244
  454. package/dist/node_modules/tunnel-agent/package.json +0 -22
  455. package/dist/node_modules/util-deprecate/History.md +0 -16
  456. package/dist/node_modules/util-deprecate/LICENSE +0 -24
  457. package/dist/node_modules/util-deprecate/README.md +0 -53
  458. package/dist/node_modules/util-deprecate/browser.js +0 -67
  459. package/dist/node_modules/util-deprecate/node.js +0 -6
  460. package/dist/node_modules/util-deprecate/package.json +0 -27
  461. package/dist/node_modules/wrappy/LICENSE +0 -15
  462. package/dist/node_modules/wrappy/README.md +0 -36
  463. package/dist/node_modules/wrappy/package.json +0 -29
  464. package/dist/node_modules/wrappy/wrappy.js +0 -33
  465. package/dist/node_modules/yallist/LICENSE +0 -15
  466. package/dist/node_modules/yallist/README.md +0 -204
  467. package/dist/node_modules/yallist/iterator.js +0 -8
  468. package/dist/node_modules/yallist/package.json +0 -29
  469. package/dist/node_modules/yallist/yallist.js +0 -426
  470. package/dist/package-lock.json +0 -502
  471. package/dist/package.json +0 -38
  472. package/dist/static/expected_tile_2193_153_255_z7.png +0 -0
  473. package/dist/static/expected_tile_NZTM2000Quad_30_33_z6.png +0 -0
  474. package/dist/static/expected_tile_WebMercatorQuad_252_156_z8.png +0 -0
@@ -1,349 +0,0 @@
1
- // Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Lovell Fuller and contributors.
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // http://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
-
15
- #ifndef SRC_PIPELINE_H_
16
- #define SRC_PIPELINE_H_
17
-
18
- #include <memory>
19
- #include <string>
20
- #include <vector>
21
- #include <unordered_map>
22
-
23
- #include <napi.h>
24
- #include <vips/vips8>
25
-
26
- #include "./common.h"
27
-
28
- Napi::Value pipeline(const Napi::CallbackInfo& info);
29
-
30
- struct Composite {
31
- sharp::InputDescriptor *input;
32
- VipsBlendMode mode;
33
- int gravity;
34
- int left;
35
- int top;
36
- bool hasOffset;
37
- bool tile;
38
- bool premultiplied;
39
-
40
- Composite():
41
- input(nullptr),
42
- mode(VIPS_BLEND_MODE_OVER),
43
- gravity(0),
44
- left(0),
45
- top(0),
46
- hasOffset(false),
47
- tile(false),
48
- premultiplied(false) {}
49
- };
50
-
51
- struct PipelineBaton {
52
- sharp::InputDescriptor *input;
53
- std::string formatOut;
54
- std::string fileOut;
55
- void *bufferOut;
56
- size_t bufferOutLength;
57
- std::vector<Composite *> composite;
58
- std::vector<sharp::InputDescriptor *> joinChannelIn;
59
- int topOffsetPre;
60
- int leftOffsetPre;
61
- int widthPre;
62
- int heightPre;
63
- int topOffsetPost;
64
- int leftOffsetPost;
65
- int widthPost;
66
- int heightPost;
67
- int width;
68
- int height;
69
- int channels;
70
- sharp::Canvas canvas;
71
- int position;
72
- std::vector<double> resizeBackground;
73
- bool hasCropOffset;
74
- int cropOffsetLeft;
75
- int cropOffsetTop;
76
- bool premultiplied;
77
- bool tileCentre;
78
- std::string kernel;
79
- bool fastShrinkOnLoad;
80
- double tintA;
81
- double tintB;
82
- bool flatten;
83
- std::vector<double> flattenBackground;
84
- bool negate;
85
- bool negateAlpha;
86
- double blurSigma;
87
- double brightness;
88
- double saturation;
89
- int hue;
90
- double lightness;
91
- int medianSize;
92
- double sharpenSigma;
93
- double sharpenM1;
94
- double sharpenM2;
95
- double sharpenX1;
96
- double sharpenY2;
97
- double sharpenY3;
98
- int threshold;
99
- bool thresholdGrayscale;
100
- double trimThreshold;
101
- int trimOffsetLeft;
102
- int trimOffsetTop;
103
- double linearA;
104
- double linearB;
105
- double gamma;
106
- double gammaOut;
107
- bool greyscale;
108
- bool normalise;
109
- int claheWidth;
110
- int claheHeight;
111
- int claheMaxSlope;
112
- bool useExifOrientation;
113
- int angle;
114
- double rotationAngle;
115
- std::vector<double> rotationBackground;
116
- bool rotateBeforePreExtract;
117
- bool flip;
118
- bool flop;
119
- int extendTop;
120
- int extendBottom;
121
- int extendLeft;
122
- int extendRight;
123
- std::vector<double> extendBackground;
124
- bool withoutEnlargement;
125
- bool withoutReduction;
126
- std::vector<double> affineMatrix;
127
- std::vector<double> affineBackground;
128
- double affineIdx;
129
- double affineIdy;
130
- double affineOdx;
131
- double affineOdy;
132
- std::string affineInterpolator;
133
- int jpegQuality;
134
- bool jpegProgressive;
135
- std::string jpegChromaSubsampling;
136
- bool jpegTrellisQuantisation;
137
- int jpegQuantisationTable;
138
- bool jpegOvershootDeringing;
139
- bool jpegOptimiseScans;
140
- bool jpegOptimiseCoding;
141
- bool pngProgressive;
142
- int pngCompressionLevel;
143
- bool pngAdaptiveFiltering;
144
- bool pngPalette;
145
- int pngQuality;
146
- int pngEffort;
147
- int pngBitdepth;
148
- double pngDither;
149
- int jp2Quality;
150
- bool jp2Lossless;
151
- int jp2TileHeight;
152
- int jp2TileWidth;
153
- std::string jp2ChromaSubsampling;
154
- int webpQuality;
155
- int webpAlphaQuality;
156
- bool webpNearLossless;
157
- bool webpLossless;
158
- bool webpSmartSubsample;
159
- int webpEffort;
160
- int gifBitdepth;
161
- int gifEffort;
162
- double gifDither;
163
- int tiffQuality;
164
- VipsForeignTiffCompression tiffCompression;
165
- VipsForeignTiffPredictor tiffPredictor;
166
- bool tiffPyramid;
167
- int tiffBitdepth;
168
- bool tiffTile;
169
- int tiffTileHeight;
170
- int tiffTileWidth;
171
- double tiffXres;
172
- double tiffYres;
173
- VipsForeignTiffResunit tiffResolutionUnit;
174
- int heifQuality;
175
- VipsForeignHeifCompression heifCompression;
176
- int heifEffort;
177
- std::string heifChromaSubsampling;
178
- bool heifLossless;
179
- VipsBandFormat rawDepth;
180
- std::string err;
181
- bool withMetadata;
182
- int withMetadataOrientation;
183
- double withMetadataDensity;
184
- std::string withMetadataIcc;
185
- std::unordered_map<std::string, std::string> withMetadataStrs;
186
- int timeoutSeconds;
187
- std::unique_ptr<double[]> convKernel;
188
- int convKernelWidth;
189
- int convKernelHeight;
190
- double convKernelScale;
191
- double convKernelOffset;
192
- sharp::InputDescriptor *boolean;
193
- VipsOperationBoolean booleanOp;
194
- VipsOperationBoolean bandBoolOp;
195
- int extractChannel;
196
- bool removeAlpha;
197
- double ensureAlpha;
198
- VipsInterpretation colourspaceInput;
199
- VipsInterpretation colourspace;
200
- std::vector<int> delay;
201
- int loop;
202
- int tileSize;
203
- int tileOverlap;
204
- VipsForeignDzContainer tileContainer;
205
- VipsForeignDzLayout tileLayout;
206
- std::string tileFormat;
207
- int tileAngle;
208
- std::vector<double> tileBackground;
209
- int tileSkipBlanks;
210
- VipsForeignDzDepth tileDepth;
211
- std::string tileId;
212
- std::unique_ptr<double[]> recombMatrix;
213
-
214
- PipelineBaton():
215
- input(nullptr),
216
- bufferOutLength(0),
217
- topOffsetPre(-1),
218
- topOffsetPost(-1),
219
- channels(0),
220
- canvas(sharp::Canvas::CROP),
221
- position(0),
222
- resizeBackground{ 0.0, 0.0, 0.0, 255.0 },
223
- hasCropOffset(false),
224
- cropOffsetLeft(0),
225
- cropOffsetTop(0),
226
- premultiplied(false),
227
- tintA(128.0),
228
- tintB(128.0),
229
- flatten(false),
230
- flattenBackground{ 0.0, 0.0, 0.0 },
231
- negate(false),
232
- negateAlpha(true),
233
- blurSigma(0.0),
234
- brightness(1.0),
235
- saturation(1.0),
236
- hue(0),
237
- lightness(0),
238
- medianSize(0),
239
- sharpenSigma(0.0),
240
- sharpenM1(1.0),
241
- sharpenM2(2.0),
242
- sharpenX1(2.0),
243
- sharpenY2(10.0),
244
- sharpenY3(20.0),
245
- threshold(0),
246
- thresholdGrayscale(true),
247
- trimThreshold(0.0),
248
- trimOffsetLeft(0),
249
- trimOffsetTop(0),
250
- linearA(1.0),
251
- linearB(0.0),
252
- gamma(0.0),
253
- greyscale(false),
254
- normalise(false),
255
- claheWidth(0),
256
- claheHeight(0),
257
- claheMaxSlope(3),
258
- useExifOrientation(false),
259
- angle(0),
260
- rotationAngle(0.0),
261
- rotationBackground{ 0.0, 0.0, 0.0, 255.0 },
262
- flip(false),
263
- flop(false),
264
- extendTop(0),
265
- extendBottom(0),
266
- extendLeft(0),
267
- extendRight(0),
268
- extendBackground{ 0.0, 0.0, 0.0, 255.0 },
269
- withoutEnlargement(false),
270
- withoutReduction(false),
271
- affineMatrix{ 1.0, 0.0, 0.0, 1.0 },
272
- affineBackground{ 0.0, 0.0, 0.0, 255.0 },
273
- affineIdx(0),
274
- affineIdy(0),
275
- affineOdx(0),
276
- affineOdy(0),
277
- affineInterpolator("bicubic"),
278
- jpegQuality(80),
279
- jpegProgressive(false),
280
- jpegChromaSubsampling("4:2:0"),
281
- jpegTrellisQuantisation(false),
282
- jpegQuantisationTable(0),
283
- jpegOvershootDeringing(false),
284
- jpegOptimiseScans(false),
285
- jpegOptimiseCoding(true),
286
- pngProgressive(false),
287
- pngCompressionLevel(6),
288
- pngAdaptiveFiltering(false),
289
- pngPalette(false),
290
- pngQuality(100),
291
- pngEffort(7),
292
- pngBitdepth(8),
293
- pngDither(1.0),
294
- jp2Quality(80),
295
- jp2Lossless(false),
296
- jp2TileHeight(512),
297
- jp2TileWidth(512),
298
- jp2ChromaSubsampling("4:4:4"),
299
- webpQuality(80),
300
- webpAlphaQuality(100),
301
- webpNearLossless(false),
302
- webpLossless(false),
303
- webpSmartSubsample(false),
304
- webpEffort(4),
305
- tiffQuality(80),
306
- tiffCompression(VIPS_FOREIGN_TIFF_COMPRESSION_JPEG),
307
- tiffPredictor(VIPS_FOREIGN_TIFF_PREDICTOR_HORIZONTAL),
308
- tiffPyramid(false),
309
- tiffBitdepth(8),
310
- tiffTile(false),
311
- tiffTileHeight(256),
312
- tiffTileWidth(256),
313
- tiffXres(1.0),
314
- tiffYres(1.0),
315
- tiffResolutionUnit(VIPS_FOREIGN_TIFF_RESUNIT_INCH),
316
- heifQuality(50),
317
- heifCompression(VIPS_FOREIGN_HEIF_COMPRESSION_AV1),
318
- heifEffort(4),
319
- heifChromaSubsampling("4:4:4"),
320
- heifLossless(false),
321
- rawDepth(VIPS_FORMAT_UCHAR),
322
- withMetadata(false),
323
- withMetadataOrientation(-1),
324
- withMetadataDensity(0.0),
325
- timeoutSeconds(0),
326
- convKernelWidth(0),
327
- convKernelHeight(0),
328
- convKernelScale(0.0),
329
- convKernelOffset(0.0),
330
- boolean(nullptr),
331
- booleanOp(VIPS_OPERATION_BOOLEAN_LAST),
332
- bandBoolOp(VIPS_OPERATION_BOOLEAN_LAST),
333
- extractChannel(-1),
334
- removeAlpha(false),
335
- ensureAlpha(-1.0),
336
- colourspaceInput(VIPS_INTERPRETATION_LAST),
337
- colourspace(VIPS_INTERPRETATION_LAST),
338
- loop(-1),
339
- tileSize(256),
340
- tileOverlap(0),
341
- tileContainer(VIPS_FOREIGN_DZ_CONTAINER_FS),
342
- tileLayout(VIPS_FOREIGN_DZ_LAYOUT_DZ),
343
- tileAngle(0),
344
- tileBackground{ 255.0, 255.0, 255.0, 255.0 },
345
- tileSkipBlanks(-1),
346
- tileDepth(VIPS_FOREIGN_DZ_DEPTH_LAST) {}
347
- };
348
-
349
- #endif // SRC_PIPELINE_H_
@@ -1,52 +0,0 @@
1
- // Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Lovell Fuller and contributors.
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // http://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
-
15
- #include <napi.h>
16
- #include <vips/vips8>
17
-
18
- #include "common.h"
19
- #include "metadata.h"
20
- #include "pipeline.h"
21
- #include "utilities.h"
22
- #include "stats.h"
23
-
24
- static void* sharp_vips_init(void*) {
25
- g_setenv("VIPS_MIN_STACK_SIZE", "2m", FALSE);
26
- vips_init("sharp");
27
- return nullptr;
28
- }
29
-
30
- Napi::Object init(Napi::Env env, Napi::Object exports) {
31
- static GOnce sharp_vips_init_once = G_ONCE_INIT;
32
- g_once(&sharp_vips_init_once, static_cast<GThreadFunc>(sharp_vips_init), nullptr);
33
-
34
- g_log_set_handler("VIPS", static_cast<GLogLevelFlags>(G_LOG_LEVEL_WARNING),
35
- static_cast<GLogFunc>(sharp::VipsWarningCallback), nullptr);
36
-
37
- // Methods available to JavaScript
38
- exports.Set("metadata", Napi::Function::New(env, metadata));
39
- exports.Set("pipeline", Napi::Function::New(env, pipeline));
40
- exports.Set("cache", Napi::Function::New(env, cache));
41
- exports.Set("concurrency", Napi::Function::New(env, concurrency));
42
- exports.Set("counters", Napi::Function::New(env, counters));
43
- exports.Set("simd", Napi::Function::New(env, simd));
44
- exports.Set("libvipsVersion", Napi::Function::New(env, libvipsVersion));
45
- exports.Set("format", Napi::Function::New(env, format));
46
- exports.Set("_maxColourDistance", Napi::Function::New(env, _maxColourDistance));
47
- exports.Set("_isUsingJemalloc", Napi::Function::New(env, _isUsingJemalloc));
48
- exports.Set("stats", Napi::Function::New(env, stats));
49
- return exports;
50
- }
51
-
52
- NODE_API_MODULE(sharp, init)
@@ -1,193 +0,0 @@
1
- // Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Lovell Fuller and contributors.
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // http://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
-
15
- #include <numeric>
16
- #include <vector>
17
- #include <iostream>
18
-
19
- #include <napi.h>
20
- #include <vips/vips8>
21
-
22
- #include "common.h"
23
- #include "stats.h"
24
-
25
- class StatsWorker : public Napi::AsyncWorker {
26
- public:
27
- StatsWorker(Napi::Function callback, StatsBaton *baton, Napi::Function debuglog) :
28
- Napi::AsyncWorker(callback), baton(baton), debuglog(Napi::Persistent(debuglog)) {}
29
- ~StatsWorker() {}
30
-
31
- const int STAT_MIN_INDEX = 0;
32
- const int STAT_MAX_INDEX = 1;
33
- const int STAT_SUM_INDEX = 2;
34
- const int STAT_SQ_SUM_INDEX = 3;
35
- const int STAT_MEAN_INDEX = 4;
36
- const int STAT_STDEV_INDEX = 5;
37
- const int STAT_MINX_INDEX = 6;
38
- const int STAT_MINY_INDEX = 7;
39
- const int STAT_MAXX_INDEX = 8;
40
- const int STAT_MAXY_INDEX = 9;
41
-
42
- void Execute() {
43
- // Decrement queued task counter
44
- g_atomic_int_dec_and_test(&sharp::counterQueue);
45
-
46
- vips::VImage image;
47
- sharp::ImageType imageType = sharp::ImageType::UNKNOWN;
48
- try {
49
- std::tie(image, imageType) = OpenInput(baton->input);
50
- } catch (vips::VError const &err) {
51
- (baton->err).append(err.what());
52
- }
53
- if (imageType != sharp::ImageType::UNKNOWN) {
54
- try {
55
- vips::VImage stats = image.stats();
56
- int const bands = image.bands();
57
- for (int b = 1; b <= bands; b++) {
58
- ChannelStats cStats(
59
- static_cast<int>(stats.getpoint(STAT_MIN_INDEX, b).front()),
60
- static_cast<int>(stats.getpoint(STAT_MAX_INDEX, b).front()),
61
- stats.getpoint(STAT_SUM_INDEX, b).front(),
62
- stats.getpoint(STAT_SQ_SUM_INDEX, b).front(),
63
- stats.getpoint(STAT_MEAN_INDEX, b).front(),
64
- stats.getpoint(STAT_STDEV_INDEX, b).front(),
65
- static_cast<int>(stats.getpoint(STAT_MINX_INDEX, b).front()),
66
- static_cast<int>(stats.getpoint(STAT_MINY_INDEX, b).front()),
67
- static_cast<int>(stats.getpoint(STAT_MAXX_INDEX, b).front()),
68
- static_cast<int>(stats.getpoint(STAT_MAXY_INDEX, b).front()));
69
- baton->channelStats.push_back(cStats);
70
- }
71
- // Image is not opaque when alpha layer is present and contains a non-mamixa value
72
- if (sharp::HasAlpha(image)) {
73
- double const minAlpha = static_cast<double>(stats.getpoint(STAT_MIN_INDEX, bands).front());
74
- if (minAlpha != sharp::MaximumImageAlpha(image.interpretation())) {
75
- baton->isOpaque = false;
76
- }
77
- }
78
- // Convert to greyscale
79
- vips::VImage greyscale = image.colourspace(VIPS_INTERPRETATION_B_W)[0];
80
- // Estimate entropy via histogram of greyscale value frequency
81
- baton->entropy = std::abs(greyscale.hist_find().hist_entropy());
82
- // Estimate sharpness via standard deviation of greyscale laplacian
83
- if (image.width() > 1 || image.height() > 1) {
84
- VImage laplacian = VImage::new_matrixv(3, 3,
85
- 0.0, 1.0, 0.0,
86
- 1.0, -4.0, 1.0,
87
- 0.0, 1.0, 0.0);
88
- laplacian.set("scale", 9.0);
89
- baton->sharpness = greyscale.conv(laplacian).deviate();
90
- }
91
- // Most dominant sRGB colour via 4096-bin 3D histogram
92
- vips::VImage hist = sharp::RemoveAlpha(image)
93
- .colourspace(VIPS_INTERPRETATION_sRGB)
94
- .hist_find_ndim(VImage::option()->set("bins", 16));
95
- std::complex<double> maxpos = hist.maxpos();
96
- int const dx = static_cast<int>(std::real(maxpos));
97
- int const dy = static_cast<int>(std::imag(maxpos));
98
- std::vector<double> pel = hist(dx, dy);
99
- int const dz = std::distance(pel.begin(), std::find(pel.begin(), pel.end(), hist.max()));
100
- baton->dominantRed = dx * 16 + 8;
101
- baton->dominantGreen = dy * 16 + 8;
102
- baton->dominantBlue = dz * 16 + 8;
103
- } catch (vips::VError const &err) {
104
- (baton->err).append(err.what());
105
- }
106
- }
107
-
108
- // Clean up
109
- vips_error_clear();
110
- vips_thread_shutdown();
111
- }
112
-
113
- void OnOK() {
114
- Napi::Env env = Env();
115
- Napi::HandleScope scope(env);
116
-
117
- // Handle warnings
118
- std::string warning = sharp::VipsWarningPop();
119
- while (!warning.empty()) {
120
- debuglog.Call({ Napi::String::New(env, warning) });
121
- warning = sharp::VipsWarningPop();
122
- }
123
-
124
- if (baton->err.empty()) {
125
- // Stats Object
126
- Napi::Object info = Napi::Object::New(env);
127
- Napi::Array channels = Napi::Array::New(env);
128
-
129
- std::vector<ChannelStats>::iterator it;
130
- int i = 0;
131
- for (it = baton->channelStats.begin(); it < baton->channelStats.end(); it++, i++) {
132
- Napi::Object channelStat = Napi::Object::New(env);
133
- channelStat.Set("min", it->min);
134
- channelStat.Set("max", it->max);
135
- channelStat.Set("sum", it->sum);
136
- channelStat.Set("squaresSum", it->squaresSum);
137
- channelStat.Set("mean", it->mean);
138
- channelStat.Set("stdev", it->stdev);
139
- channelStat.Set("minX", it->minX);
140
- channelStat.Set("minY", it->minY);
141
- channelStat.Set("maxX", it->maxX);
142
- channelStat.Set("maxY", it->maxY);
143
- channels.Set(i, channelStat);
144
- }
145
-
146
- info.Set("channels", channels);
147
- info.Set("isOpaque", baton->isOpaque);
148
- info.Set("entropy", baton->entropy);
149
- info.Set("sharpness", baton->sharpness);
150
- Napi::Object dominant = Napi::Object::New(env);
151
- dominant.Set("r", baton->dominantRed);
152
- dominant.Set("g", baton->dominantGreen);
153
- dominant.Set("b", baton->dominantBlue);
154
- info.Set("dominant", dominant);
155
- Callback().MakeCallback(Receiver().Value(), { env.Null(), info });
156
- } else {
157
- Callback().MakeCallback(Receiver().Value(), { Napi::Error::New(env, baton->err).Value() });
158
- }
159
-
160
- delete baton->input;
161
- delete baton;
162
- }
163
-
164
- private:
165
- StatsBaton* baton;
166
- Napi::FunctionReference debuglog;
167
- };
168
-
169
- /*
170
- stats(options, callback)
171
- */
172
- Napi::Value stats(const Napi::CallbackInfo& info) {
173
- // V8 objects are converted to non-V8 types held in the baton struct
174
- StatsBaton *baton = new StatsBaton;
175
- Napi::Object options = info[0].As<Napi::Object>();
176
-
177
- // Input
178
- baton->input = sharp::CreateInputDescriptor(options.Get("input").As<Napi::Object>());
179
-
180
- // Function to notify of libvips warnings
181
- Napi::Function debuglog = options.Get("debuglog").As<Napi::Function>();
182
-
183
- // Join queue for worker thread
184
- Napi::Function callback = info[1].As<Napi::Function>();
185
- StatsWorker *worker = new StatsWorker(callback, baton, debuglog);
186
- worker->Receiver().Set("options", options);
187
- worker->Queue();
188
-
189
- // Increment queued task counter
190
- g_atomic_int_inc(&sharp::counterQueue);
191
-
192
- return info.Env().Undefined();
193
- }
@@ -1,70 +0,0 @@
1
- // Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Lovell Fuller and contributors.
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // http://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
-
15
- #ifndef SRC_STATS_H_
16
- #define SRC_STATS_H_
17
-
18
- #include <string>
19
- #include <napi.h>
20
-
21
- #include "./common.h"
22
-
23
- struct ChannelStats {
24
- // stats per channel
25
- int min;
26
- int max;
27
- double sum;
28
- double squaresSum;
29
- double mean;
30
- double stdev;
31
- int minX;
32
- int minY;
33
- int maxX;
34
- int maxY;
35
-
36
- ChannelStats(int minVal, int maxVal, double sumVal, double squaresSumVal,
37
- double meanVal, double stdevVal, int minXVal, int minYVal, int maxXVal, int maxYVal):
38
- min(minVal), max(maxVal), sum(sumVal), squaresSum(squaresSumVal),
39
- mean(meanVal), stdev(stdevVal), minX(minXVal), minY(minYVal), maxX(maxXVal), maxY(maxYVal) {}
40
- };
41
-
42
- struct StatsBaton {
43
- // Input
44
- sharp::InputDescriptor *input;
45
-
46
- // Output
47
- std::vector<ChannelStats> channelStats;
48
- bool isOpaque;
49
- double entropy;
50
- double sharpness;
51
- int dominantRed;
52
- int dominantGreen;
53
- int dominantBlue;
54
-
55
- std::string err;
56
-
57
- StatsBaton():
58
- input(nullptr),
59
- isOpaque(true),
60
- entropy(0.0),
61
- sharpness(0.0),
62
- dominantRed(0),
63
- dominantGreen(0),
64
- dominantBlue(0)
65
- {}
66
- };
67
-
68
- Napi::Value stats(const Napi::CallbackInfo& info);
69
-
70
- #endif // SRC_STATS_H_