@basemaps/lambda-tiler 6.41.0 → 6.43.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 (443) hide show
  1. package/CHANGELOG.md +17 -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.tile.js +25 -10
  5. package/build/cli/render.tile.js.map +1 -1
  6. package/build/routes/attribution.d.ts.map +1 -1
  7. package/build/routes/attribution.js +1 -3
  8. package/build/routes/attribution.js.map +1 -1
  9. package/build/routes/tile.xyz.raster.d.ts.map +1 -1
  10. package/build/routes/tile.xyz.raster.js +0 -2
  11. package/build/routes/tile.xyz.raster.js.map +1 -1
  12. package/build/routes/version.d.ts.map +1 -1
  13. package/build/routes/version.js +17 -1
  14. package/build/routes/version.js.map +1 -1
  15. package/package.json +9 -9
  16. package/src/__tests__/index.test.ts +20 -5
  17. package/src/cli/render.tile.ts +26 -10
  18. package/src/routes/attribution.ts +1 -3
  19. package/src/routes/tile.xyz.raster.ts +0 -1
  20. package/src/routes/version.ts +17 -1
  21. package/tsconfig.tsbuildinfo +1 -1
  22. package/dist/index.js +0 -229
  23. package/dist/node_modules/.package-lock.json +0 -491
  24. package/dist/node_modules/base64-js/LICENSE +0 -21
  25. package/dist/node_modules/base64-js/README.md +0 -34
  26. package/dist/node_modules/base64-js/base64js.min.js +0 -1
  27. package/dist/node_modules/base64-js/index.d.ts +0 -3
  28. package/dist/node_modules/base64-js/index.js +0 -150
  29. package/dist/node_modules/base64-js/package.json +0 -47
  30. package/dist/node_modules/bl/.travis.yml +0 -17
  31. package/dist/node_modules/bl/BufferList.js +0 -396
  32. package/dist/node_modules/bl/LICENSE.md +0 -13
  33. package/dist/node_modules/bl/README.md +0 -247
  34. package/dist/node_modules/bl/bl.js +0 -84
  35. package/dist/node_modules/bl/package.json +0 -37
  36. package/dist/node_modules/bl/test/convert.js +0 -21
  37. package/dist/node_modules/bl/test/indexOf.js +0 -492
  38. package/dist/node_modules/bl/test/isBufferList.js +0 -32
  39. package/dist/node_modules/bl/test/test.js +0 -869
  40. package/dist/node_modules/buffer/AUTHORS.md +0 -70
  41. package/dist/node_modules/buffer/LICENSE +0 -21
  42. package/dist/node_modules/buffer/README.md +0 -410
  43. package/dist/node_modules/buffer/index.d.ts +0 -186
  44. package/dist/node_modules/buffer/index.js +0 -1817
  45. package/dist/node_modules/buffer/package.json +0 -96
  46. package/dist/node_modules/chownr/LICENSE +0 -15
  47. package/dist/node_modules/chownr/README.md +0 -3
  48. package/dist/node_modules/chownr/chownr.js +0 -167
  49. package/dist/node_modules/chownr/package.json +0 -29
  50. package/dist/node_modules/color/LICENSE +0 -21
  51. package/dist/node_modules/color/README.md +0 -123
  52. package/dist/node_modules/color/index.js +0 -496
  53. package/dist/node_modules/color/package.json +0 -47
  54. package/dist/node_modules/color-convert/CHANGELOG.md +0 -54
  55. package/dist/node_modules/color-convert/LICENSE +0 -21
  56. package/dist/node_modules/color-convert/README.md +0 -68
  57. package/dist/node_modules/color-convert/conversions.js +0 -839
  58. package/dist/node_modules/color-convert/index.js +0 -81
  59. package/dist/node_modules/color-convert/package.json +0 -48
  60. package/dist/node_modules/color-convert/route.js +0 -97
  61. package/dist/node_modules/color-name/LICENSE +0 -8
  62. package/dist/node_modules/color-name/README.md +0 -11
  63. package/dist/node_modules/color-name/index.js +0 -152
  64. package/dist/node_modules/color-name/package.json +0 -28
  65. package/dist/node_modules/color-string/LICENSE +0 -21
  66. package/dist/node_modules/color-string/README.md +0 -62
  67. package/dist/node_modules/color-string/index.js +0 -242
  68. package/dist/node_modules/color-string/package.json +0 -39
  69. package/dist/node_modules/decompress-response/index.d.ts +0 -22
  70. package/dist/node_modules/decompress-response/index.js +0 -58
  71. package/dist/node_modules/decompress-response/license +0 -9
  72. package/dist/node_modules/decompress-response/package.json +0 -56
  73. package/dist/node_modules/decompress-response/readme.md +0 -48
  74. package/dist/node_modules/deep-extend/CHANGELOG.md +0 -46
  75. package/dist/node_modules/deep-extend/LICENSE +0 -20
  76. package/dist/node_modules/deep-extend/README.md +0 -91
  77. package/dist/node_modules/deep-extend/index.js +0 -1
  78. package/dist/node_modules/deep-extend/lib/deep-extend.js +0 -150
  79. package/dist/node_modules/deep-extend/package.json +0 -62
  80. package/dist/node_modules/detect-libc/LICENSE +0 -201
  81. package/dist/node_modules/detect-libc/README.md +0 -163
  82. package/dist/node_modules/detect-libc/index.d.ts +0 -14
  83. package/dist/node_modules/detect-libc/lib/detect-libc.js +0 -279
  84. package/dist/node_modules/detect-libc/lib/filesystem.js +0 -41
  85. package/dist/node_modules/detect-libc/lib/process.js +0 -19
  86. package/dist/node_modules/detect-libc/package.json +0 -40
  87. package/dist/node_modules/end-of-stream/LICENSE +0 -21
  88. package/dist/node_modules/end-of-stream/README.md +0 -54
  89. package/dist/node_modules/end-of-stream/index.js +0 -94
  90. package/dist/node_modules/end-of-stream/package.json +0 -37
  91. package/dist/node_modules/expand-template/.travis.yml +0 -6
  92. package/dist/node_modules/expand-template/LICENSE +0 -21
  93. package/dist/node_modules/expand-template/README.md +0 -43
  94. package/dist/node_modules/expand-template/index.js +0 -26
  95. package/dist/node_modules/expand-template/package.json +0 -29
  96. package/dist/node_modules/expand-template/test.js +0 -67
  97. package/dist/node_modules/fs-constants/LICENSE +0 -21
  98. package/dist/node_modules/fs-constants/README.md +0 -26
  99. package/dist/node_modules/fs-constants/browser.js +0 -1
  100. package/dist/node_modules/fs-constants/index.js +0 -1
  101. package/dist/node_modules/fs-constants/package.json +0 -19
  102. package/dist/node_modules/github-from-package/.travis.yml +0 -4
  103. package/dist/node_modules/github-from-package/LICENSE +0 -18
  104. package/dist/node_modules/github-from-package/example/package.json +0 -8
  105. package/dist/node_modules/github-from-package/example/url.js +0 -3
  106. package/dist/node_modules/github-from-package/index.js +0 -17
  107. package/dist/node_modules/github-from-package/package.json +0 -30
  108. package/dist/node_modules/github-from-package/readme.markdown +0 -53
  109. package/dist/node_modules/github-from-package/test/a.json +0 -8
  110. package/dist/node_modules/github-from-package/test/b.json +0 -5
  111. package/dist/node_modules/github-from-package/test/c.json +0 -5
  112. package/dist/node_modules/github-from-package/test/d.json +0 -7
  113. package/dist/node_modules/github-from-package/test/e.json +0 -5
  114. package/dist/node_modules/github-from-package/test/url.js +0 -19
  115. package/dist/node_modules/ieee754/LICENSE +0 -11
  116. package/dist/node_modules/ieee754/README.md +0 -51
  117. package/dist/node_modules/ieee754/index.d.ts +0 -10
  118. package/dist/node_modules/ieee754/index.js +0 -85
  119. package/dist/node_modules/ieee754/package.json +0 -52
  120. package/dist/node_modules/inherits/LICENSE +0 -16
  121. package/dist/node_modules/inherits/README.md +0 -42
  122. package/dist/node_modules/inherits/inherits.js +0 -9
  123. package/dist/node_modules/inherits/inherits_browser.js +0 -27
  124. package/dist/node_modules/inherits/package.json +0 -29
  125. package/dist/node_modules/ini/LICENSE +0 -15
  126. package/dist/node_modules/ini/README.md +0 -102
  127. package/dist/node_modules/ini/ini.js +0 -206
  128. package/dist/node_modules/ini/package.json +0 -33
  129. package/dist/node_modules/is-arrayish/LICENSE +0 -21
  130. package/dist/node_modules/is-arrayish/README.md +0 -16
  131. package/dist/node_modules/is-arrayish/index.js +0 -9
  132. package/dist/node_modules/is-arrayish/package.json +0 -45
  133. package/dist/node_modules/is-arrayish/yarn-error.log +0 -1443
  134. package/dist/node_modules/lru-cache/LICENSE +0 -15
  135. package/dist/node_modules/lru-cache/README.md +0 -166
  136. package/dist/node_modules/lru-cache/index.js +0 -334
  137. package/dist/node_modules/lru-cache/package.json +0 -34
  138. package/dist/node_modules/mimic-response/index.d.ts +0 -17
  139. package/dist/node_modules/mimic-response/index.js +0 -77
  140. package/dist/node_modules/mimic-response/license +0 -9
  141. package/dist/node_modules/mimic-response/package.json +0 -42
  142. package/dist/node_modules/mimic-response/readme.md +0 -78
  143. package/dist/node_modules/minimist/.eslintrc +0 -29
  144. package/dist/node_modules/minimist/.github/FUNDING.yml +0 -12
  145. package/dist/node_modules/minimist/.nycrc +0 -14
  146. package/dist/node_modules/minimist/CHANGELOG.md +0 -298
  147. package/dist/node_modules/minimist/LICENSE +0 -18
  148. package/dist/node_modules/minimist/README.md +0 -121
  149. package/dist/node_modules/minimist/example/parse.js +0 -4
  150. package/dist/node_modules/minimist/index.js +0 -263
  151. package/dist/node_modules/minimist/package.json +0 -75
  152. package/dist/node_modules/minimist/test/all_bool.js +0 -34
  153. package/dist/node_modules/minimist/test/bool.js +0 -177
  154. package/dist/node_modules/minimist/test/dash.js +0 -43
  155. package/dist/node_modules/minimist/test/default_bool.js +0 -37
  156. package/dist/node_modules/minimist/test/dotted.js +0 -24
  157. package/dist/node_modules/minimist/test/kv_short.js +0 -32
  158. package/dist/node_modules/minimist/test/long.js +0 -33
  159. package/dist/node_modules/minimist/test/num.js +0 -38
  160. package/dist/node_modules/minimist/test/parse.js +0 -209
  161. package/dist/node_modules/minimist/test/parse_modified.js +0 -11
  162. package/dist/node_modules/minimist/test/proto.js +0 -64
  163. package/dist/node_modules/minimist/test/short.js +0 -69
  164. package/dist/node_modules/minimist/test/stop_early.js +0 -17
  165. package/dist/node_modules/minimist/test/unknown.js +0 -104
  166. package/dist/node_modules/minimist/test/whitespace.js +0 -10
  167. package/dist/node_modules/mkdirp-classic/LICENSE +0 -21
  168. package/dist/node_modules/mkdirp-classic/README.md +0 -18
  169. package/dist/node_modules/mkdirp-classic/index.js +0 -98
  170. package/dist/node_modules/mkdirp-classic/package.json +0 -18
  171. package/dist/node_modules/napi-build-utils/LICENSE +0 -21
  172. package/dist/node_modules/napi-build-utils/README.md +0 -48
  173. package/dist/node_modules/napi-build-utils/index.js +0 -213
  174. package/dist/node_modules/napi-build-utils/index.md +0 -81
  175. package/dist/node_modules/napi-build-utils/package.json +0 -41
  176. package/dist/node_modules/node-abi/.circleci/config.yml +0 -45
  177. package/dist/node_modules/node-abi/.github/CODEOWNERS +0 -1
  178. package/dist/node_modules/node-abi/.github/workflows/semantic.yml +0 -26
  179. package/dist/node_modules/node-abi/.github/workflows/update-abi.yml +0 -42
  180. package/dist/node_modules/node-abi/.releaserc.json +0 -9
  181. package/dist/node_modules/node-abi/CODE_OF_CONDUCT.md +0 -73
  182. package/dist/node_modules/node-abi/CONTRIBUTING.md +0 -62
  183. package/dist/node_modules/node-abi/LICENSE +0 -21
  184. package/dist/node_modules/node-abi/README.md +0 -52
  185. package/dist/node_modules/node-abi/abi_registry.json +0 -269
  186. package/dist/node_modules/node-abi/index.js +0 -179
  187. package/dist/node_modules/node-abi/package.json +0 -38
  188. package/dist/node_modules/node-abi/scripts/update-abi-registry.js +0 -119
  189. package/dist/node_modules/node-abi/test/index.js +0 -166
  190. package/dist/node_modules/node-addon-api/LICENSE.md +0 -13
  191. package/dist/node_modules/node-addon-api/README.md +0 -317
  192. package/dist/node_modules/node-addon-api/common.gypi +0 -21
  193. package/dist/node_modules/node-addon-api/except.gypi +0 -25
  194. package/dist/node_modules/node-addon-api/index.js +0 -11
  195. package/dist/node_modules/node-addon-api/napi-inl.deprecated.h +0 -186
  196. package/dist/node_modules/node-addon-api/napi-inl.h +0 -6303
  197. package/dist/node_modules/node-addon-api/napi.h +0 -3114
  198. package/dist/node_modules/node-addon-api/node_api.gyp +0 -9
  199. package/dist/node_modules/node-addon-api/noexcept.gypi +0 -26
  200. package/dist/node_modules/node-addon-api/nothing.c +0 -0
  201. package/dist/node_modules/node-addon-api/package-support.json +0 -21
  202. package/dist/node_modules/node-addon-api/package.json +0 -456
  203. package/dist/node_modules/node-addon-api/tools/README.md +0 -73
  204. package/dist/node_modules/node-addon-api/tools/check-napi.js +0 -99
  205. package/dist/node_modules/node-addon-api/tools/clang-format.js +0 -71
  206. package/dist/node_modules/node-addon-api/tools/conversion.js +0 -301
  207. package/dist/node_modules/node-addon-api/tools/eslint-format.js +0 -79
  208. package/dist/node_modules/once/LICENSE +0 -15
  209. package/dist/node_modules/once/README.md +0 -79
  210. package/dist/node_modules/once/once.js +0 -42
  211. package/dist/node_modules/once/package.json +0 -33
  212. package/dist/node_modules/prebuild-install/CHANGELOG.md +0 -116
  213. package/dist/node_modules/prebuild-install/CONTRIBUTING.md +0 -6
  214. package/dist/node_modules/prebuild-install/LICENSE +0 -21
  215. package/dist/node_modules/prebuild-install/README.md +0 -163
  216. package/dist/node_modules/prebuild-install/asset.js +0 -44
  217. package/dist/node_modules/prebuild-install/bin.js +0 -78
  218. package/dist/node_modules/prebuild-install/download.js +0 -142
  219. package/dist/node_modules/prebuild-install/error.js +0 -14
  220. package/dist/node_modules/prebuild-install/help.txt +0 -16
  221. package/dist/node_modules/prebuild-install/index.js +0 -1
  222. package/dist/node_modules/prebuild-install/log.js +0 -33
  223. package/dist/node_modules/prebuild-install/package.json +0 -67
  224. package/dist/node_modules/prebuild-install/proxy.js +0 -35
  225. package/dist/node_modules/prebuild-install/rc.js +0 -64
  226. package/dist/node_modules/prebuild-install/util.js +0 -143
  227. package/dist/node_modules/pump/.travis.yml +0 -5
  228. package/dist/node_modules/pump/LICENSE +0 -21
  229. package/dist/node_modules/pump/README.md +0 -65
  230. package/dist/node_modules/pump/index.js +0 -82
  231. package/dist/node_modules/pump/package.json +0 -24
  232. package/dist/node_modules/pump/test-browser.js +0 -66
  233. package/dist/node_modules/pump/test-node.js +0 -53
  234. package/dist/node_modules/rc/LICENSE.APACHE2 +0 -15
  235. package/dist/node_modules/rc/LICENSE.BSD +0 -26
  236. package/dist/node_modules/rc/LICENSE.MIT +0 -24
  237. package/dist/node_modules/rc/README.md +0 -227
  238. package/dist/node_modules/rc/browser.js +0 -7
  239. package/dist/node_modules/rc/cli.js +0 -4
  240. package/dist/node_modules/rc/index.js +0 -53
  241. package/dist/node_modules/rc/lib/utils.js +0 -104
  242. package/dist/node_modules/rc/package.json +0 -29
  243. package/dist/node_modules/rc/test/ini.js +0 -16
  244. package/dist/node_modules/rc/test/nested-env-vars.js +0 -50
  245. package/dist/node_modules/rc/test/test.js +0 -59
  246. package/dist/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  247. package/dist/node_modules/readable-stream/GOVERNANCE.md +0 -136
  248. package/dist/node_modules/readable-stream/LICENSE +0 -47
  249. package/dist/node_modules/readable-stream/README.md +0 -106
  250. package/dist/node_modules/readable-stream/errors-browser.js +0 -127
  251. package/dist/node_modules/readable-stream/errors.js +0 -116
  252. package/dist/node_modules/readable-stream/experimentalWarning.js +0 -17
  253. package/dist/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
  254. package/dist/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
  255. package/dist/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
  256. package/dist/node_modules/readable-stream/lib/_stream_transform.js +0 -190
  257. package/dist/node_modules/readable-stream/lib/_stream_writable.js +0 -641
  258. package/dist/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
  259. package/dist/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
  260. package/dist/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
  261. package/dist/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
  262. package/dist/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  263. package/dist/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
  264. package/dist/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
  265. package/dist/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
  266. package/dist/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  267. package/dist/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  268. package/dist/node_modules/readable-stream/package.json +0 -68
  269. package/dist/node_modules/readable-stream/readable-browser.js +0 -9
  270. package/dist/node_modules/readable-stream/readable.js +0 -16
  271. package/dist/node_modules/safe-buffer/LICENSE +0 -21
  272. package/dist/node_modules/safe-buffer/README.md +0 -584
  273. package/dist/node_modules/safe-buffer/index.d.ts +0 -187
  274. package/dist/node_modules/safe-buffer/index.js +0 -65
  275. package/dist/node_modules/safe-buffer/package.json +0 -51
  276. package/dist/node_modules/semver/LICENSE +0 -15
  277. package/dist/node_modules/semver/README.md +0 -637
  278. package/dist/node_modules/semver/bin/semver.js +0 -197
  279. package/dist/node_modules/semver/classes/comparator.js +0 -141
  280. package/dist/node_modules/semver/classes/index.js +0 -5
  281. package/dist/node_modules/semver/classes/range.js +0 -539
  282. package/dist/node_modules/semver/classes/semver.js +0 -302
  283. package/dist/node_modules/semver/functions/clean.js +0 -6
  284. package/dist/node_modules/semver/functions/cmp.js +0 -52
  285. package/dist/node_modules/semver/functions/coerce.js +0 -52
  286. package/dist/node_modules/semver/functions/compare-build.js +0 -7
  287. package/dist/node_modules/semver/functions/compare-loose.js +0 -3
  288. package/dist/node_modules/semver/functions/compare.js +0 -5
  289. package/dist/node_modules/semver/functions/diff.js +0 -65
  290. package/dist/node_modules/semver/functions/eq.js +0 -3
  291. package/dist/node_modules/semver/functions/gt.js +0 -3
  292. package/dist/node_modules/semver/functions/gte.js +0 -3
  293. package/dist/node_modules/semver/functions/inc.js +0 -19
  294. package/dist/node_modules/semver/functions/lt.js +0 -3
  295. package/dist/node_modules/semver/functions/lte.js +0 -3
  296. package/dist/node_modules/semver/functions/major.js +0 -3
  297. package/dist/node_modules/semver/functions/minor.js +0 -3
  298. package/dist/node_modules/semver/functions/neq.js +0 -3
  299. package/dist/node_modules/semver/functions/parse.js +0 -16
  300. package/dist/node_modules/semver/functions/patch.js +0 -3
  301. package/dist/node_modules/semver/functions/prerelease.js +0 -6
  302. package/dist/node_modules/semver/functions/rcompare.js +0 -3
  303. package/dist/node_modules/semver/functions/rsort.js +0 -3
  304. package/dist/node_modules/semver/functions/satisfies.js +0 -10
  305. package/dist/node_modules/semver/functions/sort.js +0 -3
  306. package/dist/node_modules/semver/functions/valid.js +0 -6
  307. package/dist/node_modules/semver/index.js +0 -89
  308. package/dist/node_modules/semver/internal/constants.js +0 -35
  309. package/dist/node_modules/semver/internal/debug.js +0 -9
  310. package/dist/node_modules/semver/internal/identifiers.js +0 -23
  311. package/dist/node_modules/semver/internal/parse-options.js +0 -15
  312. package/dist/node_modules/semver/internal/re.js +0 -212
  313. package/dist/node_modules/semver/package.json +0 -87
  314. package/dist/node_modules/semver/preload.js +0 -2
  315. package/dist/node_modules/semver/range.bnf +0 -16
  316. package/dist/node_modules/semver/ranges/gtr.js +0 -4
  317. package/dist/node_modules/semver/ranges/intersects.js +0 -7
  318. package/dist/node_modules/semver/ranges/ltr.js +0 -4
  319. package/dist/node_modules/semver/ranges/max-satisfying.js +0 -25
  320. package/dist/node_modules/semver/ranges/min-satisfying.js +0 -24
  321. package/dist/node_modules/semver/ranges/min-version.js +0 -61
  322. package/dist/node_modules/semver/ranges/outside.js +0 -80
  323. package/dist/node_modules/semver/ranges/simplify.js +0 -47
  324. package/dist/node_modules/semver/ranges/subset.js +0 -247
  325. package/dist/node_modules/semver/ranges/to-comparators.js +0 -8
  326. package/dist/node_modules/semver/ranges/valid.js +0 -11
  327. package/dist/node_modules/sharp/LICENSE +0 -191
  328. package/dist/node_modules/sharp/README.md +0 -117
  329. package/dist/node_modules/sharp/binding.gyp +0 -233
  330. package/dist/node_modules/sharp/build/Release/sharp-linux-x64.node +0 -0
  331. package/dist/node_modules/sharp/install/can-compile.js +0 -11
  332. package/dist/node_modules/sharp/install/dll-copy.js +0 -37
  333. package/dist/node_modules/sharp/install/libvips.js +0 -215
  334. package/dist/node_modules/sharp/lib/agent.js +0 -40
  335. package/dist/node_modules/sharp/lib/channel.js +0 -171
  336. package/dist/node_modules/sharp/lib/colour.js +0 -180
  337. package/dist/node_modules/sharp/lib/composite.js +0 -193
  338. package/dist/node_modules/sharp/lib/constructor.js +0 -386
  339. package/dist/node_modules/sharp/lib/index.js +0 -13
  340. package/dist/node_modules/sharp/lib/input.js +0 -507
  341. package/dist/node_modules/sharp/lib/is.js +0 -143
  342. package/dist/node_modules/sharp/lib/libvips.js +0 -136
  343. package/dist/node_modules/sharp/lib/operation.js +0 -803
  344. package/dist/node_modules/sharp/lib/output.js +0 -1231
  345. package/dist/node_modules/sharp/lib/platform.js +0 -27
  346. package/dist/node_modules/sharp/lib/resize.js +0 -473
  347. package/dist/node_modules/sharp/lib/sharp.js +0 -35
  348. package/dist/node_modules/sharp/lib/utility.js +0 -211
  349. package/dist/node_modules/sharp/package.json +0 -196
  350. package/dist/node_modules/sharp/src/common.cc +0 -966
  351. package/dist/node_modules/sharp/src/common.h +0 -352
  352. package/dist/node_modules/sharp/src/libvips/cplusplus/VConnection.cpp +0 -152
  353. package/dist/node_modules/sharp/src/libvips/cplusplus/VError.cpp +0 -50
  354. package/dist/node_modules/sharp/src/libvips/cplusplus/VImage.cpp +0 -1523
  355. package/dist/node_modules/sharp/src/libvips/cplusplus/VInterpolate.cpp +0 -63
  356. package/dist/node_modules/sharp/src/libvips/cplusplus/vips-operators.cpp +0 -3738
  357. package/dist/node_modules/sharp/src/metadata.cc +0 -291
  358. package/dist/node_modules/sharp/src/metadata.h +0 -92
  359. package/dist/node_modules/sharp/src/operations.cc +0 -412
  360. package/dist/node_modules/sharp/src/operations.h +0 -126
  361. package/dist/node_modules/sharp/src/pipeline.cc +0 -1624
  362. package/dist/node_modules/sharp/src/pipeline.h +0 -349
  363. package/dist/node_modules/sharp/src/sharp.cc +0 -52
  364. package/dist/node_modules/sharp/src/stats.cc +0 -193
  365. package/dist/node_modules/sharp/src/stats.h +0 -70
  366. package/dist/node_modules/sharp/src/utilities.cc +0 -243
  367. package/dist/node_modules/sharp/src/utilities.h +0 -29
  368. package/dist/node_modules/sharp/vendor/8.12.2/linux-x64/THIRD-PARTY-NOTICES.md +0 -43
  369. package/dist/node_modules/sharp/vendor/8.12.2/linux-x64/lib/libvips-cpp.so.42 +0 -0
  370. package/dist/node_modules/sharp/vendor/8.12.2/linux-x64/platform.json +0 -1
  371. package/dist/node_modules/sharp/vendor/8.12.2/linux-x64/versions.json +0 -31
  372. package/dist/node_modules/simple-concat/.travis.yml +0 -3
  373. package/dist/node_modules/simple-concat/LICENSE +0 -20
  374. package/dist/node_modules/simple-concat/README.md +0 -44
  375. package/dist/node_modules/simple-concat/index.js +0 -15
  376. package/dist/node_modules/simple-concat/package.json +0 -47
  377. package/dist/node_modules/simple-concat/test/basic.js +0 -41
  378. package/dist/node_modules/simple-get/.github/dependabot.yml +0 -15
  379. package/dist/node_modules/simple-get/.github/workflows/ci.yml +0 -23
  380. package/dist/node_modules/simple-get/LICENSE +0 -20
  381. package/dist/node_modules/simple-get/README.md +0 -333
  382. package/dist/node_modules/simple-get/index.js +0 -108
  383. package/dist/node_modules/simple-get/package.json +0 -67
  384. package/dist/node_modules/simple-swizzle/LICENSE +0 -21
  385. package/dist/node_modules/simple-swizzle/README.md +0 -39
  386. package/dist/node_modules/simple-swizzle/index.js +0 -29
  387. package/dist/node_modules/simple-swizzle/package.json +0 -36
  388. package/dist/node_modules/string_decoder/LICENSE +0 -48
  389. package/dist/node_modules/string_decoder/README.md +0 -47
  390. package/dist/node_modules/string_decoder/lib/string_decoder.js +0 -296
  391. package/dist/node_modules/string_decoder/package.json +0 -34
  392. package/dist/node_modules/strip-json-comments/index.js +0 -70
  393. package/dist/node_modules/strip-json-comments/license +0 -21
  394. package/dist/node_modules/strip-json-comments/package.json +0 -42
  395. package/dist/node_modules/strip-json-comments/readme.md +0 -64
  396. package/dist/node_modules/tar-fs/.travis.yml +0 -6
  397. package/dist/node_modules/tar-fs/LICENSE +0 -21
  398. package/dist/node_modules/tar-fs/README.md +0 -165
  399. package/dist/node_modules/tar-fs/index.js +0 -351
  400. package/dist/node_modules/tar-fs/package.json +0 -41
  401. package/dist/node_modules/tar-fs/test/fixtures/a/hello.txt +0 -1
  402. package/dist/node_modules/tar-fs/test/fixtures/b/a/test.txt +0 -1
  403. package/dist/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  404. package/dist/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  405. package/dist/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  406. package/dist/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  407. package/dist/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  408. package/dist/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  409. package/dist/node_modules/tar-fs/test/fixtures/e/file +0 -0
  410. package/dist/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  411. package/dist/node_modules/tar-fs/test/index.js +0 -346
  412. package/dist/node_modules/tar-stream/LICENSE +0 -21
  413. package/dist/node_modules/tar-stream/README.md +0 -168
  414. package/dist/node_modules/tar-stream/extract.js +0 -257
  415. package/dist/node_modules/tar-stream/headers.js +0 -295
  416. package/dist/node_modules/tar-stream/index.js +0 -2
  417. package/dist/node_modules/tar-stream/pack.js +0 -255
  418. package/dist/node_modules/tar-stream/package.json +0 -58
  419. package/dist/node_modules/tar-stream/sandbox.js +0 -11
  420. package/dist/node_modules/tunnel-agent/LICENSE +0 -55
  421. package/dist/node_modules/tunnel-agent/README.md +0 -4
  422. package/dist/node_modules/tunnel-agent/index.js +0 -244
  423. package/dist/node_modules/tunnel-agent/package.json +0 -22
  424. package/dist/node_modules/util-deprecate/History.md +0 -16
  425. package/dist/node_modules/util-deprecate/LICENSE +0 -24
  426. package/dist/node_modules/util-deprecate/README.md +0 -53
  427. package/dist/node_modules/util-deprecate/browser.js +0 -67
  428. package/dist/node_modules/util-deprecate/node.js +0 -6
  429. package/dist/node_modules/util-deprecate/package.json +0 -27
  430. package/dist/node_modules/wrappy/LICENSE +0 -15
  431. package/dist/node_modules/wrappy/README.md +0 -36
  432. package/dist/node_modules/wrappy/package.json +0 -29
  433. package/dist/node_modules/wrappy/wrappy.js +0 -33
  434. package/dist/node_modules/yallist/LICENSE +0 -15
  435. package/dist/node_modules/yallist/README.md +0 -204
  436. package/dist/node_modules/yallist/iterator.js +0 -8
  437. package/dist/node_modules/yallist/package.json +0 -29
  438. package/dist/node_modules/yallist/yallist.js +0 -426
  439. package/dist/package-lock.json +0 -502
  440. package/dist/package.json +0 -38
  441. package/dist/static/expected_tile_2193_153_255_z7.png +0 -0
  442. package/dist/static/expected_tile_NZTM2000Quad_30_33_z6.png +0 -0
  443. 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_