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