node-red-contrib-tak-registration 0.16.0 → 0.16.3

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 (1065) hide show
  1. package/node_modules/@turf/along/README.md +3 -1
  2. package/node_modules/@turf/along/dist/cjs/index.cjs +2 -2
  3. package/node_modules/@turf/along/dist/cjs/index.cjs.map +1 -1
  4. package/node_modules/@turf/along/dist/cjs/index.d.cts +1 -1
  5. package/node_modules/@turf/along/dist/esm/index.d.ts +1 -1
  6. package/node_modules/@turf/along/dist/esm/index.js +2 -2
  7. package/node_modules/@turf/along/dist/esm/index.js.map +1 -1
  8. package/node_modules/@turf/along/package.json +12 -12
  9. package/node_modules/@turf/angle/dist/cjs/index.cjs +2 -2
  10. package/node_modules/@turf/angle/dist/cjs/index.cjs.map +1 -1
  11. package/node_modules/@turf/angle/dist/esm/index.js +2 -2
  12. package/node_modules/@turf/angle/dist/esm/index.js.map +1 -1
  13. package/node_modules/@turf/angle/package.json +16 -16
  14. package/node_modules/@turf/area/dist/cjs/index.cjs +2 -2
  15. package/node_modules/@turf/area/dist/cjs/index.cjs.map +1 -1
  16. package/node_modules/@turf/area/dist/esm/index.js +2 -2
  17. package/node_modules/@turf/area/dist/esm/index.js.map +1 -1
  18. package/node_modules/@turf/area/package.json +10 -10
  19. package/node_modules/@turf/bbox/dist/cjs/index.cjs +2 -2
  20. package/node_modules/@turf/bbox/dist/cjs/index.cjs.map +1 -1
  21. package/node_modules/@turf/bbox/dist/esm/index.js +2 -2
  22. package/node_modules/@turf/bbox/dist/esm/index.js.map +1 -1
  23. package/node_modules/@turf/bbox/package.json +9 -9
  24. package/node_modules/@turf/bbox-clip/dist/cjs/index.cjs +2 -2
  25. package/node_modules/@turf/bbox-clip/dist/cjs/index.cjs.map +1 -1
  26. package/node_modules/@turf/bbox-clip/dist/esm/index.js +2 -2
  27. package/node_modules/@turf/bbox-clip/dist/esm/index.js.map +1 -1
  28. package/node_modules/@turf/bbox-clip/package.json +11 -11
  29. package/node_modules/@turf/bbox-polygon/dist/cjs/index.cjs +2 -2
  30. package/node_modules/@turf/bbox-polygon/dist/cjs/index.cjs.map +1 -1
  31. package/node_modules/@turf/bbox-polygon/dist/esm/index.js +2 -2
  32. package/node_modules/@turf/bbox-polygon/dist/esm/index.js.map +1 -1
  33. package/node_modules/@turf/bbox-polygon/package.json +8 -8
  34. package/node_modules/@turf/bearing/dist/cjs/index.cjs +2 -2
  35. package/node_modules/@turf/bearing/dist/cjs/index.cjs.map +1 -1
  36. package/node_modules/@turf/bearing/dist/esm/index.js +2 -2
  37. package/node_modules/@turf/bearing/dist/esm/index.js.map +1 -1
  38. package/node_modules/@turf/bearing/package.json +11 -11
  39. package/node_modules/@turf/bezier-spline/dist/cjs/index.cjs +2 -2
  40. package/node_modules/@turf/bezier-spline/dist/cjs/index.cjs.map +1 -1
  41. package/node_modules/@turf/bezier-spline/dist/esm/index.js +2 -2
  42. package/node_modules/@turf/bezier-spline/dist/esm/index.js.map +1 -1
  43. package/node_modules/@turf/bezier-spline/package.json +10 -10
  44. package/node_modules/@turf/boolean-clockwise/dist/cjs/index.cjs +2 -2
  45. package/node_modules/@turf/boolean-clockwise/dist/cjs/index.cjs.map +1 -1
  46. package/node_modules/@turf/boolean-clockwise/dist/esm/index.js +2 -2
  47. package/node_modules/@turf/boolean-clockwise/dist/esm/index.js.map +1 -1
  48. package/node_modules/@turf/boolean-clockwise/package.json +10 -10
  49. package/node_modules/@turf/boolean-concave/dist/cjs/index.cjs +2 -2
  50. package/node_modules/@turf/boolean-concave/dist/cjs/index.cjs.map +1 -1
  51. package/node_modules/@turf/boolean-concave/dist/esm/index.js +2 -2
  52. package/node_modules/@turf/boolean-concave/dist/esm/index.js.map +1 -1
  53. package/node_modules/@turf/boolean-concave/package.json +10 -10
  54. package/node_modules/@turf/boolean-contains/dist/cjs/index.cjs +2 -2
  55. package/node_modules/@turf/boolean-contains/dist/cjs/index.cjs.map +1 -1
  56. package/node_modules/@turf/boolean-contains/dist/esm/index.js +2 -2
  57. package/node_modules/@turf/boolean-contains/dist/esm/index.js.map +1 -1
  58. package/node_modules/@turf/boolean-contains/package.json +13 -13
  59. package/node_modules/@turf/boolean-crosses/dist/cjs/index.cjs +2 -2
  60. package/node_modules/@turf/boolean-crosses/dist/cjs/index.cjs.map +1 -1
  61. package/node_modules/@turf/boolean-crosses/dist/esm/index.js +2 -2
  62. package/node_modules/@turf/boolean-crosses/dist/esm/index.js.map +1 -1
  63. package/node_modules/@turf/boolean-crosses/package.json +13 -13
  64. package/node_modules/@turf/boolean-disjoint/dist/cjs/index.cjs +2 -2
  65. package/node_modules/@turf/boolean-disjoint/dist/cjs/index.cjs.map +1 -1
  66. package/node_modules/@turf/boolean-disjoint/dist/esm/index.js +2 -2
  67. package/node_modules/@turf/boolean-disjoint/dist/esm/index.js.map +1 -1
  68. package/node_modules/@turf/boolean-disjoint/package.json +12 -12
  69. package/node_modules/@turf/boolean-equal/dist/cjs/index.cjs +2 -2
  70. package/node_modules/@turf/boolean-equal/dist/cjs/index.cjs.map +1 -1
  71. package/node_modules/@turf/boolean-equal/dist/esm/index.js +2 -2
  72. package/node_modules/@turf/boolean-equal/dist/esm/index.js.map +1 -1
  73. package/node_modules/@turf/boolean-equal/package.json +11 -11
  74. package/node_modules/@turf/boolean-intersects/README.md +1 -1
  75. package/node_modules/@turf/boolean-intersects/dist/cjs/index.cjs +2 -2
  76. package/node_modules/@turf/boolean-intersects/dist/cjs/index.cjs.map +1 -1
  77. package/node_modules/@turf/boolean-intersects/dist/esm/index.js +2 -2
  78. package/node_modules/@turf/boolean-intersects/dist/esm/index.js.map +1 -1
  79. package/node_modules/@turf/boolean-intersects/package.json +10 -10
  80. package/node_modules/@turf/boolean-overlap/dist/cjs/index.cjs +2 -2
  81. package/node_modules/@turf/boolean-overlap/dist/cjs/index.cjs.map +1 -1
  82. package/node_modules/@turf/boolean-overlap/dist/esm/index.js +2 -2
  83. package/node_modules/@turf/boolean-overlap/dist/esm/index.js.map +1 -1
  84. package/node_modules/@turf/boolean-overlap/package.json +13 -13
  85. package/node_modules/@turf/boolean-parallel/dist/cjs/index.cjs +2 -2
  86. package/node_modules/@turf/boolean-parallel/dist/cjs/index.cjs.map +1 -1
  87. package/node_modules/@turf/boolean-parallel/dist/esm/index.js +2 -2
  88. package/node_modules/@turf/boolean-parallel/dist/esm/index.js.map +1 -1
  89. package/node_modules/@turf/boolean-parallel/package.json +12 -12
  90. package/node_modules/@turf/boolean-point-in-polygon/dist/cjs/index.cjs +2 -2
  91. package/node_modules/@turf/boolean-point-in-polygon/dist/cjs/index.cjs.map +1 -1
  92. package/node_modules/@turf/boolean-point-in-polygon/dist/esm/index.js +2 -2
  93. package/node_modules/@turf/boolean-point-in-polygon/dist/esm/index.js.map +1 -1
  94. package/node_modules/@turf/boolean-point-in-polygon/package.json +9 -9
  95. package/node_modules/@turf/boolean-point-on-line/dist/cjs/index.cjs +2 -2
  96. package/node_modules/@turf/boolean-point-on-line/dist/cjs/index.cjs.map +1 -1
  97. package/node_modules/@turf/boolean-point-on-line/dist/esm/index.js +2 -2
  98. package/node_modules/@turf/boolean-point-on-line/dist/esm/index.js.map +1 -1
  99. package/node_modules/@turf/boolean-point-on-line/package.json +11 -11
  100. package/node_modules/@turf/boolean-touches/dist/cjs/index.cjs +2 -2
  101. package/node_modules/@turf/boolean-touches/dist/cjs/index.cjs.map +1 -1
  102. package/node_modules/@turf/boolean-touches/dist/esm/index.js +2 -2
  103. package/node_modules/@turf/boolean-touches/dist/esm/index.js.map +1 -1
  104. package/node_modules/@turf/boolean-touches/package.json +12 -12
  105. package/node_modules/@turf/boolean-valid/dist/cjs/index.cjs +2 -2
  106. package/node_modules/@turf/boolean-valid/dist/cjs/index.cjs.map +1 -1
  107. package/node_modules/@turf/boolean-valid/dist/esm/index.js +2 -2
  108. package/node_modules/@turf/boolean-valid/dist/esm/index.js.map +1 -1
  109. package/node_modules/@turf/boolean-valid/package.json +17 -17
  110. package/node_modules/@turf/boolean-within/dist/cjs/index.cjs +2 -2
  111. package/node_modules/@turf/boolean-within/dist/cjs/index.cjs.map +1 -1
  112. package/node_modules/@turf/boolean-within/dist/esm/index.js +2 -2
  113. package/node_modules/@turf/boolean-within/dist/esm/index.js.map +1 -1
  114. package/node_modules/@turf/boolean-within/package.json +13 -13
  115. package/node_modules/@turf/buffer/README.md +3 -3
  116. package/node_modules/@turf/buffer/dist/cjs/index.cjs +2 -2
  117. package/node_modules/@turf/buffer/dist/cjs/index.cjs.map +1 -1
  118. package/node_modules/@turf/buffer/dist/esm/index.js +2 -2
  119. package/node_modules/@turf/buffer/dist/esm/index.js.map +1 -1
  120. package/node_modules/@turf/buffer/package.json +13 -13
  121. package/node_modules/@turf/center/dist/cjs/index.cjs +2 -2
  122. package/node_modules/@turf/center/dist/cjs/index.cjs.map +1 -1
  123. package/node_modules/@turf/center/dist/esm/index.js +2 -2
  124. package/node_modules/@turf/center/dist/esm/index.js.map +1 -1
  125. package/node_modules/@turf/center/package.json +13 -13
  126. package/node_modules/@turf/center-mean/dist/cjs/index.cjs +2 -2
  127. package/node_modules/@turf/center-mean/dist/cjs/index.cjs.map +1 -1
  128. package/node_modules/@turf/center-mean/dist/esm/index.js +2 -2
  129. package/node_modules/@turf/center-mean/dist/esm/index.js.map +1 -1
  130. package/node_modules/@turf/center-mean/package.json +14 -14
  131. package/node_modules/@turf/center-median/dist/cjs/index.cjs +2 -2
  132. package/node_modules/@turf/center-median/dist/cjs/index.cjs.map +1 -1
  133. package/node_modules/@turf/center-median/dist/esm/index.js +2 -2
  134. package/node_modules/@turf/center-median/dist/esm/index.js.map +1 -1
  135. package/node_modules/@turf/center-median/package.json +17 -17
  136. package/node_modules/@turf/center-of-mass/dist/cjs/index.cjs +2 -2
  137. package/node_modules/@turf/center-of-mass/dist/cjs/index.cjs.map +1 -1
  138. package/node_modules/@turf/center-of-mass/dist/esm/index.js +2 -2
  139. package/node_modules/@turf/center-of-mass/dist/esm/index.js.map +1 -1
  140. package/node_modules/@turf/center-of-mass/package.json +14 -14
  141. package/node_modules/@turf/centroid/dist/cjs/index.cjs +2 -2
  142. package/node_modules/@turf/centroid/dist/cjs/index.cjs.map +1 -1
  143. package/node_modules/@turf/centroid/dist/esm/index.js +2 -2
  144. package/node_modules/@turf/centroid/dist/esm/index.js.map +1 -1
  145. package/node_modules/@turf/centroid/package.json +11 -11
  146. package/node_modules/@turf/circle/README.md +13 -13
  147. package/node_modules/@turf/circle/dist/cjs/index.cjs +2 -2
  148. package/node_modules/@turf/circle/dist/cjs/index.cjs.map +1 -1
  149. package/node_modules/@turf/circle/dist/cjs/index.d.cts +2 -2
  150. package/node_modules/@turf/circle/dist/esm/index.d.ts +2 -2
  151. package/node_modules/@turf/circle/dist/esm/index.js +2 -2
  152. package/node_modules/@turf/circle/dist/esm/index.js.map +1 -1
  153. package/node_modules/@turf/circle/package.json +11 -11
  154. package/node_modules/@turf/clean-coords/dist/cjs/index.cjs +33 -49
  155. package/node_modules/@turf/clean-coords/dist/cjs/index.cjs.map +1 -1
  156. package/node_modules/@turf/clean-coords/dist/esm/index.js +33 -49
  157. package/node_modules/@turf/clean-coords/dist/esm/index.js.map +1 -1
  158. package/node_modules/@turf/clean-coords/package.json +15 -12
  159. package/node_modules/@turf/clone/dist/cjs/index.cjs +2 -2
  160. package/node_modules/@turf/clone/dist/cjs/index.cjs.map +1 -1
  161. package/node_modules/@turf/clone/dist/esm/index.js +2 -2
  162. package/node_modules/@turf/clone/dist/esm/index.js.map +1 -1
  163. package/node_modules/@turf/clone/package.json +9 -9
  164. package/node_modules/@turf/clusters/package.json +9 -9
  165. package/node_modules/@turf/clusters-dbscan/README.md +2 -2
  166. package/node_modules/@turf/clusters-dbscan/dist/cjs/index.cjs +3 -8
  167. package/node_modules/@turf/clusters-dbscan/dist/cjs/index.cjs.map +1 -1
  168. package/node_modules/@turf/clusters-dbscan/dist/cjs/index.d.cts +1 -1
  169. package/node_modules/@turf/clusters-dbscan/dist/esm/index.d.ts +1 -1
  170. package/node_modules/@turf/clusters-dbscan/dist/esm/index.js +4 -9
  171. package/node_modules/@turf/clusters-dbscan/dist/esm/index.js.map +1 -1
  172. package/node_modules/@turf/clusters-dbscan/package.json +15 -15
  173. package/node_modules/@turf/clusters-kmeans/dist/cjs/index.cjs +2 -2
  174. package/node_modules/@turf/clusters-kmeans/dist/cjs/index.cjs.map +1 -1
  175. package/node_modules/@turf/clusters-kmeans/dist/cjs/index.d.cts +1 -1
  176. package/node_modules/@turf/clusters-kmeans/dist/esm/index.d.ts +1 -1
  177. package/node_modules/@turf/clusters-kmeans/dist/esm/index.js +2 -2
  178. package/node_modules/@turf/clusters-kmeans/dist/esm/index.js.map +1 -1
  179. package/node_modules/@turf/clusters-kmeans/package.json +15 -15
  180. package/node_modules/@turf/collect/dist/cjs/index.cjs +3 -8
  181. package/node_modules/@turf/collect/dist/cjs/index.cjs.map +1 -1
  182. package/node_modules/@turf/collect/dist/esm/index.js +3 -8
  183. package/node_modules/@turf/collect/dist/esm/index.js.map +1 -1
  184. package/node_modules/@turf/collect/package.json +11 -11
  185. package/node_modules/@turf/combine/dist/cjs/index.cjs +2 -2
  186. package/node_modules/@turf/combine/dist/cjs/index.cjs.map +1 -1
  187. package/node_modules/@turf/combine/dist/esm/index.js +2 -2
  188. package/node_modules/@turf/combine/dist/esm/index.js.map +1 -1
  189. package/node_modules/@turf/combine/package.json +9 -9
  190. package/node_modules/@turf/concave/README.md +2 -2
  191. package/node_modules/@turf/concave/dist/cjs/index.cjs +2 -2
  192. package/node_modules/@turf/concave/dist/cjs/index.cjs.map +1 -1
  193. package/node_modules/@turf/concave/dist/cjs/index.d.cts +1 -1
  194. package/node_modules/@turf/concave/dist/esm/index.d.ts +1 -1
  195. package/node_modules/@turf/concave/dist/esm/index.js +2 -2
  196. package/node_modules/@turf/concave/dist/esm/index.js.map +1 -1
  197. package/node_modules/@turf/concave/package.json +14 -14
  198. package/node_modules/@turf/convex/dist/cjs/index.cjs +2 -2
  199. package/node_modules/@turf/convex/dist/cjs/index.cjs.map +1 -1
  200. package/node_modules/@turf/convex/dist/esm/index.js +2 -2
  201. package/node_modules/@turf/convex/dist/esm/index.js.map +1 -1
  202. package/node_modules/@turf/convex/package.json +11 -11
  203. package/node_modules/@turf/destination/README.md +2 -2
  204. package/node_modules/@turf/destination/dist/cjs/index.cjs +5 -2
  205. package/node_modules/@turf/destination/dist/cjs/index.cjs.map +1 -1
  206. package/node_modules/@turf/destination/dist/cjs/index.d.cts +1 -1
  207. package/node_modules/@turf/destination/dist/esm/index.d.ts +1 -1
  208. package/node_modules/@turf/destination/dist/esm/index.js +5 -2
  209. package/node_modules/@turf/destination/dist/esm/index.js.map +1 -1
  210. package/node_modules/@turf/destination/package.json +14 -11
  211. package/node_modules/@turf/difference/dist/cjs/index.cjs +2 -2
  212. package/node_modules/@turf/difference/dist/cjs/index.cjs.map +1 -1
  213. package/node_modules/@turf/difference/dist/esm/index.js +2 -2
  214. package/node_modules/@turf/difference/dist/esm/index.js.map +1 -1
  215. package/node_modules/@turf/difference/package.json +11 -11
  216. package/node_modules/@turf/dissolve/dist/cjs/index.cjs +2 -2
  217. package/node_modules/@turf/dissolve/dist/cjs/index.cjs.map +1 -1
  218. package/node_modules/@turf/dissolve/dist/esm/index.js +2 -2
  219. package/node_modules/@turf/dissolve/dist/esm/index.js.map +1 -1
  220. package/node_modules/@turf/dissolve/package.json +12 -12
  221. package/node_modules/@turf/distance/README.md +2 -2
  222. package/node_modules/@turf/distance/dist/cjs/index.cjs +2 -2
  223. package/node_modules/@turf/distance/dist/cjs/index.cjs.map +1 -1
  224. package/node_modules/@turf/distance/dist/cjs/index.d.cts +1 -1
  225. package/node_modules/@turf/distance/dist/esm/index.d.ts +1 -1
  226. package/node_modules/@turf/distance/dist/esm/index.js +2 -2
  227. package/node_modules/@turf/distance/dist/esm/index.js.map +1 -1
  228. package/node_modules/@turf/distance/package.json +10 -10
  229. package/node_modules/@turf/distance-weight/dist/cjs/index.cjs +2 -2
  230. package/node_modules/@turf/distance-weight/dist/cjs/index.cjs.map +1 -1
  231. package/node_modules/@turf/distance-weight/dist/esm/index.js +2 -2
  232. package/node_modules/@turf/distance-weight/dist/esm/index.js.map +1 -1
  233. package/node_modules/@turf/distance-weight/package.json +12 -12
  234. package/node_modules/@turf/ellipse/README.md +2 -2
  235. package/node_modules/@turf/ellipse/dist/cjs/index.cjs +62 -39
  236. package/node_modules/@turf/ellipse/dist/cjs/index.cjs.map +1 -1
  237. package/node_modules/@turf/ellipse/dist/cjs/index.d.cts +1 -1
  238. package/node_modules/@turf/ellipse/dist/esm/index.d.ts +1 -1
  239. package/node_modules/@turf/ellipse/dist/esm/index.js +64 -41
  240. package/node_modules/@turf/ellipse/dist/esm/index.js.map +1 -1
  241. package/node_modules/@turf/ellipse/package.json +21 -18
  242. package/node_modules/@turf/envelope/dist/cjs/index.cjs +2 -2
  243. package/node_modules/@turf/envelope/dist/cjs/index.cjs.map +1 -1
  244. package/node_modules/@turf/envelope/dist/esm/index.js +2 -2
  245. package/node_modules/@turf/envelope/dist/esm/index.js.map +1 -1
  246. package/node_modules/@turf/envelope/package.json +10 -10
  247. package/node_modules/@turf/explode/dist/cjs/index.cjs +2 -2
  248. package/node_modules/@turf/explode/dist/cjs/index.cjs.map +1 -1
  249. package/node_modules/@turf/explode/dist/esm/index.js +2 -2
  250. package/node_modules/@turf/explode/dist/esm/index.js.map +1 -1
  251. package/node_modules/@turf/explode/package.json +10 -10
  252. package/node_modules/@turf/flatten/dist/cjs/index.cjs +2 -2
  253. package/node_modules/@turf/flatten/dist/cjs/index.cjs.map +1 -1
  254. package/node_modules/@turf/flatten/dist/esm/index.js +2 -2
  255. package/node_modules/@turf/flatten/dist/esm/index.js.map +1 -1
  256. package/node_modules/@turf/flatten/package.json +10 -10
  257. package/node_modules/@turf/flip/dist/cjs/index.cjs +2 -2
  258. package/node_modules/@turf/flip/dist/cjs/index.cjs.map +1 -1
  259. package/node_modules/@turf/flip/dist/esm/index.js +2 -2
  260. package/node_modules/@turf/flip/dist/esm/index.js.map +1 -1
  261. package/node_modules/@turf/flip/package.json +11 -11
  262. package/node_modules/@turf/geojson-rbush/dist/cjs/index.cjs +2 -2
  263. package/node_modules/@turf/geojson-rbush/dist/cjs/index.cjs.map +1 -1
  264. package/node_modules/@turf/geojson-rbush/dist/esm/index.js +2 -2
  265. package/node_modules/@turf/geojson-rbush/dist/esm/index.js.map +1 -1
  266. package/node_modules/@turf/geojson-rbush/package.json +12 -12
  267. package/node_modules/@turf/great-circle/dist/cjs/index.cjs +3 -3
  268. package/node_modules/@turf/great-circle/dist/cjs/index.cjs.map +1 -1
  269. package/node_modules/@turf/great-circle/dist/esm/index.js +3 -3
  270. package/node_modules/@turf/great-circle/dist/esm/index.js.map +1 -1
  271. package/node_modules/@turf/great-circle/package.json +10 -10
  272. package/node_modules/@turf/helpers/README.md +1 -1
  273. package/node_modules/@turf/helpers/dist/cjs/index.cjs.map +1 -1
  274. package/node_modules/@turf/helpers/dist/cjs/index.d.cts +1 -1
  275. package/node_modules/@turf/helpers/dist/esm/index.d.ts +1 -1
  276. package/node_modules/@turf/helpers/dist/esm/index.js.map +1 -1
  277. package/node_modules/@turf/helpers/package.json +7 -7
  278. package/node_modules/@turf/hex-grid/README.md +7 -5
  279. package/node_modules/@turf/hex-grid/dist/cjs/index.cjs +2 -2
  280. package/node_modules/@turf/hex-grid/dist/cjs/index.cjs.map +1 -1
  281. package/node_modules/@turf/hex-grid/dist/cjs/index.d.cts +4 -4
  282. package/node_modules/@turf/hex-grid/dist/esm/index.d.ts +4 -4
  283. package/node_modules/@turf/hex-grid/dist/esm/index.js +2 -2
  284. package/node_modules/@turf/hex-grid/dist/esm/index.js.map +1 -1
  285. package/node_modules/@turf/hex-grid/package.json +14 -14
  286. package/node_modules/@turf/interpolate/README.md +7 -5
  287. package/node_modules/@turf/interpolate/dist/cjs/index.cjs +2 -2
  288. package/node_modules/@turf/interpolate/dist/cjs/index.cjs.map +1 -1
  289. package/node_modules/@turf/interpolate/dist/esm/index.js +2 -2
  290. package/node_modules/@turf/interpolate/dist/esm/index.js.map +1 -1
  291. package/node_modules/@turf/interpolate/package.json +19 -19
  292. package/node_modules/@turf/intersect/dist/cjs/index.cjs +2 -2
  293. package/node_modules/@turf/intersect/dist/cjs/index.cjs.map +1 -1
  294. package/node_modules/@turf/intersect/dist/esm/index.js +2 -2
  295. package/node_modules/@turf/intersect/dist/esm/index.js.map +1 -1
  296. package/node_modules/@turf/intersect/package.json +11 -11
  297. package/node_modules/@turf/invariant/package.json +8 -8
  298. package/node_modules/@turf/isobands/README.md +1 -1
  299. package/node_modules/@turf/isobands/dist/cjs/index.cjs +313 -9
  300. package/node_modules/@turf/isobands/dist/cjs/index.cjs.map +1 -1
  301. package/node_modules/@turf/isobands/dist/cjs/index.d.cts +1 -1
  302. package/node_modules/@turf/isobands/dist/esm/index.d.ts +1 -1
  303. package/node_modules/@turf/isobands/dist/esm/index.js +313 -9
  304. package/node_modules/@turf/isobands/dist/esm/index.js.map +1 -1
  305. package/node_modules/@turf/isobands/package.json +22 -22
  306. package/node_modules/@turf/isolines/README.md +1 -1
  307. package/node_modules/@turf/isolines/dist/cjs/index.cjs +192 -7
  308. package/node_modules/@turf/isolines/dist/cjs/index.cjs.map +1 -1
  309. package/node_modules/@turf/isolines/dist/cjs/index.d.cts +1 -1
  310. package/node_modules/@turf/isolines/dist/esm/index.d.ts +1 -1
  311. package/node_modules/@turf/isolines/dist/esm/index.js +192 -7
  312. package/node_modules/@turf/isolines/dist/esm/index.js.map +1 -1
  313. package/node_modules/@turf/isolines/package.json +19 -19
  314. package/node_modules/@turf/kinks/dist/cjs/index.cjs +2 -2
  315. package/node_modules/@turf/kinks/dist/cjs/index.cjs.map +1 -1
  316. package/node_modules/@turf/kinks/dist/esm/index.js +2 -2
  317. package/node_modules/@turf/kinks/dist/esm/index.js.map +1 -1
  318. package/node_modules/@turf/kinks/package.json +10 -10
  319. package/node_modules/@turf/length/README.md +2 -2
  320. package/node_modules/@turf/length/dist/cjs/index.cjs +2 -2
  321. package/node_modules/@turf/length/dist/cjs/index.cjs.map +1 -1
  322. package/node_modules/@turf/length/dist/cjs/index.d.cts +1 -1
  323. package/node_modules/@turf/length/dist/esm/index.d.ts +1 -1
  324. package/node_modules/@turf/length/dist/esm/index.js +2 -2
  325. package/node_modules/@turf/length/dist/esm/index.js.map +1 -1
  326. package/node_modules/@turf/length/package.json +11 -11
  327. package/node_modules/@turf/line-arc/README.md +2 -2
  328. package/node_modules/@turf/line-arc/dist/cjs/index.cjs +2 -2
  329. package/node_modules/@turf/line-arc/dist/cjs/index.cjs.map +1 -1
  330. package/node_modules/@turf/line-arc/dist/cjs/index.d.cts +1 -1
  331. package/node_modules/@turf/line-arc/dist/esm/index.d.ts +1 -1
  332. package/node_modules/@turf/line-arc/dist/esm/index.js +2 -2
  333. package/node_modules/@turf/line-arc/dist/esm/index.js.map +1 -1
  334. package/node_modules/@turf/line-arc/package.json +12 -12
  335. package/node_modules/@turf/line-chunk/README.md +2 -2
  336. package/node_modules/@turf/line-chunk/dist/cjs/index.cjs +2 -2
  337. package/node_modules/@turf/line-chunk/dist/cjs/index.cjs.map +1 -1
  338. package/node_modules/@turf/line-chunk/dist/esm/index.js +2 -2
  339. package/node_modules/@turf/line-chunk/dist/esm/index.js.map +1 -1
  340. package/node_modules/@turf/line-chunk/package.json +12 -12
  341. package/node_modules/@turf/line-intersect/dist/cjs/index.cjs +2 -2
  342. package/node_modules/@turf/line-intersect/dist/cjs/index.cjs.map +1 -1
  343. package/node_modules/@turf/line-intersect/dist/esm/index.js +2 -2
  344. package/node_modules/@turf/line-intersect/dist/esm/index.js.map +1 -1
  345. package/node_modules/@turf/line-intersect/package.json +10 -10
  346. package/node_modules/@turf/line-offset/README.md +2 -2
  347. package/node_modules/@turf/line-offset/dist/cjs/index.cjs +2 -2
  348. package/node_modules/@turf/line-offset/dist/cjs/index.cjs.map +1 -1
  349. package/node_modules/@turf/line-offset/dist/esm/index.js +2 -2
  350. package/node_modules/@turf/line-offset/dist/esm/index.js.map +1 -1
  351. package/node_modules/@turf/line-offset/package.json +11 -11
  352. package/node_modules/@turf/line-overlap/dist/cjs/index.cjs +2 -2
  353. package/node_modules/@turf/line-overlap/dist/cjs/index.cjs.map +1 -1
  354. package/node_modules/@turf/line-overlap/dist/esm/index.js +2 -2
  355. package/node_modules/@turf/line-overlap/dist/esm/index.js.map +1 -1
  356. package/node_modules/@turf/line-overlap/package.json +15 -15
  357. package/node_modules/@turf/line-segment/dist/cjs/index.cjs +2 -2
  358. package/node_modules/@turf/line-segment/dist/cjs/index.cjs.map +1 -1
  359. package/node_modules/@turf/line-segment/dist/esm/index.js +2 -2
  360. package/node_modules/@turf/line-segment/dist/esm/index.js.map +1 -1
  361. package/node_modules/@turf/line-segment/package.json +11 -11
  362. package/node_modules/@turf/line-slice/dist/cjs/index.cjs +2 -2
  363. package/node_modules/@turf/line-slice/dist/cjs/index.cjs.map +1 -1
  364. package/node_modules/@turf/line-slice/dist/esm/index.js +2 -2
  365. package/node_modules/@turf/line-slice/dist/esm/index.js.map +1 -1
  366. package/node_modules/@turf/line-slice/package.json +11 -11
  367. package/node_modules/@turf/line-slice-along/README.md +2 -2
  368. package/node_modules/@turf/line-slice-along/dist/cjs/index.cjs +2 -2
  369. package/node_modules/@turf/line-slice-along/dist/cjs/index.cjs.map +1 -1
  370. package/node_modules/@turf/line-slice-along/dist/esm/index.js +2 -2
  371. package/node_modules/@turf/line-slice-along/dist/esm/index.js.map +1 -1
  372. package/node_modules/@turf/line-slice-along/package.json +12 -12
  373. package/node_modules/@turf/line-split/README.md +4 -1
  374. package/node_modules/@turf/line-split/dist/cjs/index.cjs +2 -7
  375. package/node_modules/@turf/line-split/dist/cjs/index.cjs.map +1 -1
  376. package/node_modules/@turf/line-split/dist/esm/index.js +2 -7
  377. package/node_modules/@turf/line-split/dist/esm/index.js.map +1 -1
  378. package/node_modules/@turf/line-split/package.json +16 -17
  379. package/node_modules/@turf/line-to-polygon/dist/cjs/index.cjs +2 -2
  380. package/node_modules/@turf/line-to-polygon/dist/cjs/index.cjs.map +1 -1
  381. package/node_modules/@turf/line-to-polygon/dist/esm/index.js +2 -2
  382. package/node_modules/@turf/line-to-polygon/dist/esm/index.js.map +1 -1
  383. package/node_modules/@turf/line-to-polygon/package.json +12 -12
  384. package/node_modules/@turf/mask/dist/cjs/index.cjs +2 -2
  385. package/node_modules/@turf/mask/dist/cjs/index.cjs.map +1 -1
  386. package/node_modules/@turf/mask/dist/esm/index.js +2 -2
  387. package/node_modules/@turf/mask/dist/esm/index.js.map +1 -1
  388. package/node_modules/@turf/mask/package.json +10 -10
  389. package/node_modules/@turf/meta/package.json +7 -7
  390. package/node_modules/@turf/midpoint/dist/cjs/index.cjs +2 -2
  391. package/node_modules/@turf/midpoint/dist/cjs/index.cjs.map +1 -1
  392. package/node_modules/@turf/midpoint/dist/esm/index.js +2 -2
  393. package/node_modules/@turf/midpoint/dist/esm/index.js.map +1 -1
  394. package/node_modules/@turf/midpoint/package.json +11 -11
  395. package/node_modules/@turf/moran-index/dist/cjs/index.cjs +2 -2
  396. package/node_modules/@turf/moran-index/dist/cjs/index.cjs.map +1 -1
  397. package/node_modules/@turf/moran-index/dist/esm/index.js +2 -2
  398. package/node_modules/@turf/moran-index/dist/esm/index.js.map +1 -1
  399. package/node_modules/@turf/moran-index/package.json +11 -11
  400. package/node_modules/@turf/nearest-neighbor-analysis/README.md +1 -1
  401. package/node_modules/@turf/nearest-neighbor-analysis/dist/cjs/index.cjs +2 -2
  402. package/node_modules/@turf/nearest-neighbor-analysis/dist/cjs/index.cjs.map +1 -1
  403. package/node_modules/@turf/nearest-neighbor-analysis/dist/cjs/index.d.cts +2 -2
  404. package/node_modules/@turf/nearest-neighbor-analysis/dist/esm/index.d.ts +2 -2
  405. package/node_modules/@turf/nearest-neighbor-analysis/dist/esm/index.js +2 -2
  406. package/node_modules/@turf/nearest-neighbor-analysis/dist/esm/index.js.map +1 -1
  407. package/node_modules/@turf/nearest-neighbor-analysis/package.json +17 -17
  408. package/node_modules/@turf/nearest-point/README.md +2 -2
  409. package/node_modules/@turf/nearest-point/dist/cjs/index.cjs +2 -2
  410. package/node_modules/@turf/nearest-point/dist/cjs/index.cjs.map +1 -1
  411. package/node_modules/@turf/nearest-point/dist/cjs/index.d.cts +6 -7
  412. package/node_modules/@turf/nearest-point/dist/esm/index.d.ts +6 -7
  413. package/node_modules/@turf/nearest-point/dist/esm/index.js +2 -2
  414. package/node_modules/@turf/nearest-point/dist/esm/index.js.map +1 -1
  415. package/node_modules/@turf/nearest-point/package.json +12 -12
  416. package/node_modules/@turf/nearest-point-on-line/README.md +6 -2
  417. package/node_modules/@turf/nearest-point-on-line/dist/cjs/index.cjs +45 -52
  418. package/node_modules/@turf/nearest-point-on-line/dist/cjs/index.cjs.map +1 -1
  419. package/node_modules/@turf/nearest-point-on-line/dist/cjs/index.d.cts +5 -1
  420. package/node_modules/@turf/nearest-point-on-line/dist/esm/index.d.ts +5 -1
  421. package/node_modules/@turf/nearest-point-on-line/dist/esm/index.js +45 -52
  422. package/node_modules/@turf/nearest-point-on-line/dist/esm/index.js.map +1 -1
  423. package/node_modules/@turf/nearest-point-on-line/package.json +20 -15
  424. package/node_modules/@turf/nearest-point-to-line/README.md +2 -2
  425. package/node_modules/@turf/nearest-point-to-line/dist/cjs/index.cjs +2 -2
  426. package/node_modules/@turf/nearest-point-to-line/dist/cjs/index.cjs.map +1 -1
  427. package/node_modules/@turf/nearest-point-to-line/dist/cjs/index.d.cts +1 -1
  428. package/node_modules/@turf/nearest-point-to-line/dist/esm/index.d.ts +1 -1
  429. package/node_modules/@turf/nearest-point-to-line/dist/esm/index.js +2 -2
  430. package/node_modules/@turf/nearest-point-to-line/dist/esm/index.js.map +1 -1
  431. package/node_modules/@turf/nearest-point-to-line/package.json +14 -14
  432. package/node_modules/@turf/planepoint/dist/cjs/index.cjs +2 -2
  433. package/node_modules/@turf/planepoint/dist/cjs/index.cjs.map +1 -1
  434. package/node_modules/@turf/planepoint/dist/esm/index.js +2 -2
  435. package/node_modules/@turf/planepoint/dist/esm/index.js.map +1 -1
  436. package/node_modules/@turf/planepoint/package.json +9 -9
  437. package/node_modules/@turf/point-grid/dist/cjs/index.cjs +2 -2
  438. package/node_modules/@turf/point-grid/dist/cjs/index.cjs.map +1 -1
  439. package/node_modules/@turf/point-grid/dist/esm/index.js +2 -2
  440. package/node_modules/@turf/point-grid/dist/esm/index.js.map +1 -1
  441. package/node_modules/@turf/point-grid/package.json +14 -14
  442. package/node_modules/@turf/point-on-feature/dist/cjs/index.cjs +2 -2
  443. package/node_modules/@turf/point-on-feature/dist/cjs/index.cjs.map +1 -1
  444. package/node_modules/@turf/point-on-feature/dist/esm/index.js +2 -2
  445. package/node_modules/@turf/point-on-feature/dist/esm/index.js.map +1 -1
  446. package/node_modules/@turf/point-on-feature/package.json +15 -15
  447. package/node_modules/@turf/point-to-line-distance/README.md +5 -4
  448. package/node_modules/@turf/point-to-line-distance/dist/cjs/index.cjs +2 -2
  449. package/node_modules/@turf/point-to-line-distance/dist/cjs/index.cjs.map +1 -1
  450. package/node_modules/@turf/point-to-line-distance/dist/cjs/index.d.cts +1 -2
  451. package/node_modules/@turf/point-to-line-distance/dist/esm/index.d.ts +1 -2
  452. package/node_modules/@turf/point-to-line-distance/dist/esm/index.js +2 -2
  453. package/node_modules/@turf/point-to-line-distance/dist/esm/index.js.map +1 -1
  454. package/node_modules/@turf/point-to-line-distance/package.json +18 -18
  455. package/node_modules/@turf/point-to-polygon-distance/dist/cjs/index.cjs +3 -3
  456. package/node_modules/@turf/point-to-polygon-distance/dist/cjs/index.cjs.map +1 -1
  457. package/node_modules/@turf/point-to-polygon-distance/dist/esm/index.js +3 -3
  458. package/node_modules/@turf/point-to-polygon-distance/dist/esm/index.js.map +1 -1
  459. package/node_modules/@turf/point-to-polygon-distance/package.json +14 -14
  460. package/node_modules/@turf/points-within-polygon/dist/cjs/index.cjs +2 -2
  461. package/node_modules/@turf/points-within-polygon/dist/cjs/index.cjs.map +1 -1
  462. package/node_modules/@turf/points-within-polygon/dist/esm/index.js +2 -2
  463. package/node_modules/@turf/points-within-polygon/dist/esm/index.js.map +1 -1
  464. package/node_modules/@turf/points-within-polygon/package.json +10 -10
  465. package/node_modules/@turf/polygon-smooth/README.md +1 -1
  466. package/node_modules/@turf/polygon-smooth/dist/cjs/index.cjs +2 -2
  467. package/node_modules/@turf/polygon-smooth/dist/cjs/index.cjs.map +1 -1
  468. package/node_modules/@turf/polygon-smooth/dist/cjs/index.d.cts +1 -1
  469. package/node_modules/@turf/polygon-smooth/dist/esm/index.d.ts +1 -1
  470. package/node_modules/@turf/polygon-smooth/dist/esm/index.js +2 -2
  471. package/node_modules/@turf/polygon-smooth/dist/esm/index.js.map +1 -1
  472. package/node_modules/@turf/polygon-smooth/package.json +11 -11
  473. package/node_modules/@turf/polygon-tangents/dist/cjs/index.cjs +2 -2
  474. package/node_modules/@turf/polygon-tangents/dist/cjs/index.cjs.map +1 -1
  475. package/node_modules/@turf/polygon-tangents/dist/esm/index.js +2 -2
  476. package/node_modules/@turf/polygon-tangents/dist/esm/index.js.map +1 -1
  477. package/node_modules/@turf/polygon-tangents/package.json +14 -14
  478. package/node_modules/@turf/polygon-to-line/dist/cjs/index.cjs +2 -2
  479. package/node_modules/@turf/polygon-to-line/dist/cjs/index.cjs.map +1 -1
  480. package/node_modules/@turf/polygon-to-line/dist/esm/index.js +2 -2
  481. package/node_modules/@turf/polygon-to-line/dist/esm/index.js.map +1 -1
  482. package/node_modules/@turf/polygon-to-line/package.json +10 -10
  483. package/node_modules/@turf/polygonize/dist/cjs/index.cjs +2 -2
  484. package/node_modules/@turf/polygonize/dist/cjs/index.cjs.map +1 -1
  485. package/node_modules/@turf/polygonize/dist/esm/index.js +2 -2
  486. package/node_modules/@turf/polygonize/dist/esm/index.js.map +1 -1
  487. package/node_modules/@turf/polygonize/package.json +13 -13
  488. package/node_modules/@turf/projection/package.json +12 -12
  489. package/node_modules/@turf/quadrat-analysis/dist/cjs/index.cjs +2 -2
  490. package/node_modules/@turf/quadrat-analysis/dist/cjs/index.cjs.map +1 -1
  491. package/node_modules/@turf/quadrat-analysis/dist/esm/index.js +2 -2
  492. package/node_modules/@turf/quadrat-analysis/dist/esm/index.js.map +1 -1
  493. package/node_modules/@turf/quadrat-analysis/package.json +18 -18
  494. package/node_modules/@turf/random/package.json +9 -9
  495. package/node_modules/@turf/rectangle-grid/dist/cjs/index.cjs +2 -2
  496. package/node_modules/@turf/rectangle-grid/dist/cjs/index.cjs.map +1 -1
  497. package/node_modules/@turf/rectangle-grid/dist/esm/index.js +2 -2
  498. package/node_modules/@turf/rectangle-grid/dist/esm/index.js.map +1 -1
  499. package/node_modules/@turf/rectangle-grid/package.json +13 -13
  500. package/node_modules/@turf/rewind/dist/cjs/index.cjs +2 -2
  501. package/node_modules/@turf/rewind/dist/cjs/index.cjs.map +1 -1
  502. package/node_modules/@turf/rewind/dist/esm/index.js +2 -2
  503. package/node_modules/@turf/rewind/dist/esm/index.js.map +1 -1
  504. package/node_modules/@turf/rewind/package.json +13 -13
  505. package/node_modules/@turf/rhumb-bearing/dist/cjs/index.cjs +2 -2
  506. package/node_modules/@turf/rhumb-bearing/dist/cjs/index.cjs.map +1 -1
  507. package/node_modules/@turf/rhumb-bearing/dist/esm/index.js +2 -2
  508. package/node_modules/@turf/rhumb-bearing/dist/esm/index.js.map +1 -1
  509. package/node_modules/@turf/rhumb-bearing/package.json +11 -11
  510. package/node_modules/@turf/rhumb-destination/README.md +2 -2
  511. package/node_modules/@turf/rhumb-destination/dist/cjs/index.cjs +2 -2
  512. package/node_modules/@turf/rhumb-destination/dist/cjs/index.cjs.map +1 -1
  513. package/node_modules/@turf/rhumb-destination/dist/cjs/index.d.cts +1 -1
  514. package/node_modules/@turf/rhumb-destination/dist/esm/index.d.ts +1 -1
  515. package/node_modules/@turf/rhumb-destination/dist/esm/index.js +2 -2
  516. package/node_modules/@turf/rhumb-destination/dist/esm/index.js.map +1 -1
  517. package/node_modules/@turf/rhumb-destination/package.json +11 -11
  518. package/node_modules/@turf/rhumb-distance/README.md +8 -9
  519. package/node_modules/@turf/rhumb-distance/dist/cjs/index.cjs +2 -2
  520. package/node_modules/@turf/rhumb-distance/dist/cjs/index.cjs.map +1 -1
  521. package/node_modules/@turf/rhumb-distance/dist/cjs/index.d.cts +2 -3
  522. package/node_modules/@turf/rhumb-distance/dist/esm/index.d.ts +2 -3
  523. package/node_modules/@turf/rhumb-distance/dist/esm/index.js +2 -2
  524. package/node_modules/@turf/rhumb-distance/dist/esm/index.js.map +1 -1
  525. package/node_modules/@turf/rhumb-distance/package.json +11 -11
  526. package/node_modules/@turf/sample/dist/cjs/index.cjs +2 -2
  527. package/node_modules/@turf/sample/dist/cjs/index.cjs.map +1 -1
  528. package/node_modules/@turf/sample/dist/esm/index.js +2 -2
  529. package/node_modules/@turf/sample/dist/esm/index.js.map +1 -1
  530. package/node_modules/@turf/sample/package.json +8 -8
  531. package/node_modules/@turf/sector/README.md +2 -2
  532. package/node_modules/@turf/sector/dist/cjs/index.cjs +2 -2
  533. package/node_modules/@turf/sector/dist/cjs/index.cjs.map +1 -1
  534. package/node_modules/@turf/sector/dist/cjs/index.d.cts +1 -1
  535. package/node_modules/@turf/sector/dist/esm/index.d.ts +1 -1
  536. package/node_modules/@turf/sector/dist/esm/index.js +2 -2
  537. package/node_modules/@turf/sector/dist/esm/index.js.map +1 -1
  538. package/node_modules/@turf/sector/package.json +14 -14
  539. package/node_modules/@turf/shortest-path/README.md +5 -3
  540. package/node_modules/@turf/shortest-path/dist/cjs/index.cjs +10 -14
  541. package/node_modules/@turf/shortest-path/dist/cjs/index.cjs.map +1 -1
  542. package/node_modules/@turf/shortest-path/dist/cjs/index.d.cts +1 -1
  543. package/node_modules/@turf/shortest-path/dist/esm/index.d.ts +1 -1
  544. package/node_modules/@turf/shortest-path/dist/esm/index.js +10 -14
  545. package/node_modules/@turf/shortest-path/dist/esm/index.js.map +1 -1
  546. package/node_modules/@turf/shortest-path/package.json +20 -19
  547. package/node_modules/@turf/simplify/README.md +13 -13
  548. package/node_modules/@turf/simplify/dist/cjs/index.cjs +6 -3
  549. package/node_modules/@turf/simplify/dist/cjs/index.cjs.map +1 -1
  550. package/node_modules/@turf/simplify/dist/cjs/index.d.cts +11 -12
  551. package/node_modules/@turf/simplify/dist/esm/index.d.ts +11 -12
  552. package/node_modules/@turf/simplify/dist/esm/index.js +6 -3
  553. package/node_modules/@turf/simplify/dist/esm/index.js.map +1 -1
  554. package/node_modules/@turf/simplify/package.json +13 -13
  555. package/node_modules/@turf/square/dist/cjs/index.cjs +2 -2
  556. package/node_modules/@turf/square/dist/cjs/index.cjs.map +1 -1
  557. package/node_modules/@turf/square/dist/esm/index.js +2 -2
  558. package/node_modules/@turf/square/dist/esm/index.js.map +1 -1
  559. package/node_modules/@turf/square/package.json +9 -9
  560. package/node_modules/@turf/square-grid/dist/cjs/index.cjs +2 -2
  561. package/node_modules/@turf/square-grid/dist/cjs/index.cjs.map +1 -1
  562. package/node_modules/@turf/square-grid/dist/esm/index.js +2 -2
  563. package/node_modules/@turf/square-grid/dist/esm/index.js.map +1 -1
  564. package/node_modules/@turf/square-grid/package.json +12 -12
  565. package/node_modules/@turf/standard-deviational-ellipse/dist/cjs/index.cjs +2 -2
  566. package/node_modules/@turf/standard-deviational-ellipse/dist/cjs/index.cjs.map +1 -1
  567. package/node_modules/@turf/standard-deviational-ellipse/dist/cjs/index.d.cts +1 -1
  568. package/node_modules/@turf/standard-deviational-ellipse/dist/esm/index.d.ts +1 -1
  569. package/node_modules/@turf/standard-deviational-ellipse/dist/esm/index.js +2 -2
  570. package/node_modules/@turf/standard-deviational-ellipse/dist/esm/index.js.map +1 -1
  571. package/node_modules/@turf/standard-deviational-ellipse/package.json +16 -16
  572. package/node_modules/@turf/tag/dist/cjs/index.cjs +2 -2
  573. package/node_modules/@turf/tag/dist/cjs/index.cjs.map +1 -1
  574. package/node_modules/@turf/tag/dist/esm/index.js +2 -2
  575. package/node_modules/@turf/tag/dist/esm/index.js.map +1 -1
  576. package/node_modules/@turf/tag/package.json +11 -11
  577. package/node_modules/@turf/tesselate/dist/cjs/index.cjs +2 -2
  578. package/node_modules/@turf/tesselate/dist/cjs/index.cjs.map +1 -1
  579. package/node_modules/@turf/tesselate/dist/esm/index.js +2 -2
  580. package/node_modules/@turf/tesselate/dist/esm/index.js.map +1 -1
  581. package/node_modules/@turf/tesselate/package.json +8 -8
  582. package/node_modules/@turf/tin/dist/cjs/index.cjs +2 -2
  583. package/node_modules/@turf/tin/dist/cjs/index.cjs.map +1 -1
  584. package/node_modules/@turf/tin/dist/esm/index.js +2 -2
  585. package/node_modules/@turf/tin/dist/esm/index.js.map +1 -1
  586. package/node_modules/@turf/tin/package.json +8 -8
  587. package/node_modules/@turf/transform-rotate/dist/cjs/index.cjs +2 -2
  588. package/node_modules/@turf/transform-rotate/dist/cjs/index.cjs.map +1 -1
  589. package/node_modules/@turf/transform-rotate/dist/esm/index.js +2 -2
  590. package/node_modules/@turf/transform-rotate/dist/esm/index.js.map +1 -1
  591. package/node_modules/@turf/transform-rotate/package.json +17 -17
  592. package/node_modules/@turf/transform-scale/dist/cjs/index.cjs +2 -2
  593. package/node_modules/@turf/transform-scale/dist/cjs/index.cjs.map +1 -1
  594. package/node_modules/@turf/transform-scale/dist/esm/index.js +2 -2
  595. package/node_modules/@turf/transform-scale/dist/esm/index.js.map +1 -1
  596. package/node_modules/@turf/transform-scale/package.json +21 -21
  597. package/node_modules/@turf/transform-translate/README.md +8 -3
  598. package/node_modules/@turf/transform-translate/dist/cjs/index.cjs +2 -2
  599. package/node_modules/@turf/transform-translate/dist/cjs/index.cjs.map +1 -1
  600. package/node_modules/@turf/transform-translate/dist/cjs/index.d.cts +4 -1
  601. package/node_modules/@turf/transform-translate/dist/esm/index.d.ts +4 -1
  602. package/node_modules/@turf/transform-translate/dist/esm/index.js +2 -2
  603. package/node_modules/@turf/transform-translate/dist/esm/index.js.map +1 -1
  604. package/node_modules/@turf/transform-translate/package.json +14 -14
  605. package/node_modules/@turf/triangle-grid/dist/cjs/index.cjs +2 -2
  606. package/node_modules/@turf/triangle-grid/dist/cjs/index.cjs.map +1 -1
  607. package/node_modules/@turf/triangle-grid/dist/esm/index.js +2 -2
  608. package/node_modules/@turf/triangle-grid/dist/esm/index.js.map +1 -1
  609. package/node_modules/@turf/triangle-grid/package.json +13 -13
  610. package/node_modules/@turf/truncate/dist/cjs/index.cjs +2 -2
  611. package/node_modules/@turf/truncate/dist/cjs/index.cjs.map +1 -1
  612. package/node_modules/@turf/truncate/dist/esm/index.js +2 -2
  613. package/node_modules/@turf/truncate/dist/esm/index.js.map +1 -1
  614. package/node_modules/@turf/truncate/package.json +10 -10
  615. package/node_modules/@turf/turf/package.json +125 -125
  616. package/node_modules/@turf/turf/turf.min.js +2 -11
  617. package/node_modules/@turf/union/dist/cjs/index.cjs +2 -2
  618. package/node_modules/@turf/union/dist/cjs/index.cjs.map +1 -1
  619. package/node_modules/@turf/union/dist/esm/index.js +2 -2
  620. package/node_modules/@turf/union/dist/esm/index.js.map +1 -1
  621. package/node_modules/@turf/union/package.json +11 -11
  622. package/node_modules/@turf/unkink-polygon/dist/cjs/index.cjs +2 -2
  623. package/node_modules/@turf/unkink-polygon/dist/cjs/index.cjs.map +1 -1
  624. package/node_modules/@turf/unkink-polygon/dist/esm/index.js +2 -2
  625. package/node_modules/@turf/unkink-polygon/dist/esm/index.js.map +1 -1
  626. package/node_modules/@turf/unkink-polygon/package.json +13 -13
  627. package/node_modules/@turf/voronoi/dist/cjs/index.cjs +2 -2
  628. package/node_modules/@turf/voronoi/dist/cjs/index.cjs.map +1 -1
  629. package/node_modules/@turf/voronoi/dist/esm/index.js +2 -2
  630. package/node_modules/@turf/voronoi/dist/esm/index.js.map +1 -1
  631. package/node_modules/@turf/voronoi/package.json +12 -12
  632. package/node_modules/@types/node/README.md +2 -2
  633. package/node_modules/@types/node/assert/strict.d.ts +105 -2
  634. package/node_modules/@types/node/assert.d.ts +162 -101
  635. package/node_modules/@types/node/async_hooks.d.ts +26 -6
  636. package/node_modules/@types/node/buffer.buffer.d.ts +9 -0
  637. package/node_modules/@types/node/buffer.d.ts +15 -7
  638. package/node_modules/@types/node/child_process.d.ts +91 -164
  639. package/node_modules/@types/node/cluster.d.ts +19 -20
  640. package/node_modules/@types/node/console.d.ts +19 -18
  641. package/node_modules/@types/node/crypto.d.ts +1264 -356
  642. package/node_modules/@types/node/dgram.d.ts +10 -9
  643. package/node_modules/@types/node/diagnostics_channel.d.ts +18 -15
  644. package/node_modules/@types/node/dns/promises.d.ts +36 -9
  645. package/node_modules/@types/node/dns.d.ts +95 -37
  646. package/node_modules/@types/node/domain.d.ts +1 -1
  647. package/node_modules/@types/node/events.d.ts +81 -36
  648. package/node_modules/@types/node/fs/promises.d.ts +104 -59
  649. package/node_modules/@types/node/fs.d.ts +414 -137
  650. package/node_modules/@types/node/globals.d.ts +149 -350
  651. package/node_modules/@types/node/globals.typedarray.d.ts +20 -0
  652. package/node_modules/@types/node/http.d.ts +191 -37
  653. package/node_modules/@types/node/http2.d.ts +266 -67
  654. package/node_modules/@types/node/https.d.ts +97 -63
  655. package/node_modules/@types/node/index.d.ts +16 -7
  656. package/node_modules/@types/node/inspector.d.ts +206 -3931
  657. package/node_modules/@types/node/inspector.generated.d.ts +4233 -0
  658. package/node_modules/@types/node/module.d.ts +153 -31
  659. package/node_modules/@types/node/net.d.ts +36 -17
  660. package/node_modules/@types/node/os.d.ts +22 -10
  661. package/node_modules/@types/node/package.json +14 -84
  662. package/node_modules/@types/node/path.d.ts +1 -1
  663. package/node_modules/@types/node/perf_hooks.d.ts +30 -18
  664. package/node_modules/@types/node/process.d.ts +40 -34
  665. package/node_modules/@types/node/punycode.d.ts +1 -1
  666. package/node_modules/@types/node/querystring.d.ts +1 -1
  667. package/node_modules/@types/node/readline/promises.d.ts +1 -2
  668. package/node_modules/@types/node/readline.d.ts +13 -13
  669. package/node_modules/@types/node/repl.d.ts +25 -17
  670. package/node_modules/@types/node/sea.d.ts +10 -1
  671. package/node_modules/@types/node/sqlite.d.ts +438 -9
  672. package/node_modules/@types/node/stream/consumers.d.ts +2 -2
  673. package/node_modules/@types/node/stream/web.d.ts +13 -54
  674. package/node_modules/@types/node/stream.d.ts +68 -47
  675. package/node_modules/@types/node/string_decoder.d.ts +3 -3
  676. package/node_modules/@types/node/test.d.ts +2034 -1975
  677. package/node_modules/@types/node/timers/promises.d.ts +1 -1
  678. package/node_modules/@types/node/timers.d.ts +1 -3
  679. package/node_modules/@types/node/tls.d.ts +124 -114
  680. package/node_modules/@types/node/trace_events.d.ts +6 -6
  681. package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +10 -2
  682. package/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
  683. package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +17 -0
  684. package/node_modules/@types/node/ts5.6/index.d.ts +18 -7
  685. package/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
  686. package/node_modules/@types/node/ts5.7/index.d.ts +103 -0
  687. package/node_modules/@types/node/tty.d.ts +1 -1
  688. package/node_modules/@types/node/url.d.ts +119 -34
  689. package/node_modules/@types/node/util.d.ts +46 -305
  690. package/node_modules/@types/node/v8.d.ts +100 -37
  691. package/node_modules/@types/node/vm.d.ts +299 -110
  692. package/node_modules/@types/node/wasi.d.ts +23 -2
  693. package/node_modules/@types/node/web-globals/abortcontroller.d.ts +34 -0
  694. package/node_modules/@types/node/web-globals/crypto.d.ts +32 -0
  695. package/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  696. package/node_modules/@types/node/web-globals/events.d.ts +97 -0
  697. package/node_modules/@types/node/web-globals/fetch.d.ts +50 -0
  698. package/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
  699. package/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  700. package/node_modules/@types/node/web-globals/streams.d.ts +22 -0
  701. package/node_modules/@types/node/worker_threads.d.ts +225 -75
  702. package/node_modules/@types/node/zlib.d.ts +44 -33
  703. package/node_modules/axios/CHANGELOG.md +410 -288
  704. package/node_modules/axios/README.md +156 -51
  705. package/node_modules/axios/dist/axios.js +471 -330
  706. package/node_modules/axios/dist/axios.js.map +1 -1
  707. package/node_modules/axios/dist/axios.min.js +2 -2
  708. package/node_modules/axios/dist/axios.min.js.map +1 -1
  709. package/node_modules/axios/dist/browser/axios.cjs +407 -265
  710. package/node_modules/axios/dist/browser/axios.cjs.map +1 -1
  711. package/node_modules/axios/dist/esm/axios.js +407 -265
  712. package/node_modules/axios/dist/esm/axios.js.map +1 -1
  713. package/node_modules/axios/dist/esm/axios.min.js +2 -2
  714. package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  715. package/node_modules/axios/dist/node/axios.cjs +723 -305
  716. package/node_modules/axios/dist/node/axios.cjs.map +1 -1
  717. package/node_modules/axios/index.d.cts +16 -5
  718. package/node_modules/axios/index.d.ts +17 -4
  719. package/node_modules/axios/lib/adapters/adapters.js +89 -42
  720. package/node_modules/axios/lib/adapters/fetch.js +221 -162
  721. package/node_modules/axios/lib/adapters/http.js +242 -42
  722. package/node_modules/axios/lib/adapters/xhr.js +11 -8
  723. package/node_modules/axios/lib/core/Axios.js +0 -2
  724. package/node_modules/axios/lib/core/AxiosError.js +10 -3
  725. package/node_modules/axios/lib/core/InterceptorManager.js +1 -1
  726. package/node_modules/axios/lib/core/dispatchRequest.js +1 -1
  727. package/node_modules/axios/lib/core/mergeConfig.js +4 -4
  728. package/node_modules/axios/lib/defaults/index.js +1 -1
  729. package/node_modules/axios/lib/env/data.js +1 -1
  730. package/node_modules/axios/lib/helpers/HttpStatusCode.js +6 -0
  731. package/node_modules/axios/lib/helpers/bind.js +7 -0
  732. package/node_modules/axios/lib/helpers/buildURL.js +1 -3
  733. package/node_modules/axios/lib/helpers/cookies.js +24 -13
  734. package/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js +73 -0
  735. package/node_modules/axios/lib/helpers/resolveConfig.js +13 -9
  736. package/node_modules/axios/lib/utils.js +5 -3
  737. package/node_modules/axios/package.json +26 -15
  738. package/node_modules/bignumber.js/CHANGELOG.md +6 -1
  739. package/node_modules/bignumber.js/README.md +5 -4
  740. package/node_modules/bignumber.js/bignumber.js +2 -2
  741. package/node_modules/bignumber.js/bignumber.mjs +2 -2
  742. package/node_modules/bignumber.js/package.json +1 -1
  743. package/node_modules/fast-xml-parser/CHANGELOG.md +9 -0
  744. package/node_modules/fast-xml-parser/README.md +1 -1
  745. package/node_modules/fast-xml-parser/lib/fxp.cjs +1 -1
  746. package/node_modules/fast-xml-parser/lib/fxp.d.cts +1 -1
  747. package/node_modules/fast-xml-parser/lib/fxp.min.js +1 -1
  748. package/node_modules/fast-xml-parser/lib/fxp.min.js.map +1 -1
  749. package/node_modules/fast-xml-parser/lib/fxparser.min.js +1 -1
  750. package/node_modules/fast-xml-parser/lib/fxparser.min.js.map +1 -1
  751. package/node_modules/fast-xml-parser/package.json +1 -1
  752. package/node_modules/fast-xml-parser/src/fxp.d.ts +2 -2
  753. package/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsMinArrBuilder.js +1 -1
  754. package/node_modules/fast-xml-parser/src/v6/OutputBuilders/ParserOptionsBuilder.js +4 -4
  755. package/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +297 -287
  756. package/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +24 -12
  757. package/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +4 -4
  758. package/node_modules/follow-redirects/package.json +1 -1
  759. package/node_modules/form-data/CHANGELOG.md +60 -2
  760. package/node_modules/form-data/README.md +4 -4
  761. package/node_modules/form-data/lib/form_data.js +2 -2
  762. package/node_modules/form-data/package.json +4 -4
  763. package/node_modules/protobufjs/dist/light/protobuf.js +2 -2
  764. package/node_modules/protobufjs/dist/light/protobuf.min.js +2 -2
  765. package/node_modules/protobufjs/dist/minimal/protobuf.js +2 -2
  766. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +2 -2
  767. package/node_modules/protobufjs/dist/protobuf.js +2 -2
  768. package/node_modules/protobufjs/dist/protobuf.min.js +2 -2
  769. package/node_modules/protobufjs/google/protobuf/descriptor.json +2 -2
  770. package/node_modules/protobufjs/google/protobuf/descriptor.proto +2 -1
  771. package/node_modules/protobufjs/package.json +1 -1
  772. package/node_modules/undici-types/agent.d.ts +12 -11
  773. package/node_modules/undici-types/api.d.ts +24 -24
  774. package/node_modules/undici-types/balanced-pool.d.ts +11 -11
  775. package/node_modules/undici-types/cache-interceptor.d.ts +172 -0
  776. package/node_modules/undici-types/client-stats.d.ts +15 -0
  777. package/node_modules/undici-types/client.d.ts +18 -18
  778. package/node_modules/undici-types/cookies.d.ts +2 -0
  779. package/node_modules/undici-types/diagnostics-channel.d.ts +18 -10
  780. package/node_modules/undici-types/dispatcher.d.ts +119 -99
  781. package/node_modules/undici-types/env-http-proxy-agent.d.ts +4 -3
  782. package/node_modules/undici-types/errors.d.ts +66 -54
  783. package/node_modules/undici-types/eventsource.d.ts +9 -4
  784. package/node_modules/undici-types/fetch.d.ts +18 -16
  785. package/node_modules/undici-types/formdata.d.ts +7 -7
  786. package/node_modules/undici-types/global-dispatcher.d.ts +4 -4
  787. package/node_modules/undici-types/global-origin.d.ts +5 -5
  788. package/node_modules/undici-types/h2c-client.d.ts +73 -0
  789. package/node_modules/undici-types/handlers.d.ts +8 -8
  790. package/node_modules/undici-types/header.d.ts +157 -1
  791. package/node_modules/undici-types/index.d.ts +56 -47
  792. package/node_modules/undici-types/interceptors.d.ts +30 -8
  793. package/node_modules/undici-types/mock-agent.d.ts +36 -18
  794. package/node_modules/undici-types/mock-call-history.d.ts +111 -0
  795. package/node_modules/undici-types/mock-client.d.ts +6 -4
  796. package/node_modules/undici-types/mock-errors.d.ts +3 -3
  797. package/node_modules/undici-types/mock-interceptor.d.ts +21 -20
  798. package/node_modules/undici-types/mock-pool.d.ts +6 -4
  799. package/node_modules/undici-types/package.json +1 -1
  800. package/node_modules/undici-types/patch.d.ts +0 -4
  801. package/node_modules/undici-types/pool-stats.d.ts +8 -8
  802. package/node_modules/undici-types/pool.d.ts +14 -12
  803. package/node_modules/undici-types/proxy-agent.d.ts +5 -4
  804. package/node_modules/undici-types/readable.d.ts +18 -15
  805. package/node_modules/undici-types/retry-agent.d.ts +1 -1
  806. package/node_modules/undici-types/retry-handler.d.ts +19 -10
  807. package/node_modules/undici-types/snapshot-agent.d.ts +109 -0
  808. package/node_modules/undici-types/util.d.ts +3 -3
  809. package/node_modules/undici-types/utility.d.ts +7 -0
  810. package/node_modules/undici-types/webidl.d.ts +142 -29
  811. package/node_modules/undici-types/websocket.d.ts +38 -2
  812. package/node_modules/uuid/README.md +8 -19
  813. package/node_modules/uuid/dist/{esm-browser/uuid-bin.js → uuid-bin.js} +1 -1
  814. package/node_modules/uuid/dist/{esm-browser/v4.js → v4.js} +7 -4
  815. package/node_modules/uuid/{dist/esm → dist-node}/md5.js +1 -1
  816. package/node_modules/uuid/dist-node/native.js +2 -0
  817. package/node_modules/uuid/{dist/esm → dist-node}/rng.js +1 -1
  818. package/node_modules/uuid/{dist/esm → dist-node}/sha1.js +1 -1
  819. package/node_modules/uuid/{dist/esm → dist-node}/uuid-bin.js +1 -1
  820. package/node_modules/uuid/{dist/esm → dist-node}/v4.js +7 -4
  821. package/node_modules/uuid/package.json +28 -41
  822. package/package.json +7 -7
  823. package/tak-registration.bak +557 -0
  824. package/tak-registration.js +19 -19
  825. package/node_modules/@types/node/compatibility/disposable.d.ts +0 -16
  826. package/node_modules/@types/node/compatibility/index.d.ts +0 -9
  827. package/node_modules/@types/node/compatibility/indexable.d.ts +0 -23
  828. package/node_modules/@types/node/dom-events.d.ts +0 -124
  829. package/node_modules/marchingsquares/.eslintrc.json +0 -81
  830. package/node_modules/marchingsquares/Changelog.md +0 -81
  831. package/node_modules/marchingsquares/LICENSE.md +0 -37
  832. package/node_modules/marchingsquares/README.md +0 -312
  833. package/node_modules/marchingsquares/VERSION +0 -1
  834. package/node_modules/marchingsquares/agpl-3.0.txt +0 -661
  835. package/node_modules/marchingsquares/dist/marchingsquares-esm.js +0 -3410
  836. package/node_modules/marchingsquares/dist/marchingsquares-isobands.js +0 -2513
  837. package/node_modules/marchingsquares/dist/marchingsquares-isobands.min.js +0 -9
  838. package/node_modules/marchingsquares/dist/marchingsquares-isocontours.js +0 -1209
  839. package/node_modules/marchingsquares/dist/marchingsquares-isocontours.min.js +0 -9
  840. package/node_modules/marchingsquares/dist/marchingsquares-isolines.js +0 -1209
  841. package/node_modules/marchingsquares/dist/marchingsquares-isolines.min.js +0 -9
  842. package/node_modules/marchingsquares/dist/marchingsquares.js +0 -3424
  843. package/node_modules/marchingsquares/dist/marchingsquares.min.js +0 -9
  844. package/node_modules/marchingsquares/examples/contour/index.html +0 -117
  845. package/node_modules/marchingsquares/examples/editor/draw-lines.js +0 -60
  846. package/node_modules/marchingsquares/examples/editor/index.html +0 -39
  847. package/node_modules/marchingsquares/examples/editor/script.js +0 -110
  848. package/node_modules/marchingsquares/examples/editor/styles.css +0 -37
  849. package/node_modules/marchingsquares/examples/require/app.js +0 -9
  850. package/node_modules/marchingsquares/examples/require/index.html +0 -14
  851. package/node_modules/marchingsquares/examples/require/main.js +0 -98
  852. package/node_modules/marchingsquares/examples/require/require.js +0 -5
  853. package/node_modules/marchingsquares/examples/simple/index.html +0 -115
  854. package/node_modules/marchingsquares/examples/vienna/index.html +0 -229
  855. package/node_modules/marchingsquares/examples/vienna/vienna_basin.png +0 -0
  856. package/node_modules/marchingsquares/examples/vienna/vienna_data.js +0 -514
  857. package/node_modules/marchingsquares/package.json +0 -47
  858. package/node_modules/marchingsquares/rollup.config.js +0 -122
  859. package/node_modules/marchingsquares/rollup.config.test.js +0 -14
  860. package/node_modules/marchingsquares/src/interpolation.js +0 -84
  861. package/node_modules/marchingsquares/src/isobands.js +0 -1883
  862. package/node_modules/marchingsquares/src/isolines.js +0 -638
  863. package/node_modules/marchingsquares/src/main.js +0 -4
  864. package/node_modules/marchingsquares/src/options.js +0 -80
  865. package/node_modules/marchingsquares/src/polygons.js +0 -531
  866. package/node_modules/marchingsquares/src/quadtree.js +0 -228
  867. package/node_modules/marchingsquares/test/data/in/isoBands-example-case.json +0 -14
  868. package/node_modules/marchingsquares/test/data/in/isoBands-issue#6-0_3.json +0 -12
  869. package/node_modules/marchingsquares/test/data/in/isoBands-issue#6-3_5.json +0 -12
  870. package/node_modules/marchingsquares/test/data/in/isoBands-issue#6-5_7.json +0 -12
  871. package/node_modules/marchingsquares/test/data/in/isoBands-minimal.json +0 -8
  872. package/node_modules/marchingsquares/test/data/in/isoBands-simple.json +0 -9
  873. package/node_modules/marchingsquares/test/data/in/isoLines-example-case.json +0 -13
  874. package/node_modules/marchingsquares/test/data/in/isoLines-simple.json +0 -8
  875. package/node_modules/marchingsquares/test/data/out/isoBands-example-case.json +0 -72
  876. package/node_modules/marchingsquares/test/data/out/isoBands-issue#6-0_3.json +0 -9
  877. package/node_modules/marchingsquares/test/data/out/isoBands-issue#6-3_5.json +0 -36
  878. package/node_modules/marchingsquares/test/data/out/isoBands-issue#6-5_7.json +0 -8
  879. package/node_modules/marchingsquares/test/data/out/isoBands-minimal.json +0 -10
  880. package/node_modules/marchingsquares/test/data/out/isoBands-simple.json +0 -25
  881. package/node_modules/marchingsquares/test/data/out/isoLines-example-case.json +0 -481
  882. package/node_modules/marchingsquares/test/data/out/isoLines-simple.json +0 -8
  883. package/node_modules/marchingsquares/test/test.js +0 -152
  884. package/node_modules/undici-types/file.d.ts +0 -39
  885. package/node_modules/undici-types/filereader.d.ts +0 -54
  886. package/node_modules/uuid/dist/cjs/index.d.ts +0 -15
  887. package/node_modules/uuid/dist/cjs/index.js +0 -31
  888. package/node_modules/uuid/dist/cjs/max.d.ts +0 -2
  889. package/node_modules/uuid/dist/cjs/max.js +0 -3
  890. package/node_modules/uuid/dist/cjs/md5.d.ts +0 -4
  891. package/node_modules/uuid/dist/cjs/md5.js +0 -13
  892. package/node_modules/uuid/dist/cjs/native.d.ts +0 -6
  893. package/node_modules/uuid/dist/cjs/native.js +0 -4
  894. package/node_modules/uuid/dist/cjs/nil.d.ts +0 -2
  895. package/node_modules/uuid/dist/cjs/nil.js +0 -3
  896. package/node_modules/uuid/dist/cjs/package.json +0 -1
  897. package/node_modules/uuid/dist/cjs/parse.d.ts +0 -2
  898. package/node_modules/uuid/dist/cjs/parse.js +0 -11
  899. package/node_modules/uuid/dist/cjs/regex.d.ts +0 -2
  900. package/node_modules/uuid/dist/cjs/regex.js +0 -3
  901. package/node_modules/uuid/dist/cjs/rng.d.ts +0 -1
  902. package/node_modules/uuid/dist/cjs/rng.js +0 -13
  903. package/node_modules/uuid/dist/cjs/sha1.d.ts +0 -4
  904. package/node_modules/uuid/dist/cjs/sha1.js +0 -13
  905. package/node_modules/uuid/dist/cjs/stringify.d.ts +0 -3
  906. package/node_modules/uuid/dist/cjs/stringify.js +0 -39
  907. package/node_modules/uuid/dist/cjs/types.d.ts +0 -21
  908. package/node_modules/uuid/dist/cjs/types.js +0 -2
  909. package/node_modules/uuid/dist/cjs/uuid-bin.d.ts +0 -1
  910. package/node_modules/uuid/dist/cjs/uuid-bin.js +0 -72
  911. package/node_modules/uuid/dist/cjs/v1.d.ts +0 -11
  912. package/node_modules/uuid/dist/cjs/v1.js +0 -87
  913. package/node_modules/uuid/dist/cjs/v1ToV6.d.ts +0 -2
  914. package/node_modules/uuid/dist/cjs/v1ToV6.js +0 -13
  915. package/node_modules/uuid/dist/cjs/v3.d.ts +0 -9
  916. package/node_modules/uuid/dist/cjs/v3.js +0 -14
  917. package/node_modules/uuid/dist/cjs/v35.d.ts +0 -7
  918. package/node_modules/uuid/dist/cjs/v35.js +0 -41
  919. package/node_modules/uuid/dist/cjs/v4.d.ts +0 -4
  920. package/node_modules/uuid/dist/cjs/v4.js +0 -29
  921. package/node_modules/uuid/dist/cjs/v5.d.ts +0 -9
  922. package/node_modules/uuid/dist/cjs/v5.js +0 -14
  923. package/node_modules/uuid/dist/cjs/v6.d.ts +0 -4
  924. package/node_modules/uuid/dist/cjs/v6.js +0 -19
  925. package/node_modules/uuid/dist/cjs/v6ToV1.d.ts +0 -2
  926. package/node_modules/uuid/dist/cjs/v6ToV1.js +0 -13
  927. package/node_modules/uuid/dist/cjs/v7.d.ts +0 -9
  928. package/node_modules/uuid/dist/cjs/v7.js +0 -69
  929. package/node_modules/uuid/dist/cjs/validate.d.ts +0 -2
  930. package/node_modules/uuid/dist/cjs/validate.js +0 -7
  931. package/node_modules/uuid/dist/cjs/version.d.ts +0 -2
  932. package/node_modules/uuid/dist/cjs/version.js +0 -10
  933. package/node_modules/uuid/dist/cjs-browser/index.js +0 -31
  934. package/node_modules/uuid/dist/cjs-browser/max.js +0 -3
  935. package/node_modules/uuid/dist/cjs-browser/md5.js +0 -137
  936. package/node_modules/uuid/dist/cjs-browser/native.js +0 -4
  937. package/node_modules/uuid/dist/cjs-browser/nil.js +0 -3
  938. package/node_modules/uuid/dist/cjs-browser/package.json +0 -1
  939. package/node_modules/uuid/dist/cjs-browser/parse.js +0 -11
  940. package/node_modules/uuid/dist/cjs-browser/regex.js +0 -3
  941. package/node_modules/uuid/dist/cjs-browser/rng.js +0 -14
  942. package/node_modules/uuid/dist/cjs-browser/sha1.js +0 -72
  943. package/node_modules/uuid/dist/cjs-browser/stringify.js +0 -39
  944. package/node_modules/uuid/dist/cjs-browser/types.js +0 -2
  945. package/node_modules/uuid/dist/cjs-browser/uuid-bin.js +0 -72
  946. package/node_modules/uuid/dist/cjs-browser/v1.js +0 -87
  947. package/node_modules/uuid/dist/cjs-browser/v1ToV6.js +0 -13
  948. package/node_modules/uuid/dist/cjs-browser/v3.js +0 -14
  949. package/node_modules/uuid/dist/cjs-browser/v35.js +0 -41
  950. package/node_modules/uuid/dist/cjs-browser/v4.js +0 -29
  951. package/node_modules/uuid/dist/cjs-browser/v5.js +0 -14
  952. package/node_modules/uuid/dist/cjs-browser/v6.js +0 -19
  953. package/node_modules/uuid/dist/cjs-browser/v6ToV1.js +0 -13
  954. package/node_modules/uuid/dist/cjs-browser/v7.js +0 -69
  955. package/node_modules/uuid/dist/cjs-browser/validate.js +0 -7
  956. package/node_modules/uuid/dist/cjs-browser/version.js +0 -10
  957. package/node_modules/uuid/dist/esm/index.d.ts +0 -15
  958. package/node_modules/uuid/dist/esm/max.d.ts +0 -2
  959. package/node_modules/uuid/dist/esm/md5.d.ts +0 -4
  960. package/node_modules/uuid/dist/esm/native.d.ts +0 -6
  961. package/node_modules/uuid/dist/esm/native.js +0 -2
  962. package/node_modules/uuid/dist/esm/nil.d.ts +0 -2
  963. package/node_modules/uuid/dist/esm/parse.d.ts +0 -2
  964. package/node_modules/uuid/dist/esm/regex.d.ts +0 -2
  965. package/node_modules/uuid/dist/esm/rng.d.ts +0 -1
  966. package/node_modules/uuid/dist/esm/sha1.d.ts +0 -4
  967. package/node_modules/uuid/dist/esm/stringify.d.ts +0 -3
  968. package/node_modules/uuid/dist/esm/types.d.ts +0 -21
  969. package/node_modules/uuid/dist/esm/uuid-bin.d.ts +0 -1
  970. package/node_modules/uuid/dist/esm/v1.d.ts +0 -11
  971. package/node_modules/uuid/dist/esm/v1ToV6.d.ts +0 -2
  972. package/node_modules/uuid/dist/esm/v3.d.ts +0 -9
  973. package/node_modules/uuid/dist/esm/v35.d.ts +0 -7
  974. package/node_modules/uuid/dist/esm/v4.d.ts +0 -4
  975. package/node_modules/uuid/dist/esm/v5.d.ts +0 -9
  976. package/node_modules/uuid/dist/esm/v6.d.ts +0 -4
  977. package/node_modules/uuid/dist/esm/v6ToV1.d.ts +0 -2
  978. package/node_modules/uuid/dist/esm/v7.d.ts +0 -9
  979. package/node_modules/uuid/dist/esm/validate.d.ts +0 -2
  980. package/node_modules/uuid/dist/esm/version.d.ts +0 -2
  981. package/node_modules/uuid/dist/esm-browser/index.d.ts +0 -15
  982. package/node_modules/uuid/dist/esm-browser/max.d.ts +0 -2
  983. package/node_modules/uuid/dist/esm-browser/md5.d.ts +0 -2
  984. package/node_modules/uuid/dist/esm-browser/native.d.ts +0 -4
  985. package/node_modules/uuid/dist/esm-browser/nil.d.ts +0 -2
  986. package/node_modules/uuid/dist/esm-browser/parse.d.ts +0 -2
  987. package/node_modules/uuid/dist/esm-browser/regex.d.ts +0 -2
  988. package/node_modules/uuid/dist/esm-browser/rng.d.ts +0 -1
  989. package/node_modules/uuid/dist/esm-browser/sha1.d.ts +0 -2
  990. package/node_modules/uuid/dist/esm-browser/stringify.d.ts +0 -3
  991. package/node_modules/uuid/dist/esm-browser/types.d.ts +0 -21
  992. package/node_modules/uuid/dist/esm-browser/uuid-bin.d.ts +0 -1
  993. package/node_modules/uuid/dist/esm-browser/v1.d.ts +0 -11
  994. package/node_modules/uuid/dist/esm-browser/v1ToV6.d.ts +0 -2
  995. package/node_modules/uuid/dist/esm-browser/v3.d.ts +0 -9
  996. package/node_modules/uuid/dist/esm-browser/v35.d.ts +0 -7
  997. package/node_modules/uuid/dist/esm-browser/v4.d.ts +0 -4
  998. package/node_modules/uuid/dist/esm-browser/v5.d.ts +0 -9
  999. package/node_modules/uuid/dist/esm-browser/v6.d.ts +0 -4
  1000. package/node_modules/uuid/dist/esm-browser/v6ToV1.d.ts +0 -2
  1001. package/node_modules/uuid/dist/esm-browser/v7.d.ts +0 -9
  1002. package/node_modules/uuid/dist/esm-browser/validate.d.ts +0 -2
  1003. package/node_modules/uuid/dist/esm-browser/version.d.ts +0 -2
  1004. /package/node_modules/uuid/dist/{cjs-browser/index.d.ts → index.d.ts} +0 -0
  1005. /package/node_modules/uuid/dist/{esm/index.js → index.js} +0 -0
  1006. /package/node_modules/uuid/dist/{cjs-browser/max.d.ts → max.d.ts} +0 -0
  1007. /package/node_modules/uuid/dist/{esm/max.js → max.js} +0 -0
  1008. /package/node_modules/uuid/dist/{cjs-browser/md5.d.ts → md5.d.ts} +0 -0
  1009. /package/node_modules/uuid/dist/{esm-browser/md5.js → md5.js} +0 -0
  1010. /package/node_modules/uuid/dist/{cjs-browser/native.d.ts → native.d.ts} +0 -0
  1011. /package/node_modules/uuid/dist/{esm-browser/native.js → native.js} +0 -0
  1012. /package/node_modules/uuid/dist/{cjs-browser/nil.d.ts → nil.d.ts} +0 -0
  1013. /package/node_modules/uuid/dist/{esm/nil.js → nil.js} +0 -0
  1014. /package/node_modules/uuid/dist/{cjs-browser/parse.d.ts → parse.d.ts} +0 -0
  1015. /package/node_modules/uuid/dist/{esm/parse.js → parse.js} +0 -0
  1016. /package/node_modules/uuid/dist/{cjs-browser/regex.d.ts → regex.d.ts} +0 -0
  1017. /package/node_modules/uuid/dist/{esm/regex.js → regex.js} +0 -0
  1018. /package/node_modules/uuid/dist/{cjs-browser/rng.d.ts → rng.d.ts} +0 -0
  1019. /package/node_modules/uuid/dist/{esm-browser/rng.js → rng.js} +0 -0
  1020. /package/node_modules/uuid/dist/{cjs-browser/sha1.d.ts → sha1.d.ts} +0 -0
  1021. /package/node_modules/uuid/dist/{esm-browser/sha1.js → sha1.js} +0 -0
  1022. /package/node_modules/uuid/dist/{cjs-browser/stringify.d.ts → stringify.d.ts} +0 -0
  1023. /package/node_modules/uuid/dist/{esm/stringify.js → stringify.js} +0 -0
  1024. /package/node_modules/uuid/dist/{cjs-browser/types.d.ts → types.d.ts} +0 -0
  1025. /package/node_modules/uuid/dist/{esm/types.js → types.js} +0 -0
  1026. /package/node_modules/uuid/dist/{cjs-browser/uuid-bin.d.ts → uuid-bin.d.ts} +0 -0
  1027. /package/node_modules/uuid/dist/{cjs-browser/v1.d.ts → v1.d.ts} +0 -0
  1028. /package/node_modules/uuid/dist/{esm/v1.js → v1.js} +0 -0
  1029. /package/node_modules/uuid/dist/{cjs-browser/v1ToV6.d.ts → v1ToV6.d.ts} +0 -0
  1030. /package/node_modules/uuid/dist/{esm/v1ToV6.js → v1ToV6.js} +0 -0
  1031. /package/node_modules/uuid/dist/{cjs-browser/v3.d.ts → v3.d.ts} +0 -0
  1032. /package/node_modules/uuid/dist/{esm/v3.js → v3.js} +0 -0
  1033. /package/node_modules/uuid/dist/{cjs-browser/v35.d.ts → v35.d.ts} +0 -0
  1034. /package/node_modules/uuid/dist/{esm/v35.js → v35.js} +0 -0
  1035. /package/node_modules/uuid/dist/{cjs-browser/v4.d.ts → v4.d.ts} +0 -0
  1036. /package/node_modules/uuid/dist/{cjs-browser/v5.d.ts → v5.d.ts} +0 -0
  1037. /package/node_modules/uuid/dist/{esm/v5.js → v5.js} +0 -0
  1038. /package/node_modules/uuid/dist/{cjs-browser/v6.d.ts → v6.d.ts} +0 -0
  1039. /package/node_modules/uuid/dist/{esm/v6.js → v6.js} +0 -0
  1040. /package/node_modules/uuid/dist/{cjs-browser/v6ToV1.d.ts → v6ToV1.d.ts} +0 -0
  1041. /package/node_modules/uuid/dist/{esm/v6ToV1.js → v6ToV1.js} +0 -0
  1042. /package/node_modules/uuid/dist/{cjs-browser/v7.d.ts → v7.d.ts} +0 -0
  1043. /package/node_modules/uuid/dist/{esm/v7.js → v7.js} +0 -0
  1044. /package/node_modules/uuid/dist/{cjs-browser/validate.d.ts → validate.d.ts} +0 -0
  1045. /package/node_modules/uuid/dist/{esm/validate.js → validate.js} +0 -0
  1046. /package/node_modules/uuid/dist/{cjs-browser/version.d.ts → version.d.ts} +0 -0
  1047. /package/node_modules/uuid/dist/{esm/version.js → version.js} +0 -0
  1048. /package/node_modules/uuid/{dist/esm → dist-node}/bin/uuid +0 -0
  1049. /package/node_modules/uuid/{dist/esm-browser → dist-node}/index.js +0 -0
  1050. /package/node_modules/uuid/{dist/esm-browser → dist-node}/max.js +0 -0
  1051. /package/node_modules/uuid/{dist/esm-browser → dist-node}/nil.js +0 -0
  1052. /package/node_modules/uuid/{dist/esm-browser → dist-node}/parse.js +0 -0
  1053. /package/node_modules/uuid/{dist/esm-browser → dist-node}/regex.js +0 -0
  1054. /package/node_modules/uuid/{dist/esm-browser → dist-node}/stringify.js +0 -0
  1055. /package/node_modules/uuid/{dist/esm-browser → dist-node}/types.js +0 -0
  1056. /package/node_modules/uuid/{dist/esm-browser → dist-node}/v1.js +0 -0
  1057. /package/node_modules/uuid/{dist/esm-browser → dist-node}/v1ToV6.js +0 -0
  1058. /package/node_modules/uuid/{dist/esm-browser → dist-node}/v3.js +0 -0
  1059. /package/node_modules/uuid/{dist/esm-browser → dist-node}/v35.js +0 -0
  1060. /package/node_modules/uuid/{dist/esm-browser → dist-node}/v5.js +0 -0
  1061. /package/node_modules/uuid/{dist/esm-browser → dist-node}/v6.js +0 -0
  1062. /package/node_modules/uuid/{dist/esm-browser → dist-node}/v6ToV1.js +0 -0
  1063. /package/node_modules/uuid/{dist/esm-browser → dist-node}/v7.js +0 -0
  1064. /package/node_modules/uuid/{dist/esm-browser → dist-node}/validate.js +0 -0
  1065. /package/node_modules/uuid/{dist/esm-browser → dist-node}/version.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/turf/turf/packages/turf-helpers/dist/cjs/index.cjs","../../index.ts"],"names":[],"mappings":"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","file":"/home/runner/work/turf/turf/packages/turf-helpers/dist/cjs/index.cjs","sourcesContent":[null,"import {\n BBox,\n Feature,\n FeatureCollection,\n Geometry,\n GeometryCollection,\n GeometryObject,\n LineString,\n MultiLineString,\n MultiPoint,\n MultiPolygon,\n Point,\n Polygon,\n Position,\n GeoJsonProperties,\n} from \"geojson\";\n\nimport { Id } from \"./lib/geojson.js\";\nexport * from \"./lib/geojson.js\";\n\n/**\n * @module helpers\n */\n\n// TurfJS Combined Types\nexport type Coord = Feature<Point> | Point | Position;\n\n/**\n * Linear measurement units.\n *\n * ⚠️ Warning. Be aware of the implications of using radian or degree units to\n * measure distance. The distance represented by a degree of longitude *varies*\n * depending on latitude.\n *\n * See https://www.thoughtco.com/degree-of-latitude-and-longitude-distance-4070616\n * for an illustration of this behaviour.\n *\n * @typedef\n */\nexport type Units =\n | \"meters\"\n | \"metres\"\n | \"millimeters\"\n | \"millimetres\"\n | \"centimeters\"\n | \"centimetres\"\n | \"kilometers\"\n | \"kilometres\"\n | \"miles\"\n | \"nauticalmiles\"\n | \"inches\"\n | \"yards\"\n | \"feet\"\n | \"radians\"\n | \"degrees\";\n\n/**\n * Area measurement units.\n *\n * @typedef\n */\nexport type AreaUnits =\n | Exclude<Units, \"radians\" | \"degrees\">\n | \"acres\"\n | \"hectares\";\n\n/**\n * Grid types.\n *\n * @typedef\n */\nexport type Grid = \"point\" | \"square\" | \"hex\" | \"triangle\";\n\n/**\n * Shorthand corner identifiers.\n *\n * @typedef\n */\nexport type Corners = \"sw\" | \"se\" | \"nw\" | \"ne\" | \"center\" | \"centroid\";\n\n/**\n * Geometries made up of lines i.e. lines and polygons.\n *\n * @typedef\n */\nexport type Lines = LineString | MultiLineString | Polygon | MultiPolygon;\n\n/**\n * Convenience type for all possible GeoJSON.\n *\n * @typedef\n */\nexport type AllGeoJSON =\n | Feature\n | FeatureCollection\n | Geometry\n | GeometryCollection;\n\n/**\n * The Earth radius in kilometers. Used by Turf modules that model the Earth as a sphere. The {@link https://en.wikipedia.org/wiki/Earth_radius#Arithmetic_mean_radius mean radius} was selected because it is {@link https://rosettacode.org/wiki/Haversine_formula#:~:text=This%20value%20is%20recommended recommended } by the Haversine formula (used by turf/distance) to reduce error.\n *\n * @constant\n */\nexport const earthRadius = 6371008.8;\n\n/**\n * Unit of measurement factors based on earthRadius.\n *\n * Keys are the name of the unit, values are the number of that unit in a single radian\n *\n * @constant\n */\nexport const factors: Record<Units, number> = {\n centimeters: earthRadius * 100,\n centimetres: earthRadius * 100,\n degrees: 360 / (2 * Math.PI),\n feet: earthRadius * 3.28084,\n inches: earthRadius * 39.37,\n kilometers: earthRadius / 1000,\n kilometres: earthRadius / 1000,\n meters: earthRadius,\n metres: earthRadius,\n miles: earthRadius / 1609.344,\n millimeters: earthRadius * 1000,\n millimetres: earthRadius * 1000,\n nauticalmiles: earthRadius / 1852,\n radians: 1,\n yards: earthRadius * 1.0936,\n};\n\n/**\n\n * Area of measurement factors based on 1 square meter.\n *\n * @constant\n */\nexport const areaFactors: Record<AreaUnits, number> = {\n acres: 0.000247105,\n centimeters: 10000,\n centimetres: 10000,\n feet: 10.763910417,\n hectares: 0.0001,\n inches: 1550.003100006,\n kilometers: 0.000001,\n kilometres: 0.000001,\n meters: 1,\n metres: 1,\n miles: 3.86e-7,\n nauticalmiles: 2.9155334959812285e-7,\n millimeters: 1000000,\n millimetres: 1000000,\n yards: 1.195990046,\n};\n\n/**\n * Wraps a GeoJSON {@link Geometry} in a GeoJSON {@link Feature}.\n *\n * @function\n * @param {GeometryObject} geometry input geometry\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<GeometryObject, GeoJsonProperties>} a GeoJSON Feature\n * @example\n * var geometry = {\n * \"type\": \"Point\",\n * \"coordinates\": [110, 50]\n * };\n *\n * var feature = turf.feature(geometry);\n *\n * //=feature\n */\nexport function feature<\n G extends GeometryObject = Geometry,\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n geom: G | null,\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<G, P> {\n const feat: any = { type: \"Feature\" };\n if (options.id === 0 || options.id) {\n feat.id = options.id;\n }\n if (options.bbox) {\n feat.bbox = options.bbox;\n }\n feat.properties = properties || {};\n feat.geometry = geom;\n return feat;\n}\n\n/**\n * Creates a GeoJSON {@link Geometry} from a Geometry string type & coordinates.\n * For GeometryCollection type use `helpers.geometryCollection`\n *\n * @function\n * @param {(\"Point\" | \"LineString\" | \"Polygon\" | \"MultiPoint\" | \"MultiLineString\" | \"MultiPolygon\")} type Geometry Type\n * @param {Array<any>} coordinates Coordinates\n * @param {Object} [options={}] Optional Parameters\n * @returns {Geometry} a GeoJSON Geometry\n * @example\n * var type = \"Point\";\n * var coordinates = [110, 50];\n * var geometry = turf.geometry(type, coordinates);\n * // => geometry\n */\nexport function geometry(\n type:\n | \"Point\"\n | \"LineString\"\n | \"Polygon\"\n | \"MultiPoint\"\n | \"MultiLineString\"\n | \"MultiPolygon\",\n coordinates: any[],\n _options: Record<string, never> = {}\n) {\n switch (type) {\n case \"Point\":\n return point(coordinates).geometry;\n case \"LineString\":\n return lineString(coordinates).geometry;\n case \"Polygon\":\n return polygon(coordinates).geometry;\n case \"MultiPoint\":\n return multiPoint(coordinates).geometry;\n case \"MultiLineString\":\n return multiLineString(coordinates).geometry;\n case \"MultiPolygon\":\n return multiPolygon(coordinates).geometry;\n default:\n throw new Error(type + \" is invalid\");\n }\n}\n\n/**\n * Creates a {@link Point} {@link Feature} from a Position.\n *\n * @function\n * @param {Position} coordinates longitude, latitude position (each in decimal degrees)\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<Point, GeoJsonProperties>} a Point feature\n * @example\n * var point = turf.point([-75.343, 39.984]);\n *\n * //=point\n */\nexport function point<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position,\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<Point, P> {\n if (!coordinates) {\n throw new Error(\"coordinates is required\");\n }\n if (!Array.isArray(coordinates)) {\n throw new Error(\"coordinates must be an Array\");\n }\n if (coordinates.length < 2) {\n throw new Error(\"coordinates must be at least 2 numbers long\");\n }\n if (!isNumber(coordinates[0]) || !isNumber(coordinates[1])) {\n throw new Error(\"coordinates must contain numbers\");\n }\n\n const geom: Point = {\n type: \"Point\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Point} {@link FeatureCollection} from an Array of Point coordinates.\n *\n * @function\n * @param {Position[]} coordinates an array of Points\n * @param {GeoJsonProperties} [properties={}] Translate these properties to each Feature\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north]\n * associated with the FeatureCollection\n * @param {Id} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection<Point>} Point Feature\n * @example\n * var points = turf.points([\n * [-75, 39],\n * [-80, 45],\n * [-78, 50]\n * ]);\n *\n * //=points\n */\nexport function points<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection<Point, P> {\n return featureCollection(\n coordinates.map((coords) => {\n return point(coords, properties);\n }),\n options\n );\n}\n\n/**\n * Creates a {@link Polygon} {@link Feature} from an Array of LinearRings.\n *\n * @function\n * @param {Position[][]} coordinates an array of LinearRings\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<Polygon, GeoJsonProperties>} Polygon Feature\n * @example\n * var polygon = turf.polygon([[[-5, 52], [-4, 56], [-2, 51], [-7, 54], [-5, 52]]], { name: 'poly1' });\n *\n * //=polygon\n */\nexport function polygon<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<Polygon, P> {\n for (const ring of coordinates) {\n if (ring.length < 4) {\n throw new Error(\n \"Each LinearRing of a Polygon must have 4 or more Positions.\"\n );\n }\n\n if (ring[ring.length - 1].length !== ring[0].length) {\n throw new Error(\"First and last Position are not equivalent.\");\n }\n\n for (let j = 0; j < ring[ring.length - 1].length; j++) {\n // Check if first point of Polygon contains two numbers\n if (ring[ring.length - 1][j] !== ring[0][j]) {\n throw new Error(\"First and last Position are not equivalent.\");\n }\n }\n }\n const geom: Polygon = {\n type: \"Polygon\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Polygon} {@link FeatureCollection} from an Array of Polygon coordinates.\n *\n * @function\n * @param {Position[][][]} coordinates an array of Polygon coordinates\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection<Polygon, GeoJsonProperties>} Polygon FeatureCollection\n * @example\n * var polygons = turf.polygons([\n * [[[-5, 52], [-4, 56], [-2, 51], [-7, 54], [-5, 52]]],\n * [[[-15, 42], [-14, 46], [-12, 41], [-17, 44], [-15, 42]]],\n * ]);\n *\n * //=polygons\n */\nexport function polygons<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[][][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection<Polygon, P> {\n return featureCollection(\n coordinates.map((coords) => {\n return polygon(coords, properties);\n }),\n options\n );\n}\n\n/**\n * Creates a {@link LineString} {@link Feature} from an Array of Positions.\n *\n * @function\n * @param {Position[]} coordinates an array of Positions\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<LineString, GeoJsonProperties>} LineString Feature\n * @example\n * var linestring1 = turf.lineString([[-24, 63], [-23, 60], [-25, 65], [-20, 69]], {name: 'line 1'});\n * var linestring2 = turf.lineString([[-14, 43], [-13, 40], [-15, 45], [-10, 49]], {name: 'line 2'});\n *\n * //=linestring1\n * //=linestring2\n */\nexport function lineString<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<LineString, P> {\n if (coordinates.length < 2) {\n throw new Error(\"coordinates must be an array of two or more positions\");\n }\n const geom: LineString = {\n type: \"LineString\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link LineString} {@link FeatureCollection} from an Array of LineString coordinates.\n *\n * @function\n * @param {Position[][]} coordinates an array of LinearRings\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north]\n * associated with the FeatureCollection\n * @param {Id} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection<LineString, GeoJsonProperties>} LineString FeatureCollection\n * @example\n * var linestrings = turf.lineStrings([\n * [[-24, 63], [-23, 60], [-25, 65], [-20, 69]],\n * [[-14, 43], [-13, 40], [-15, 45], [-10, 49]]\n * ]);\n *\n * //=linestrings\n */\nexport function lineStrings<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection<LineString, P> {\n return featureCollection(\n coordinates.map((coords) => {\n return lineString(coords, properties);\n }),\n options\n );\n}\n\n/**\n * Takes one or more {@link Feature|Features} and creates a {@link FeatureCollection}.\n *\n * @function\n * @param {Array<Feature<GeometryObject, GeoJsonProperties>>} features input features\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {FeatureCollection<GeometryObject, GeoJsonProperties>} FeatureCollection of Features\n * @example\n * var locationA = turf.point([-75.343, 39.984], {name: 'Location A'});\n * var locationB = turf.point([-75.833, 39.284], {name: 'Location B'});\n * var locationC = turf.point([-75.534, 39.123], {name: 'Location C'});\n *\n * var collection = turf.featureCollection([\n * locationA,\n * locationB,\n * locationC\n * ]);\n *\n * //=collection\n */\nexport function featureCollection<\n G extends GeometryObject = Geometry,\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n features: Array<Feature<G, P>>,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection<G, P> {\n const fc: any = { type: \"FeatureCollection\" };\n if (options.id) {\n fc.id = options.id;\n }\n if (options.bbox) {\n fc.bbox = options.bbox;\n }\n fc.features = features;\n return fc;\n}\n\n/**\n * Creates a {@link Feature}<{@link MultiLineString}> based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Position[][]} coordinates an array of LineStrings\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<MultiLineString, GeoJsonProperties>} a MultiLineString feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiLine = turf.multiLineString([[[0,0],[10,10]]]);\n *\n * //=multiLine\n */\nexport function multiLineString<\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n coordinates: Position[][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<MultiLineString, P> {\n const geom: MultiLineString = {\n type: \"MultiLineString\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Feature}<{@link MultiPoint}> based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Position[]} coordinates an array of Positions\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<MultiPoint, GeoJsonProperties>} a MultiPoint feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPt = turf.multiPoint([[0,0],[10,10]]);\n *\n * //=multiPt\n */\nexport function multiPoint<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<MultiPoint, P> {\n const geom: MultiPoint = {\n type: \"MultiPoint\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Feature}<{@link MultiPolygon}> based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Position[][][]} coordinates an array of Polygons\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<MultiPolygon, GeoJsonProperties>} a multipolygon feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPoly = turf.multiPolygon([[[[0,0],[0,10],[10,10],[10,0],[0,0]]]]);\n *\n * //=multiPoly\n *\n */\nexport function multiPolygon<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[][][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<MultiPolygon, P> {\n const geom: MultiPolygon = {\n type: \"MultiPolygon\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a Feature<GeometryCollection> based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Array<Point | LineString | Polygon | MultiPoint | MultiLineString | MultiPolygon>} geometries an array of GeoJSON Geometries\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<GeometryCollection, GeoJsonProperties>} a GeoJSON GeometryCollection Feature\n * @example\n * var pt = turf.geometry(\"Point\", [100, 0]);\n * var line = turf.geometry(\"LineString\", [[101, 0], [102, 1]]);\n * var collection = turf.geometryCollection([pt, line]);\n *\n * // => collection\n */\nexport function geometryCollection<\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n geometries: Array<\n Point | LineString | Polygon | MultiPoint | MultiLineString | MultiPolygon\n >,\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<GeometryCollection, P> {\n const geom: GeometryCollection = {\n type: \"GeometryCollection\",\n geometries,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Round number to precision\n *\n * @function\n * @param {number} num Number\n * @param {number} [precision=0] Precision\n * @returns {number} rounded number\n * @example\n * turf.round(120.4321)\n * //=120\n *\n * turf.round(120.4321, 2)\n * //=120.43\n */\nexport function round(num: number, precision = 0): number {\n if (precision && !(precision >= 0)) {\n throw new Error(\"precision must be a positive number\");\n }\n const multiplier = Math.pow(10, precision || 0);\n return Math.round(num * multiplier) / multiplier;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from radians to a more friendly unit.\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @function\n * @param {number} radians in radians across the sphere\n * @param {Units} [units=\"kilometers\"] can be degrees, radians, miles, inches, yards, metres,\n * meters, kilometres, kilometers.\n * @returns {number} distance\n */\nexport function radiansToLength(\n radians: number,\n units: Units = \"kilometers\"\n): number {\n const factor = factors[units];\n if (!factor) {\n throw new Error(units + \" units is invalid\");\n }\n return radians * factor;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into radians\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @function\n * @param {number} distance in real units\n * @param {Units} [units=\"kilometers\"] can be degrees, radians, miles, inches, yards, metres,\n * meters, kilometres, kilometers.\n * @returns {number} radians\n */\nexport function lengthToRadians(\n distance: number,\n units: Units = \"kilometers\"\n): number {\n const factor = factors[units];\n if (!factor) {\n throw new Error(units + \" units is invalid\");\n }\n return distance / factor;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into degrees\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, centimeters, kilometres, feet\n *\n * @function\n * @param {number} distance in real units\n * @param {Units} [units=\"kilometers\"] can be degrees, radians, miles, inches, yards, metres,\n * meters, kilometres, kilometers.\n * @returns {number} degrees\n */\nexport function lengthToDegrees(distance: number, units?: Units): number {\n return radiansToDegrees(lengthToRadians(distance, units));\n}\n\n/**\n * Converts any bearing angle from the north line direction (positive clockwise)\n * and returns an angle between 0-360 degrees (positive clockwise), 0 being the north line\n *\n * @function\n * @param {number} bearing angle, between -180 and +180 degrees\n * @returns {number} angle between 0 and 360 degrees\n */\nexport function bearingToAzimuth(bearing: number): number {\n let angle = bearing % 360;\n if (angle < 0) {\n angle += 360;\n }\n return angle;\n}\n\n/**\n * Converts any azimuth angle from the north line direction (positive clockwise)\n * and returns an angle between -180 and +180 degrees (positive clockwise), 0 being the north line\n *\n * @function\n * @param {number} angle between 0 and 360 degrees\n * @returns {number} bearing between -180 and +180 degrees\n */\nexport function azimuthToBearing(angle: number): number {\n // Ignore full revolutions (multiples of 360)\n angle = angle % 360;\n\n if (angle > 180) {\n return angle - 360;\n } else if (angle < -180) {\n return angle + 360;\n }\n\n return angle;\n}\n\n/**\n * Converts an angle in radians to degrees\n *\n * @function\n * @param {number} radians angle in radians\n * @returns {number} degrees between 0 and 360 degrees\n */\nexport function radiansToDegrees(radians: number): number {\n // % (2 * Math.PI) radians in case someone passes value > 2π\n const normalisedRadians = radians % (2 * Math.PI);\n return (normalisedRadians * 180) / Math.PI;\n}\n\n/**\n * Converts an angle in degrees to radians\n *\n * @function\n * @param {number} degrees angle between 0 and 360 degrees\n * @returns {number} angle in radians\n */\nexport function degreesToRadians(degrees: number): number {\n // % 360 degrees in case someone passes value > 360\n const normalisedDegrees = degrees % 360;\n return (normalisedDegrees * Math.PI) / 180;\n}\n\n/**\n * Converts a length from one unit to another.\n *\n * @function\n * @param {number} length Length to be converted\n * @param {Units} [originalUnit=\"kilometers\"] Input length unit\n * @param {Units} [finalUnit=\"kilometers\"] Returned length unit\n * @returns {number} The converted length\n */\nexport function convertLength(\n length: number,\n originalUnit: Units = \"kilometers\",\n finalUnit: Units = \"kilometers\"\n): number {\n if (!(length >= 0)) {\n throw new Error(\"length must be a positive number\");\n }\n return radiansToLength(lengthToRadians(length, originalUnit), finalUnit);\n}\n\n/**\n * Converts an area from one unit to another.\n *\n * @function\n * @param {number} area Area to be converted\n * @param {AreaUnits} [originalUnit=\"meters\"] Input area unit\n * @param {AreaUnits} [finalUnit=\"kilometers\"] Returned area unit\n * @returns {number} The converted length\n */\nexport function convertArea(\n area: number,\n originalUnit: AreaUnits = \"meters\",\n finalUnit: AreaUnits = \"kilometers\"\n): number {\n if (!(area >= 0)) {\n throw new Error(\"area must be a positive number\");\n }\n\n const startFactor = areaFactors[originalUnit];\n if (!startFactor) {\n throw new Error(\"invalid original units\");\n }\n\n const finalFactor = areaFactors[finalUnit];\n if (!finalFactor) {\n throw new Error(\"invalid final units\");\n }\n\n return (area / startFactor) * finalFactor;\n}\n\n/**\n * isNumber\n *\n * @function\n * @param {any} num Number to validate\n * @returns {boolean} true/false\n * @example\n * turf.isNumber(123)\n * //=true\n * turf.isNumber('foo')\n * //=false\n */\nexport function isNumber(num: any): boolean {\n return !isNaN(num) && num !== null && !Array.isArray(num);\n}\n\n/**\n * isObject\n *\n * @function\n * @param {any} input variable to validate\n * @returns {boolean} true/false, including false for Arrays and Functions\n * @example\n * turf.isObject({elevation: 10})\n * //=true\n * turf.isObject('foo')\n * //=false\n */\nexport function isObject(input: any): boolean {\n return input !== null && typeof input === \"object\" && !Array.isArray(input);\n}\n\n/**\n * Validate BBox\n *\n * @private\n * @param {any} bbox BBox to validate\n * @returns {void}\n * @throws {Error} if BBox is not valid\n * @example\n * validateBBox([-180, -40, 110, 50])\n * //=OK\n * validateBBox([-180, -40])\n * //=Error\n * validateBBox('Foo')\n * //=Error\n * validateBBox(5)\n * //=Error\n * validateBBox(null)\n * //=Error\n * validateBBox(undefined)\n * //=Error\n */\nexport function validateBBox(bbox: any): void {\n if (!bbox) {\n throw new Error(\"bbox is required\");\n }\n if (!Array.isArray(bbox)) {\n throw new Error(\"bbox must be an Array\");\n }\n if (bbox.length !== 4 && bbox.length !== 6) {\n throw new Error(\"bbox must be an Array of 4 or 6 numbers\");\n }\n bbox.forEach((num) => {\n if (!isNumber(num)) {\n throw new Error(\"bbox must only contain numbers\");\n }\n });\n}\n\n/**\n * Validate Id\n *\n * @private\n * @param {any} id Id to validate\n * @returns {void}\n * @throws {Error} if Id is not valid\n * @example\n * validateId([-180, -40, 110, 50])\n * //=Error\n * validateId([-180, -40])\n * //=Error\n * validateId('Foo')\n * //=OK\n * validateId(5)\n * //=OK\n * validateId(null)\n * //=Error\n * validateId(undefined)\n * //=Error\n */\nexport function validateId(id: any): void {\n if (!id) {\n throw new Error(\"id is required\");\n }\n if ([\"string\", \"number\"].indexOf(typeof id) === -1) {\n throw new Error(\"id must be a number or a string\");\n }\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/turf/turf/packages/turf-helpers/dist/cjs/index.cjs","../../index.ts"],"names":[],"mappings":"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","file":"/home/runner/work/turf/turf/packages/turf-helpers/dist/cjs/index.cjs","sourcesContent":[null,"import {\n BBox,\n Feature,\n FeatureCollection,\n Geometry,\n GeometryCollection,\n GeometryObject,\n LineString,\n MultiLineString,\n MultiPoint,\n MultiPolygon,\n Point,\n Polygon,\n Position,\n GeoJsonProperties,\n} from \"geojson\";\n\nimport { Id } from \"./lib/geojson.js\";\nexport * from \"./lib/geojson.js\";\n\n/**\n * @module helpers\n */\n\n// TurfJS Combined Types\nexport type Coord = Feature<Point> | Point | Position;\n\n/**\n * Linear measurement units.\n *\n * ⚠️ Warning. Be aware of the implications of using radian or degree units to\n * measure distance. The distance represented by a degree of longitude *varies*\n * depending on latitude.\n *\n * See https://www.thoughtco.com/degree-of-latitude-and-longitude-distance-4070616\n * for an illustration of this behaviour.\n *\n * @typedef\n */\nexport type Units =\n | \"meters\"\n | \"metres\"\n | \"millimeters\"\n | \"millimetres\"\n | \"centimeters\"\n | \"centimetres\"\n | \"kilometers\"\n | \"kilometres\"\n | \"miles\"\n | \"nauticalmiles\"\n | \"inches\"\n | \"yards\"\n | \"feet\"\n | \"radians\"\n | \"degrees\";\n\n/**\n * Area measurement units.\n *\n * @typedef\n */\nexport type AreaUnits =\n | Exclude<Units, \"radians\" | \"degrees\">\n | \"acres\"\n | \"hectares\";\n\n/**\n * Grid types.\n *\n * @typedef\n */\nexport type Grid = \"point\" | \"square\" | \"hex\" | \"triangle\";\n\n/**\n * Shorthand corner identifiers.\n *\n * @typedef\n */\nexport type Corners = \"sw\" | \"se\" | \"nw\" | \"ne\" | \"center\" | \"centroid\";\n\n/**\n * Geometries made up of lines i.e. lines and polygons.\n *\n * @typedef\n */\nexport type Lines = LineString | MultiLineString | Polygon | MultiPolygon;\n\n/**\n * Convenience type for all possible GeoJSON.\n *\n * @typedef\n */\nexport type AllGeoJSON =\n | Feature\n | FeatureCollection\n | Geometry\n | GeometryCollection;\n\n/**\n * The Earth radius in meters. Used by Turf modules that model the Earth as a sphere. The {@link https://en.wikipedia.org/wiki/Earth_radius#Arithmetic_mean_radius mean radius} was selected because it is {@link https://rosettacode.org/wiki/Haversine_formula#:~:text=This%20value%20is%20recommended recommended } by the Haversine formula (used by turf/distance) to reduce error.\n *\n * @constant\n */\nexport const earthRadius = 6371008.8;\n\n/**\n * Unit of measurement factors based on earthRadius.\n *\n * Keys are the name of the unit, values are the number of that unit in a single radian\n *\n * @constant\n */\nexport const factors: Record<Units, number> = {\n centimeters: earthRadius * 100,\n centimetres: earthRadius * 100,\n degrees: 360 / (2 * Math.PI),\n feet: earthRadius * 3.28084,\n inches: earthRadius * 39.37,\n kilometers: earthRadius / 1000,\n kilometres: earthRadius / 1000,\n meters: earthRadius,\n metres: earthRadius,\n miles: earthRadius / 1609.344,\n millimeters: earthRadius * 1000,\n millimetres: earthRadius * 1000,\n nauticalmiles: earthRadius / 1852,\n radians: 1,\n yards: earthRadius * 1.0936,\n};\n\n/**\n\n * Area of measurement factors based on 1 square meter.\n *\n * @constant\n */\nexport const areaFactors: Record<AreaUnits, number> = {\n acres: 0.000247105,\n centimeters: 10000,\n centimetres: 10000,\n feet: 10.763910417,\n hectares: 0.0001,\n inches: 1550.003100006,\n kilometers: 0.000001,\n kilometres: 0.000001,\n meters: 1,\n metres: 1,\n miles: 3.86e-7,\n nauticalmiles: 2.9155334959812285e-7,\n millimeters: 1000000,\n millimetres: 1000000,\n yards: 1.195990046,\n};\n\n/**\n * Wraps a GeoJSON {@link Geometry} in a GeoJSON {@link Feature}.\n *\n * @function\n * @param {GeometryObject} geometry input geometry\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<GeometryObject, GeoJsonProperties>} a GeoJSON Feature\n * @example\n * var geometry = {\n * \"type\": \"Point\",\n * \"coordinates\": [110, 50]\n * };\n *\n * var feature = turf.feature(geometry);\n *\n * //=feature\n */\nexport function feature<\n G extends GeometryObject = Geometry,\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n geom: G | null,\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<G, P> {\n const feat: any = { type: \"Feature\" };\n if (options.id === 0 || options.id) {\n feat.id = options.id;\n }\n if (options.bbox) {\n feat.bbox = options.bbox;\n }\n feat.properties = properties || {};\n feat.geometry = geom;\n return feat;\n}\n\n/**\n * Creates a GeoJSON {@link Geometry} from a Geometry string type & coordinates.\n * For GeometryCollection type use `helpers.geometryCollection`\n *\n * @function\n * @param {(\"Point\" | \"LineString\" | \"Polygon\" | \"MultiPoint\" | \"MultiLineString\" | \"MultiPolygon\")} type Geometry Type\n * @param {Array<any>} coordinates Coordinates\n * @param {Object} [options={}] Optional Parameters\n * @returns {Geometry} a GeoJSON Geometry\n * @example\n * var type = \"Point\";\n * var coordinates = [110, 50];\n * var geometry = turf.geometry(type, coordinates);\n * // => geometry\n */\nexport function geometry(\n type:\n | \"Point\"\n | \"LineString\"\n | \"Polygon\"\n | \"MultiPoint\"\n | \"MultiLineString\"\n | \"MultiPolygon\",\n coordinates: any[],\n _options: Record<string, never> = {}\n) {\n switch (type) {\n case \"Point\":\n return point(coordinates).geometry;\n case \"LineString\":\n return lineString(coordinates).geometry;\n case \"Polygon\":\n return polygon(coordinates).geometry;\n case \"MultiPoint\":\n return multiPoint(coordinates).geometry;\n case \"MultiLineString\":\n return multiLineString(coordinates).geometry;\n case \"MultiPolygon\":\n return multiPolygon(coordinates).geometry;\n default:\n throw new Error(type + \" is invalid\");\n }\n}\n\n/**\n * Creates a {@link Point} {@link Feature} from a Position.\n *\n * @function\n * @param {Position} coordinates longitude, latitude position (each in decimal degrees)\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<Point, GeoJsonProperties>} a Point feature\n * @example\n * var point = turf.point([-75.343, 39.984]);\n *\n * //=point\n */\nexport function point<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position,\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<Point, P> {\n if (!coordinates) {\n throw new Error(\"coordinates is required\");\n }\n if (!Array.isArray(coordinates)) {\n throw new Error(\"coordinates must be an Array\");\n }\n if (coordinates.length < 2) {\n throw new Error(\"coordinates must be at least 2 numbers long\");\n }\n if (!isNumber(coordinates[0]) || !isNumber(coordinates[1])) {\n throw new Error(\"coordinates must contain numbers\");\n }\n\n const geom: Point = {\n type: \"Point\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Point} {@link FeatureCollection} from an Array of Point coordinates.\n *\n * @function\n * @param {Position[]} coordinates an array of Points\n * @param {GeoJsonProperties} [properties={}] Translate these properties to each Feature\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north]\n * associated with the FeatureCollection\n * @param {Id} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection<Point>} Point Feature\n * @example\n * var points = turf.points([\n * [-75, 39],\n * [-80, 45],\n * [-78, 50]\n * ]);\n *\n * //=points\n */\nexport function points<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection<Point, P> {\n return featureCollection(\n coordinates.map((coords) => {\n return point(coords, properties);\n }),\n options\n );\n}\n\n/**\n * Creates a {@link Polygon} {@link Feature} from an Array of LinearRings.\n *\n * @function\n * @param {Position[][]} coordinates an array of LinearRings\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<Polygon, GeoJsonProperties>} Polygon Feature\n * @example\n * var polygon = turf.polygon([[[-5, 52], [-4, 56], [-2, 51], [-7, 54], [-5, 52]]], { name: 'poly1' });\n *\n * //=polygon\n */\nexport function polygon<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<Polygon, P> {\n for (const ring of coordinates) {\n if (ring.length < 4) {\n throw new Error(\n \"Each LinearRing of a Polygon must have 4 or more Positions.\"\n );\n }\n\n if (ring[ring.length - 1].length !== ring[0].length) {\n throw new Error(\"First and last Position are not equivalent.\");\n }\n\n for (let j = 0; j < ring[ring.length - 1].length; j++) {\n // Check if first point of Polygon contains two numbers\n if (ring[ring.length - 1][j] !== ring[0][j]) {\n throw new Error(\"First and last Position are not equivalent.\");\n }\n }\n }\n const geom: Polygon = {\n type: \"Polygon\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Polygon} {@link FeatureCollection} from an Array of Polygon coordinates.\n *\n * @function\n * @param {Position[][][]} coordinates an array of Polygon coordinates\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection<Polygon, GeoJsonProperties>} Polygon FeatureCollection\n * @example\n * var polygons = turf.polygons([\n * [[[-5, 52], [-4, 56], [-2, 51], [-7, 54], [-5, 52]]],\n * [[[-15, 42], [-14, 46], [-12, 41], [-17, 44], [-15, 42]]],\n * ]);\n *\n * //=polygons\n */\nexport function polygons<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[][][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection<Polygon, P> {\n return featureCollection(\n coordinates.map((coords) => {\n return polygon(coords, properties);\n }),\n options\n );\n}\n\n/**\n * Creates a {@link LineString} {@link Feature} from an Array of Positions.\n *\n * @function\n * @param {Position[]} coordinates an array of Positions\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<LineString, GeoJsonProperties>} LineString Feature\n * @example\n * var linestring1 = turf.lineString([[-24, 63], [-23, 60], [-25, 65], [-20, 69]], {name: 'line 1'});\n * var linestring2 = turf.lineString([[-14, 43], [-13, 40], [-15, 45], [-10, 49]], {name: 'line 2'});\n *\n * //=linestring1\n * //=linestring2\n */\nexport function lineString<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<LineString, P> {\n if (coordinates.length < 2) {\n throw new Error(\"coordinates must be an array of two or more positions\");\n }\n const geom: LineString = {\n type: \"LineString\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link LineString} {@link FeatureCollection} from an Array of LineString coordinates.\n *\n * @function\n * @param {Position[][]} coordinates an array of LinearRings\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north]\n * associated with the FeatureCollection\n * @param {Id} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection<LineString, GeoJsonProperties>} LineString FeatureCollection\n * @example\n * var linestrings = turf.lineStrings([\n * [[-24, 63], [-23, 60], [-25, 65], [-20, 69]],\n * [[-14, 43], [-13, 40], [-15, 45], [-10, 49]]\n * ]);\n *\n * //=linestrings\n */\nexport function lineStrings<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection<LineString, P> {\n return featureCollection(\n coordinates.map((coords) => {\n return lineString(coords, properties);\n }),\n options\n );\n}\n\n/**\n * Takes one or more {@link Feature|Features} and creates a {@link FeatureCollection}.\n *\n * @function\n * @param {Array<Feature<GeometryObject, GeoJsonProperties>>} features input features\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {FeatureCollection<GeometryObject, GeoJsonProperties>} FeatureCollection of Features\n * @example\n * var locationA = turf.point([-75.343, 39.984], {name: 'Location A'});\n * var locationB = turf.point([-75.833, 39.284], {name: 'Location B'});\n * var locationC = turf.point([-75.534, 39.123], {name: 'Location C'});\n *\n * var collection = turf.featureCollection([\n * locationA,\n * locationB,\n * locationC\n * ]);\n *\n * //=collection\n */\nexport function featureCollection<\n G extends GeometryObject = Geometry,\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n features: Array<Feature<G, P>>,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection<G, P> {\n const fc: any = { type: \"FeatureCollection\" };\n if (options.id) {\n fc.id = options.id;\n }\n if (options.bbox) {\n fc.bbox = options.bbox;\n }\n fc.features = features;\n return fc;\n}\n\n/**\n * Creates a {@link Feature}<{@link MultiLineString}> based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Position[][]} coordinates an array of LineStrings\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<MultiLineString, GeoJsonProperties>} a MultiLineString feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiLine = turf.multiLineString([[[0,0],[10,10]]]);\n *\n * //=multiLine\n */\nexport function multiLineString<\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n coordinates: Position[][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<MultiLineString, P> {\n const geom: MultiLineString = {\n type: \"MultiLineString\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Feature}<{@link MultiPoint}> based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Position[]} coordinates an array of Positions\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<MultiPoint, GeoJsonProperties>} a MultiPoint feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPt = turf.multiPoint([[0,0],[10,10]]);\n *\n * //=multiPt\n */\nexport function multiPoint<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<MultiPoint, P> {\n const geom: MultiPoint = {\n type: \"MultiPoint\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Feature}<{@link MultiPolygon}> based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Position[][][]} coordinates an array of Polygons\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<MultiPolygon, GeoJsonProperties>} a multipolygon feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPoly = turf.multiPolygon([[[[0,0],[0,10],[10,10],[10,0],[0,0]]]]);\n *\n * //=multiPoly\n *\n */\nexport function multiPolygon<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[][][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<MultiPolygon, P> {\n const geom: MultiPolygon = {\n type: \"MultiPolygon\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a Feature<GeometryCollection> based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Array<Point | LineString | Polygon | MultiPoint | MultiLineString | MultiPolygon>} geometries an array of GeoJSON Geometries\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<GeometryCollection, GeoJsonProperties>} a GeoJSON GeometryCollection Feature\n * @example\n * var pt = turf.geometry(\"Point\", [100, 0]);\n * var line = turf.geometry(\"LineString\", [[101, 0], [102, 1]]);\n * var collection = turf.geometryCollection([pt, line]);\n *\n * // => collection\n */\nexport function geometryCollection<\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n geometries: Array<\n Point | LineString | Polygon | MultiPoint | MultiLineString | MultiPolygon\n >,\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<GeometryCollection, P> {\n const geom: GeometryCollection = {\n type: \"GeometryCollection\",\n geometries,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Round number to precision\n *\n * @function\n * @param {number} num Number\n * @param {number} [precision=0] Precision\n * @returns {number} rounded number\n * @example\n * turf.round(120.4321)\n * //=120\n *\n * turf.round(120.4321, 2)\n * //=120.43\n */\nexport function round(num: number, precision = 0): number {\n if (precision && !(precision >= 0)) {\n throw new Error(\"precision must be a positive number\");\n }\n const multiplier = Math.pow(10, precision || 0);\n return Math.round(num * multiplier) / multiplier;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from radians to a more friendly unit.\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @function\n * @param {number} radians in radians across the sphere\n * @param {Units} [units=\"kilometers\"] can be degrees, radians, miles, inches, yards, metres,\n * meters, kilometres, kilometers.\n * @returns {number} distance\n */\nexport function radiansToLength(\n radians: number,\n units: Units = \"kilometers\"\n): number {\n const factor = factors[units];\n if (!factor) {\n throw new Error(units + \" units is invalid\");\n }\n return radians * factor;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into radians\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @function\n * @param {number} distance in real units\n * @param {Units} [units=\"kilometers\"] can be degrees, radians, miles, inches, yards, metres,\n * meters, kilometres, kilometers.\n * @returns {number} radians\n */\nexport function lengthToRadians(\n distance: number,\n units: Units = \"kilometers\"\n): number {\n const factor = factors[units];\n if (!factor) {\n throw new Error(units + \" units is invalid\");\n }\n return distance / factor;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into degrees\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, centimeters, kilometres, feet\n *\n * @function\n * @param {number} distance in real units\n * @param {Units} [units=\"kilometers\"] can be degrees, radians, miles, inches, yards, metres,\n * meters, kilometres, kilometers.\n * @returns {number} degrees\n */\nexport function lengthToDegrees(distance: number, units?: Units): number {\n return radiansToDegrees(lengthToRadians(distance, units));\n}\n\n/**\n * Converts any bearing angle from the north line direction (positive clockwise)\n * and returns an angle between 0-360 degrees (positive clockwise), 0 being the north line\n *\n * @function\n * @param {number} bearing angle, between -180 and +180 degrees\n * @returns {number} angle between 0 and 360 degrees\n */\nexport function bearingToAzimuth(bearing: number): number {\n let angle = bearing % 360;\n if (angle < 0) {\n angle += 360;\n }\n return angle;\n}\n\n/**\n * Converts any azimuth angle from the north line direction (positive clockwise)\n * and returns an angle between -180 and +180 degrees (positive clockwise), 0 being the north line\n *\n * @function\n * @param {number} angle between 0 and 360 degrees\n * @returns {number} bearing between -180 and +180 degrees\n */\nexport function azimuthToBearing(angle: number): number {\n // Ignore full revolutions (multiples of 360)\n angle = angle % 360;\n\n if (angle > 180) {\n return angle - 360;\n } else if (angle < -180) {\n return angle + 360;\n }\n\n return angle;\n}\n\n/**\n * Converts an angle in radians to degrees\n *\n * @function\n * @param {number} radians angle in radians\n * @returns {number} degrees between 0 and 360 degrees\n */\nexport function radiansToDegrees(radians: number): number {\n // % (2 * Math.PI) radians in case someone passes value > 2π\n const normalisedRadians = radians % (2 * Math.PI);\n return (normalisedRadians * 180) / Math.PI;\n}\n\n/**\n * Converts an angle in degrees to radians\n *\n * @function\n * @param {number} degrees angle between 0 and 360 degrees\n * @returns {number} angle in radians\n */\nexport function degreesToRadians(degrees: number): number {\n // % 360 degrees in case someone passes value > 360\n const normalisedDegrees = degrees % 360;\n return (normalisedDegrees * Math.PI) / 180;\n}\n\n/**\n * Converts a length from one unit to another.\n *\n * @function\n * @param {number} length Length to be converted\n * @param {Units} [originalUnit=\"kilometers\"] Input length unit\n * @param {Units} [finalUnit=\"kilometers\"] Returned length unit\n * @returns {number} The converted length\n */\nexport function convertLength(\n length: number,\n originalUnit: Units = \"kilometers\",\n finalUnit: Units = \"kilometers\"\n): number {\n if (!(length >= 0)) {\n throw new Error(\"length must be a positive number\");\n }\n return radiansToLength(lengthToRadians(length, originalUnit), finalUnit);\n}\n\n/**\n * Converts an area from one unit to another.\n *\n * @function\n * @param {number} area Area to be converted\n * @param {AreaUnits} [originalUnit=\"meters\"] Input area unit\n * @param {AreaUnits} [finalUnit=\"kilometers\"] Returned area unit\n * @returns {number} The converted length\n */\nexport function convertArea(\n area: number,\n originalUnit: AreaUnits = \"meters\",\n finalUnit: AreaUnits = \"kilometers\"\n): number {\n if (!(area >= 0)) {\n throw new Error(\"area must be a positive number\");\n }\n\n const startFactor = areaFactors[originalUnit];\n if (!startFactor) {\n throw new Error(\"invalid original units\");\n }\n\n const finalFactor = areaFactors[finalUnit];\n if (!finalFactor) {\n throw new Error(\"invalid final units\");\n }\n\n return (area / startFactor) * finalFactor;\n}\n\n/**\n * isNumber\n *\n * @function\n * @param {any} num Number to validate\n * @returns {boolean} true/false\n * @example\n * turf.isNumber(123)\n * //=true\n * turf.isNumber('foo')\n * //=false\n */\nexport function isNumber(num: any): boolean {\n return !isNaN(num) && num !== null && !Array.isArray(num);\n}\n\n/**\n * isObject\n *\n * @function\n * @param {any} input variable to validate\n * @returns {boolean} true/false, including false for Arrays and Functions\n * @example\n * turf.isObject({elevation: 10})\n * //=true\n * turf.isObject('foo')\n * //=false\n */\nexport function isObject(input: any): boolean {\n return input !== null && typeof input === \"object\" && !Array.isArray(input);\n}\n\n/**\n * Validate BBox\n *\n * @private\n * @param {any} bbox BBox to validate\n * @returns {void}\n * @throws {Error} if BBox is not valid\n * @example\n * validateBBox([-180, -40, 110, 50])\n * //=OK\n * validateBBox([-180, -40])\n * //=Error\n * validateBBox('Foo')\n * //=Error\n * validateBBox(5)\n * //=Error\n * validateBBox(null)\n * //=Error\n * validateBBox(undefined)\n * //=Error\n */\nexport function validateBBox(bbox: any): void {\n if (!bbox) {\n throw new Error(\"bbox is required\");\n }\n if (!Array.isArray(bbox)) {\n throw new Error(\"bbox must be an Array\");\n }\n if (bbox.length !== 4 && bbox.length !== 6) {\n throw new Error(\"bbox must be an Array of 4 or 6 numbers\");\n }\n bbox.forEach((num) => {\n if (!isNumber(num)) {\n throw new Error(\"bbox must only contain numbers\");\n }\n });\n}\n\n/**\n * Validate Id\n *\n * @private\n * @param {any} id Id to validate\n * @returns {void}\n * @throws {Error} if Id is not valid\n * @example\n * validateId([-180, -40, 110, 50])\n * //=Error\n * validateId([-180, -40])\n * //=Error\n * validateId('Foo')\n * //=OK\n * validateId(5)\n * //=OK\n * validateId(null)\n * //=Error\n * validateId(undefined)\n * //=Error\n */\nexport function validateId(id: any): void {\n if (!id) {\n throw new Error(\"id is required\");\n }\n if ([\"string\", \"number\"].indexOf(typeof id) === -1) {\n throw new Error(\"id must be a number or a string\");\n }\n}\n"]}
