@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,6 +1,6 @@
1
1
  import { ConfigImagery, ConfigLayer, ConfigTileSet, standardizeLayerName } from '@basemaps/config';
2
- import { Bounds, GoogleTms, ImageFormat, TileMatrixSet, WmtsProvider } from '@basemaps/geo';
3
- import { Projection, toQueryString, V, VNodeElement } from '@basemaps/shared';
2
+ import { Bounds, GoogleTms, ImageFormat, Projection, TileMatrixSet, WmtsProvider } from '@basemaps/geo';
3
+ import { toQueryString, V, VNodeElement } from '@basemaps/shared';
4
4
  import { ImageFormatOrder } from '@basemaps/tiler';
5
5
  import { BoundingBox } from '@cogeotiff/core';
6
6
  import { BBox } from '@linzjs/geojson';
@@ -20,28 +20,6 @@ function wgs84Extent(tileMatrix: TileMatrixSet, bbox: BoundingBox): BBox {
20
20
  return Projection.get(tileMatrix).boundsToWgs84BoundingBox(bbox);
21
21
  }
22
22
 
23
- export interface WmtsCapabilitiesParams {
24
- /** Base URL for tile server */
25
- httpBase: string;
26
- provider?: WmtsProvider;
27
- /** Tileset to export into WMTS */
28
- tileSet: ConfigTileSet;
29
- /** List of tile matrixes to output */
30
- tileMatrix: TileMatrixSet[];
31
- /** All the imagery used by the tileSet and tileMatrixes */
32
- imagery: Map<string, ConfigImagery>;
33
- /** API key to append to all resource urls */
34
- apiKey?: string;
35
- /** Limit the output to the following image formats other wise @see ImageFormatOrder */
36
- formats?: ImageFormat[] | null;
37
- /** Config location */
38
- config?: string | null;
39
- /** Specific layers to add to the WMTS */
40
- layers?: ConfigLayer[] | null;
41
- /** Specific DateRange filter for the wmts layers */
42
- filters?: Record<string, string | undefined>;
43
- }
44
-
45
23
  /** Number of decimal places to use in lat lng */
46
24
  const LngLatPrecision = 6;
47
25
  const MeterPrecision = 4;
