From 22be476560bf1900358304b3f40926402d216fee Mon Sep 17 00:00:00 2001 From: Dan Ditomaso Date: Fri, 24 Jan 2025 14:22:32 -0500 Subject: [PATCH 1/3] refactor: replace @turf/turf with vanilla TS implementation --- package.json | 1 - pnpm-lock.yaml | 1286 ---------------------------------------- src/core/utils/maps.ts | 109 ++++ src/pages/Map.tsx | 4 +- 4 files changed, 111 insertions(+), 1289 deletions(-) create mode 100644 src/core/utils/maps.ts diff --git a/package.json b/package.json index 194cc62c..e8b3088b 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,6 @@ "@radix-ui/react-tabs": "^1.1.0", "@radix-ui/react-toast": "^1.2.1", "@radix-ui/react-tooltip": "^1.1.1", - "@turf/turf": "^6.5.0", "base64-js": "^1.5.1", "class-transformer": "^0.5.1", "class-validator": "^0.14.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 79d6d5ff..98454839 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -62,9 +62,6 @@ importers: '@radix-ui/react-tooltip': specifier: ^1.1.1 version: 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@turf/turf': - specifier: ^6.5.0 - version: 6.5.0 base64-js: specifier: ^1.5.1 version: 1.5.1 @@ -1363,327 +1360,6 @@ packages: '@swc/helpers@0.5.13': resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} - '@turf/along@6.5.0': - resolution: {integrity: sha512-LLyWQ0AARqJCmMcIEAXF4GEu8usmd4Kbz3qk1Oy5HoRNpZX47+i5exQtmIWKdqJ1MMhW26fCTXgpsEs5zgJ5gw==} - - '@turf/angle@6.5.0': - resolution: {integrity: sha512-4pXMbWhFofJJAOvTMCns6N4C8CMd5Ih4O2jSAG9b3dDHakj3O4yN1+Zbm+NUei+eVEZ9gFeVp9svE3aMDenIkw==} - - '@turf/area@6.5.0': - resolution: {integrity: sha512-xCZdiuojokLbQ+29qR6qoMD89hv+JAgWjLrwSEWL+3JV8IXKeNFl6XkEJz9HGkVpnXvQKJoRz4/liT+8ZZ5Jyg==} - - '@turf/bbox-clip@6.5.0': - resolution: {integrity: sha512-F6PaIRF8WMp8EmgU/Ke5B1Y6/pia14UAYB5TiBC668w5rVVjy5L8rTm/m2lEkkDMHlzoP9vNY4pxpNthE7rLcQ==} - - '@turf/bbox-polygon@6.5.0': - resolution: {integrity: sha512-+/r0NyL1lOG3zKZmmf6L8ommU07HliP4dgYToMoTxqzsWzyLjaj/OzgQ8rBmv703WJX+aS6yCmLuIhYqyufyuw==} - - '@turf/bbox@6.5.0': - resolution: {integrity: sha512-RBbLaao5hXTYyyg577iuMtDB8ehxMlUqHEJiMs8jT1GHkFhr6sYre3lmLsPeYEi/ZKj5TP5tt7fkzNdJ4GIVyw==} - - '@turf/bearing@6.5.0': - resolution: {integrity: sha512-dxINYhIEMzgDOztyMZc20I7ssYVNEpSv04VbMo5YPQsqa80KO3TFvbuCahMsCAW5z8Tncc8dwBlEFrmRjJG33A==} - - '@turf/bezier-spline@6.5.0': - resolution: {integrity: sha512-vokPaurTd4PF96rRgGVm6zYYC5r1u98ZsG+wZEv9y3kJTuJRX/O3xIY2QnTGTdbVmAJN1ouOsD0RoZYaVoXORQ==} - - '@turf/boolean-clockwise@6.5.0': - resolution: {integrity: sha512-45+C7LC5RMbRWrxh3Z0Eihsc8db1VGBO5d9BLTOAwU4jR6SgsunTfRWR16X7JUwIDYlCVEmnjcXJNi/kIU3VIw==} - - '@turf/boolean-contains@6.5.0': - resolution: {integrity: sha512-4m8cJpbw+YQcKVGi8y0cHhBUnYT+QRfx6wzM4GI1IdtYH3p4oh/DOBJKrepQyiDzFDaNIjxuWXBh0ai1zVwOQQ==} - - '@turf/boolean-crosses@6.5.0': - resolution: {integrity: sha512-gvshbTPhAHporTlQwBJqyfW+2yV8q/mOTxG6PzRVl6ARsqNoqYQWkd4MLug7OmAqVyBzLK3201uAeBjxbGw0Ng==} - - '@turf/boolean-disjoint@6.5.0': - resolution: {integrity: sha512-rZ2ozlrRLIAGo2bjQ/ZUu4oZ/+ZjGvLkN5CKXSKBcu6xFO6k2bgqeM8a1836tAW+Pqp/ZFsTA5fZHsJZvP2D5g==} - - '@turf/boolean-equal@6.5.0': - resolution: {integrity: sha512-cY0M3yoLC26mhAnjv1gyYNQjn7wxIXmL2hBmI/qs8g5uKuC2hRWi13ydufE3k4x0aNRjFGlg41fjoYLwaVF+9Q==} - - '@turf/boolean-intersects@6.5.0': - resolution: {integrity: sha512-nIxkizjRdjKCYFQMnml6cjPsDOBCThrt+nkqtSEcxkKMhAQj5OO7o2CecioNTaX8EayqwMGVKcsz27oP4mKPTw==} - - '@turf/boolean-overlap@6.5.0': - resolution: {integrity: sha512-8btMIdnbXVWUa1M7D4shyaSGxLRw6NjMcqKBcsTXcZdnaixl22k7ar7BvIzkaRYN3SFECk9VGXfLncNS3ckQUw==} - - '@turf/boolean-parallel@6.5.0': - resolution: {integrity: sha512-aSHJsr1nq9e5TthZGZ9CZYeXklJyRgR5kCLm5X4urz7+MotMOp/LsGOsvKvK9NeUl9+8OUmfMn8EFTT8LkcvIQ==} - - '@turf/boolean-point-in-polygon@6.5.0': - resolution: {integrity: sha512-DtSuVFB26SI+hj0SjrvXowGTUCHlgevPAIsukssW6BG5MlNSBQAo70wpICBNJL6RjukXg8d2eXaAWuD/CqL00A==} - - '@turf/boolean-point-on-line@6.5.0': - resolution: {integrity: sha512-A1BbuQ0LceLHvq7F/P7w3QvfpmZqbmViIUPHdNLvZimFNLo4e6IQunmzbe+8aSStH9QRZm3VOflyvNeXvvpZEQ==} - - '@turf/boolean-within@6.5.0': - resolution: {integrity: sha512-YQB3oU18Inx35C/LU930D36RAVe7LDXk1kWsQ8mLmuqYn9YdPsDQTMTkLJMhoQ8EbN7QTdy333xRQ4MYgToteQ==} - - '@turf/buffer@6.5.0': - resolution: {integrity: sha512-qeX4N6+PPWbKqp1AVkBVWFerGjMYMUyencwfnkCesoznU6qvfugFHNAngNqIBVnJjZ5n8IFyOf+akcxnrt9sNg==} - - '@turf/center-mean@6.5.0': - resolution: {integrity: sha512-AAX6f4bVn12pTVrMUiB9KrnV94BgeBKpyg3YpfnEbBpkN/znfVhL8dG8IxMAxAoSZ61Zt9WLY34HfENveuOZ7Q==} - - '@turf/center-median@6.5.0': - resolution: {integrity: sha512-dT8Ndu5CiZkPrj15PBvslpuf01ky41DEYEPxS01LOxp5HOUHXp1oJxsPxvc+i/wK4BwccPNzU1vzJ0S4emd1KQ==} - - '@turf/center-of-mass@6.5.0': - resolution: {integrity: sha512-EWrriU6LraOfPN7m1jZi+1NLTKNkuIsGLZc2+Y8zbGruvUW+QV7K0nhf7iZWutlxHXTBqEXHbKue/o79IumAsQ==} - - '@turf/center@6.5.0': - resolution: {integrity: sha512-T8KtMTfSATWcAX088rEDKjyvQCBkUsLnK/Txb6/8WUXIeOZyHu42G7MkdkHRoHtwieLdduDdmPLFyTdG5/e7ZQ==} - - '@turf/centroid@6.5.0': - resolution: {integrity: sha512-MwE1oq5E3isewPprEClbfU5pXljIK/GUOMbn22UM3IFPDJX0KeoyLNwghszkdmFp/qMGL/M13MMWvU+GNLXP/A==} - - '@turf/circle@6.5.0': - resolution: {integrity: sha512-oU1+Kq9DgRnoSbWFHKnnUdTmtcRUMmHoV9DjTXu9vOLNV5OWtAAh1VZ+mzsioGGzoDNT/V5igbFOkMfBQc0B6A==} - - '@turf/clean-coords@6.5.0': - resolution: {integrity: sha512-EMX7gyZz0WTH/ET7xV8MyrExywfm9qUi0/MY89yNffzGIEHuFfqwhcCqZ8O00rZIPZHUTxpmsxQSTfzJJA1CPw==} - - '@turf/clone@6.5.0': - resolution: {integrity: sha512-mzVtTFj/QycXOn6ig+annKrM6ZlimreKYz6f/GSERytOpgzodbQyOgkfwru100O1KQhhjSudKK4DsQ0oyi9cTw==} - - '@turf/clusters-dbscan@6.5.0': - resolution: {integrity: sha512-SxZEE4kADU9DqLRiT53QZBBhu8EP9skviSyl+FGj08Y01xfICM/RR9ACUdM0aEQimhpu+ZpRVcUK+2jtiCGrYQ==} - - '@turf/clusters-kmeans@6.5.0': - resolution: {integrity: sha512-DwacD5+YO8kwDPKaXwT9DV46tMBVNsbi1IzdajZu1JDSWoN7yc7N9Qt88oi+p30583O0UPVkAK+A10WAQv4mUw==} - - '@turf/clusters@6.5.0': - resolution: {integrity: sha512-Y6gfnTJzQ1hdLfCsyd5zApNbfLIxYEpmDibHUqR5z03Lpe02pa78JtgrgUNt1seeO/aJ4TG1NLN8V5gOrHk04g==} - - '@turf/collect@6.5.0': - resolution: {integrity: sha512-4dN/T6LNnRg099m97BJeOcTA5fSI8cu87Ydgfibewd2KQwBexO69AnjEFqfPX3Wj+Zvisj1uAVIZbPmSSrZkjg==} - - '@turf/combine@6.5.0': - resolution: {integrity: sha512-Q8EIC4OtAcHiJB3C4R+FpB4LANiT90t17uOd851qkM2/o6m39bfN5Mv0PWqMZIHWrrosZqRqoY9dJnzz/rJxYQ==} - - '@turf/concave@6.5.0': - resolution: {integrity: sha512-I/sUmUC8TC5h/E2vPwxVht+nRt+TnXIPRoztDFvS8/Y0+cBDple9inLSo9nnPXMXidrBlGXZ9vQx/BjZUJgsRQ==} - - '@turf/convex@6.5.0': - resolution: {integrity: sha512-x7ZwC5z7PJB0SBwNh7JCeCNx7Iu+QSrH7fYgK0RhhNop13TqUlvHMirMLRgf2db1DqUetrAO2qHJeIuasquUWg==} - - '@turf/destination@6.5.0': - resolution: {integrity: sha512-4cnWQlNC8d1tItOz9B4pmJdWpXqS0vEvv65bI/Pj/genJnsL7evI0/Xw42RvEGROS481MPiU80xzvwxEvhQiMQ==} - - '@turf/difference@6.5.0': - resolution: {integrity: sha512-l8iR5uJqvI+5Fs6leNbhPY5t/a3vipUF/3AeVLpwPQcgmedNXyheYuy07PcMGH5Jdpi5gItOiTqwiU/bUH4b3A==} - - '@turf/dissolve@6.5.0': - resolution: {integrity: sha512-WBVbpm9zLTp0Bl9CE35NomTaOL1c4TQCtEoO43YaAhNEWJOOIhZMFJyr8mbvYruKl817KinT3x7aYjjCMjTAsQ==} - - '@turf/distance-weight@6.5.0': - resolution: {integrity: sha512-a8qBKkgVNvPKBfZfEJZnC3DV7dfIsC3UIdpRci/iap/wZLH41EmS90nM+BokAJflUHYy8PqE44wySGWHN1FXrQ==} - - '@turf/distance@6.5.0': - resolution: {integrity: sha512-xzykSLfoURec5qvQJcfifw/1mJa+5UwByZZ5TZ8iaqjGYN0vomhV9aiSLeYdUGtYRESZ+DYC/OzY+4RclZYgMg==} - - '@turf/ellipse@6.5.0': - resolution: {integrity: sha512-kuXtwFviw/JqnyJXF1mrR/cb496zDTSbGKtSiolWMNImYzGGkbsAsFTjwJYgD7+4FixHjp0uQPzo70KDf3AIBw==} - - '@turf/envelope@6.5.0': - resolution: {integrity: sha512-9Z+FnBWvOGOU4X+fMZxYFs1HjFlkKqsddLuMknRaqcJd6t+NIv5DWvPtDL8ATD2GEExYDiFLwMdckfr1yqJgHA==} - - '@turf/explode@6.5.0': - resolution: {integrity: sha512-6cSvMrnHm2qAsace6pw9cDmK2buAlw8+tjeJVXMfMyY+w7ZUi1rprWMsY92J7s2Dar63Bv09n56/1V7+tcj52Q==} - - '@turf/flatten@6.5.0': - resolution: {integrity: sha512-IBZVwoNLVNT6U/bcUUllubgElzpMsNoCw8tLqBw6dfYg9ObGmpEjf9BIYLr7a2Yn5ZR4l7YIj2T7kD5uJjZADQ==} - - '@turf/flip@6.5.0': - resolution: {integrity: sha512-oyikJFNjt2LmIXQqgOGLvt70RgE2lyzPMloYWM7OR5oIFGRiBvqVD2hA6MNw6JewIm30fWZ8DQJw1NHXJTJPbg==} - - '@turf/great-circle@6.5.0': - resolution: {integrity: sha512-7ovyi3HaKOXdFyN7yy1yOMa8IyOvV46RC1QOQTT+RYUN8ke10eyqExwBpL9RFUPvlpoTzoYbM/+lWPogQlFncg==} - - '@turf/helpers@6.5.0': - resolution: {integrity: sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==} - - '@turf/hex-grid@6.5.0': - resolution: {integrity: sha512-Ln3tc2tgZT8etDOldgc6e741Smg1CsMKAz1/Mlel+MEL5Ynv2mhx3m0q4J9IB1F3a4MNjDeVvm8drAaf9SF33g==} - - '@turf/interpolate@6.5.0': - resolution: {integrity: sha512-LSH5fMeiGyuDZ4WrDJNgh81d2DnNDUVJtuFryJFup8PV8jbs46lQGfI3r1DJ2p1IlEJIz3pmAZYeTfMMoeeohw==} - - '@turf/intersect@6.5.0': - resolution: {integrity: sha512-2legGJeKrfFkzntcd4GouPugoqPUjexPZnOvfez+3SfIMrHvulw8qV8u7pfVyn2Yqs53yoVCEjS5sEpvQ5YRQg==} - - '@turf/invariant@6.5.0': - resolution: {integrity: sha512-Wv8PRNCtPD31UVbdJE/KVAWKe7l6US+lJItRR/HOEW3eh+U/JwRCSUl/KZ7bmjM/C+zLNoreM2TU6OoLACs4eg==} - - '@turf/isobands@6.5.0': - resolution: {integrity: sha512-4h6sjBPhRwMVuFaVBv70YB7eGz+iw0bhPRnp+8JBdX1UPJSXhoi/ZF2rACemRUr0HkdVB/a1r9gC32vn5IAEkw==} - - '@turf/isolines@6.5.0': - resolution: {integrity: sha512-6ElhiLCopxWlv4tPoxiCzASWt/jMRvmp6mRYrpzOm3EUl75OhHKa/Pu6Y9nWtCMmVC/RcWtiiweUocbPLZLm0A==} - - '@turf/kinks@6.5.0': - resolution: {integrity: sha512-ViCngdPt1eEL7hYUHR2eHR662GvCgTc35ZJFaNR6kRtr6D8plLaDju0FILeFFWSc+o8e3fwxZEJKmFj9IzPiIQ==} - - '@turf/length@6.5.0': - resolution: {integrity: sha512-5pL5/pnw52fck3oRsHDcSGrj9HibvtlrZ0QNy2OcW8qBFDNgZ4jtl6U7eATVoyWPKBHszW3dWETW+iLV7UARig==} - - '@turf/line-arc@6.5.0': - resolution: {integrity: sha512-I6c+V6mIyEwbtg9P9zSFF89T7QPe1DPTG3MJJ6Cm1MrAY0MdejwQKOpsvNl8LDU2ekHOlz2kHpPVR7VJsoMllA==} - - '@turf/line-chunk@6.5.0': - resolution: {integrity: sha512-i1FGE6YJaaYa+IJesTfyRRQZP31QouS+wh/pa6O3CC0q4T7LtHigyBSYjrbjSLfn2EVPYGlPCMFEqNWCOkC6zg==} - - '@turf/line-intersect@6.5.0': - resolution: {integrity: sha512-CS6R1tZvVQD390G9Ea4pmpM6mJGPWoL82jD46y0q1KSor9s6HupMIo1kY4Ny+AEYQl9jd21V3Scz20eldpbTVA==} - - '@turf/line-offset@6.5.0': - resolution: {integrity: sha512-CEXZbKgyz8r72qRvPchK0dxqsq8IQBdH275FE6o4MrBkzMcoZsfSjghtXzKaz9vvro+HfIXal0sTk2mqV1lQTw==} - - '@turf/line-overlap@6.5.0': - resolution: {integrity: sha512-xHOaWLd0hkaC/1OLcStCpfq55lPHpPNadZySDXYiYjEz5HXr1oKmtMYpn0wGizsLwrOixRdEp+j7bL8dPt4ojQ==} - - '@turf/line-segment@6.5.0': - resolution: {integrity: sha512-jI625Ho4jSuJESNq66Mmi290ZJ5pPZiQZruPVpmHkUw257Pew0alMmb6YrqYNnLUuiVVONxAAKXUVeeUGtycfw==} - - '@turf/line-slice-along@6.5.0': - resolution: {integrity: sha512-KHJRU6KpHrAj+BTgTNqby6VCTnDzG6a1sJx/I3hNvqMBLvWVA2IrkR9L9DtsQsVY63IBwVdQDqiwCuZLDQh4Ng==} - - '@turf/line-slice@6.5.0': - resolution: {integrity: sha512-vDqJxve9tBHhOaVVFXqVjF5qDzGtKWviyjbyi2QnSnxyFAmLlLnBfMX8TLQCAf2GxHibB95RO5FBE6I2KVPRuw==} - - '@turf/line-split@6.5.0': - resolution: {integrity: sha512-/rwUMVr9OI2ccJjw7/6eTN53URtGThNSD5I0GgxyFXMtxWiloRJ9MTff8jBbtPWrRka/Sh2GkwucVRAEakx9Sw==} - - '@turf/line-to-polygon@6.5.0': - resolution: {integrity: sha512-qYBuRCJJL8Gx27OwCD1TMijM/9XjRgXH/m/TyuND4OXedBpIWlK5VbTIO2gJ8OCfznBBddpjiObLBrkuxTpN4Q==} - - '@turf/mask@6.5.0': - resolution: {integrity: sha512-RQha4aU8LpBrmrkH8CPaaoAfk0Egj5OuXtv6HuCQnHeGNOQt3TQVibTA3Sh4iduq4EPxnZfDjgsOeKtrCA19lg==} - - '@turf/meta@6.5.0': - resolution: {integrity: sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==} - - '@turf/midpoint@6.5.0': - resolution: {integrity: sha512-MyTzV44IwmVI6ec9fB2OgZ53JGNlgOpaYl9ArKoF49rXpL84F9rNATndbe0+MQIhdkw8IlzA6xVP4lZzfMNVCw==} - - '@turf/moran-index@6.5.0': - resolution: {integrity: sha512-ItsnhrU2XYtTtTudrM8so4afBCYWNaB0Mfy28NZwLjB5jWuAsvyV+YW+J88+neK/ougKMTawkmjQqodNJaBeLQ==} - - '@turf/nearest-point-on-line@6.5.0': - resolution: {integrity: sha512-WthrvddddvmymnC+Vf7BrkHGbDOUu6Z3/6bFYUGv1kxw8tiZ6n83/VG6kHz4poHOfS0RaNflzXSkmCi64fLBlg==} - - '@turf/nearest-point-to-line@6.5.0': - resolution: {integrity: sha512-PXV7cN0BVzUZdjj6oeb/ESnzXSfWmEMrsfZSDRgqyZ9ytdiIj/eRsnOXLR13LkTdXVOJYDBuf7xt1mLhM4p6+Q==} - - '@turf/nearest-point@6.5.0': - resolution: {integrity: sha512-fguV09QxilZv/p94s8SMsXILIAMiaXI5PATq9d7YWijLxWUj6Q/r43kxyoi78Zmwwh1Zfqz9w+bCYUAxZ5+euA==} - - '@turf/planepoint@6.5.0': - resolution: {integrity: sha512-R3AahA6DUvtFbka1kcJHqZ7DMHmPXDEQpbU5WaglNn7NaCQg9HB0XM0ZfqWcd5u92YXV+Gg8QhC8x5XojfcM4Q==} - - '@turf/point-grid@6.5.0': - resolution: {integrity: sha512-Iq38lFokNNtQJnOj/RBKmyt6dlof0yhaHEDELaWHuECm1lIZLY3ZbVMwbs+nXkwTAHjKfS/OtMheUBkw+ee49w==} - - '@turf/point-on-feature@6.5.0': - resolution: {integrity: sha512-bDpuIlvugJhfcF/0awAQ+QI6Om1Y1FFYE8Y/YdxGRongivix850dTeXCo0mDylFdWFPGDo7Mmh9Vo4VxNwW/TA==} - - '@turf/point-to-line-distance@6.5.0': - resolution: {integrity: sha512-opHVQ4vjUhNBly1bob6RWy+F+hsZDH9SA0UW36pIRzfpu27qipU18xup0XXEePfY6+wvhF6yL/WgCO2IbrLqEA==} - - '@turf/points-within-polygon@6.5.0': - resolution: {integrity: sha512-YyuheKqjliDsBDt3Ho73QVZk1VXX1+zIA2gwWvuz8bR1HXOkcuwk/1J76HuFMOQI3WK78wyAi+xbkx268PkQzQ==} - - '@turf/polygon-smooth@6.5.0': - resolution: {integrity: sha512-LO/X/5hfh/Rk4EfkDBpLlVwt3i6IXdtQccDT9rMjXEP32tRgy0VMFmdkNaXoGlSSKf/1mGqLl4y4wHd86DqKbg==} - - '@turf/polygon-tangents@6.5.0': - resolution: {integrity: sha512-sB4/IUqJMYRQH9jVBwqS/XDitkEfbyqRy+EH/cMRJURTg78eHunvJ708x5r6umXsbiUyQU4eqgPzEylWEQiunw==} - - '@turf/polygon-to-line@6.5.0': - resolution: {integrity: sha512-5p4n/ij97EIttAq+ewSnKt0ruvuM+LIDzuczSzuHTpq4oS7Oq8yqg5TQ4nzMVuK41r/tALCk7nAoBuw3Su4Gcw==} - - '@turf/polygonize@6.5.0': - resolution: {integrity: sha512-a/3GzHRaCyzg7tVYHo43QUChCspa99oK4yPqooVIwTC61npFzdrmnywMv0S+WZjHZwK37BrFJGFrZGf6ocmY5w==} - - '@turf/projection@6.5.0': - resolution: {integrity: sha512-/Pgh9mDvQWWu8HRxqpM+tKz8OzgauV+DiOcr3FCjD6ubDnrrmMJlsf6fFJmggw93mtVPrZRL6yyi9aYCQBOIvg==} - - '@turf/random@6.5.0': - resolution: {integrity: sha512-8Q25gQ/XbA7HJAe+eXp4UhcXM9aOOJFaxZ02+XSNwMvY8gtWSCBLVqRcW4OhqilgZ8PeuQDWgBxeo+BIqqFWFQ==} - - '@turf/rectangle-grid@6.5.0': - resolution: {integrity: sha512-yQZ/1vbW68O2KsSB3OZYK+72aWz/Adnf7m2CMKcC+aq6TwjxZjAvlbCOsNUnMAuldRUVN1ph6RXMG4e9KEvKvg==} - - '@turf/rewind@6.5.0': - resolution: {integrity: sha512-IoUAMcHWotBWYwSYuYypw/LlqZmO+wcBpn8ysrBNbazkFNkLf3btSDZMkKJO/bvOzl55imr/Xj4fi3DdsLsbzQ==} - - '@turf/rhumb-bearing@6.5.0': - resolution: {integrity: sha512-jMyqiMRK4hzREjQmnLXmkJ+VTNTx1ii8vuqRwJPcTlKbNWfjDz/5JqJlb5NaFDcdMpftWovkW5GevfnuzHnOYA==} - - '@turf/rhumb-destination@6.5.0': - resolution: {integrity: sha512-RHNP1Oy+7xTTdRrTt375jOZeHceFbjwohPHlr9Hf68VdHHPMAWgAKqiX2YgSWDcvECVmiGaBKWus1Df+N7eE4Q==} - - '@turf/rhumb-distance@6.5.0': - resolution: {integrity: sha512-oKp8KFE8E4huC2Z1a1KNcFwjVOqa99isxNOwfo4g3SUABQ6NezjKDDrnvC4yI5YZ3/huDjULLBvhed45xdCrzg==} - - '@turf/sample@6.5.0': - resolution: {integrity: sha512-kSdCwY7el15xQjnXYW520heKUrHwRvnzx8ka4eYxX9NFeOxaFITLW2G7UtXb6LJK8mmPXI8Aexv23F2ERqzGFg==} - - '@turf/sector@6.5.0': - resolution: {integrity: sha512-cYUOkgCTWqa23SOJBqxoFAc/yGCUsPRdn/ovbRTn1zNTm/Spmk6hVB84LCKOgHqvSF25i0d2kWqpZDzLDdAPbw==} - - '@turf/shortest-path@6.5.0': - resolution: {integrity: sha512-4de5+G7+P4hgSoPwn+SO9QSi9HY5NEV/xRJ+cmoFVRwv2CDsuOPDheHKeuIAhKyeKDvPvPt04XYWbac4insJMg==} - - '@turf/simplify@6.5.0': - resolution: {integrity: sha512-USas3QqffPHUY184dwQdP8qsvcVH/PWBYdXY5am7YTBACaQOMAlf6AKJs9FT8jiO6fQpxfgxuEtwmox+pBtlOg==} - - '@turf/square-grid@6.5.0': - resolution: {integrity: sha512-mlR0ayUdA+L4c9h7p4k3pX6gPWHNGuZkt2c5II1TJRmhLkW2557d6b/Vjfd1z9OVaajb1HinIs1FMSAPXuuUrA==} - - '@turf/square@6.5.0': - resolution: {integrity: sha512-BM2UyWDmiuHCadVhHXKIx5CQQbNCpOxB6S/aCNOCLbhCeypKX5Q0Aosc5YcmCJgkwO5BERCC6Ee7NMbNB2vHmQ==} - - '@turf/standard-deviational-ellipse@6.5.0': - resolution: {integrity: sha512-02CAlz8POvGPFK2BKK8uHGUk/LXb0MK459JVjKxLC2yJYieOBTqEbjP0qaWhiBhGzIxSMaqe8WxZ0KvqdnstHA==} - - '@turf/tag@6.5.0': - resolution: {integrity: sha512-XwlBvrOV38CQsrNfrxvBaAPBQgXMljeU0DV8ExOyGM7/hvuGHJw3y8kKnQ4lmEQcmcrycjDQhP7JqoRv8vFssg==} - - '@turf/tesselate@6.5.0': - resolution: {integrity: sha512-M1HXuyZFCfEIIKkglh/r5L9H3c5QTEsnMBoZOFQiRnGPGmJWcaBissGb7mTFX2+DKE7FNWXh4TDnZlaLABB0dQ==} - - '@turf/tin@6.5.0': - resolution: {integrity: sha512-YLYikRzKisfwj7+F+Tmyy/LE3d2H7D4kajajIfc9mlik2+esG7IolsX/+oUz1biguDYsG0DUA8kVYXDkobukfg==} - - '@turf/transform-rotate@6.5.0': - resolution: {integrity: sha512-A2Ip1v4246ZmpssxpcL0hhiVBEf4L8lGnSPWTgSv5bWBEoya2fa/0SnFX9xJgP40rMP+ZzRaCN37vLHbv1Guag==} - - '@turf/transform-scale@6.5.0': - resolution: {integrity: sha512-VsATGXC9rYM8qTjbQJ/P7BswKWXHdnSJ35JlV4OsZyHBMxJQHftvmZJsFbOqVtQnIQIzf2OAly6rfzVV9QLr7g==} - - '@turf/transform-translate@6.5.0': - resolution: {integrity: sha512-NABLw5VdtJt/9vSstChp93pc6oel4qXEos56RBMsPlYB8hzNTEKYtC146XJvyF4twJeeYS8RVe1u7KhoFwEM5w==} - - '@turf/triangle-grid@6.5.0': - resolution: {integrity: sha512-2jToUSAS1R1htq4TyLQYPTIsoy6wg3e3BQXjm2rANzw4wPQCXGOxrur1Fy9RtzwqwljlC7DF4tg0OnWr8RjmfA==} - - '@turf/truncate@6.5.0': - resolution: {integrity: sha512-pFxg71pLk+eJj134Z9yUoRhIi8vqnnKvCYwdT4x/DQl/19RVdq1tV3yqOT3gcTQNfniteylL5qV1uTBDV5sgrg==} - - '@turf/turf@6.5.0': - resolution: {integrity: sha512-ipMCPnhu59bh92MNt8+pr1VZQhHVuTMHklciQURo54heoxRzt1neNYZOBR6jdL+hNsbDGAECMuIpAutX+a3Y+w==} - - '@turf/union@6.5.0': - resolution: {integrity: sha512-igYWCwP/f0RFHIlC2c0SKDuM/ObBaqSljI3IdV/x71805QbIvY/BYGcJdyNcgEA6cylIGl/0VSlIbpJHZ9ldhw==} - - '@turf/unkink-polygon@6.5.0': - resolution: {integrity: sha512-8QswkzC0UqKmN1DT6HpA9upfa1HdAA5n6bbuzHy8NJOX8oVizVAqfEPY0wqqTgboDjmBR4yyImsdPGUl3gZ8JQ==} - - '@turf/voronoi@6.5.0': - resolution: {integrity: sha512-C/xUsywYX+7h1UyNqnydHXiun4UPjK88VDghtoRypR9cLlb7qozkiLRphQxxsCM0KxyxpVPHBVQXdAL3+Yurow==} - '@types/chrome@0.0.263': resolution: {integrity: sha512-As0vzv99ov3M6ZR7R6VzhMWFZXkPMrFrCEXXVrMN576Cm70fTkj7Df2CF+qEo170JepX50pd11cX6O4DSAtl2Q==} @@ -1705,9 +1381,6 @@ packages: '@types/geojson@7946.0.14': resolution: {integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==} - '@types/geojson@7946.0.8': - resolution: {integrity: sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==} - '@types/har-format@1.2.15': resolution: {integrity: sha512-RpQH4rXLuvTXKR0zqHq3go0RVXYv/YVqv4TnPH95VbwUxZdQlK1EtcMvQvMpDngHbt13Csh9Z4qT9AbkiQH5BA==} @@ -1939,9 +1612,6 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} @@ -1950,9 +1620,6 @@ packages: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} - concaveman@1.2.1: - resolution: {integrity: sha512-PwZYKaM/ckQSa8peP5JpVr7IMJ4Nn/MHIaWUjP4be+KoZ7Botgs8seAZGpmaOM+UZXawcdYRao/px9ycrCihHw==} - console-browserify@1.2.0: resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} @@ -2008,19 +1675,6 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - d3-array@1.2.4: - resolution: {integrity: sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==} - - d3-geo@1.7.1: - resolution: {integrity: sha512-O4AempWAr+P5qbk2bC2FuN/sDW4z+dN2wDf9QV3bxQt4M5HfOEeXLgJ/UKQW0+o1Dj8BE+L5kiDbdWUMjsmQpw==} - - d3-voronoi@1.1.2: - resolution: {integrity: sha512-RhGS1u2vavcO7ay7ZNAPo4xeDh/VYeGof3x5ZLJBQgYhLegxr3s5IykvWmJ94FTU6mcbtp4sloqZ54mP6R4Utw==} - - deep-equal@1.1.2: - resolution: {integrity: sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==} - engines: {node: '>= 0.4'} - deep-equal@2.2.3: resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} engines: {node: '>= 0.4'} @@ -2037,9 +1691,6 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} - density-clustering@1.3.0: - resolution: {integrity: sha512-icpmBubVTwLnsaor9qH/4tG5+7+f61VcqMN3V3pm9sxxSCt2Jcs0zWOgwZW9ARJYaKD3FumIgHiMOcIMRRAzFQ==} - des.js@1.1.0: resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} @@ -2173,12 +1824,6 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - geojson-equality@0.1.6: - resolution: {integrity: sha512-TqG8YbqizP3EfwP5Uw4aLu6pKkg6JQK9uq/XZ1lXQntvTHD1BBKJWhNpJ2M0ax6TuWMP3oyx6Oq7FCIfznrgpQ==} - - geojson-rbush@3.2.0: - resolution: {integrity: sha512-oVltQTXolxvsz1sZnutlSuLDEcQAKYC/uXt9zDzJJ6bu0W+baTI8LZBaTup5afzibEH4N3jlq2p+a152wlBJ7w==} - geojson-vt@3.2.1: resolution: {integrity: sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==} @@ -2690,12 +2335,6 @@ packages: resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} engines: {node: '>=10'} - point-in-polygon@1.1.0: - resolution: {integrity: sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==} - - polygon-clipping@0.15.7: - resolution: {integrity: sha512-nhfdr83ECBg6xtqOAJab1tbksbBAOMUltN60bU+llHVOL0e5Onm1WpAXXWXVB39L8AJFssoIhEVuy/S90MmotA==} - possible-typed-array-names@1.0.0: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} @@ -2784,9 +2423,6 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - quickselect@1.1.1: - resolution: {integrity: sha512-qN0Gqdw4c4KGPsBOQafj6yj/PA6c/L63f6CaZ/DCF/xF4Esu3jVmKLUDYxghFx8Kb/O7y9tI7x2RjTSXwdK1iQ==} - quickselect@2.0.0: resolution: {integrity: sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==} @@ -2802,12 +2438,6 @@ packages: randomfill@1.0.4: resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} - rbush@2.0.2: - resolution: {integrity: sha512-XBOuALcTm+O/H8G90b6pzu6nX6v2zCKiFG4BJho8a+bY6AER6t8uQUZdi5bomQc0AprCWhEGa7ncAbbRap0bRA==} - - rbush@3.0.1: - resolution: {integrity: sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==} - react-dom@18.3.1: resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: @@ -2935,12 +2565,6 @@ packages: ripemd160@2.0.2: resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} - robust-predicates@2.0.4: - resolution: {integrity: sha512-l4NwboJM74Ilm4VKfbAtFeGq7aEjWL+5kVFcmgFA2MrdnQWx9iE/tUGvxY5HyMI7o/WpSIUFLbC5fbeaHgSCYg==} - - robust-predicates@3.0.2: - resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} - rollup-plugin-visualizer@5.12.0: resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} engines: {node: '>=14'} @@ -3013,9 +2637,6 @@ packages: simple-zstd@1.4.2: resolution: {integrity: sha512-kGYEvT33M5XfyQvvW4wxl3eKcWbdbCc1V7OZzuElnaXft0qbVzoIIXHXiCm3JCUki+MZKKmvjl8p2VGLJc5Y/A==} - skmeans@0.9.7: - resolution: {integrity: sha512-hNj1/oZ7ygsfmPZ7ZfN5MUBRoGg1gtpnImuJBgLO0ljQ67DtJuiQaiYdS4lUA6s0KCwnPhGivtC/WRwIZLkHyg==} - sort-asc@0.2.0: resolution: {integrity: sha512-umMGhjPeHAI6YjABoSTrFp2zaBtXBej1a0yKkuMUyjjqu6FJsTF+JYwCswWDg+zJfk/5npWUUbd33HH/WLzpaA==} engines: {node: '>=0.10.0'} @@ -3040,9 +2661,6 @@ packages: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} - splaytree@3.1.2: - resolution: {integrity: sha512-4OM2BJgC5UzrhVnnJA4BkHKGtjXNzzUfpQjCO8I05xYPsfS/VuQDwjCGGMi8rYQilHEV4j8NBqTFbls/PZEE7A==} - split-string@3.1.0: resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} engines: {node: '>=0.10.0'} @@ -3161,14 +2779,6 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - topojson-client@3.1.0: - resolution: {integrity: sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==} - hasBin: true - - topojson-server@3.0.1: - resolution: {integrity: sha512-/VS9j/ffKr2XAOjlZ9CgyyeLmgJ9dMwq6Y0YEON8O7p/tGGk+dCWnrE03zEdu7i4L7YsFZLEPZPzCvcB7lEEXw==} - hasBin: true - ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} @@ -3182,9 +2792,6 @@ packages: tty-browserify@0.0.1: resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==} - turf-jsts@1.2.3: - resolution: {integrity: sha512-Ja03QIJlPuHt4IQ2FfGex4F4JAr8m3jpaHbFbQrgwr7s7L6U8ocrHiF3J1+wf9jzhGKxvDeaCAnGDot8OjGFyA==} - tweakpane@4.0.4: resolution: {integrity: sha512-RkWD54zDlEbnN01wQPk0ANHGbdCvlJx/E8A1QxhTfCbX+ROWos1Ws2MnhOm39aUGMOh+36TjUwpDmLfmwTr1Fg==} @@ -4451,822 +4058,6 @@ snapshots: dependencies: tslib: 2.6.3 - '@turf/along@6.5.0': - dependencies: - '@turf/bearing': 6.5.0 - '@turf/destination': 6.5.0 - '@turf/distance': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - - '@turf/angle@6.5.0': - dependencies: - '@turf/bearing': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/rhumb-bearing': 6.5.0 - - '@turf/area@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/bbox-clip@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - - '@turf/bbox-polygon@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - - '@turf/bbox@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/bearing@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - - '@turf/bezier-spline@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - - '@turf/boolean-clockwise@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - - '@turf/boolean-contains@6.5.0': - dependencies: - '@turf/bbox': 6.5.0 - '@turf/boolean-point-in-polygon': 6.5.0 - '@turf/boolean-point-on-line': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - - '@turf/boolean-crosses@6.5.0': - dependencies: - '@turf/boolean-point-in-polygon': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/line-intersect': 6.5.0 - '@turf/polygon-to-line': 6.5.0 - - '@turf/boolean-disjoint@6.5.0': - dependencies: - '@turf/boolean-point-in-polygon': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/line-intersect': 6.5.0 - '@turf/meta': 6.5.0 - '@turf/polygon-to-line': 6.5.0 - - '@turf/boolean-equal@6.5.0': - dependencies: - '@turf/clean-coords': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - geojson-equality: 0.1.6 - - '@turf/boolean-intersects@6.5.0': - dependencies: - '@turf/boolean-disjoint': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/boolean-overlap@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/line-intersect': 6.5.0 - '@turf/line-overlap': 6.5.0 - '@turf/meta': 6.5.0 - geojson-equality: 0.1.6 - - '@turf/boolean-parallel@6.5.0': - dependencies: - '@turf/clean-coords': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/line-segment': 6.5.0 - '@turf/rhumb-bearing': 6.5.0 - - '@turf/boolean-point-in-polygon@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - - '@turf/boolean-point-on-line@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - - '@turf/boolean-within@6.5.0': - dependencies: - '@turf/bbox': 6.5.0 - '@turf/boolean-point-in-polygon': 6.5.0 - '@turf/boolean-point-on-line': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - - '@turf/buffer@6.5.0': - dependencies: - '@turf/bbox': 6.5.0 - '@turf/center': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - '@turf/projection': 6.5.0 - d3-geo: 1.7.1 - turf-jsts: 1.2.3 - - '@turf/center-mean@6.5.0': - dependencies: - '@turf/bbox': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/center-median@6.5.0': - dependencies: - '@turf/center-mean': 6.5.0 - '@turf/centroid': 6.5.0 - '@turf/distance': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/center-of-mass@6.5.0': - dependencies: - '@turf/centroid': 6.5.0 - '@turf/convex': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/center@6.5.0': - dependencies: - '@turf/bbox': 6.5.0 - '@turf/helpers': 6.5.0 - - '@turf/centroid@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/circle@6.5.0': - dependencies: - '@turf/destination': 6.5.0 - '@turf/helpers': 6.5.0 - - '@turf/clean-coords@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - - '@turf/clone@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - - '@turf/clusters-dbscan@6.5.0': - dependencies: - '@turf/clone': 6.5.0 - '@turf/distance': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - density-clustering: 1.3.0 - - '@turf/clusters-kmeans@6.5.0': - dependencies: - '@turf/clone': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/meta': 6.5.0 - skmeans: 0.9.7 - - '@turf/clusters@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/collect@6.5.0': - dependencies: - '@turf/bbox': 6.5.0 - '@turf/boolean-point-in-polygon': 6.5.0 - '@turf/helpers': 6.5.0 - rbush: 2.0.2 - - '@turf/combine@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/concave@6.5.0': - dependencies: - '@turf/clone': 6.5.0 - '@turf/distance': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/meta': 6.5.0 - '@turf/tin': 6.5.0 - topojson-client: 3.1.0 - topojson-server: 3.0.1 - - '@turf/convex@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - concaveman: 1.2.1 - - '@turf/destination@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - - '@turf/difference@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - polygon-clipping: 0.15.7 - - '@turf/dissolve@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/meta': 6.5.0 - polygon-clipping: 0.15.7 - - '@turf/distance-weight@6.5.0': - dependencies: - '@turf/centroid': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/distance@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - - '@turf/ellipse@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/rhumb-destination': 6.5.0 - '@turf/transform-rotate': 6.5.0 - - '@turf/envelope@6.5.0': - dependencies: - '@turf/bbox': 6.5.0 - '@turf/bbox-polygon': 6.5.0 - '@turf/helpers': 6.5.0 - - '@turf/explode@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/flatten@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/flip@6.5.0': - dependencies: - '@turf/clone': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/great-circle@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - - '@turf/helpers@6.5.0': {} - - '@turf/hex-grid@6.5.0': - dependencies: - '@turf/distance': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/intersect': 6.5.0 - '@turf/invariant': 6.5.0 - - '@turf/interpolate@6.5.0': - dependencies: - '@turf/bbox': 6.5.0 - '@turf/centroid': 6.5.0 - '@turf/clone': 6.5.0 - '@turf/distance': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/hex-grid': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/meta': 6.5.0 - '@turf/point-grid': 6.5.0 - '@turf/square-grid': 6.5.0 - '@turf/triangle-grid': 6.5.0 - - '@turf/intersect@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - polygon-clipping: 0.15.7 - - '@turf/invariant@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - - '@turf/isobands@6.5.0': - dependencies: - '@turf/area': 6.5.0 - '@turf/bbox': 6.5.0 - '@turf/boolean-point-in-polygon': 6.5.0 - '@turf/explode': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/meta': 6.5.0 - object-assign: 4.1.1 - - '@turf/isolines@6.5.0': - dependencies: - '@turf/bbox': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/meta': 6.5.0 - object-assign: 4.1.1 - - '@turf/kinks@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - - '@turf/length@6.5.0': - dependencies: - '@turf/distance': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/line-arc@6.5.0': - dependencies: - '@turf/circle': 6.5.0 - '@turf/destination': 6.5.0 - '@turf/helpers': 6.5.0 - - '@turf/line-chunk@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/length': 6.5.0 - '@turf/line-slice-along': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/line-intersect@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/line-segment': 6.5.0 - '@turf/meta': 6.5.0 - geojson-rbush: 3.2.0 - - '@turf/line-offset@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/line-overlap@6.5.0': - dependencies: - '@turf/boolean-point-on-line': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/line-segment': 6.5.0 - '@turf/meta': 6.5.0 - '@turf/nearest-point-on-line': 6.5.0 - deep-equal: 1.1.2 - geojson-rbush: 3.2.0 - - '@turf/line-segment@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/line-slice-along@6.5.0': - dependencies: - '@turf/bearing': 6.5.0 - '@turf/destination': 6.5.0 - '@turf/distance': 6.5.0 - '@turf/helpers': 6.5.0 - - '@turf/line-slice@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/nearest-point-on-line': 6.5.0 - - '@turf/line-split@6.5.0': - dependencies: - '@turf/bbox': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/line-intersect': 6.5.0 - '@turf/line-segment': 6.5.0 - '@turf/meta': 6.5.0 - '@turf/nearest-point-on-line': 6.5.0 - '@turf/square': 6.5.0 - '@turf/truncate': 6.5.0 - geojson-rbush: 3.2.0 - - '@turf/line-to-polygon@6.5.0': - dependencies: - '@turf/bbox': 6.5.0 - '@turf/clone': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - - '@turf/mask@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - polygon-clipping: 0.15.7 - - '@turf/meta@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - - '@turf/midpoint@6.5.0': - dependencies: - '@turf/bearing': 6.5.0 - '@turf/destination': 6.5.0 - '@turf/distance': 6.5.0 - '@turf/helpers': 6.5.0 - - '@turf/moran-index@6.5.0': - dependencies: - '@turf/distance-weight': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/nearest-point-on-line@6.5.0': - dependencies: - '@turf/bearing': 6.5.0 - '@turf/destination': 6.5.0 - '@turf/distance': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/line-intersect': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/nearest-point-to-line@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/meta': 6.5.0 - '@turf/point-to-line-distance': 6.5.0 - object-assign: 4.1.1 - - '@turf/nearest-point@6.5.0': - dependencies: - '@turf/clone': 6.5.0 - '@turf/distance': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/planepoint@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - - '@turf/point-grid@6.5.0': - dependencies: - '@turf/boolean-within': 6.5.0 - '@turf/distance': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - - '@turf/point-on-feature@6.5.0': - dependencies: - '@turf/boolean-point-in-polygon': 6.5.0 - '@turf/center': 6.5.0 - '@turf/explode': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/nearest-point': 6.5.0 - - '@turf/point-to-line-distance@6.5.0': - dependencies: - '@turf/bearing': 6.5.0 - '@turf/distance': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/meta': 6.5.0 - '@turf/projection': 6.5.0 - '@turf/rhumb-bearing': 6.5.0 - '@turf/rhumb-distance': 6.5.0 - - '@turf/points-within-polygon@6.5.0': - dependencies: - '@turf/boolean-point-in-polygon': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/polygon-smooth@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/polygon-tangents@6.5.0': - dependencies: - '@turf/bbox': 6.5.0 - '@turf/boolean-within': 6.5.0 - '@turf/explode': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/nearest-point': 6.5.0 - - '@turf/polygon-to-line@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - - '@turf/polygonize@6.5.0': - dependencies: - '@turf/boolean-point-in-polygon': 6.5.0 - '@turf/envelope': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/projection@6.5.0': - dependencies: - '@turf/clone': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/random@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - - '@turf/rectangle-grid@6.5.0': - dependencies: - '@turf/boolean-intersects': 6.5.0 - '@turf/distance': 6.5.0 - '@turf/helpers': 6.5.0 - - '@turf/rewind@6.5.0': - dependencies: - '@turf/boolean-clockwise': 6.5.0 - '@turf/clone': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/rhumb-bearing@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - - '@turf/rhumb-destination@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - - '@turf/rhumb-distance@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - - '@turf/sample@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - - '@turf/sector@6.5.0': - dependencies: - '@turf/circle': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/line-arc': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/shortest-path@6.5.0': - dependencies: - '@turf/bbox': 6.5.0 - '@turf/bbox-polygon': 6.5.0 - '@turf/boolean-point-in-polygon': 6.5.0 - '@turf/clean-coords': 6.5.0 - '@turf/distance': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/meta': 6.5.0 - '@turf/transform-scale': 6.5.0 - - '@turf/simplify@6.5.0': - dependencies: - '@turf/clean-coords': 6.5.0 - '@turf/clone': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/square-grid@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/rectangle-grid': 6.5.0 - - '@turf/square@6.5.0': - dependencies: - '@turf/distance': 6.5.0 - '@turf/helpers': 6.5.0 - - '@turf/standard-deviational-ellipse@6.5.0': - dependencies: - '@turf/center-mean': 6.5.0 - '@turf/ellipse': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/meta': 6.5.0 - '@turf/points-within-polygon': 6.5.0 - - '@turf/tag@6.5.0': - dependencies: - '@turf/boolean-point-in-polygon': 6.5.0 - '@turf/clone': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/tesselate@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - earcut: 2.2.4 - - '@turf/tin@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - - '@turf/transform-rotate@6.5.0': - dependencies: - '@turf/centroid': 6.5.0 - '@turf/clone': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/meta': 6.5.0 - '@turf/rhumb-bearing': 6.5.0 - '@turf/rhumb-destination': 6.5.0 - '@turf/rhumb-distance': 6.5.0 - - '@turf/transform-scale@6.5.0': - dependencies: - '@turf/bbox': 6.5.0 - '@turf/center': 6.5.0 - '@turf/centroid': 6.5.0 - '@turf/clone': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/meta': 6.5.0 - '@turf/rhumb-bearing': 6.5.0 - '@turf/rhumb-destination': 6.5.0 - '@turf/rhumb-distance': 6.5.0 - - '@turf/transform-translate@6.5.0': - dependencies: - '@turf/clone': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/meta': 6.5.0 - '@turf/rhumb-destination': 6.5.0 - - '@turf/triangle-grid@6.5.0': - dependencies: - '@turf/distance': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/intersect': 6.5.0 - - '@turf/truncate@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - - '@turf/turf@6.5.0': - dependencies: - '@turf/along': 6.5.0 - '@turf/angle': 6.5.0 - '@turf/area': 6.5.0 - '@turf/bbox': 6.5.0 - '@turf/bbox-clip': 6.5.0 - '@turf/bbox-polygon': 6.5.0 - '@turf/bearing': 6.5.0 - '@turf/bezier-spline': 6.5.0 - '@turf/boolean-clockwise': 6.5.0 - '@turf/boolean-contains': 6.5.0 - '@turf/boolean-crosses': 6.5.0 - '@turf/boolean-disjoint': 6.5.0 - '@turf/boolean-equal': 6.5.0 - '@turf/boolean-intersects': 6.5.0 - '@turf/boolean-overlap': 6.5.0 - '@turf/boolean-parallel': 6.5.0 - '@turf/boolean-point-in-polygon': 6.5.0 - '@turf/boolean-point-on-line': 6.5.0 - '@turf/boolean-within': 6.5.0 - '@turf/buffer': 6.5.0 - '@turf/center': 6.5.0 - '@turf/center-mean': 6.5.0 - '@turf/center-median': 6.5.0 - '@turf/center-of-mass': 6.5.0 - '@turf/centroid': 6.5.0 - '@turf/circle': 6.5.0 - '@turf/clean-coords': 6.5.0 - '@turf/clone': 6.5.0 - '@turf/clusters': 6.5.0 - '@turf/clusters-dbscan': 6.5.0 - '@turf/clusters-kmeans': 6.5.0 - '@turf/collect': 6.5.0 - '@turf/combine': 6.5.0 - '@turf/concave': 6.5.0 - '@turf/convex': 6.5.0 - '@turf/destination': 6.5.0 - '@turf/difference': 6.5.0 - '@turf/dissolve': 6.5.0 - '@turf/distance': 6.5.0 - '@turf/distance-weight': 6.5.0 - '@turf/ellipse': 6.5.0 - '@turf/envelope': 6.5.0 - '@turf/explode': 6.5.0 - '@turf/flatten': 6.5.0 - '@turf/flip': 6.5.0 - '@turf/great-circle': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/hex-grid': 6.5.0 - '@turf/interpolate': 6.5.0 - '@turf/intersect': 6.5.0 - '@turf/invariant': 6.5.0 - '@turf/isobands': 6.5.0 - '@turf/isolines': 6.5.0 - '@turf/kinks': 6.5.0 - '@turf/length': 6.5.0 - '@turf/line-arc': 6.5.0 - '@turf/line-chunk': 6.5.0 - '@turf/line-intersect': 6.5.0 - '@turf/line-offset': 6.5.0 - '@turf/line-overlap': 6.5.0 - '@turf/line-segment': 6.5.0 - '@turf/line-slice': 6.5.0 - '@turf/line-slice-along': 6.5.0 - '@turf/line-split': 6.5.0 - '@turf/line-to-polygon': 6.5.0 - '@turf/mask': 6.5.0 - '@turf/meta': 6.5.0 - '@turf/midpoint': 6.5.0 - '@turf/moran-index': 6.5.0 - '@turf/nearest-point': 6.5.0 - '@turf/nearest-point-on-line': 6.5.0 - '@turf/nearest-point-to-line': 6.5.0 - '@turf/planepoint': 6.5.0 - '@turf/point-grid': 6.5.0 - '@turf/point-on-feature': 6.5.0 - '@turf/point-to-line-distance': 6.5.0 - '@turf/points-within-polygon': 6.5.0 - '@turf/polygon-smooth': 6.5.0 - '@turf/polygon-tangents': 6.5.0 - '@turf/polygon-to-line': 6.5.0 - '@turf/polygonize': 6.5.0 - '@turf/projection': 6.5.0 - '@turf/random': 6.5.0 - '@turf/rewind': 6.5.0 - '@turf/rhumb-bearing': 6.5.0 - '@turf/rhumb-destination': 6.5.0 - '@turf/rhumb-distance': 6.5.0 - '@turf/sample': 6.5.0 - '@turf/sector': 6.5.0 - '@turf/shortest-path': 6.5.0 - '@turf/simplify': 6.5.0 - '@turf/square': 6.5.0 - '@turf/square-grid': 6.5.0 - '@turf/standard-deviational-ellipse': 6.5.0 - '@turf/tag': 6.5.0 - '@turf/tesselate': 6.5.0 - '@turf/tin': 6.5.0 - '@turf/transform-rotate': 6.5.0 - '@turf/transform-scale': 6.5.0 - '@turf/transform-translate': 6.5.0 - '@turf/triangle-grid': 6.5.0 - '@turf/truncate': 6.5.0 - '@turf/union': 6.5.0 - '@turf/unkink-polygon': 6.5.0 - '@turf/voronoi': 6.5.0 - - '@turf/union@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - polygon-clipping: 0.15.7 - - '@turf/unkink-polygon@6.5.0': - dependencies: - '@turf/area': 6.5.0 - '@turf/boolean-point-in-polygon': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - rbush: 2.0.2 - - '@turf/voronoi@6.5.0': - dependencies: - '@turf/helpers': 6.5.0 - '@turf/invariant': 6.5.0 - d3-voronoi: 1.1.2 - '@types/chrome@0.0.263': dependencies: '@types/filesystem': 0.0.36 @@ -5288,8 +4079,6 @@ snapshots: '@types/geojson@7946.0.14': {} - '@types/geojson@7946.0.8': {} - '@types/har-format@1.2.15': {} '@types/js-cookie@3.0.6': {} @@ -5559,19 +4348,10 @@ snapshots: color-name@1.1.4: {} - commander@2.20.3: {} - commander@4.1.1: {} commander@7.2.0: {} - concaveman@1.2.1: - dependencies: - point-in-polygon: 1.1.0 - rbush: 3.0.1 - robust-predicates: 2.0.4 - tinyqueue: 2.0.3 - console-browserify@1.2.0: {} constants-browserify@1.0.0: {} @@ -5636,23 +4416,6 @@ snapshots: csstype@3.1.3: {} - d3-array@1.2.4: {} - - d3-geo@1.7.1: - dependencies: - d3-array: 1.2.4 - - d3-voronoi@1.1.2: {} - - deep-equal@1.1.2: - dependencies: - is-arguments: 1.1.1 - is-date-object: 1.0.5 - is-regex: 1.1.4 - object-is: 1.1.6 - object-keys: 1.1.1 - regexp.prototype.flags: 1.5.2 - deep-equal@2.2.3: dependencies: array-buffer-byte-length: 1.0.1 @@ -5688,8 +4451,6 @@ snapshots: has-property-descriptors: 1.0.2 object-keys: 1.1.1 - density-clustering@1.3.0: {} - des.js@1.1.0: dependencies: inherits: 2.0.4 @@ -5857,18 +4618,6 @@ snapshots: functions-have-names@1.2.3: {} - geojson-equality@0.1.6: - dependencies: - deep-equal: 1.1.2 - - geojson-rbush@3.2.0: - dependencies: - '@turf/bbox': 6.5.0 - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 - '@types/geojson': 7946.0.8 - rbush: 3.0.1 - geojson-vt@3.2.1: {} geojson-vt@4.0.2: {} @@ -6405,13 +5154,6 @@ snapshots: dependencies: find-up: 5.0.0 - point-in-polygon@1.1.0: {} - - polygon-clipping@0.15.7: - dependencies: - robust-predicates: 3.0.2 - splaytree: 3.1.2 - possible-typed-array-names@1.0.0: {} postcss-import@15.1.0(postcss@8.4.38): @@ -6498,8 +5240,6 @@ snapshots: queue-microtask@1.2.3: {} - quickselect@1.1.1: {} - quickselect@2.0.0: {} quickselect@3.0.0: {} @@ -6515,14 +5255,6 @@ snapshots: randombytes: 2.1.0 safe-buffer: 5.2.1 - rbush@2.0.2: - dependencies: - quickselect: 1.1.1 - - rbush@3.0.1: - dependencies: - quickselect: 2.0.0 - react-dom@18.3.1(react@18.3.1): dependencies: loose-envify: 1.4.0 @@ -6657,10 +5389,6 @@ snapshots: hash-base: 3.1.0 inherits: 2.0.4 - robust-predicates@2.0.4: {} - - robust-predicates@3.0.2: {} - rollup-plugin-visualizer@5.12.0(rollup@4.29.1): dependencies: open: 8.4.2 @@ -6763,8 +5491,6 @@ snapshots: process-streams: 1.0.1 through2: 4.0.2 - skmeans@0.9.7: {} - sort-asc@0.2.0: {} sort-desc@0.2.0: {} @@ -6784,8 +5510,6 @@ snapshots: source-map@0.7.4: {} - splaytree@3.1.2: {} - split-string@3.1.0: dependencies: extend-shallow: 3.0.2 @@ -6945,14 +5669,6 @@ snapshots: dependencies: is-number: 7.0.0 - topojson-client@3.1.0: - dependencies: - commander: 2.20.3 - - topojson-server@3.0.1: - dependencies: - commander: 2.20.3 - ts-interface-checker@0.1.13: {} tslib@2.6.3: {} @@ -6961,8 +5677,6 @@ snapshots: tty-browserify@0.0.1: {} - turf-jsts@1.2.3: {} - tweakpane@4.0.4: {} type-fest@2.19.0: {} diff --git a/src/core/utils/maps.ts b/src/core/utils/maps.ts new file mode 100644 index 00000000..6fdba76f --- /dev/null +++ b/src/core/utils/maps.ts @@ -0,0 +1,109 @@ +type Position = [number, number]; +type BBox = [number, number, number, number]; + +interface GeoJSONGeometry { + type: string; + coordinates: Position | Position[] | Position[][] | Position[][][]; +} + +interface Feature { + type: "Feature"; + geometry: G; + properties: Record; +} + +interface LineStringGeometry { + type: "LineString"; + coordinates: Position[]; +} + +function lineString(coordinates: Position[]): Feature { + if (!coordinates || coordinates.length < 2) { + throw new Error("coordinates must contain at least 2 positions"); + } + + for (const [index, coord] of coordinates.entries()) { + if (!Array.isArray(coord) || coord.length !== 2) { + throw new Error(`Invalid position at index ${index}`); + } + if (!coord.every((n) => typeof n === "number")) { + throw new Error(`Position must contain numbers at index ${index}`); + } + } + + return { + type: "Feature", + properties: {}, + geometry: { + type: "LineString", + coordinates, + }, + }; +} + +function bbox(geojson: Feature | GeoJSONGeometry): BBox { + if (!geojson) { + throw new Error("geojson is required"); + } + + const coords = getAllCoordinates(geojson); + if (coords.length === 0) { + throw new Error("No coordinates found in geojson"); + } + + const [west, south, east, north] = coords.reduce( + ([minX, minY, maxX, maxY], [x, y]) => [ + Math.min(minX, x), + Math.min(minY, y), + Math.max(maxX, x), + Math.max(maxY, y), + ], + [ + Number.POSITIVE_INFINITY, + Number.POSITIVE_INFINITY, + Number.NEGATIVE_INFINITY, + Number.NEGATIVE_INFINITY, + ], + ); + + return [west, south, east, north]; +} + +function getAllCoordinates( + geojson: Feature | GeoJSONGeometry, +): Position[] { + const geometry = + "type" in geojson && geojson.type === "Feature" && "geometry" in geojson + ? geojson.geometry + : geojson; + const coords: Position[] = []; + + switch (geometry.type) { + case "Point": + coords.push(geometry.coordinates as Position); + break; + case "LineString": + case "MultiPoint": + coords.push(...(geometry.coordinates as Position[])); + break; + case "Polygon": + case "MultiLineString": + for (const line of geometry.coordinates as Position[][]) { + coords.push(...line); + } + break; + case "MultiPolygon": + for (const poly of geometry.coordinates as Position[][][]) { + for (const line of poly) { + coords.push(...line); + } + } + break; + default: + throw new Error(`Unsupported geometry type: ${geometry.type}`); + } + + return coords; +} + +export { bbox, lineString } \ No newline at end of file diff --git a/src/pages/Map.tsx b/src/pages/Map.tsx index 1be9455d..8e725478 100644 --- a/src/pages/Map.tsx +++ b/src/pages/Map.tsx @@ -10,14 +10,14 @@ import { useDevice } from "@core/stores/deviceStore.ts"; import { Hashicon } from "@emeraldpay/hashicon-react"; import type { Protobuf } from "@meshtastic/js"; import { numberToHexUnpadded } from "@noble/curves/abstract/utils"; -import { bbox, lineString } from "@turf/turf"; +import { bbox, lineString } from "@core/utils/maps"; import { BoxSelectIcon, MapPinIcon, ZoomInIcon, ZoomOutIcon, } from "lucide-react"; -import { useCallback, useEffect, useState } from "react"; +import { type JSX, useCallback, useEffect, useState } from "react"; import { AttributionControl, Marker, Popup, useMap } from "react-map-gl"; import MapGl from "react-map-gl/maplibre"; From 05b7897e69a436c7f8975b3ad4536c96a6dc2b13 Mon Sep 17 00:00:00 2001 From: Dan Ditomaso Date: Fri, 24 Jan 2025 14:24:26 -0500 Subject: [PATCH 2/3] fix: linting issues --- src/core/utils/maps.ts | 2 +- src/pages/Map.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/utils/maps.ts b/src/core/utils/maps.ts index 6fdba76f..4cabd16e 100644 --- a/src/core/utils/maps.ts +++ b/src/core/utils/maps.ts @@ -106,4 +106,4 @@ function getAllCoordinates( return coords; } -export { bbox, lineString } \ No newline at end of file +export { bbox, lineString }; diff --git a/src/pages/Map.tsx b/src/pages/Map.tsx index 8e725478..9af6c28d 100644 --- a/src/pages/Map.tsx +++ b/src/pages/Map.tsx @@ -7,10 +7,10 @@ import { SidebarSection } from "@components/UI/Sidebar/SidebarSection.tsx"; import { SidebarButton } from "@components/UI/Sidebar/sidebarButton.tsx"; import { useAppStore } from "@core/stores/appStore.ts"; import { useDevice } from "@core/stores/deviceStore.ts"; +import { bbox, lineString } from "@core/utils/maps"; import { Hashicon } from "@emeraldpay/hashicon-react"; import type { Protobuf } from "@meshtastic/js"; import { numberToHexUnpadded } from "@noble/curves/abstract/utils"; -import { bbox, lineString } from "@core/utils/maps"; import { BoxSelectIcon, MapPinIcon, From 4fc11c46bcd11c379436f9f17b85795168c14b80 Mon Sep 17 00:00:00 2001 From: Dan Ditomaso Date: Mon, 27 Jan 2025 13:38:45 -0500 Subject: [PATCH 3/3] fix: linting issues --- pnpm-lock.yaml | 41 -------------------------- src/components/Form/FormWrapper.tsx | 5 ++-- src/components/generic/Table/index.tsx | 15 ++++------ src/index.css | 1 - 4 files changed, 9 insertions(+), 53 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ccb977f9..df5d78d5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2519,22 +2519,6 @@ packages: ripemd160@2.0.2: resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} - rollup-plugin-visualizer@5.12.0: - resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} - engines: {node: '>=14'} - hasBin: true - peerDependencies: - rollup: 2.x || 3.x || 4.x - peerDependenciesMeta: - rollup: - optional: true - - robust-predicates@2.0.4: - resolution: {integrity: sha512-l4NwboJM74Ilm4VKfbAtFeGq7aEjWL+5kVFcmgFA2MrdnQWx9iE/tUGvxY5HyMI7o/WpSIUFLbC5fbeaHgSCYg==} - - robust-predicates@3.0.2: - resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} - rollup@4.29.1: resolution: {integrity: sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -2621,13 +2605,6 @@ packages: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} - source-map@0.7.4: - resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} - engines: {node: '>= 8'} - - splaytree@3.1.2: - resolution: {integrity: sha512-4OM2BJgC5UzrhVnnJA4BkHKGtjXNzzUfpQjCO8I05xYPsfS/VuQDwjCGGMi8rYQilHEV4j8NBqTFbls/PZEE7A==} - split-string@3.1.0: resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} engines: {node: '>=0.10.0'} @@ -5314,19 +5291,6 @@ snapshots: hash-base: 3.1.0 inherits: 2.0.4 - rollup-plugin-visualizer@5.12.0(rollup@4.29.1): - dependencies: - open: 8.4.2 - picomatch: 2.3.1 - source-map: 0.7.4 - yargs: 17.7.2 - optionalDependencies: - rollup: 4.29.1 - - robust-predicates@2.0.4: {} - - robust-predicates@3.0.2: {} - rollup@4.29.1: dependencies: '@types/estree': 1.0.6 @@ -5439,11 +5403,6 @@ snapshots: source-map-js@1.2.1: {} - source-map@0.7.4: {} - - splaytree@3.1.2: {} - - split-string@3.1.0: dependencies: extend-shallow: 3.0.2 diff --git a/src/components/Form/FormWrapper.tsx b/src/components/Form/FormWrapper.tsx index 7625946f..88c66bcb 100644 --- a/src/components/Form/FormWrapper.tsx +++ b/src/components/Form/FormWrapper.tsx @@ -1,4 +1,5 @@ import { Label } from "@components/UI/Label.tsx"; +import type { JSX } from "react"; export interface FieldWrapperProps { label: string; @@ -17,7 +18,7 @@ export const FieldWrapper = ({ validationText, }: FieldWrapperProps): JSX.Element => (
-
+
@@ -32,6 +33,6 @@ export const FieldWrapper = ({
-
+ ); diff --git a/src/components/generic/Table/index.tsx b/src/components/generic/Table/index.tsx index aef5f6f2..bffffeb2 100755 --- a/src/components/generic/Table/index.tsx +++ b/src/components/generic/Table/index.tsx @@ -74,15 +74,12 @@ export const Table = ({ headings, rows }: TableProps): JSX.Element => { >
{heading.title} - {sortColumn === heading.title && ( - <> - {sortOrder === "asc" ? ( - - ) : ( - - )} - - )} + {sortColumn === heading.title && + (sortOrder === "asc" ? ( + + ) : ( + + ))}
))} diff --git a/src/index.css b/src/index.css index 8a35066d..6b1f61e2 100644 --- a/src/index.css +++ b/src/index.css @@ -97,6 +97,5 @@ } img { - -drag: none; -webkit-user-drag: none; }