@@ -59,7 +59,7 @@ type Lines = LineString | MultiLineString | Polygon | MultiPolygon;
59
59
  */
60
60
  type AllGeoJSON = Feature | FeatureCollection | Geometry | GeometryCollection;
61
61
  /**
62
- * The Earth radius in kilometers. Used by Turf modules that model the Earth as a sphere. The {@link https://en.wikipedia.org/wiki/Earth_radius#Arithmetic_mean_radius mean radius} was selected because it is {@link https://rosettacode.org/wiki/Haversine_formula#:~:text=This%20value%20is%20recommended recommended } by the Haversine formula (used by turf/distance) to reduce error.
62
+ * The Earth radius in meters. Used by Turf modules that model the Earth as a sphere. The {@link https://en.wikipedia.org/wiki/Earth_radius#Arithmetic_mean_radius mean radius} was selected because it is {@link https://rosettacode.org/wiki/Haversine_formula#:~:text=This%20value%20is%20recommended recommended } by the Haversine formula (used by turf/distance) to reduce error.
63
63
  *
64
64
  * @constant
65
65
  */
@@ -59,7 +59,7 @@ type Lines = LineString | MultiLineString | Polygon | MultiPolygon;
59
59
  */
60
60
  type AllGeoJSON = Feature | FeatureCollection | Geometry | GeometryCollection;