@@ -54,35 +32,68 @@ function formatCoords(x: number, precision: number): string {
54
32
  function formatBbox(x: number, y: number, precision: number): string {
55
33
  return `${formatCoords(x, precision)} ${formatCoords(y, precision)}`;
56
34
  }
35
+ export interface WmtsBuilderParams {
36
+ /** Base URL for tile server */
37
+ httpBase: string;
38
+ /** API key to append to all resource urls */
39
+ apiKey?: string;
40
+ /** Config location */
41
+ config?: string | null;
42
+ /** Specific DateRange filter for the wmts layers */
43
+ filters?: Record<string, string | undefined>;
44
+ }
57
45
 
58
- export class WmtsCapabilities {
46
+ export class WmtsBuilder {
59
47
  httpBase: string;
60
- provider?: WmtsProvider;
61
- tileSet: ConfigTileSet;
62
48
  apiKey?: string;
63
49
  config?: string | null;
64
- tileMatrixSets = new Map<string, TileMatrixSet>();
65
- imagery: Map<string, ConfigImagery>;
66
- formats: ImageFormat[];
67
50
  filters?: Record<string, string | undefined>;
68
51
 
69
- minZoom = 0;
70
- maxZoom = 32;
71
- layers: ConfigLayer[] | null | undefined;
52
+ /** All the imagery used by the tileSet and tileMatrixes */
53
+ imagery: Map<string, ConfigImagery> = new Map();
54
+ formats: ImageFormat[] = [];
72
55
 
73
- constructor(params: WmtsCapabilitiesParams) {
56
+ tileMatrixSets = new Map<string, TileMatrixSet>();
57
+
58
+ constructor(params: WmtsBuilderParams) {
74
59
  this.httpBase = params.httpBase;
75
- this.provider = params.provider;
76
- this.tileSet = params.tileSet;
77
- this.config = params.config;
78
- for (const tms of params.tileMatrix) this.tileMatrixSets.set(tms.identifier, tms);
79
60
  this.apiKey = params.apiKey;
80
- this.formats = params.formats ?? ImageFormatOrder;
81
- this.imagery = params.imagery;
82
- this.layers = params.layers;
61
+ this.config = params.config;
83
62
  this.filters = params.filters;
84
63
  }
85
64
 
65
+ addImagery(...imagery: ConfigImagery[]): void {
66
+ for (const im of imagery) this.imagery.set(im.id, im);
67
+ }
68
+
69
+ addTileMatrix(...tileMatrix: TileMatrixSet[]): void {
70
+ for (const tms of tileMatrix) this.tileMatrixSets.set(tms.identifier, tms);
71
+ }
72
+
73
+ addFormats(...formats: ImageFormat[]): void {
74
+ for (const format of formats) this.formats.push(format);
75
+ }
76
+
77
+ getFormats(): ImageFormat[] {
78
+ if (this.formats.length) return this.formats;
79
+ return ImageFormatOrder;
80
+ }
81
+
82
+ getMatrixSets(tileSet: ConfigTileSet): Set<TileMatrixSet> {
83
+ const matrixSets = new Set<TileMatrixSet>();
84
+ for (const tms of this.tileMatrixSets.values()) {
85
+ if (tileSet.layers.find((f) => f[tms.projection.code] != null)) {
86
+ matrixSets.add(tms);
87
+ }
88
+ }
89
+ return matrixSets;
90
+ }
91
+
92
+ buildKeywords(tileSet: { category?: string }): VNodeElement {
93
+ if (tileSet.category == null) return V('ows:Keywords');
94
+ return V('ows:Keywords', [V('ows:Keyword', tileSet.category)]);
95
+ }
96
+
86
97
  buildWgs84BoundingBox(tms: TileMatrixSet, layers: Bounds[]): VNodeElement {
87
98
  let bbox: BBox;
88
99
  if (layers.length > 0) {
@@ -128,39 +139,16 @@ export class WmtsCapabilities {
128
139
  ]);
129
140
  }
130
141
 
131
- buildProvider(): VNodeElement[] {
132
- if (this.provider == null) return [];
133
- const { serviceIdentification, serviceProvider } = this.provider;
134
- const { contact } = serviceProvider;
135
- return [
136
- V('ows:ServiceIdentification', [
137
- V('ows:Title', serviceIdentification.title),
138
- V('ows:Abstract', serviceIdentification.description),
139
- V('ows:ServiceType', 'OGC WMTS'),
140
- V('ows:ServiceTypeVersion', '1.0.0'),
141
- V('ows:Fees', serviceIdentification.fees),
142
- V('ows:AccessConstraints', serviceIdentification.accessConstraints),
143
- ]),
142
+ buildStyle(): VNodeElement {
143
+ return V('Style', { isDefault: 'true' }, [V('ows:Title', 'Default Style'), V('ows:Identifier', 'default')]);
144
+ }
144
145
 
145
- V('ows:ServiceProvider', [
146
- V('ows:ProviderName', serviceProvider.name),
147
- V('ows:ProviderSite', { 'xlink:href': serviceProvider.site }),
148
- V('ows:ServiceContact', [
149
- V('ows:IndividualName', contact.individualName),
150
- V('ows:PositionName', contact.position),
151
- V('ows:ContactInfo', [
152
- V('ows:Phone', [V('ows:Voice', contact.phone)]),
153
- V('ows:Address', [
154
- V('ows:DeliveryPoint', contact.address.deliveryPoint),
155
- V('ows:City', contact.address.city),
156
- V('ows:PostalCode', contact.address.postalCode),
157
- V('ows:Country', contact.address.country),
158
- V('ows:ElectronicMailAddress', contact.address.email),
159
- ]),
160
- ]),
161
- ]),
162
- ]),
163
- ];
146
+ buildResourceUrl(tileSetId: string, suffix: string, addFilter = false): VNodeElement {
147
+ return V('ResourceURL', {
148
+ format: 'image/' + suffix,
149
+ resourceType: 'tile',
150
+ template: this.buildTileUrl(tileSetId, suffix, addFilter),
151
+ });
164
152
  }
165
153
 
166
154
  buildTileUrl(tileSetId: string, suffix: string, addFilter = false): string {
@@ -179,12 +167,18 @@ export class WmtsCapabilities {
179
167
  ].join('/');
180
168
  }
181
169
 
182
- buildResourceUrl(tileSetId: string, suffix: string, addFilter = false): VNodeElement {
183
- return V('ResourceURL', {
184
- format: 'image/' + suffix,
185
- resourceType: 'tile',
186
- template: this.buildTileUrl(tileSetId, suffix, addFilter),
187
- });
170
+ buildFormats(): VNodeElement[] {
171
+ return this.getFormats().map((fmt) => V('Format', 'image/' + fmt));
172
+ }
173
+
174
+ buildTileMatrixLink(tileSet: ConfigTileSet): VNodeElement[] {
175
+ const matrixSetNodes: VNodeElement[] = [];
176
+ for (const tms of this.tileMatrixSets.values()) {
177
+ if (tileSet.layers.find((f) => f[tms.projection.code] != null)) {
178
+ matrixSetNodes.push(V('TileMatrixSetLink', [V('TileMatrixSet', tms.identifier)]));
179
+ }
180
+ }
181
+ return matrixSetNodes;
188
182
  }
189
183
 
190
184
  buildLayerFromImagery(layer: ConfigLayer): VNodeElement | null {
@@ -216,56 +210,142 @@ export class WmtsCapabilities {
216
210
  }),
217
211
  this.buildWgs84BoundingBox(firstMatrix, [Bounds.fromJson(firstImg.bounds)]),
218
212
  this.buildStyle(),
219
- ...this.formats.map((fmt) => V('Format', 'image/' + fmt)),
213
+ ...this.getFormats().map((fmt) => V('Format', 'image/' + fmt)),
220
214
  ...matrixSetNodes,
221
- ...this.formats.map((fmt) => this.buildResourceUrl(layerNameId, fmt)),
215
+ ...this.getFormats().map((fmt) => this.buildResourceUrl(layerNameId, fmt)),
222
216
  ]);
223
217
  }
218
+ }
224
219
 
225
- buildLayer(layer: ConfigTileSet): VNodeElement {
226
- const matrixSets = new Set<TileMatrixSet>();
227
- const matrixSetNodes: VNodeElement[] = [];
228
- for (const tms of this.tileMatrixSets.values()) {
229
- if (layer.layers.find((f) => f[tms.projection.code] != null)) {
230
- matrixSetNodes.push(V('TileMatrixSetLink', [V('TileMatrixSet', tms.identifier)]));
231
- matrixSets.add(tms);
232
- }
233
- }
234
- const layerNameId = standardizeLayerName(layer.name);
220
+ export interface WmtsCapabilitiesParams {
221
+ provider?: WmtsProvider;
222
+ /** Tileset to export into WMTS */
223
+ tileSet: ConfigTileSet;
224
+ /** List of tile matrixes to output */
225
+ tileMatrix: TileMatrixSet[];
226
+ /** All the imagery used by the tileSet and tileMatrixes */
227
+ imagery: Map<string, ConfigImagery>;
228
+ /** Limit the output to the following image formats other wise @see ImageFormatOrder */
229
+ formats: ImageFormat[];
230
+ /** Specific layers to add to the WMTS */
231
+ layers?: ConfigLayer[];
232
+ }
233
+
234
+ /**
235
+ * WMTS Capabilities Builder
236
+ *
237
+ * /v1/tiles/:tileSet/:tileMatrix/WMTSCapabilities.xml
238
+ * /v1/tiles/:tileSet/WMTSCapabilities.xml
239
+ * /v1/tiles/WMTSCapabilities.xml
240
+ *
241
+ * @example
242
+ *
243
+ */
244
+ export class WmtsCapabilities extends WmtsBuilder {
245
+ minZoom = 0;
246
+ maxZoom = 32;
247
+ /** Wmts tileSet layer and imagery layers information */
248
+ tileSet: ConfigTileSet;
249
+ configLayers?: ConfigLayer[];
250
+
251
+ /** Wmts Provider information */
252
+ provider?: WmtsProvider;
253
+
254
+ constructor(params: WmtsBuilderParams) {
255
+ super(params);
256
+ }
257
+
258
+ addTileSet(tileSet: ConfigTileSet): void {
259
+ this.tileSet = tileSet;
260
+ }
261
+
262
+ addLayers(configLayers?: ConfigLayer[]): void {
263
+ this.configLayers = configLayers;
264
+ }
265
+
266
+ addProvider(provider?: WmtsProvider): void {
267
+ this.provider = provider;
268
+ }
269
+
270
+ toProviderVNode(provider?: WmtsProvider): VNodeElement[] | [] {
271
+ if (provider == null) return [];
272
+ const { serviceIdentification, serviceProvider } = provider;
273
+ const { contact } = serviceProvider;
274
+ return [
275
+ V('ows:ServiceIdentification', [
276
+ V('ows:Title', serviceIdentification.title),
277
+ V('ows:Abstract', serviceIdentification.description),
278
+ V('ows:ServiceType', 'OGC WMTS'),
279
+ V('ows:ServiceTypeVersion', '1.0.0'),
280
+ V('ows:Fees', serviceIdentification.fees),
281
+ V('ows:AccessConstraints', serviceIdentification.accessConstraints),
282
+ ]),
283
+
284
+ V('ows:ServiceProvider', [
285
+ V('ows:ProviderName', serviceProvider.name),
286
+ V('ows:ProviderSite', { 'xlink:href': serviceProvider.site }),
287
+ V('ows:ServiceContact', [
288
+ V('ows:IndividualName', contact.individualName),
289
+ V('ows:PositionName', contact.position),
290
+ V('ows:ContactInfo', [
291
+ V('ows:Phone', [V('ows:Voice', contact.phone)]),
292
+ V('ows:Address', [
293
+ V('ows:DeliveryPoint', contact.address.deliveryPoint),
294
+ V('ows:City', contact.address.city),
295
+ V('ows:PostalCode', contact.address.postalCode),
296
+ V('ows:Country', contact.address.country),
297
+ V('ows:ElectronicMailAddress', contact.address.email),
298
+ ]),
299
+ ]),
300
+ ]),
301
+ ]),
302
+ ];
303
+ }
304
+
305
+ toLayerVNode(tileSet: ConfigTileSet): VNodeElement {
306
+ const matrixSets = this.getMatrixSets(tileSet);
235
307
  const matrixSetList = [...matrixSets.values()];
236
308
  const firstMatrix = matrixSetList[0];
237
- if (firstMatrix == null) throw new Error('No matrix sets found for layer ' + layer.name);
309
+ if (firstMatrix == null) throw new Error('No matrix sets found for layer ' + tileSet.name);
238
310
 
239
311
  // Prefer using the web mercator tms for bounds
240
312
  const webMercatorOrFirst = matrixSetList.find((f) => f.identifier === GoogleTms.identifier) ?? firstMatrix;
241
313
  const bounds: Bounds[] = [];
242
- for (const l of layer.layers) {
314
+ for (const l of tileSet.layers) {
243
315
  const img = this.imagery.get(l[webMercatorOrFirst.projection.code] ?? '');
244
316
  if (img == null) continue;
245
317
  bounds.push(Bounds.fromJson(img.bounds));
246
318
  }
247
319
 
320
+ const layerNameId = standardizeLayerName(tileSet.name);
248
321
  return V('Layer', [
249
- V('ows:Title', layer.title),
250
- V('ows:Abstract', layer.description ?? ''),
322
+ V('ows:Title', tileSet.title),
323
+ V('ows:Abstract', tileSet.description ?? ''),
251
324
  V('ows:Identifier', layerNameId),
252
- this.buildKeywords(layer),
253
- ...[...matrixSets.values()].map((tms) => this.buildBoundingBoxFromImagery(tms, layer.layers)),
325
+ this.buildKeywords(tileSet),
326
+ ...[...matrixSets.values()].map((tms) => this.buildBoundingBoxFromImagery(tms, tileSet.layers)),
254
327
  this.buildWgs84BoundingBox(webMercatorOrFirst, bounds),
255
328
  this.buildStyle(),
256
- ...this.formats.map((fmt) => V('Format', 'image/' + fmt)),
257
- ...matrixSetNodes,
258
- ...this.formats.map((fmt) => this.buildResourceUrl(layerNameId, fmt, true)),
329
+ ...this.buildFormats(),
330
+ ...this.buildTileMatrixLink(tileSet),
331
+ ...this.getFormats().map((fmt) => this.buildResourceUrl(layerNameId, fmt, true)),
259
332
  ]);
260
333
  }
261
334
 
262
- buildKeywords(tileSet: { category?: string }): VNodeElement {
263
- if (tileSet.category == null) return V('ows:Keywords');
264
- return V('ows:Keywords', [V('ows:Keyword', tileSet.category)]);
265
- }
266
-
267
- buildStyle(): VNodeElement {
268
- return V('Style', { isDefault: 'true' }, [V('ows:Title', 'Default Style'), V('ows:Identifier', 'default')]);
335
+ toAllImageryLayersVNode(configLayers?: ConfigLayer[]): VNodeElement[] {
336
+ if (configLayers == null) return [];
337
+ const layersVNode: VNodeElement[] = [];
338
+ const layerByName = new Map<string, ConfigLayer>();
339
+ // Dedupe the layers by unique name
340
+ for (const img of configLayers) layerByName.set(standardizeLayerName(img.name), img);
341
+ const orderedLayers = Array.from(layerByName.values()).sort((a, b) =>
342
+ (a.title ?? a.name).localeCompare(b.title ?? b.name),
343
+ );
344
+ for (const img of orderedLayers) {
345
+ const layer = this.buildLayerFromImagery(img);
346
+ if (layer) layersVNode.push(layer);
347
+ }
348
+ return layersVNode;
269
349
  }
270
350
 
271
351
  buildTileMatrixSet(tms: TileMatrixSet): VNodeElement {
@@ -288,26 +368,34 @@ export class WmtsCapabilities {
288
368
  }),
289
369
  ]);
290
370
  }
371
+
291
372
  toVNode(): VNodeElement {
292
- const layers: (VNodeElement | null)[] = [];
293
- layers.push(this.buildLayer(this.tileSet));
294
-
295
- if (this.layers) {
296
- const layerByName = new Map<string, ConfigLayer>();
297
- // Dedupe the layers by unique name
298
- for (const img of this.layers) layerByName.set(standardizeLayerName(img.name), img);
299
- const orderedLayers = Array.from(layerByName.values()).sort((a, b) =>
300
- (a.title ?? a.name).localeCompare(b.title ?? b.name),
301
- );
302
- for (const img of orderedLayers) layers.push(this.buildLayerFromImagery(img));
303
- }
373
+ // Prepare provider vNode if exists
374
+ const provider = this.toProviderVNode(this.provider);
375
+
376
+ // Build TileSet Layer VNodes
377
+ const layers: VNodeElement[] = [];
378
+ layers.push(this.toLayerVNode(this.tileSet));
379
+ const contents = layers.concat(this.toAllImageryLayersVNode(this.configLayers));
304
380
 
305
- for (const tms of this.tileMatrixSets.values()) layers.push(this.buildTileMatrixSet(tms));
381
+ // Build TileMatrix Sets vNodes
382
+ for (const tms of this.tileMatrixSets.values()) contents.push(this.buildTileMatrixSet(tms));
306
383
 
307
- return V('Capabilities', CapabilitiesAttrs, [...this.buildProvider(), V('Contents', layers)]);
384
+ return V('Capabilities', CapabilitiesAttrs, [...provider, V('Contents', contents)]);
308
385
  }
309
386
 
310
387
  toXml(): string {
311
388
  return '<?xml version="1.0" encoding="utf-8"?>\n' + this.toVNode().toString();
312
389
  }
390
+
391
+ fromParams(params: WmtsCapabilitiesParams): void {
392
+ for (const tileMatrix of params.tileMatrix) this.addTileMatrix(tileMatrix);
393
+ for (const im of params.imagery.values()) this.addImagery(im);
394
+ for (const format of params.formats) this.addFormats(format);
395
+
396
+ // Build wmts capabilities
397
+ this.addTileSet(params.tileSet);
398
+ this.addLayers(params.layers);
399
+ this.addProvider(params.provider);
400
+ }
313
401
  }