61
61
  /**
62
- * The Earth radius in kilometers. Used by Turf modules that model the Earth as a sphere. The {@link https://en.wikipedia.org/wiki/Earth_radius#Arithmetic_mean_radius mean radius} was selected because it is {@link https://rosettacode.org/wiki/Haversine_formula#:~:text=This%20value%20is%20recommended recommended } by the Haversine formula (used by turf/distance) to reduce error.
62
+ * The Earth radius in meters. Used by Turf modules that model the Earth as a sphere. The {@link https://en.wikipedia.org/wiki/Earth_radius#Arithmetic_mean_radius mean radius} was selected because it is {@link https://rosettacode.org/wiki/Haversine_formula#:~:text=This%20value%20is%20recommended recommended } by the Haversine formula (used by turf/distance) to reduce error.
63
63
  *
64
64
  * @constant
65
65
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../index.ts"],"sourcesContent":["import {\n BBox,\n Feature,\n FeatureCollection,\n Geometry,\n GeometryCollection,\n GeometryObject,\n LineString,\n MultiLineString,\n MultiPoint,\n MultiPolygon,\n Point,\n Polygon,\n Position,\n GeoJsonProperties,\n} from \"geojson\";\n\nimport { Id } from \"./lib/geojson.js\";\nexport * from \"./lib/geojson.js\";\n\n/**\n * @module helpers\n */\n\n// TurfJS Combined Types\nexport type Coord = Feature<Point> | Point | Position;\n\n/**\n * Linear measurement units.\n *\n * ⚠️ Warning. Be aware of the implications of using radian or degree units to\n * measure distance. The distance represented by a degree of longitude *varies*\n * depending on latitude.\n *\n * See https://www.thoughtco.com/degree-of-latitude-and-longitude-distance-4070616\n * for an illustration of this behaviour.\n *\n * @typedef\n */\nexport type Units =\n | \"meters\"\n | \"metres\"\n | \"millimeters\"\n | \"millimetres\"\n | \"centimeters\"\n | \"centimetres\"\n | \"kilometers\"\n | \"kilometres\"\n | \"miles\"\n | \"nauticalmiles\"\n | \"inches\"\n | \"yards\"\n | \"feet\"\n | \"radians\"\n | \"degrees\";\n\n/**\n * Area measurement units.\n *\n * @typedef\n */\nexport type AreaUnits =\n | Exclude<Units, \"radians\" | \"degrees\">\n | \"acres\"\n | \"hectares\";\n\n/**\n * Grid types.\n *\n * @typedef\n */\nexport type Grid = \"point\" | \"square\" | \"hex\" | \"triangle\";\n\n/**\n * Shorthand corner identifiers.\n *\n * @typedef\n */\nexport type Corners = \"sw\" | \"se\" | \"nw\" | \"ne\" | \"center\" | \"centroid\";\n\n/**\n * Geometries made up of lines i.e. lines and polygons.\n *\n * @typedef\n */\nexport type Lines = LineString | MultiLineString | Polygon | MultiPolygon;\n\n/**\n * Convenience type for all possible GeoJSON.\n *\n * @typedef\n */\nexport type AllGeoJSON =\n | Feature\n | FeatureCollection\n | Geometry\n | GeometryCollection;\n\n/**\n * The Earth radius in kilometers. Used by Turf modules that model the Earth as a sphere. The {@link https://en.wikipedia.org/wiki/Earth_radius#Arithmetic_mean_radius mean radius} was selected because it is {@link https://rosettacode.org/wiki/Haversine_formula#:~:text=This%20value%20is%20recommended recommended } by the Haversine formula (used by turf/distance) to reduce error.\n *\n * @constant\n */\nexport const earthRadius = 6371008.8;\n\n/**\n * Unit of measurement factors based on earthRadius.\n *\n * Keys are the name of the unit, values are the number of that unit in a single radian\n *\n * @constant\n */\nexport const factors: Record<Units, number> = {\n centimeters: earthRadius * 100,\n centimetres: earthRadius * 100,\n degrees: 360 / (2 * Math.PI),\n feet: earthRadius * 3.28084,\n inches: earthRadius * 39.37,\n kilometers: earthRadius / 1000,\n kilometres: earthRadius / 1000,\n meters: earthRadius,\n metres: earthRadius,\n miles: earthRadius / 1609.344,\n millimeters: earthRadius * 1000,\n millimetres: earthRadius * 1000,\n nauticalmiles: earthRadius / 1852,\n radians: 1,\n yards: earthRadius * 1.0936,\n};\n\n/**\n\n * Area of measurement factors based on 1 square meter.\n *\n * @constant\n */\nexport const areaFactors: Record<AreaUnits, number> = {\n acres: 0.000247105,\n centimeters: 10000,\n centimetres: 10000,\n feet: 10.763910417,\n hectares: 0.0001,\n inches: 1550.003100006,\n kilometers: 0.000001,\n kilometres: 0.000001,\n meters: 1,\n metres: 1,\n miles: 3.86e-7,\n nauticalmiles: 2.9155334959812285e-7,\n millimeters: 1000000,\n millimetres: 1000000,\n yards: 1.195990046,\n};\n\n/**\n * Wraps a GeoJSON {@link Geometry} in a GeoJSON {@link Feature}.\n *\n * @function\n * @param {GeometryObject} geometry input geometry\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<GeometryObject, GeoJsonProperties>} a GeoJSON Feature\n * @example\n * var geometry = {\n * \"type\": \"Point\",\n * \"coordinates\": [110, 50]\n * };\n *\n * var feature = turf.feature(geometry);\n *\n * //=feature\n */\nexport function feature<\n G extends GeometryObject = Geometry,\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n geom: G | null,\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<G, P> {\n const feat: any = { type: \"Feature\" };\n if (options.id === 0 || options.id) {\n feat.id = options.id;\n }\n if (options.bbox) {\n feat.bbox = options.bbox;\n }\n feat.properties = properties || {};\n feat.geometry = geom;\n return feat;\n}\n\n/**\n * Creates a GeoJSON {@link Geometry} from a Geometry string type & coordinates.\n * For GeometryCollection type use `helpers.geometryCollection`\n *\n * @function\n * @param {(\"Point\" | \"LineString\" | \"Polygon\" | \"MultiPoint\" | \"MultiLineString\" | \"MultiPolygon\")} type Geometry Type\n * @param {Array<any>} coordinates Coordinates\n * @param {Object} [options={}] Optional Parameters\n * @returns {Geometry} a GeoJSON Geometry\n * @example\n * var type = \"Point\";\n * var coordinates = [110, 50];\n * var geometry = turf.geometry(type, coordinates);\n * // => geometry\n */\nexport function geometry(\n type:\n | \"Point\"\n | \"LineString\"\n | \"Polygon\"\n | \"MultiPoint\"\n | \"MultiLineString\"\n | \"MultiPolygon\",\n coordinates: any[],\n _options: Record<string, never> = {}\n) {\n switch (type) {\n case \"Point\":\n return point(coordinates).geometry;\n case \"LineString\":\n return lineString(coordinates).geometry;\n case \"Polygon\":\n return polygon(coordinates).geometry;\n case \"MultiPoint\":\n return multiPoint(coordinates).geometry;\n case \"MultiLineString\":\n return multiLineString(coordinates).geometry;\n case \"MultiPolygon\":\n return multiPolygon(coordinates).geometry;\n default:\n throw new Error(type + \" is invalid\");\n }\n}\n\n/**\n * Creates a {@link Point} {@link Feature} from a Position.\n *\n * @function\n * @param {Position} coordinates longitude, latitude position (each in decimal degrees)\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<Point, GeoJsonProperties>} a Point feature\n * @example\n * var point = turf.point([-75.343, 39.984]);\n *\n * //=point\n */\nexport function point<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position,\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<Point, P> {\n if (!coordinates) {\n throw new Error(\"coordinates is required\");\n }\n if (!Array.isArray(coordinates)) {\n throw new Error(\"coordinates must be an Array\");\n }\n if (coordinates.length < 2) {\n throw new Error(\"coordinates must be at least 2 numbers long\");\n }\n if (!isNumber(coordinates[0]) || !isNumber(coordinates[1])) {\n throw new Error(\"coordinates must contain numbers\");\n }\n\n const geom: Point = {\n type: \"Point\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Point} {@link FeatureCollection} from an Array of Point coordinates.\n *\n * @function\n * @param {Position[]} coordinates an array of Points\n * @param {GeoJsonProperties} [properties={}] Translate these properties to each Feature\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north]\n * associated with the FeatureCollection\n * @param {Id} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection<Point>} Point Feature\n * @example\n * var points = turf.points([\n * [-75, 39],\n * [-80, 45],\n * [-78, 50]\n * ]);\n *\n * //=points\n */\nexport function points<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection<Point, P> {\n return featureCollection(\n coordinates.map((coords) => {\n return point(coords, properties);\n }),\n options\n );\n}\n\n/**\n * Creates a {@link Polygon} {@link Feature} from an Array of LinearRings.\n *\n * @function\n * @param {Position[][]} coordinates an array of LinearRings\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<Polygon, GeoJsonProperties>} Polygon Feature\n * @example\n * var polygon = turf.polygon([[[-5, 52], [-4, 56], [-2, 51], [-7, 54], [-5, 52]]], { name: 'poly1' });\n *\n * //=polygon\n */\nexport function polygon<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<Polygon, P> {\n for (const ring of coordinates) {\n if (ring.length < 4) {\n throw new Error(\n \"Each LinearRing of a Polygon must have 4 or more Positions.\"\n );\n }\n\n if (ring[ring.length - 1].length !== ring[0].length) {\n throw new Error(\"First and last Position are not equivalent.\");\n }\n\n for (let j = 0; j < ring[ring.length - 1].length; j++) {\n // Check if first point of Polygon contains two numbers\n if (ring[ring.length - 1][j] !== ring[0][j]) {\n throw new Error(\"First and last Position are not equivalent.\");\n }\n }\n }\n const geom: Polygon = {\n type: \"Polygon\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Polygon} {@link FeatureCollection} from an Array of Polygon coordinates.\n *\n * @function\n * @param {Position[][][]} coordinates an array of Polygon coordinates\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection<Polygon, GeoJsonProperties>} Polygon FeatureCollection\n * @example\n * var polygons = turf.polygons([\n * [[[-5, 52], [-4, 56], [-2, 51], [-7, 54], [-5, 52]]],\n * [[[-15, 42], [-14, 46], [-12, 41], [-17, 44], [-15, 42]]],\n * ]);\n *\n * //=polygons\n */\nexport function polygons<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[][][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection<Polygon, P> {\n return featureCollection(\n coordinates.map((coords) => {\n return polygon(coords, properties);\n }),\n options\n );\n}\n\n/**\n * Creates a {@link LineString} {@link Feature} from an Array of Positions.\n *\n * @function\n * @param {Position[]} coordinates an array of Positions\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<LineString, GeoJsonProperties>} LineString Feature\n * @example\n * var linestring1 = turf.lineString([[-24, 63], [-23, 60], [-25, 65], [-20, 69]], {name: 'line 1'});\n * var linestring2 = turf.lineString([[-14, 43], [-13, 40], [-15, 45], [-10, 49]], {name: 'line 2'});\n *\n * //=linestring1\n * //=linestring2\n */\nexport function lineString<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<LineString, P> {\n if (coordinates.length < 2) {\n throw new Error(\"coordinates must be an array of two or more positions\");\n }\n const geom: LineString = {\n type: \"LineString\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link LineString} {@link FeatureCollection} from an Array of LineString coordinates.\n *\n * @function\n * @param {Position[][]} coordinates an array of LinearRings\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north]\n * associated with the FeatureCollection\n * @param {Id} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection<LineString, GeoJsonProperties>} LineString FeatureCollection\n * @example\n * var linestrings = turf.lineStrings([\n * [[-24, 63], [-23, 60], [-25, 65], [-20, 69]],\n * [[-14, 43], [-13, 40], [-15, 45], [-10, 49]]\n * ]);\n *\n * //=linestrings\n */\nexport function lineStrings<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection<LineString, P> {\n return featureCollection(\n coordinates.map((coords) => {\n return lineString(coords, properties);\n }),\n options\n );\n}\n\n/**\n * Takes one or more {@link Feature|Features} and creates a {@link FeatureCollection}.\n *\n * @function\n * @param {Array<Feature<GeometryObject, GeoJsonProperties>>} features input features\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {FeatureCollection<GeometryObject, GeoJsonProperties>} FeatureCollection of Features\n * @example\n * var locationA = turf.point([-75.343, 39.984], {name: 'Location A'});\n * var locationB = turf.point([-75.833, 39.284], {name: 'Location B'});\n * var locationC = turf.point([-75.534, 39.123], {name: 'Location C'});\n *\n * var collection = turf.featureCollection([\n * locationA,\n * locationB,\n * locationC\n * ]);\n *\n * //=collection\n */\nexport function featureCollection<\n G extends GeometryObject = Geometry,\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n features: Array<Feature<G, P>>,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection<G, P> {\n const fc: any = { type: \"FeatureCollection\" };\n if (options.id) {\n fc.id = options.id;\n }\n if (options.bbox) {\n fc.bbox = options.bbox;\n }\n fc.features = features;\n return fc;\n}\n\n/**\n * Creates a {@link Feature}<{@link MultiLineString}> based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Position[][]} coordinates an array of LineStrings\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<MultiLineString, GeoJsonProperties>} a MultiLineString feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiLine = turf.multiLineString([[[0,0],[10,10]]]);\n *\n * //=multiLine\n */\nexport function multiLineString<\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n coordinates: Position[][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<MultiLineString, P> {\n const geom: MultiLineString = {\n type: \"MultiLineString\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Feature}<{@link MultiPoint}> based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Position[]} coordinates an array of Positions\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<MultiPoint, GeoJsonProperties>} a MultiPoint feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPt = turf.multiPoint([[0,0],[10,10]]);\n *\n * //=multiPt\n */\nexport function multiPoint<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<MultiPoint, P> {\n const geom: MultiPoint = {\n type: \"MultiPoint\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Feature}<{@link MultiPolygon}> based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Position[][][]} coordinates an array of Polygons\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<MultiPolygon, GeoJsonProperties>} a multipolygon feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPoly = turf.multiPolygon([[[[0,0],[0,10],[10,10],[10,0],[0,0]]]]);\n *\n * //=multiPoly\n *\n */\nexport function multiPolygon<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[][][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<MultiPolygon, P> {\n const geom: MultiPolygon = {\n type: \"MultiPolygon\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a Feature<GeometryCollection> based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Array<Point | LineString | Polygon | MultiPoint | MultiLineString | MultiPolygon>} geometries an array of GeoJSON Geometries\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<GeometryCollection, GeoJsonProperties>} a GeoJSON GeometryCollection Feature\n * @example\n * var pt = turf.geometry(\"Point\", [100, 0]);\n * var line = turf.geometry(\"LineString\", [[101, 0], [102, 1]]);\n * var collection = turf.geometryCollection([pt, line]);\n *\n * // => collection\n */\nexport function geometryCollection<\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n geometries: Array<\n Point | LineString | Polygon | MultiPoint | MultiLineString | MultiPolygon\n >,\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<GeometryCollection, P> {\n const geom: GeometryCollection = {\n type: \"GeometryCollection\",\n geometries,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Round number to precision\n *\n * @function\n * @param {number} num Number\n * @param {number} [precision=0] Precision\n * @returns {number} rounded number\n * @example\n * turf.round(120.4321)\n * //=120\n *\n * turf.round(120.4321, 2)\n * //=120.43\n */\nexport function round(num: number, precision = 0): number {\n if (precision && !(precision >= 0)) {\n throw new Error(\"precision must be a positive number\");\n }\n const multiplier = Math.pow(10, precision || 0);\n return Math.round(num * multiplier) / multiplier;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from radians to a more friendly unit.\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @function\n * @param {number} radians in radians across the sphere\n * @param {Units} [units=\"kilometers\"] can be degrees, radians, miles, inches, yards, metres,\n * meters, kilometres, kilometers.\n * @returns {number} distance\n */\nexport function radiansToLength(\n radians: number,\n units: Units = \"kilometers\"\n): number {\n const factor = factors[units];\n if (!factor) {\n throw new Error(units + \" units is invalid\");\n }\n return radians * factor;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into radians\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @function\n * @param {number} distance in real units\n * @param {Units} [units=\"kilometers\"] can be degrees, radians, miles, inches, yards, metres,\n * meters, kilometres, kilometers.\n * @returns {number} radians\n */\nexport function lengthToRadians(\n distance: number,\n units: Units = \"kilometers\"\n): number {\n const factor = factors[units];\n if (!factor) {\n throw new Error(units + \" units is invalid\");\n }\n return distance / factor;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into degrees\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, centimeters, kilometres, feet\n *\n * @function\n * @param {number} distance in real units\n * @param {Units} [units=\"kilometers\"] can be degrees, radians, miles, inches, yards, metres,\n * meters, kilometres, kilometers.\n * @returns {number} degrees\n */\nexport function lengthToDegrees(distance: number, units?: Units): number {\n return radiansToDegrees(lengthToRadians(distance, units));\n}\n\n/**\n * Converts any bearing angle from the north line direction (positive clockwise)\n * and returns an angle between 0-360 degrees (positive clockwise), 0 being the north line\n *\n * @function\n * @param {number} bearing angle, between -180 and +180 degrees\n * @returns {number} angle between 0 and 360 degrees\n */\nexport function bearingToAzimuth(bearing: number): number {\n let angle = bearing % 360;\n if (angle < 0) {\n angle += 360;\n }\n return angle;\n}\n\n/**\n * Converts any azimuth angle from the north line direction (positive clockwise)\n * and returns an angle between -180 and +180 degrees (positive clockwise), 0 being the north line\n *\n * @function\n * @param {number} angle between 0 and 360 degrees\n * @returns {number} bearing between -180 and +180 degrees\n */\nexport function azimuthToBearing(angle: number): number {\n // Ignore full revolutions (multiples of 360)\n angle = angle % 360;\n\n if (angle > 180) {\n return angle - 360;\n } else if (angle < -180) {\n return angle + 360;\n }\n\n return angle;\n}\n\n/**\n * Converts an angle in radians to degrees\n *\n * @function\n * @param {number} radians angle in radians\n * @returns {number} degrees between 0 and 360 degrees\n */\nexport function radiansToDegrees(radians: number): number {\n // % (2 * Math.PI) radians in case someone passes value > 2π\n const normalisedRadians = radians % (2 * Math.PI);\n return (normalisedRadians * 180) / Math.PI;\n}\n\n/**\n * Converts an angle in degrees to radians\n *\n * @function\n * @param {number} degrees angle between 0 and 360 degrees\n * @returns {number} angle in radians\n */\nexport function degreesToRadians(degrees: number): number {\n // % 360 degrees in case someone passes value > 360\n const normalisedDegrees = degrees % 360;\n return (normalisedDegrees * Math.PI) / 180;\n}\n\n/**\n * Converts a length from one unit to another.\n *\n * @function\n * @param {number} length Length to be converted\n * @param {Units} [originalUnit=\"kilometers\"] Input length unit\n * @param {Units} [finalUnit=\"kilometers\"] Returned length unit\n * @returns {number} The converted length\n */\nexport function convertLength(\n length: number,\n originalUnit: Units = \"kilometers\",\n finalUnit: Units = \"kilometers\"\n): number {\n if (!(length >= 0)) {\n throw new Error(\"length must be a positive number\");\n }\n return radiansToLength(lengthToRadians(length, originalUnit), finalUnit);\n}\n\n/**\n * Converts an area from one unit to another.\n *\n * @function\n * @param {number} area Area to be converted\n * @param {AreaUnits} [originalUnit=\"meters\"] Input area unit\n * @param {AreaUnits} [finalUnit=\"kilometers\"] Returned area unit\n * @returns {number} The converted length\n */\nexport function convertArea(\n area: number,\n originalUnit: AreaUnits = \"meters\",\n finalUnit: AreaUnits = \"kilometers\"\n): number {\n if (!(area >= 0)) {\n throw new Error(\"area must be a positive number\");\n }\n\n const startFactor = areaFactors[originalUnit];\n if (!startFactor) {\n throw new Error(\"invalid original units\");\n }\n\n const finalFactor = areaFactors[finalUnit];\n if (!finalFactor) {\n throw new Error(\"invalid final units\");\n }\n\n return (area / startFactor) * finalFactor;\n}\n\n/**\n * isNumber\n *\n * @function\n * @param {any} num Number to validate\n * @returns {boolean} true/false\n * @example\n * turf.isNumber(123)\n * //=true\n * turf.isNumber('foo')\n * //=false\n */\nexport function isNumber(num: any): boolean {\n return !isNaN(num) && num !== null && !Array.isArray(num);\n}\n\n/**\n * isObject\n *\n * @function\n * @param {any} input variable to validate\n * @returns {boolean} true/false, including false for Arrays and Functions\n * @example\n * turf.isObject({elevation: 10})\n * //=true\n * turf.isObject('foo')\n * //=false\n */\nexport function isObject(input: any): boolean {\n return input !== null && typeof input === \"object\" && !Array.isArray(input);\n}\n\n/**\n * Validate BBox\n *\n * @private\n * @param {any} bbox BBox to validate\n * @returns {void}\n * @throws {Error} if BBox is not valid\n * @example\n * validateBBox([-180, -40, 110, 50])\n * //=OK\n * validateBBox([-180, -40])\n * //=Error\n * validateBBox('Foo')\n * //=Error\n * validateBBox(5)\n * //=Error\n * validateBBox(null)\n * //=Error\n * validateBBox(undefined)\n * //=Error\n */\nexport function validateBBox(bbox: any): void {\n if (!bbox) {\n throw new Error(\"bbox is required\");\n }\n if (!Array.isArray(bbox)) {\n throw new Error(\"bbox must be an Array\");\n }\n if (bbox.length !== 4 && bbox.length !== 6) {\n throw new Error(\"bbox must be an Array of 4 or 6 numbers\");\n }\n bbox.forEach((num) => {\n if (!isNumber(num)) {\n throw new Error(\"bbox must only contain numbers\");\n }\n });\n}\n\n/**\n * Validate Id\n *\n * @private\n * @param {any} id Id to validate\n * @returns {void}\n * @throws {Error} if Id is not valid\n * @example\n * validateId([-180, -40, 110, 50])\n * //=Error\n * validateId([-180, -40])\n * //=Error\n * validateId('Foo')\n * //=OK\n * validateId(5)\n * //=OK\n * validateId(null)\n * //=Error\n * validateId(undefined)\n * //=Error\n */\nexport function validateId(id: any): void {\n if (!id) {\n throw new Error(\"id is required\");\n }\n if ([\"string\", \"number\"].indexOf(typeof id) === -1) {\n throw new Error(\"id must be a number or a string\");\n }\n}\n"],"mappings":";AAuGO,IAAM,cAAc;AASpB,IAAM,UAAiC;AAAA,EAC5C,aAAa,cAAc;AAAA,EAC3B,aAAa,cAAc;AAAA,EAC3B,SAAS,OAAO,IAAI,KAAK;AAAA,EACzB,MAAM,cAAc;AAAA,EACpB,QAAQ,cAAc;AAAA,EACtB,YAAY,cAAc;AAAA,EAC1B,YAAY,cAAc;AAAA,EAC1B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO,cAAc;AAAA,EACrB,aAAa,cAAc;AAAA,EAC3B,aAAa,cAAc;AAAA,EAC3B,eAAe,cAAc;AAAA,EAC7B,SAAS;AAAA,EACT,OAAO,cAAc;AACvB;AAQO,IAAM,cAAyC;AAAA,EACpD,OAAO;AAAA,EACP,aAAa;AAAA,EACb,aAAa;AAAA,EACb,MAAM;AAAA,EACN,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,eAAe;AAAA,EACf,aAAa;AAAA,EACb,aAAa;AAAA,EACb,OAAO;AACT;AAsBO,SAAS,QAId,MACA,YACA,UAAoC,CAAC,GACtB;AACf,QAAM,OAAY,EAAE,MAAM,UAAU;AACpC,MAAI,QAAQ,OAAO,KAAK,QAAQ,IAAI;AAClC,SAAK,KAAK,QAAQ;AAAA,EACpB;AACA,MAAI,QAAQ,MAAM;AAChB,SAAK,OAAO,QAAQ;AAAA,EACtB;AACA,OAAK,aAAa,cAAc,CAAC;AACjC,OAAK,WAAW;AAChB,SAAO;AACT;AAiBO,SAAS,SACd,MAOA,aACA,WAAkC,CAAC,GACnC;AACA,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO,MAAM,WAAW,EAAE;AAAA,IAC5B,KAAK;AACH,aAAO,WAAW,WAAW,EAAE;AAAA,IACjC,KAAK;AACH,aAAO,QAAQ,WAAW,EAAE;AAAA,IAC9B,KAAK;AACH,aAAO,WAAW,WAAW,EAAE;AAAA,IACjC,KAAK;AACH,aAAO,gBAAgB,WAAW,EAAE;AAAA,IACtC,KAAK;AACH,aAAO,aAAa,WAAW,EAAE;AAAA,IACnC;AACE,YAAM,IAAI,MAAM,OAAO,aAAa;AAAA,EACxC;AACF;AAiBO,SAAS,MACd,aACA,YACA,UAAoC,CAAC,GAClB;AACnB,MAAI,CAAC,aAAa;AAChB,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AACA,MAAI,CAAC,MAAM,QAAQ,WAAW,GAAG;AAC/B,UAAM,IAAI,MAAM,8BAA8B;AAAA,EAChD;AACA,MAAI,YAAY,SAAS,GAAG;AAC1B,UAAM,IAAI,MAAM,6CAA6C;AAAA,EAC/D;AACA,MAAI,CAAC,SAAS,YAAY,CAAC,CAAC,KAAK,CAAC,SAAS,YAAY,CAAC,CAAC,GAAG;AAC1D,UAAM,IAAI,MAAM,kCAAkC;AAAA,EACpD;AAEA,QAAM,OAAc;AAAA,IAClB,MAAM;AAAA,IACN;AAAA,EACF;AACA,SAAO,QAAQ,MAAM,YAAY,OAAO;AAC1C;AAsBO,SAAS,OACd,aACA,YACA,UAAoC,CAAC,GACR;AAC7B,SAAO;AAAA,IACL,YAAY,IAAI,CAAC,WAAW;AAC1B,aAAO,MAAM,QAAQ,UAAU;AAAA,IACjC,CAAC;AAAA,IACD;AAAA,EACF;AACF;AAiBO,SAAS,QACd,aACA,YACA,UAAoC,CAAC,GAChB;AACrB,aAAW,QAAQ,aAAa;AAC9B,QAAI,KAAK,SAAS,GAAG;AACnB,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAEA,QAAI,KAAK,KAAK,SAAS,CAAC,EAAE,WAAW,KAAK,CAAC,EAAE,QAAQ;AACnD,YAAM,IAAI,MAAM,6CAA6C;AAAA,IAC/D;AAEA,aAAS,IAAI,GAAG,IAAI,KAAK,KAAK,SAAS,CAAC,EAAE,QAAQ,KAAK;AAErD,UAAI,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,GAAG;AAC3C,cAAM,IAAI,MAAM,6CAA6C;AAAA,MAC/D;AAAA,IACF;AAAA,EACF;AACA,QAAM,OAAgB;AAAA,IACpB,MAAM;AAAA,IACN;AAAA,EACF;AACA,SAAO,QAAQ,MAAM,YAAY,OAAO;AAC1C;AAoBO,SAAS,SACd,aACA,YACA,UAAoC,CAAC,GACN;AAC/B,SAAO;AAAA,IACL,YAAY,IAAI,CAAC,WAAW;AAC1B,aAAO,QAAQ,QAAQ,UAAU;AAAA,IACnC,CAAC;AAAA,IACD;AAAA,EACF;AACF;AAmBO,SAAS,WACd,aACA,YACA,UAAoC,CAAC,GACb;AACxB,MAAI,YAAY,SAAS,GAAG;AAC1B,UAAM,IAAI,MAAM,uDAAuD;AAAA,EACzE;AACA,QAAM,OAAmB;AAAA,IACvB,MAAM;AAAA,IACN;AAAA,EACF;AACA,SAAO,QAAQ,MAAM,YAAY,OAAO;AAC1C;AAqBO,SAAS,YACd,aACA,YACA,UAAoC,CAAC,GACH;AAClC,SAAO;AAAA,IACL,YAAY,IAAI,CAAC,WAAW;AAC1B,aAAO,WAAW,QAAQ,UAAU;AAAA,IACtC,CAAC;AAAA,IACD;AAAA,EACF;AACF;AAwBO,SAAS,kBAId,UACA,UAAoC,CAAC,GACZ;AACzB,QAAM,KAAU,EAAE,MAAM,oBAAoB;AAC5C,MAAI,QAAQ,IAAI;AACd,OAAG,KAAK,QAAQ;AAAA,EAClB;AACA,MAAI,QAAQ,MAAM;AAChB,OAAG,OAAO,QAAQ;AAAA,EACpB;AACA,KAAG,WAAW;AACd,SAAO;AACT;AAmBO,SAAS,gBAGd,aACA,YACA,UAAoC,CAAC,GACR;AAC7B,QAAM,OAAwB;AAAA,IAC5B,MAAM;AAAA,IACN;AAAA,EACF;AACA,SAAO,QAAQ,MAAM,YAAY,OAAO;AAC1C;AAmBO,SAAS,WACd,aACA,YACA,UAAoC,CAAC,GACb;AACxB,QAAM,OAAmB;AAAA,IACvB,MAAM;AAAA,IACN;AAAA,EACF;AACA,SAAO,QAAQ,MAAM,YAAY,OAAO;AAC1C;AAoBO,SAAS,aACd,aACA,YACA,UAAoC,CAAC,GACX;AAC1B,QAAM,OAAqB;AAAA,IACzB,MAAM;AAAA,IACN;AAAA,EACF;AACA,SAAO,QAAQ,MAAM,YAAY,OAAO;AAC1C;AAoBO,SAAS,mBAGd,YAGA,YACA,UAAoC,CAAC,GACL;AAChC,QAAM,OAA2B;AAAA,IAC/B,MAAM;AAAA,IACN;AAAA,EACF;AACA,SAAO,QAAQ,MAAM,YAAY,OAAO;AAC1C;AAgBO,SAAS,MAAM,KAAa,YAAY,GAAW;AACxD,MAAI,aAAa,EAAE,aAAa,IAAI;AAClC,UAAM,IAAI,MAAM,qCAAqC;AAAA,EACvD;AACA,QAAM,aAAa,KAAK,IAAI,IAAI,aAAa,CAAC;AAC9C,SAAO,KAAK,MAAM,MAAM,UAAU,IAAI;AACxC;AAYO,SAAS,gBACd,SACA,QAAe,cACP;AACR,QAAM,SAAS,QAAQ,KAAK;AAC5B,MAAI,CAAC,QAAQ;AACX,UAAM,IAAI,MAAM,QAAQ,mBAAmB;AAAA,EAC7C;AACA,SAAO,UAAU;AACnB;AAYO,SAAS,gBACd,UACA,QAAe,cACP;AACR,QAAM,SAAS,QAAQ,KAAK;AAC5B,MAAI,CAAC,QAAQ;AACX,UAAM,IAAI,MAAM,QAAQ,mBAAmB;AAAA,EAC7C;AACA,SAAO,WAAW;AACpB;AAYO,SAAS,gBAAgB,UAAkB,OAAuB;AACvE,SAAO,iBAAiB,gBAAgB,UAAU,KAAK,CAAC;AAC1D;AAUO,SAAS,iBAAiB,SAAyB;AACxD,MAAI,QAAQ,UAAU;AACtB,MAAI,QAAQ,GAAG;AACb,aAAS;AAAA,EACX;AACA,SAAO;AACT;AAUO,SAAS,iBAAiB,OAAuB;AAEtD,UAAQ,QAAQ;AAEhB,MAAI,QAAQ,KAAK;AACf,WAAO,QAAQ;AAAA,EACjB,WAAW,QAAQ,MAAM;AACvB,WAAO,QAAQ;AAAA,EACjB;AAEA,SAAO;AACT;AASO,SAAS,iBAAiB,SAAyB;AAExD,QAAM,oBAAoB,WAAW,IAAI,KAAK;AAC9C,SAAQ,oBAAoB,MAAO,KAAK;AAC1C;AASO,SAAS,iBAAiB,SAAyB;AAExD,QAAM,oBAAoB,UAAU;AACpC,SAAQ,oBAAoB,KAAK,KAAM;AACzC;AAWO,SAAS,cACd,QACA,eAAsB,cACtB,YAAmB,cACX;AACR,MAAI,EAAE,UAAU,IAAI;AAClB,UAAM,IAAI,MAAM,kCAAkC;AAAA,EACpD;AACA,SAAO,gBAAgB,gBAAgB,QAAQ,YAAY,GAAG,SAAS;AACzE;AAWO,SAAS,YACd,MACA,eAA0B,UAC1B,YAAuB,cACf;AACR,MAAI,EAAE,QAAQ,IAAI;AAChB,UAAM,IAAI,MAAM,gCAAgC;AAAA,EAClD;AAEA,QAAM,cAAc,YAAY,YAAY;AAC5C,MAAI,CAAC,aAAa;AAChB,UAAM,IAAI,MAAM,wBAAwB;AAAA,EAC1C;AAEA,QAAM,cAAc,YAAY,SAAS;AACzC,MAAI,CAAC,aAAa;AAChB,UAAM,IAAI,MAAM,qBAAqB;AAAA,EACvC;AAEA,SAAQ,OAAO,cAAe;AAChC;AAcO,SAAS,SAAS,KAAmB;AAC1C,SAAO,CAAC,MAAM,GAAG,KAAK,QAAQ,QAAQ,CAAC,MAAM,QAAQ,GAAG;AAC1D;AAcO,SAAS,SAAS,OAAqB;AAC5C,SAAO,UAAU,QAAQ,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AAC5E;AAuBO,SAAS,aAAa,MAAiB;AAC5C,MAAI,CAAC,MAAM;AACT,UAAM,IAAI,MAAM,kBAAkB;AAAA,EACpC;AACA,MAAI,CAAC,MAAM,QAAQ,IAAI,GAAG;AACxB,UAAM,IAAI,MAAM,uBAAuB;AAAA,EACzC;AACA,MAAI,KAAK,WAAW,KAAK,KAAK,WAAW,GAAG;AAC1C,UAAM,IAAI,MAAM,yCAAyC;AAAA,EAC3D;AACA,OAAK,QAAQ,CAAC,QAAQ;AACpB,QAAI,CAAC,SAAS,GAAG,GAAG;AAClB,YAAM,IAAI,MAAM,gCAAgC;AAAA,IAClD;AAAA,EACF,CAAC;AACH;AAuBO,SAAS,WAAW,IAAe;AACxC,MAAI,CAAC,IAAI;AACP,UAAM,IAAI,MAAM,gBAAgB;AAAA,EAClC;AACA,MAAI,CAAC,UAAU,QAAQ,EAAE,QAAQ,OAAO,EAAE,MAAM,IAAI;AAClD,UAAM,IAAI,MAAM,iCAAiC;AAAA,EACnD;AACF;","names":[]}
1
+ {"version":3,"sources":["../../index.ts"],"sourcesContent":["import {\n BBox,\n Feature,\n FeatureCollection,\n Geometry,\n GeometryCollection,\n GeometryObject,\n LineString,\n MultiLineString,\n MultiPoint,\n MultiPolygon,\n Point,\n Polygon,\n Position,\n GeoJsonProperties,\n} from \"geojson\";\n\nimport { Id } from \"./lib/geojson.js\";\nexport * from \"./lib/geojson.js\";\n\n/**\n * @module helpers\n */\n\n// TurfJS Combined Types\nexport type Coord = Feature<Point> | Point | Position;\n\n/**\n * Linear measurement units.\n *\n * ⚠️ Warning. Be aware of the implications of using radian or degree units to\n * measure distance. The distance represented by a degree of longitude *varies*\n * depending on latitude.\n *\n * See https://www.thoughtco.com/degree-of-latitude-and-longitude-distance-4070616\n * for an illustration of this behaviour.\n *\n * @typedef\n */\nexport type Units =\n | \"meters\"\n | \"metres\"\n | \"millimeters\"\n | \"millimetres\"\n | \"centimeters\"\n | \"centimetres\"\n | \"kilometers\"\n | \"kilometres\"\n | \"miles\"\n | \"nauticalmiles\"\n | \"inches\"\n | \"yards\"\n | \"feet\"\n | \"radians\"\n | \"degrees\";\n\n/**\n * Area measurement units.\n *\n * @typedef\n */\nexport type AreaUnits =\n | Exclude<Units, \"radians\" | \"degrees\">\n | \"acres\"\n | \"hectares\";\n\n/**\n * Grid types.\n *\n * @typedef\n */\nexport type Grid = \"point\" | \"square\" | \"hex\" | \"triangle\";\n\n/**\n * Shorthand corner identifiers.\n *\n * @typedef\n */\nexport type Corners = \"sw\" | \"se\" | \"nw\" | \"ne\" | \"center\" | \"centroid\";\n\n/**\n * Geometries made up of lines i.e. lines and polygons.\n *\n * @typedef\n */\nexport type Lines = LineString | MultiLineString | Polygon | MultiPolygon;\n\n/**\n * Convenience type for all possible GeoJSON.\n *\n * @typedef\n */\nexport type AllGeoJSON =\n | Feature\n | FeatureCollection\n | Geometry\n | GeometryCollection;\n\n/**\n * The Earth radius in meters. Used by Turf modules that model the Earth as a sphere. The {@link https://en.wikipedia.org/wiki/Earth_radius#Arithmetic_mean_radius mean radius} was selected because it is {@link https://rosettacode.org/wiki/Haversine_formula#:~:text=This%20value%20is%20recommended recommended } by the Haversine formula (used by turf/distance) to reduce error.\n *\n * @constant\n */\nexport const earthRadius = 6371008.8;\n\n/**\n * Unit of measurement factors based on earthRadius.\n *\n * Keys are the name of the unit, values are the number of that unit in a single radian\n *\n * @constant\n */\nexport const factors: Record<Units, number> = {\n centimeters: earthRadius * 100,\n centimetres: earthRadius * 100,\n degrees: 360 / (2 * Math.PI),\n feet: earthRadius * 3.28084,\n inches: earthRadius * 39.37,\n kilometers: earthRadius / 1000,\n kilometres: earthRadius / 1000,\n meters: earthRadius,\n metres: earthRadius,\n miles: earthRadius / 1609.344,\n millimeters: earthRadius * 1000,\n millimetres: earthRadius * 1000,\n nauticalmiles: earthRadius / 1852,\n radians: 1,\n yards: earthRadius * 1.0936,\n};\n\n/**\n\n * Area of measurement factors based on 1 square meter.\n *\n * @constant\n */\nexport const areaFactors: Record<AreaUnits, number> = {\n acres: 0.000247105,\n centimeters: 10000,\n centimetres: 10000,\n feet: 10.763910417,\n hectares: 0.0001,\n inches: 1550.003100006,\n kilometers: 0.000001,\n kilometres: 0.000001,\n meters: 1,\n metres: 1,\n miles: 3.86e-7,\n nauticalmiles: 2.9155334959812285e-7,\n millimeters: 1000000,\n millimetres: 1000000,\n yards: 1.195990046,\n};\n\n/**\n * Wraps a GeoJSON {@link Geometry} in a GeoJSON {@link Feature}.\n *\n * @function\n * @param {GeometryObject} geometry input geometry\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<GeometryObject, GeoJsonProperties>} a GeoJSON Feature\n * @example\n * var geometry = {\n * \"type\": \"Point\",\n * \"coordinates\": [110, 50]\n * };\n *\n * var feature = turf.feature(geometry);\n *\n * //=feature\n */\nexport function feature<\n G extends GeometryObject = Geometry,\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n geom: G | null,\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<G, P> {\n const feat: any = { type: \"Feature\" };\n if (options.id === 0 || options.id) {\n feat.id = options.id;\n }\n if (options.bbox) {\n feat.bbox = options.bbox;\n }\n feat.properties = properties || {};\n feat.geometry = geom;\n return feat;\n}\n\n/**\n * Creates a GeoJSON {@link Geometry} from a Geometry string type & coordinates.\n * For GeometryCollection type use `helpers.geometryCollection`\n *\n * @function\n * @param {(\"Point\" | \"LineString\" | \"Polygon\" | \"MultiPoint\" | \"MultiLineString\" | \"MultiPolygon\")} type Geometry Type\n * @param {Array<any>} coordinates Coordinates\n * @param {Object} [options={}] Optional Parameters\n * @returns {Geometry} a GeoJSON Geometry\n * @example\n * var type = \"Point\";\n * var coordinates = [110, 50];\n * var geometry = turf.geometry(type, coordinates);\n * // => geometry\n */\nexport function geometry(\n type:\n | \"Point\"\n | \"LineString\"\n | \"Polygon\"\n | \"MultiPoint\"\n | \"MultiLineString\"\n | \"MultiPolygon\",\n coordinates: any[],\n _options: Record<string, never> = {}\n) {\n switch (type) {\n case \"Point\":\n return point(coordinates).geometry;\n case \"LineString\":\n return lineString(coordinates).geometry;\n case \"Polygon\":\n return polygon(coordinates).geometry;\n case \"MultiPoint\":\n return multiPoint(coordinates).geometry;\n case \"MultiLineString\":\n return multiLineString(coordinates).geometry;\n case \"MultiPolygon\":\n return multiPolygon(coordinates).geometry;\n default:\n throw new Error(type + \" is invalid\");\n }\n}\n\n/**\n * Creates a {@link Point} {@link Feature} from a Position.\n *\n * @function\n * @param {Position} coordinates longitude, latitude position (each in decimal degrees)\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<Point, GeoJsonProperties>} a Point feature\n * @example\n * var point = turf.point([-75.343, 39.984]);\n *\n * //=point\n */\nexport function point<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position,\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<Point, P> {\n if (!coordinates) {\n throw new Error(\"coordinates is required\");\n }\n if (!Array.isArray(coordinates)) {\n throw new Error(\"coordinates must be an Array\");\n }\n if (coordinates.length < 2) {\n throw new Error(\"coordinates must be at least 2 numbers long\");\n }\n if (!isNumber(coordinates[0]) || !isNumber(coordinates[1])) {\n throw new Error(\"coordinates must contain numbers\");\n }\n\n const geom: Point = {\n type: \"Point\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Point} {@link FeatureCollection} from an Array of Point coordinates.\n *\n * @function\n * @param {Position[]} coordinates an array of Points\n * @param {GeoJsonProperties} [properties={}] Translate these properties to each Feature\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north]\n * associated with the FeatureCollection\n * @param {Id} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection<Point>} Point Feature\n * @example\n * var points = turf.points([\n * [-75, 39],\n * [-80, 45],\n * [-78, 50]\n * ]);\n *\n * //=points\n */\nexport function points<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection<Point, P> {\n return featureCollection(\n coordinates.map((coords) => {\n return point(coords, properties);\n }),\n options\n );\n}\n\n/**\n * Creates a {@link Polygon} {@link Feature} from an Array of LinearRings.\n *\n * @function\n * @param {Position[][]} coordinates an array of LinearRings\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<Polygon, GeoJsonProperties>} Polygon Feature\n * @example\n * var polygon = turf.polygon([[[-5, 52], [-4, 56], [-2, 51], [-7, 54], [-5, 52]]], { name: 'poly1' });\n *\n * //=polygon\n */\nexport function polygon<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<Polygon, P> {\n for (const ring of coordinates) {\n if (ring.length < 4) {\n throw new Error(\n \"Each LinearRing of a Polygon must have 4 or more Positions.\"\n );\n }\n\n if (ring[ring.length - 1].length !== ring[0].length) {\n throw new Error(\"First and last Position are not equivalent.\");\n }\n\n for (let j = 0; j < ring[ring.length - 1].length; j++) {\n // Check if first point of Polygon contains two numbers\n if (ring[ring.length - 1][j] !== ring[0][j]) {\n throw new Error(\"First and last Position are not equivalent.\");\n }\n }\n }\n const geom: Polygon = {\n type: \"Polygon\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Polygon} {@link FeatureCollection} from an Array of Polygon coordinates.\n *\n * @function\n * @param {Position[][][]} coordinates an array of Polygon coordinates\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection<Polygon, GeoJsonProperties>} Polygon FeatureCollection\n * @example\n * var polygons = turf.polygons([\n * [[[-5, 52], [-4, 56], [-2, 51], [-7, 54], [-5, 52]]],\n * [[[-15, 42], [-14, 46], [-12, 41], [-17, 44], [-15, 42]]],\n * ]);\n *\n * //=polygons\n */\nexport function polygons<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[][][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection<Polygon, P> {\n return featureCollection(\n coordinates.map((coords) => {\n return polygon(coords, properties);\n }),\n options\n );\n}\n\n/**\n * Creates a {@link LineString} {@link Feature} from an Array of Positions.\n *\n * @function\n * @param {Position[]} coordinates an array of Positions\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<LineString, GeoJsonProperties>} LineString Feature\n * @example\n * var linestring1 = turf.lineString([[-24, 63], [-23, 60], [-25, 65], [-20, 69]], {name: 'line 1'});\n * var linestring2 = turf.lineString([[-14, 43], [-13, 40], [-15, 45], [-10, 49]], {name: 'line 2'});\n *\n * //=linestring1\n * //=linestring2\n */\nexport function lineString<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<LineString, P> {\n if (coordinates.length < 2) {\n throw new Error(\"coordinates must be an array of two or more positions\");\n }\n const geom: LineString = {\n type: \"LineString\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link LineString} {@link FeatureCollection} from an Array of LineString coordinates.\n *\n * @function\n * @param {Position[][]} coordinates an array of LinearRings\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north]\n * associated with the FeatureCollection\n * @param {Id} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection<LineString, GeoJsonProperties>} LineString FeatureCollection\n * @example\n * var linestrings = turf.lineStrings([\n * [[-24, 63], [-23, 60], [-25, 65], [-20, 69]],\n * [[-14, 43], [-13, 40], [-15, 45], [-10, 49]]\n * ]);\n *\n * //=linestrings\n */\nexport function lineStrings<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection<LineString, P> {\n return featureCollection(\n coordinates.map((coords) => {\n return lineString(coords, properties);\n }),\n options\n );\n}\n\n/**\n * Takes one or more {@link Feature|Features} and creates a {@link FeatureCollection}.\n *\n * @function\n * @param {Array<Feature<GeometryObject, GeoJsonProperties>>} features input features\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {FeatureCollection<GeometryObject, GeoJsonProperties>} FeatureCollection of Features\n * @example\n * var locationA = turf.point([-75.343, 39.984], {name: 'Location A'});\n * var locationB = turf.point([-75.833, 39.284], {name: 'Location B'});\n * var locationC = turf.point([-75.534, 39.123], {name: 'Location C'});\n *\n * var collection = turf.featureCollection([\n * locationA,\n * locationB,\n * locationC\n * ]);\n *\n * //=collection\n */\nexport function featureCollection<\n G extends GeometryObject = Geometry,\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n features: Array<Feature<G, P>>,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection<G, P> {\n const fc: any = { type: \"FeatureCollection\" };\n if (options.id) {\n fc.id = options.id;\n }\n if (options.bbox) {\n fc.bbox = options.bbox;\n }\n fc.features = features;\n return fc;\n}\n\n/**\n * Creates a {@link Feature}<{@link MultiLineString}> based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Position[][]} coordinates an array of LineStrings\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<MultiLineString, GeoJsonProperties>} a MultiLineString feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiLine = turf.multiLineString([[[0,0],[10,10]]]);\n *\n * //=multiLine\n */\nexport function multiLineString<\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n coordinates: Position[][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<MultiLineString, P> {\n const geom: MultiLineString = {\n type: \"MultiLineString\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Feature}<{@link MultiPoint}> based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Position[]} coordinates an array of Positions\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<MultiPoint, GeoJsonProperties>} a MultiPoint feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPt = turf.multiPoint([[0,0],[10,10]]);\n *\n * //=multiPt\n */\nexport function multiPoint<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<MultiPoint, P> {\n const geom: MultiPoint = {\n type: \"MultiPoint\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Feature}<{@link MultiPolygon}> based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Position[][][]} coordinates an array of Polygons\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<MultiPolygon, GeoJsonProperties>} a multipolygon feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPoly = turf.multiPolygon([[[[0,0],[0,10],[10,10],[10,0],[0,0]]]]);\n *\n * //=multiPoly\n *\n */\nexport function multiPolygon<P extends GeoJsonProperties = GeoJsonProperties>(\n coordinates: Position[][][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<MultiPolygon, P> {\n const geom: MultiPolygon = {\n type: \"MultiPolygon\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a Feature<GeometryCollection> based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Array<Point | LineString | Polygon | MultiPoint | MultiLineString | MultiPolygon>} geometries an array of GeoJSON Geometries\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature<GeometryCollection, GeoJsonProperties>} a GeoJSON GeometryCollection Feature\n * @example\n * var pt = turf.geometry(\"Point\", [100, 0]);\n * var line = turf.geometry(\"LineString\", [[101, 0], [102, 1]]);\n * var collection = turf.geometryCollection([pt, line]);\n *\n * // => collection\n */\nexport function geometryCollection<\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n geometries: Array<\n Point | LineString | Polygon | MultiPoint | MultiLineString | MultiPolygon\n >,\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature<GeometryCollection, P> {\n const geom: GeometryCollection = {\n type: \"GeometryCollection\",\n geometries,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Round number to precision\n *\n * @function\n * @param {number} num Number\n * @param {number} [precision=0] Precision\n * @returns {number} rounded number\n * @example\n * turf.round(120.4321)\n * //=120\n *\n * turf.round(120.4321, 2)\n * //=120.43\n */\nexport function round(num: number, precision = 0): number {\n if (precision && !(precision >= 0)) {\n throw new Error(\"precision must be a positive number\");\n }\n const multiplier = Math.pow(10, precision || 0);\n return Math.round(num * multiplier) / multiplier;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from radians to a more friendly unit.\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @function\n * @param {number} radians in radians across the sphere\n * @param {Units} [units=\"kilometers\"] can be degrees, radians, miles, inches, yards, metres,\n * meters, kilometres, kilometers.\n * @returns {number} distance\n */\nexport function radiansToLength(\n radians: number,\n units: Units = \"kilometers\"\n): number {\n const factor = factors[units];\n if (!factor) {\n throw new Error(units + \" units is invalid\");\n }\n return radians * factor;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into radians\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @function\n * @param {number} distance in real units\n * @param {Units} [units=\"kilometers\"] can be degrees, radians, miles, inches, yards, metres,\n * meters, kilometres, kilometers.\n * @returns {number} radians\n */\nexport function lengthToRadians(\n distance: number,\n units: Units = \"kilometers\"\n): number {\n const factor = factors[units];\n if (!factor) {\n throw new Error(units + \" units is invalid\");\n }\n return distance / factor;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into degrees\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, centimeters, kilometres, feet\n *\n * @function\n * @param {number} distance in real units\n * @param {Units} [units=\"kilometers\"] can be degrees, radians, miles, inches, yards, metres,\n * meters, kilometres, kilometers.\n * @returns {number} degrees\n */\nexport function lengthToDegrees(distance: number, units?: Units): number {\n return radiansToDegrees(lengthToRadians(distance, units));\n}\n\n/**\n * Converts any bearing angle from the north line direction (positive clockwise)\n * and returns an angle between 0-360 degrees (positive clockwise), 0 being the north line\n *\n * @function\n * @param {number} bearing angle, between -180 and +180 degrees\n * @returns {number} angle between 0 and 360 degrees\n */\nexport function bearingToAzimuth(bearing: number): number {\n let angle = bearing % 360;\n if (angle < 0) {\n angle += 360;\n }\n return angle;\n}\n\n/**\n * Converts any azimuth angle from the north line direction (positive clockwise)\n * and returns an angle between -180 and +180 degrees (positive clockwise), 0 being the north line\n *\n * @function\n * @param {number} angle between 0 and 360 degrees\n * @returns {number} bearing between -180 and +180 degrees\n */\nexport function azimuthToBearing(angle: number): number {\n // Ignore full revolutions (multiples of 360)\n angle = angle % 360;\n\n if (angle > 180) {\n return angle - 360;\n } else if (angle < -180) {\n return angle + 360;\n }\n\n return angle;\n}\n\n/**\n * Converts an angle in radians to degrees\n *\n * @function\n * @param {number} radians angle in radians\n * @returns {number} degrees between 0 and 360 degrees\n */\nexport function radiansToDegrees(radians: number): number {\n // % (2 * Math.PI) radians in case someone passes value > 2π\n const normalisedRadians = radians % (2 * Math.PI);\n return (normalisedRadians * 180) / Math.PI;\n}\n\n/**\n * Converts an angle in degrees to radians\n *\n * @function\n * @param {number} degrees angle between 0 and 360 degrees\n * @returns {number} angle in radians\n */\nexport function degreesToRadians(degrees: number): number {\n // % 360 degrees in case someone passes value > 360\n const normalisedDegrees = degrees % 360;\n return (normalisedDegrees * Math.PI) / 180;\n}\n\n/**\n * Converts a length from one unit to another.\n *\n * @function\n * @param {number} length Length to be converted\n * @param {Units} [originalUnit=\"kilometers\"] Input length unit\n * @param {Units} [finalUnit=\"kilometers\"] Returned length unit\n * @returns {number} The converted length\n */\nexport function convertLength(\n length: number,\n originalUnit: Units = \"kilometers\",\n finalUnit: Units = \"kilometers\"\n): number {\n if (!(length >= 0)) {\n throw new Error(\"length must be a positive number\");\n }\n return radiansToLength(lengthToRadians(length, originalUnit), finalUnit);\n}\n\n/**\n * Converts an area from one unit to another.\n *\n * @function\n * @param {number} area Area to be converted\n * @param {AreaUnits} [originalUnit=\"meters\"] Input area unit\n * @param {AreaUnits} [finalUnit=\"kilometers\"] Returned area unit\n * @returns {number} The converted length\n */\nexport function convertArea(\n area: number,\n originalUnit: AreaUnits = \"meters\",\n finalUnit: AreaUnits = \"kilometers\"\n): number {\n if (!(area >= 0)) {\n throw new Error(\"area must be a positive number\");\n }\n\n const startFactor = areaFactors[originalUnit];\n if (!startFactor) {\n throw new Error(\"invalid original units\");\n }\n\n const finalFactor = areaFactors[finalUnit];\n if (!finalFactor) {\n throw new Error(\"invalid final units\");\n }\n\n return (area / startFactor) * finalFactor;\n}\n\n/**\n * isNumber\n *\n * @function\n * @param {any} num Number to validate\n * @returns {boolean} true/false\n * @example\n * turf.isNumber(123)\n * //=true\n * turf.isNumber('foo')\n * //=false\n */\nexport function isNumber(num: any): boolean {\n return !isNaN(num) && num !== null && !Array.isArray(num);\n}\n\n/**\n * isObject\n *\n * @function\n * @param {any} input variable to validate\n * @returns {boolean} true/false, including false for Arrays and Functions\n * @example\n * turf.isObject({elevation: 10})\n * //=true\n * turf.isObject('foo')\n * //=false\n */\nexport function isObject(input: any): boolean {\n return input !== null && typeof input === \"object\" && !Array.isArray(input);\n}\n\n/**\n * Validate BBox\n *\n * @private\n * @param {any} bbox BBox to validate\n * @returns {void}\n * @throws {Error} if BBox is not valid\n * @example\n * validateBBox([-180, -40, 110, 50])\n * //=OK\n * validateBBox([-180, -40])\n * //=Error\n * validateBBox('Foo')\n * //=Error\n * validateBBox(5)\n * //=Error\n * validateBBox(null)\n * //=Error\n * validateBBox(undefined)\n * //=Error\n */\nexport function validateBBox(bbox: any): void {\n if (!bbox) {\n throw new Error(\"bbox is required\");\n }\n if (!Array.isArray(bbox)) {\n throw new Error(\"bbox must be an Array\");\n }\n if (bbox.length !== 4 && bbox.length !== 6) {\n throw new Error(\"bbox must be an Array of 4 or 6 numbers\");\n }\n bbox.forEach((num) => {\n if (!isNumber(num)) {\n throw new Error(\"bbox must only contain numbers\");\n }\n });\n}\n\n/**\n * Validate Id\n *\n * @private\n * @param {any} id Id to validate\n * @returns {void}\n * @throws {Error} if Id is not valid\n * @example\n * validateId([-180, -40, 110, 50])\n * //=Error\n * validateId([-180, -40])\n * //=Error\n * validateId('Foo')\n * //=OK\n * validateId(5)\n * //=OK\n * validateId(null)\n * //=Error\n * validateId(undefined)\n * //=Error\n */\nexport function validateId(id: any): void {\n if (!id) {\n throw new Error(\"id is required\");\n }\n if ([\"string\", \"number\"].indexOf(typeof id) === -1) {\n throw new Error(\"id must be a number or a string\");\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@turf/helpers",
3
- "version": "7.2.0",
4
- "description": "turf helpers module",
3
+ "version": "7.3.0",
4
+ "description": "Provides helper functions to create GeoJSON features, like points, lines, or areas on a map.",
5
5
  "author": "Turf Authors",
6
6
  "contributors": [
7
7
  "Tom MacWright <@tmcw>",
@@ -59,17 +59,17 @@
59
59
  },
60
60
  "devDependencies": {
61
61
  "@types/benchmark": "^2.1.5",
62
- "@types/tape": "^4.13.4",
62
+ "@types/tape": "^5.8.1",
63
63
  "benchmark": "^2.1.4",
64
64
  "npm-run-all": "^4.1.5",
65
65
  "tape": "^5.9.0",
66
- "tsup": "^8.3.5",
67
- "tsx": "^4.19.2",
68
- "typescript": "^5.5.4"
66
+ "tsup": "^8.4.0",
67
+ "tsx": "^4.19.4",
68
+ "typescript": "^5.8.3"
69
69
  },
70
70
  "dependencies": {
71
71
  "@types/geojson": "^7946.0.10",
72
72
  "tslib": "^2.8.1"
73
73
  },
74
- "gitHead": "7b0f0374c4668cd569f8904c71e2ae7d941be867"
74
+ "gitHead": "9f58a103e8f9a587ab640307ed03ba5233913ddd"
75
75
  }
@@ -15,10 +15,10 @@ described in [Hexagonal Grids][3].
15
15
  radius of the circumcircle of the hexagons.
16
16
  * `options` **[Object][6]** Optional parameters (optional, default `{}`)
17
17
 
18
- * `options.units` **[string][7]** used in calculating cell size, can be degrees, radians, miles, or kilometers (optional, default `'kilometers'`)
18
+ * `options.units` **Units** used in calculating cell size. Supports all valid Turf [Units][7]. (optional, default `'kilometers'`)
19
19
  * `options.properties` **[Object][6]** passed to each hexagon or triangle of the grid (optional, default `{}`)
20
- * `options.mask` **[Feature][8]<[Polygon][2]>?** if passed a Polygon or MultiPolygon, the grid Points will be created only inside it
21
- * `options.triangles` **[boolean][9]** whether to return as triangles instead of hexagons (optional, default `false`)
20
+ * `options.mask` **[Feature][8]<([Polygon][2] | [MultiPolygon][9])>?** if passed a Polygon or MultiPolygon, the grid Points will be created only inside it
21
+ * `options.triangles` **[boolean][10]** whether to return as triangles instead of hexagons (optional, default `false`)
22
22
 
23
23
  ### Examples
24
24
 
@@ -47,11 +47,13 @@ Returns **[FeatureCollection][1]<[Polygon][2]>** a hexagonal grid
47
47
 
48
48
  [6]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
49
49
 
50
- [7]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
50
+ [7]: https://turfjs.org/docs/api/types/Units
51
51
 
52
52
  [8]: https://tools.ietf.org/html/rfc7946#section-3.2
53
53
 
54
- [9]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean
54
+ [9]: https://tools.ietf.org/html/rfc7946#section-3.1.7
55
+
56
+ [10]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean
55
57
 
56
58
  <!-- This file is automatically generated. Please don't edit it directly. If you find an error, edit the source file of the module in question (likely index.js or index.ts), and re-run "yarn docs" from the root of the turf project. -->
57
59
 
@@ -106,9 +106,9 @@ function hexTriangles(center, rx, ry, properties, cosines, sines) {
106
106
  }
107
107
  return triangles;
108
108
  }
109
- var turf_hex_grid_default = hexGrid;
109
+ var index_default = hexGrid;
110
110
 
111
111
 
112
112
 
113
- exports.default = turf_hex_grid_default; exports.hexGrid = hexGrid;
113
+ exports.default = index_default; exports.hexGrid = hexGrid;
114
114
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/turf/turf/packages/turf-hex-grid/dist/cjs/index.cjs","../../index.ts"],"names":[],"mappings":"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","file":"/home/runner/work/turf/turf/packages/turf-hex-grid/dist/cjs/index.cjs","sourcesContent":[null,"import { distance } from \"@turf/distance\";\nimport { intersect } from \"@turf/intersect\";\nimport {\n Feature,\n FeatureCollection,\n GeoJsonProperties,\n Polygon,\n BBox,\n} from \"geojson\";\nimport { polygon, featureCollection, Units } from \"@turf/helpers\";\n\n/**\n * Takes a bounding box and the diameter of the cell and returns a {@link FeatureCollection} of flat-topped\n * hexagons or triangles ({@link Polygon} features) aligned in an \"odd-q\" vertical grid as\n * described in [Hexagonal Grids](http://www.redblobgames.com/grids/hexagons/).\n *\n * @function\n * @param {BBox} bbox extent in [minX, minY, maxX, maxY] order\n * @param {number} cellSide length of the side of the the hexagons or triangles, in units. It will also coincide with the\n * radius of the circumcircle of the hexagons.\n * @param {Object} [options={}] Optional parameters\n * @param {string} [options.units='kilometers'] used in calculating cell size, can be degrees, radians, miles, or kilometers\n * @param {Object} [options.properties={}] passed to each hexagon or triangle of the grid\n * @param {Feature<Polygon>} [options.mask] if passed a Polygon or MultiPolygon, the grid Points will be created only inside it\n * @param {boolean} [options.triangles=false] whether to return as triangles instead of hexagons\n * @returns {FeatureCollection<Polygon>} a hexagonal grid\n * @example\n * var bbox = [-96,31,-84,40];\n * var cellSide = 50;\n * var options = {units: 'miles'};\n *\n * var hexgrid = turf.hexGrid(bbox, cellSide, options);\n *\n * //addToMap\n * var addToMap = [hexgrid];\n */\nfunction hexGrid<P extends GeoJsonProperties = GeoJsonProperties>(\n bbox: BBox,\n cellSide: number,\n options: {\n units?: Units;\n triangles?: boolean;\n properties?: P;\n mask?: Feature<Polygon>;\n } = {}\n): FeatureCollection<Polygon, P> {\n // Issue => https://github.com/Turfjs/turf/issues/1284\n const clonedProperties = JSON.stringify(options.properties || {});\n\n const [west, south, east, north] = bbox;\n const centerY = (south + north) / 2;\n const centerX = (west + east) / 2;\n\n // https://github.com/Turfjs/turf/issues/758\n const xFraction =\n (cellSide * 2) / distance([west, centerY], [east, centerY], options);\n const cellWidth = xFraction * (east - west);\n const yFraction =\n (cellSide * 2) / distance([centerX, south], [centerX, north], options);\n const cellHeight = yFraction * (north - south);\n const radius = cellWidth / 2;\n\n const hex_width = radius * 2;\n const hex_height = (Math.sqrt(3) / 2) * cellHeight;\n\n const box_width = east - west;\n const box_height = north - south;\n\n const x_interval = (3 / 4) * hex_width;\n const y_interval = hex_height;\n\n // adjust box_width so all hexagons will be inside the bbox\n const x_span = (box_width - hex_width) / (hex_width - radius / 2);\n const x_count = Math.floor(x_span);\n\n const x_adjust =\n (x_count * x_interval - radius / 2 - box_width) / 2 -\n radius / 2 +\n x_interval / 2;\n\n // adjust box_height so all hexagons will be inside the bbox\n const y_count = Math.floor((box_height - hex_height) / hex_height);\n\n let y_adjust = (box_height - y_count * hex_height) / 2;\n\n const hasOffsetY = y_count * hex_height - box_height > hex_height / 2;\n if (hasOffsetY) {\n y_adjust -= hex_height / 4;\n }\n\n // Precompute cosines and sines of angles used in hexagon creation for performance gain\n const cosines = [];\n const sines = [];\n for (let i = 0; i < 6; i++) {\n const angle = ((2 * Math.PI) / 6) * i;\n cosines.push(Math.cos(angle));\n sines.push(Math.sin(angle));\n }\n\n const results = [];\n for (let x = 0; x <= x_count; x++) {\n for (let y = 0; y <= y_count; y++) {\n const isOdd = x % 2 === 1;\n if (y === 0 && isOdd) continue;\n if (y === 0 && hasOffsetY) continue;\n\n const center_x = x * x_interval + west - x_adjust;\n let center_y = y * y_interval + south + y_adjust;\n\n if (isOdd) {\n center_y -= hex_height / 2;\n }\n\n if (options.triangles === true) {\n hexTriangles(\n [center_x, center_y],\n cellWidth / 2,\n cellHeight / 2,\n JSON.parse(clonedProperties),\n cosines,\n sines\n ).forEach(function (triangle) {\n if (options.mask) {\n if (intersect(featureCollection([options.mask, triangle])))\n results.push(triangle);\n } else {\n results.push(triangle);\n }\n });\n } else {\n const hex = hexagon(\n [center_x, center_y],\n cellWidth / 2,\n cellHeight / 2,\n JSON.parse(clonedProperties),\n cosines,\n sines\n );\n if (options.mask) {\n if (intersect(featureCollection([options.mask, hex])))\n results.push(hex);\n } else {\n results.push(hex);\n }\n }\n }\n }\n\n return featureCollection(results) as FeatureCollection<Polygon, P>;\n}\n\n/**\n * Creates hexagon\n *\n * @private\n * @param {Array<number>} center of the hexagon\n * @param {number} rx half hexagon width\n * @param {number} ry half hexagon height\n * @param {Object} properties passed to each hexagon\n * @param {Array<number>} cosines precomputed\n * @param {Array<number>} sines precomputed\n * @returns {Feature<Polygon>} hexagon\n */\nfunction hexagon(\n center: number[],\n rx: number,\n ry: number,\n properties: GeoJsonProperties,\n cosines: number[],\n sines: number[]\n) {\n const vertices = [];\n for (let i = 0; i < 6; i++) {\n const x = center[0] + rx * cosines[i];\n const y = center[1] + ry * sines[i];\n vertices.push([x, y]);\n }\n //first and last vertex must be the same\n vertices.push(vertices[0].slice());\n return polygon([vertices], properties);\n}\n\n/**\n * Creates triangles composing an hexagon\n *\n * @private\n * @param {Array<number>} center of the hexagon\n * @param {number} rx half triangle width\n * @param {number} ry half triangle height\n * @param {Object} properties passed to each triangle\n * @param {Array<number>} cosines precomputed\n * @param {Array<number>} sines precomputed\n * @returns {Array<Feature<Polygon>>} triangles\n */\nfunction hexTriangles(\n center: number[],\n rx: number,\n ry: number,\n properties: GeoJsonProperties,\n cosines: number[],\n sines: number[]\n) {\n const triangles = [];\n for (let i = 0; i < 6; i++) {\n const vertices = [];\n vertices.push(center);\n vertices.push([center[0] + rx * cosines[i], center[1] + ry * sines[i]]);\n vertices.push([\n center[0] + rx * cosines[(i + 1) % 6],\n center[1] + ry * sines[(i + 1) % 6],\n ]);\n vertices.push(center);\n triangles.push(polygon([vertices], properties));\n }\n return triangles;\n}\n\nexport { hexGrid };\nexport default hexGrid;\n"]}
1
+ {"version":3,"sources":["/home/runner/work/turf/turf/packages/turf-hex-grid/dist/cjs/index.cjs","../../index.ts"],"names":[],"mappings":"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","file":"/home/runner/work/turf/turf/packages/turf-hex-grid/dist/cjs/index.cjs","sourcesContent":[null,"import { distance } from \"@turf/distance\";\nimport { intersect } from \"@turf/intersect\";\nimport {\n Feature,\n FeatureCollection,\n GeoJsonProperties,\n Polygon,\n BBox,\n MultiPolygon,\n} from \"geojson\";\nimport { polygon, featureCollection, Units } from \"@turf/helpers\";\n\n/**\n * Takes a bounding box and the diameter of the cell and returns a {@link FeatureCollection} of flat-topped\n * hexagons or triangles ({@link Polygon} features) aligned in an \"odd-q\" vertical grid as\n * described in [Hexagonal Grids](http://www.redblobgames.com/grids/hexagons/).\n *\n * @function\n * @param {BBox} bbox extent in [minX, minY, maxX, maxY] order\n * @param {number} cellSide length of the side of the the hexagons or triangles, in units. It will also coincide with the\n * radius of the circumcircle of the hexagons.\n * @param {Object} [options={}] Optional parameters\n * @param {Units} [options.units='kilometers'] used in calculating cell size. Supports all valid Turf {@link https://turfjs.org/docs/api/types/Units Units}.\n * @param {Object} [options.properties={}] passed to each hexagon or triangle of the grid\n * @param {Feature<Polygon | MultiPolygon>} [options.mask] if passed a Polygon or MultiPolygon, the grid Points will be created only inside it\n * @param {boolean} [options.triangles=false] whether to return as triangles instead of hexagons\n * @returns {FeatureCollection<Polygon>} a hexagonal grid\n * @example\n * var bbox = [-96,31,-84,40];\n * var cellSide = 50;\n * var options = {units: 'miles'};\n *\n * var hexgrid = turf.hexGrid(bbox, cellSide, options);\n *\n * //addToMap\n * var addToMap = [hexgrid];\n */\nfunction hexGrid<P extends GeoJsonProperties = GeoJsonProperties>(\n bbox: BBox,\n cellSide: number,\n options: {\n units?: Units;\n triangles?: boolean;\n properties?: P;\n mask?: Feature<Polygon | MultiPolygon>;\n } = {}\n): FeatureCollection<Polygon, P> {\n // Issue => https://github.com/Turfjs/turf/issues/1284\n const clonedProperties = JSON.stringify(options.properties || {});\n\n const [west, south, east, north] = bbox;\n const centerY = (south + north) / 2;\n const centerX = (west + east) / 2;\n\n // https://github.com/Turfjs/turf/issues/758\n const xFraction =\n (cellSide * 2) / distance([west, centerY], [east, centerY], options);\n const cellWidth = xFraction * (east - west);\n const yFraction =\n (cellSide * 2) / distance([centerX, south], [centerX, north], options);\n const cellHeight = yFraction * (north - south);\n const radius = cellWidth / 2;\n\n const hex_width = radius * 2;\n const hex_height = (Math.sqrt(3) / 2) * cellHeight;\n\n const box_width = east - west;\n const box_height = north - south;\n\n const x_interval = (3 / 4) * hex_width;\n const y_interval = hex_height;\n\n // adjust box_width so all hexagons will be inside the bbox\n const x_span = (box_width - hex_width) / (hex_width - radius / 2);\n const x_count = Math.floor(x_span);\n\n const x_adjust =\n (x_count * x_interval - radius / 2 - box_width) / 2 -\n radius / 2 +\n x_interval / 2;\n\n // adjust box_height so all hexagons will be inside the bbox\n const y_count = Math.floor((box_height - hex_height) / hex_height);\n\n let y_adjust = (box_height - y_count * hex_height) / 2;\n\n const hasOffsetY = y_count * hex_height - box_height > hex_height / 2;\n if (hasOffsetY) {\n y_adjust -= hex_height / 4;\n }\n\n // Precompute cosines and sines of angles used in hexagon creation for performance gain\n const cosines = [];\n const sines = [];\n for (let i = 0; i < 6; i++) {\n const angle = ((2 * Math.PI) / 6) * i;\n cosines.push(Math.cos(angle));\n sines.push(Math.sin(angle));\n }\n\n const results = [];\n for (let x = 0; x <= x_count; x++) {\n for (let y = 0; y <= y_count; y++) {\n const isOdd = x % 2 === 1;\n if (y === 0 && isOdd) continue;\n if (y === 0 && hasOffsetY) continue;\n\n const center_x = x * x_interval + west - x_adjust;\n let center_y = y * y_interval + south + y_adjust;\n\n if (isOdd) {\n center_y -= hex_height / 2;\n }\n\n if (options.triangles === true) {\n hexTriangles(\n [center_x, center_y],\n cellWidth / 2,\n cellHeight / 2,\n JSON.parse(clonedProperties),\n cosines,\n sines\n ).forEach(function (triangle) {\n if (options.mask) {\n if (intersect(featureCollection([options.mask, triangle])))\n results.push(triangle);\n } else {\n results.push(triangle);\n }\n });\n } else {\n const hex = hexagon(\n [center_x, center_y],\n cellWidth / 2,\n cellHeight / 2,\n JSON.parse(clonedProperties),\n cosines,\n sines\n );\n if (options.mask) {\n if (intersect(featureCollection([options.mask, hex])))\n results.push(hex);\n } else {\n results.push(hex);\n }\n }\n }\n }\n\n return featureCollection(results) as FeatureCollection<Polygon, P>;\n}\n\n/**\n * Creates hexagon\n *\n * @private\n * @param {Array<number>} center of the hexagon\n * @param {number} rx half hexagon width\n * @param {number} ry half hexagon height\n * @param {Object} properties passed to each hexagon\n * @param {Array<number>} cosines precomputed\n * @param {Array<number>} sines precomputed\n * @returns {Feature<Polygon>} hexagon\n */\nfunction hexagon(\n center: number[],\n rx: number,\n ry: number,\n properties: GeoJsonProperties,\n cosines: number[],\n sines: number[]\n) {\n const vertices = [];\n for (let i = 0; i < 6; i++) {\n const x = center[0] + rx * cosines[i];\n const y = center[1] + ry * sines[i];\n vertices.push([x, y]);\n }\n //first and last vertex must be the same\n vertices.push(vertices[0].slice());\n return polygon([vertices], properties);\n}\n\n/**\n * Creates triangles composing an hexagon\n *\n * @private\n * @param {Array<number>} center of the hexagon\n * @param {number} rx half triangle width\n * @param {number} ry half triangle height\n * @param {Object} properties passed to each triangle\n * @param {Array<number>} cosines precomputed\n * @param {Array<number>} sines precomputed\n * @returns {Array<Feature<Polygon>>} triangles\n */\nfunction hexTriangles(\n center: number[],\n rx: number,\n ry: number,\n properties: GeoJsonProperties,\n cosines: number[],\n sines: number[]\n) {\n const triangles = [];\n for (let i = 0; i < 6; i++) {\n const vertices = [];\n vertices.push(center);\n vertices.push([center[0] + rx * cosines[i], center[1] + ry * sines[i]]);\n vertices.push([\n center[0] + rx * cosines[(i + 1) % 6],\n center[1] + ry * sines[(i + 1) % 6],\n ]);\n vertices.push(center);\n triangles.push(polygon([vertices], properties));\n }\n return triangles;\n}\n\nexport { hexGrid };\nexport default hexGrid;\n"]}
@@ -1,4 +1,4 @@
1
- import { GeoJsonProperties, BBox, Feature, Polygon, FeatureCollection } from 'geojson';
1
+ import { GeoJsonProperties, BBox, Feature, Polygon, MultiPolygon, FeatureCollection } from 'geojson';
2
2
  import { Units } from '@turf/helpers';
3
3
 
4
4
  /**
@@ -11,9 +11,9 @@ import { Units } from '@turf/helpers';
11
11
  * @param {number} cellSide length of the side of the the hexagons or triangles, in units. It will also coincide with the
12
12
  * radius of the circumcircle of the hexagons.
13
13
  * @param {Object} [options={}] Optional parameters
14
- * @param {string} [options.units='kilometers'] used in calculating cell size, can be degrees, radians, miles, or kilometers
14
+ * @param {Units} [options.units='kilometers'] used in calculating cell size. Supports all valid Turf {@link https://turfjs.org/docs/api/types/Units Units}.
15
15
  * @param {Object} [options.properties={}] passed to each hexagon or triangle of the grid
16
- * @param {Feature<Polygon>} [options.mask] if passed a Polygon or MultiPolygon, the grid Points will be created only inside it
16
+ * @param {Feature<Polygon | MultiPolygon>} [options.mask] if passed a Polygon or MultiPolygon, the grid Points will be created only inside it
17
17
  * @param {boolean} [options.triangles=false] whether to return as triangles instead of hexagons
18
18
  * @returns {FeatureCollection<Polygon>} a hexagonal grid
19
19
  * @example
@@ -30,7 +30,7 @@ declare function hexGrid<P extends GeoJsonProperties = GeoJsonProperties>(bbox:
30
30
  units?: Units;
31
31
  triangles?: boolean;
32
32
  properties?: P;
33
- mask?: Feature<Polygon>;
33
+ mask?: Feature<Polygon | MultiPolygon>;
34
34
  }): FeatureCollection<Polygon, P>;
35
35
 
36
36
  export { hexGrid as default, hexGrid };
@@ -1,4 +1,4 @@
1
- import { GeoJsonProperties, BBox, Feature, Polygon, FeatureCollection } from 'geojson';
1
+ import { GeoJsonProperties, BBox, Feature, Polygon, MultiPolygon, FeatureCollection } from 'geojson';
2
2
  import { Units } from '@turf/helpers';
3
3
 
4
4
  /**
@@ -11,9 +11,9 @@ import { Units } from '@turf/helpers';
11
11
  * @param {number} cellSide length of the side of the the hexagons or triangles, in units. It will also coincide with the
12
12
  * radius of the circumcircle of the hexagons.
13
13
  * @param {Object} [options={}] Optional parameters
14
- * @param {string} [options.units='kilometers'] used in calculating cell size, can be degrees, radians, miles, or kilometers
14
+ * @param {Units} [options.units='kilometers'] used in calculating cell size. Supports all valid Turf {@link https://turfjs.org/docs/api/types/Units Units}.
15
15
  * @param {Object} [options.properties={}] passed to each hexagon or triangle of the grid
16
- * @param {Feature<Polygon>} [options.mask] if passed a Polygon or MultiPolygon, the grid Points will be created only inside it
16
+ * @param {Feature<Polygon | MultiPolygon>} [options.mask] if passed a Polygon or MultiPolygon, the grid Points will be created only inside it
17
17
  * @param {boolean} [options.triangles=false] whether to return as triangles instead of hexagons
18
18
  * @returns {FeatureCollection<Polygon>} a hexagonal grid
19
19
  * @example
@@ -30,7 +30,7 @@ declare function hexGrid<P extends GeoJsonProperties = GeoJsonProperties>(bbox:
30
30
  units?: Units;
31
31
  triangles?: boolean;
32
32
  properties?: P;
33
- mask?: Feature<Polygon>;
33
+ mask?: Feature<Polygon | MultiPolygon>;
34
34
  }): FeatureCollection<Polygon, P>;
35
35
 
36
36
  export { hexGrid as default, hexGrid };
@@ -106,9 +106,9 @@ function hexTriangles(center, rx, ry, properties, cosines, sines) {
106
106
  }
107
107
  return triangles;
108
108
  }
109
- var turf_hex_grid_default = hexGrid;
109
+ var index_default = hexGrid;
110
110
  export {
111
- turf_hex_grid_default as default,
111
+ index_default as default,
112
112
  hexGrid
113
113
  };
114
114
  //# sourceMappingURL=index.js.map