From 69480cb6ac25fe3b392283ff29e99a295345503d Mon Sep 17 00:00:00 2001 From: Tao Jianhang <1516544795@qq.com> Date: Tue, 17 Oct 2023 11:45:23 +0800 Subject: [PATCH] =?UTF-8?q?feat(type):=20=E5=AE=8C=E5=96=84=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 14 + build/index.js | 452 ++-- build/index.umd.cjs | 2 +- eslint.config.js | 18 + package.json | 6 +- pnpm-lock.yaml | 2842 +++++++++++++++++++++++++- src/index.ts | 17 +- src/node-baidusdk.ts | 10 +- src/transform-class-baidu.ts | 83 +- src/transform-class-bing.ts | 14 +- src/transform-class-osgeo-tms.ts | 83 +- src/transform-class-slippy.ts | 81 +- tsconfig.json | 2 +- types/index.d.ts | 4 - types/node-baidusdk.d.ts | 18 +- types/transform-class-baidu.d.ts | 32 +- types/transform-class-bing.d.ts | 8 +- types/transform-class-osgeo-tms.d.ts | 28 +- types/transform-class-slippy.d.ts | 28 +- 19 files changed, 3213 insertions(+), 529 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 eslint.config.js diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..0b57799 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,14 @@ +{ + // Enable the flat config support + "eslint.experimental.useFlatConfig": true, + + // Disable the default formatter + "prettier.enable": false, + "editor.formatOnSave": false, + + // Auto fix + "editor.codeActionsOnSave": { + "source.fixAll.eslint": "explicit", + "source.organizeImports": "never" + }, +} \ No newline at end of file diff --git a/build/index.js b/build/index.js index 8b37daa..7b9dfc8 100644 --- a/build/index.js +++ b/build/index.js @@ -1,20 +1,20 @@ var L = Object.defineProperty; -var w = (e, t, i) => t in e ? L(e, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[t] = i; -var p = (e, t, i) => (w(e, typeof t != "symbol" ? t + "" : t, i), i); -function S(e) { - return (Math.exp(e) - Math.exp(-e)) / 2; +var w = (n, t, i) => t in n ? L(n, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : n[t] = i; +var T = (n, t, i) => (w(n, typeof t != "symbol" ? t + "" : t, i), i); +function S(n) { + return (Math.exp(n) - Math.exp(-n)) / 2; } -class c { +class x { constructor(t, i) { - p(this, "levelMax"); - p(this, "levelMin"); + T(this, "levelMax"); + T(this, "levelMin"); this.levelMax = t, this.levelMin = i; } /* * 某一瓦片等级下瓦片地图X轴(Y轴)上的瓦片数目 */ _getMapSize(t) { - return Math.pow(2, t); + return 2 ** t; } /* * 分辨率,表示水平方向上一个像素点代表的真实距离(m) @@ -23,87 +23,88 @@ class c { return 12756274 * Math.PI * Math.cos(t) / 256 / this._getMapSize(i); } _lngToTileX(t, i) { - let n = (t + 180) / 360, l = Math.floor(n * this._getMapSize(i)); - return l = Math.min(l, Math.pow(2, i) - 1), l; + const e = (t + 180) / 360; + let o = Math.floor(e * this._getMapSize(i)); + return o = Math.min(o, 2 ** i - 1), o; } _latToTileY(t, i) { - let n = t * Math.PI / 180, l = (1 - Math.log(Math.tan(n) + 1 / Math.cos(n)) / Math.PI) / 2; - return Math.floor(l * this._getMapSize(i)); + const e = t * Math.PI / 180, o = (1 - Math.log(Math.tan(e) + 1 / Math.cos(e)) / Math.PI) / 2; + return Math.floor(o * this._getMapSize(i)); } /* * 从经纬度获取某一级别瓦片坐标编号 */ - lnglatToTile(t, i, n) { - let l = this._lngToTileX(t, n), o = this._latToTileY(i, n); + lnglatToTile(t, i, e) { + const o = this._lngToTileX(t, e), l = this._latToTileY(i, e); return { - tileX: l, - tileY: o + tileX: o, + tileY: l }; } _lngToPixelX(t, i) { - let n = (t + 180) / 360; - return Math.floor(n * this._getMapSize(i) * 256 % 256); + const e = (t + 180) / 360; + return Math.floor(e * this._getMapSize(i) * 256 % 256); } _latToPixelY(t, i) { - let n = Math.sin(t * Math.PI / 180), l = 0.5 - Math.log((1 + n) / (1 - n)) / (4 * Math.PI); - return Math.floor(l * this._getMapSize(i) * 256 % 256); + const e = Math.sin(t * Math.PI / 180), o = 0.5 - Math.log((1 + e) / (1 - e)) / (4 * Math.PI); + return Math.floor(o * this._getMapSize(i) * 256 % 256); } /* * 从经纬度获取点在某一级别瓦片中的像素坐标 */ - lnglatToPixel(t, i, n) { - let l = this._lngToPixelX(t, n), o = this._latToPixelY(i, n); + lnglatToPixel(t, i, e) { + const o = this._lngToPixelX(t, e), l = this._latToPixelY(i, e); return { - pixelX: l, - pixelY: o + pixelX: o, + pixelY: l }; } - _pixelXTolng(t, i, n) { - let l = t / 256; - return (i + l) / this._getMapSize(n) * 360 - 180; + _pixelXTolng(t, i, e) { + const o = t / 256; + return (i + o) / this._getMapSize(e) * 360 - 180; } - _pixelYToLat(t, i, n) { - let l = t / 256; - return Math.atan(S(Math.PI * (1 - 2 * (i + l) / this._getMapSize(n)))) * 180 / Math.PI; + _pixelYToLat(t, i, e) { + const o = t / 256; + return Math.atan(S(Math.PI * (1 - 2 * (i + o) / this._getMapSize(e)))) * 180 / Math.PI; } /* * 从某一瓦片的某一像素点到经纬度 */ - pixelToLnglat(t, i, n, l, o) { - let a = this._pixelXTolng(t, n, o), T = this._pixelYToLat(i, l, o); + pixelToLnglat(t, i, e, o, l) { + const r = this._pixelXTolng(t, e, l), u = this._pixelYToLat(i, o, l); return { - lng: a, - lat: T + lng: r, + lat: u }; } } -function y(e, t) { +function y(n, t) { for (var i in t) - t.hasOwnProperty(i) && (e[i] = t[i]); - return e; + t.hasOwnProperty(i) && (n[i] = t[i]); + return n; } -function I(e, t) { +function I(n, t) { for (var i in t) - e[i] = t[i]; + n[i] = t[i]; } -function X(e) { - return typeof e == "string"; +function X(n) { + return typeof n == "string"; } -var Y = void 0, M = null; -function h(e, t) { - isNaN(e) && (e = Ib(e), e = isNaN(e) ? 0 : e), X(e) && (e = parseFloat(e)), isNaN(t) && (t = Ib(t), t = isNaN(t) ? 0 : t), X(t) && (t = parseFloat(t)), this.lng = e, this.lat = t; +var Y = void 0, p = null; +function a(n, t) { + isNaN(n) && (n = Ib(n), n = isNaN(n) ? 0 : n), X(n) && (n = parseFloat(n)), isNaN(t) && (t = Ib(t), t = isNaN(t) ? 0 : t), X(t) && (t = parseFloat(t)), this.lng = n, this.lat = t; } -h.TL = function(e) { - return e && 180 >= e.lng && -180 <= e.lng && 74 >= e.lat && -74 <= e.lat; +a.TL = function(n) { + return n && 180 >= n.lng && -180 <= n.lng && 74 >= n.lat && -74 <= n.lat; }; -h.prototype.lb = function(e) { - return e && this.lat == e.lat && this.lng == e.lng; +a.prototype.lb = function(n) { + return n && this.lat == n.lat && this.lng == n.lng; }; -function x(e, t) { - this.x = e || 0, this.y = t || 0, this.x = this.x, this.y = this.y; +function M(n, t) { + this.x = n || 0, this.y = t || 0, this.x = this.x, this.y = this.y; } -x.prototype.lb = function(e) { - return e && e.x == this.x && e.y == this.y; +M.prototype.lb = function(n) { + return n && n.x == this.x && n.y == this.y; }; function P() { } @@ -113,10 +114,10 @@ P.prototype.nh = function() { P.prototype.wi = function() { aa("pointToLngLat方法未实现"); }; -function u() { +function c() { } -u.prototype = new P(); -y(u, { +c.prototype = new P(); +y(c, { $O: 637099681e-2, lG: [1289059486e-2, 836237787e-2, 5591021, 348198983e-2, 167804312e-2, 0], Au: [75, 60, 45, 30, 15, 0], @@ -268,116 +269,116 @@ y(u, { 7.45 ] ], - Z1: function(l, t) { - if (!l || !t) + Z1: function(o, t) { + if (!o || !t) return 0; - var i, n, l = this.Fb(l); - return l ? (i = this.Tk(l.lng), n = this.Tk(l.lat), t = this.Fb(t), t ? this.Pe(i, this.Tk(t.lng), n, this.Tk(t.lat)) : 0) : 0; + var i, e, o = this.Fb(o); + return o ? (i = this.Tk(o.lng), e = this.Tk(o.lat), t = this.Fb(t), t ? this.Pe(i, this.Tk(t.lng), e, this.Tk(t.lat)) : 0) : 0; }, - Vo: function(e, t) { - return !e || !t ? 0 : (e.lng = this.JD(e.lng, -180, 180), e.lat = this.ND(e.lat, -74, 74), t.lng = this.JD(t.lng, -180, 180), t.lat = this.ND(t.lat, -74, 74), this.Pe(this.Tk(e.lng), this.Tk(t.lng), this.Tk(e.lat), this.Tk(t.lat))); + Vo: function(n, t) { + return !n || !t ? 0 : (n.lng = this.JD(n.lng, -180, 180), n.lat = this.ND(n.lat, -74, 74), t.lng = this.JD(t.lng, -180, 180), t.lat = this.ND(t.lat, -74, 74), this.Pe(this.Tk(n.lng), this.Tk(t.lng), this.Tk(n.lat), this.Tk(t.lat))); }, - Fb: function(e) { - if (e === M || e === Y) - return new h(0, 0); + Fb: function(n) { + if (n === p || n === Y) + return new a(0, 0); var t, i; - t = new h(Math.abs(e.lng), Math.abs(e.lat)); - for (var n = 0; n < this.lG.length; n++) - if (t.lat >= this.lG[n]) { - i = this.fP[n]; + t = new a(Math.abs(n.lng), Math.abs(n.lat)); + for (var e = 0; e < this.lG.length; e++) + if (t.lat >= this.lG[e]) { + i = this.fP[e]; break; } - return e = this.gK(e, i), e = new h(e.lng.toFixed(6), e.lat.toFixed(6)); + return n = this.gK(n, i), n = new a(n.lng.toFixed(6), n.lat.toFixed(6)); }, - Eb: function(e) { - if (e === M || e === Y || 180 < e.lng || -180 > e.lng || 90 < e.lat || -90 > e.lat) - return new h(0, 0); + Eb: function(n) { + if (n === p || n === Y || 180 < n.lng || -180 > n.lng || 90 < n.lat || -90 > n.lat) + return new a(0, 0); var t, i; - e.lng = this.JD(e.lng, -180, 180), e.lat = this.ND(e.lat, -74, 74), t = new h(e.lng, e.lat); - for (var n = 0; n < this.Au.length; n++) - if (t.lat >= this.Au[n]) { - i = this.iG[n]; + n.lng = this.JD(n.lng, -180, 180), n.lat = this.ND(n.lat, -74, 74), t = new a(n.lng, n.lat); + for (var e = 0; e < this.Au.length; e++) + if (t.lat >= this.Au[e]) { + i = this.iG[e]; break; } if (!i) { - for (n = 0; n < this.Au.length; n++) - if (t.lat <= -this.Au[n]) { - i = this.iG[n]; + for (e = 0; e < this.Au.length; e++) + if (t.lat <= -this.Au[e]) { + i = this.iG[e]; break; } } - return e = this.gK(e, i), e = new h(e.lng.toFixed(2), e.lat.toFixed(2)); + return n = this.gK(n, i), n = new a(n.lng.toFixed(2), n.lat.toFixed(2)); }, - gK: function(e, t) { - if (e && t) { - var i = t[0] + t[1] * Math.abs(e.lng), n = Math.abs(e.lat) / t[9], n = t[2] + t[3] * n + t[4] * n * n + t[5] * n * n * n + t[6] * n * n * n * n + t[7] * n * n * n * n * n + t[8] * n * n * n * n * n * n, i = i * (0 > e.lng ? -1 : 1), n = n * (0 > e.lat ? -1 : 1); - return new h(i, n); + gK: function(n, t) { + if (n && t) { + var i = t[0] + t[1] * Math.abs(n.lng), e = Math.abs(n.lat) / t[9], e = t[2] + t[3] * e + t[4] * e * e + t[5] * e * e * e + t[6] * e * e * e * e + t[7] * e * e * e * e * e + t[8] * e * e * e * e * e * e, i = i * (0 > n.lng ? -1 : 1), e = e * (0 > n.lat ? -1 : 1); + return new a(i, e); } }, - Pe: function(e, t, i, n) { - return this.$O * Math.acos(Math.sin(i) * Math.sin(n) + Math.cos(i) * Math.cos(n) * Math.cos(t - e)); + Pe: function(n, t, i, e) { + return this.$O * Math.acos(Math.sin(i) * Math.sin(e) + Math.cos(i) * Math.cos(e) * Math.cos(t - n)); }, - Tk: function(e) { - return Math.PI * e / 180; + Tk: function(n) { + return Math.PI * n / 180; }, - Z3: function(e) { - return 180 * e / Math.PI; + Z3: function(n) { + return 180 * n / Math.PI; }, - ND: function(e, t, i) { - return t != M && (e = Math.max(e, t)), i != M && (e = Math.min(e, i)), e; + ND: function(n, t, i) { + return t != p && (n = Math.max(n, t)), i != p && (n = Math.min(n, i)), n; }, - JD: function(e, t, i) { - for (; e > i; ) - e -= i - t; - for (; e < t; ) - e += i - t; - return e; + JD: function(n, t, i) { + for (; n > i; ) + n -= i - t; + for (; n < t; ) + n += i - t; + return n; } }); -y(u.prototype, { - Jm: function(e) { - return u.Eb(e); +y(c.prototype, { + Jm: function(n) { + return c.Eb(n); }, - nh: function(e) { - return e = u.Eb(e), new x(e.lng, e.lat); + nh: function(n) { + return n = c.Eb(n), new M(n.lng, n.lat); }, - qh: function(e) { - return u.Fb(e); + qh: function(n) { + return c.Fb(n); }, - wi: function(e) { - return e = new h(e.x, e.y), u.Fb(e); + wi: function(n) { + return n = new a(n.x, n.y), c.Fb(n); }, - fc: function(e, t, i, n, l) { - if (e) - return e = this.Jm(e, l), t = this.Lc(t), new x(Math.round((e.lng - i.lng) / t + n.width / 2), Math.round((i.lat - e.lat) / t + n.height / 2)); + fc: function(n, t, i, e, o) { + if (n) + return n = this.Jm(n, o), t = this.Lc(t), new M(Math.round((n.lng - i.lng) / t + e.width / 2), Math.round((i.lat - n.lat) / t + e.height / 2)); }, - zb: function(e, t, i, n, l) { - if (e) - return t = this.Lc(t), this.qh(new h(i.lng + t * (e.x - n.width / 2), i.lat - t * (e.y - n.height / 2)), l); + zb: function(n, t, i, e, o) { + if (n) + return t = this.Lc(t), this.qh(new a(i.lng + t * (n.x - e.width / 2), i.lat - t * (n.y - e.height / 2)), o); }, - Lc: function(e) { - return Math.pow(2, 18 - e); + Lc: function(n) { + return Math.pow(2, 18 - n); } }); -var f = u.prototype; +var f = c.prototype; I(f, { lngLatToPoint: f.nh, pointToLngLat: f.wi }); let _ = { - Point: h, - Pixel: x, - MercatorProjection: u + Point: a, + Pixel: M, + MercatorProjection: c }; class k { constructor(t, i) { - p(this, "levelMax"); - p(this, "levelMin"); - p(this, "projection"); + T(this, "levelMax"); + T(this, "levelMin"); + T(this, "projection"); this.levelMax = t, this.levelMin = i, this.projection = new _.MercatorProjection(); } _getRetain(t) { - return Math.pow(2, t - 18); + return 2 ** (t - 18); } /* * 分辨率,表示水平方向上一个像素点代表的真实距离(m) @@ -385,94 +386,94 @@ class k { * 使用{lng:180, lat:0}时候的pointX是否等于地球赤道长一半来验证 */ getResolution(t, i) { - return Math.pow(2, 18 - i) * Math.cos(t); + return 2 ** (18 - i) * Math.cos(t); } /* * 从经纬度到百度平面坐标 */ lnglatToPoint(t, i) { - let n = new _.Point(t, i), l = this.projection.lngLatToPoint(n); + const e = new _.Point(t, i), o = this.projection.lngLatToPoint(e); return { - pointX: l.x, - pointY: l.y + pointX: o.x, + pointY: o.y }; } /* * 从百度平面坐标到经纬度 */ pointToLnglat(t, i) { - let n = new _.Pixel(t, i), l = this.projection.pointToLngLat(n); + const e = new _.Pixel(t, i), o = this.projection.pointToLngLat(e); return { - lng: l.lng, - lat: l.lat + lng: o.lng, + lat: o.lat }; } _lngToTileX(t, i) { - let n = this.lnglatToPoint(t, 0); - return Math.floor(n.pointX * this._getRetain(i) / 256); + const e = this.lnglatToPoint(t, 0); + return Math.floor(e.pointX * this._getRetain(i) / 256); } _latToTileY(t, i) { - let n = this.lnglatToPoint(0, t); - return Math.floor(n.pointY * this._getRetain(i) / 256); + const e = this.lnglatToPoint(0, t); + return Math.floor(e.pointY * this._getRetain(i) / 256); } /* * 从经纬度获取某一级别瓦片编号 */ - lnglatToTile(t, i, n) { - let l = this._lngToTileX(t, n), o = this._latToTileY(i, n); + lnglatToTile(t, i, e) { + const o = this._lngToTileX(t, e), l = this._latToTileY(i, e); return { - tileX: l, - tileY: o + tileX: o, + tileY: l }; } _lngToPixelX(t, i) { - let n = this._lngToTileX(t, i), l = this.lnglatToPoint(t, 0); - return Math.floor(l.pointX * this._getRetain(i) - n * 256); + const e = this._lngToTileX(t, i), o = this.lnglatToPoint(t, 0); + return Math.floor(o.pointX * this._getRetain(i) - e * 256); } _latToPixelY(t, i) { - let n = this._latToTileY(t, i), l = this.lnglatToPoint(0, t); - return Math.floor(l.pointY * this._getRetain(i) - n * 256); + const e = this._latToTileY(t, i), o = this.lnglatToPoint(0, t); + return Math.floor(o.pointY * this._getRetain(i) - e * 256); } /* * 从经纬度到瓦片的像素坐标 */ - lnglatToPixel(t, i, n) { - let l = this._lngToPixelX(t, n), o = this._latToPixelY(i, n); + lnglatToPixel(t, i, e) { + const o = this._lngToPixelX(t, e), l = this._latToPixelY(i, e); return { - pixelX: l, - pixelY: o + pixelX: o, + pixelY: l }; } - _pixelXToLng(t, i, n) { - let l = (i * 256 + t) / this._getRetain(n); - return this.pointToLnglat(l, 0).lng; + _pixelXToLng(t, i, e) { + const o = (i * 256 + t) / this._getRetain(e); + return this.pointToLnglat(o, 0).lng; } - _pixelYToLat(t, i, n) { - let l = (i * 256 + t) / this._getRetain(n); - return this.pointToLnglat(0, l).lat; + _pixelYToLat(t, i, e) { + const o = (i * 256 + t) / this._getRetain(e); + return this.pointToLnglat(0, o).lat; } /* * 从某一瓦片的某一像素点到经纬度 */ - pixelToLnglat(t, i, n, l, o) { - let a = (n * 256 + t) / this._getRetain(o), T = (l * 256 + i) / this._getRetain(o); - return this.pointToLnglat(a, T); + pixelToLnglat(t, i, e, o, l) { + const r = (e * 256 + t) / this._getRetain(l), u = (o * 256 + i) / this._getRetain(l); + return this.pointToLnglat(r, u); } } -function d(e) { - return (Math.exp(e) - Math.exp(-e)) / 2; +function d(n) { + return (Math.exp(n) - Math.exp(-n)) / 2; } class G { constructor(t, i) { - p(this, "levelMax"); - p(this, "levelMin"); + T(this, "levelMax"); + T(this, "levelMin"); this.levelMax = t, this.levelMin = i; } /* * 某一瓦片等级下瓦片地图X轴(Y轴)上的瓦片数目 */ _getMapSize(t) { - return Math.pow(2, t); + return 2 ** t; } /* * 分辨率,表示水平方向上一个像素点代表的真实距离(m) @@ -481,137 +482,138 @@ class G { return 12756274 * Math.PI * Math.cos(t) / 256 / this._getMapSize(i); } _lngToTileX(t, i) { - let n = (t + 180) / 360, l = Math.floor(n * this._getMapSize(i)); - return l = Math.min(l, Math.pow(2, i) - 1), l; + const e = (t + 180) / 360; + let o = Math.floor(e * this._getMapSize(i)); + return o = Math.min(o, 2 ** i - 1), o; } _latToTileY(t, i) { - let n = t * Math.PI / 180, l = (1 + Math.log(Math.tan(n) + 1 / Math.cos(n)) / Math.PI) / 2; - return Math.floor(l * this._getMapSize(i)); + const e = t * Math.PI / 180, o = (1 + Math.log(Math.tan(e) + 1 / Math.cos(e)) / Math.PI) / 2; + return Math.floor(o * this._getMapSize(i)); } /* * 从经纬度获取某一级别瓦片坐标编号 */ - lnglatToTile(t, i, n) { - let l = this._lngToTileX(t, n), o = this._latToTileY(i, n); + lnglatToTile(t, i, e) { + const o = this._lngToTileX(t, e), l = this._latToTileY(i, e); return { - tileX: l, - tileY: o + tileX: o, + tileY: l }; } _lngToPixelX(t, i) { - let n = (t + 180) / 360; - return Math.floor(n * this._getMapSize(i) * 256 % 256); + const e = (t + 180) / 360; + return Math.floor(e * this._getMapSize(i) * 256 % 256); } _latToPixelY(t, i) { - let n = Math.sin(t * Math.PI / 180), l = 0.5 + Math.log((1 + n) / (1 - n)) / (4 * Math.PI); - return 255 - Math.floor(l * this._getMapSize(i) * 256 % 256); + const e = Math.sin(t * Math.PI / 180), o = 0.5 + Math.log((1 + e) / (1 - e)) / (4 * Math.PI); + return 255 - Math.floor(o * this._getMapSize(i) * 256 % 256); } /* * 从经纬度获取点在某一级别瓦片中的像素坐标 */ - lnglatToPixel(t, i, n) { - let l = this._lngToPixelX(t, n), o = this._latToPixelY(i, n); + lnglatToPixel(t, i, e) { + const o = this._lngToPixelX(t, e), l = this._latToPixelY(i, e); return { - pixelX: l, - pixelY: o + pixelX: o, + pixelY: l }; } - _pixelXTolng(t, i, n) { - let l = t / 256; - return (i + l) / this._getMapSize(n) * 360 - 180; + _pixelXTolng(t, i, e) { + const o = t / 256; + return (i + o) / this._getMapSize(e) * 360 - 180; } - _pixelYToLat(t, i, n) { - let l = t / 256; - return Math.atan(d(Math.PI * (-1 + 2 * (i + 1 - l) / this._getMapSize(n)))) * 180 / Math.PI; + _pixelYToLat(t, i, e) { + const o = t / 256; + return Math.atan(d(Math.PI * (-1 + 2 * (i + 1 - o) / this._getMapSize(e)))) * 180 / Math.PI; } /* * 从某一瓦片的某一像素点到经纬度 */ - pixelToLnglat(t, i, n, l, o) { - let a = this._pixelXTolng(t, n, o), T = this._pixelYToLat(i, l, o); + pixelToLnglat(t, i, e, o, l) { + const r = this._pixelXTolng(t, e, l), u = this._pixelYToLat(i, o, l); return { - lng: a, - lat: T + lng: r, + lat: u }; } } -class z extends c { +class z extends x { constructor(t, i) { super(t, i); } - lnglatToQuadkey(t, i, n) { - let l = t.toString(2), o = i.toString(2); - l = "0".repeat(n - l.length) + l, o = "0".repeat(n - o.length) + o; - let a = ""; - for (let g = 0; g < n; g++) - a = a + o[g] + l[g]; - return a = a.replace(/^0*/, ""), Number.parseInt(a, 2).toString(4); + lnglatToQuadkey(t, i, e) { + let o = t.toString(2), l = i.toString(2); + o = "0".repeat(e - o.length) + o, l = "0".repeat(e - l.length) + l; + let r = ""; + for (let g = 0; g < e; g++) + r = r + l[g] + o[g]; + return r = r.replace(/^0*/, ""), Number.parseInt(r, 2).toString(4); } quadkeyToLnglat(t) { const i = t.length; - let l = Number.parseInt(t, 4).toString(2); - l.length % 2 != 0 && (l = "0" + l); - let o = "", a = ""; - for (let g = 0; g < l.length; g++) - g % 2 === 0 ? o = o + l[g] : a = a + l[g]; - const T = Number.parseInt(o, 2); + let o = Number.parseInt(t, 4).toString(2); + o.length % 2 !== 0 && (o = `0${o}`); + let l = "", r = ""; + for (let g = 0; g < o.length; g++) + g % 2 === 0 ? l = l + o[g] : r = r + o[g]; + const u = Number.parseInt(l, 2); return { - tileX: Number.parseInt(a, 2), - tileY: T, + tileX: Number.parseInt(r, 2), + tileY: u, level: i }; } } -const r = { +const s = { Gaode: "Gaode", Google: "Google", Baidu: "Baidu", OSM: "OSM", Tencent: "Tencent", Bing: "Bing" -}, s = { - [r.Gaode]: { +}, h = { + [s.Gaode]: { min: 1, max: 19 }, - [r.Google]: { + [s.Google]: { min: 0, max: 21 }, - [r.OSM]: { + [s.OSM]: { min: 0, max: 19 }, - [r.Baidu]: { + [s.Baidu]: { min: 3, max: 18 }, - [r.Tencent]: { + [s.Tencent]: { min: 3, max: 19 }, - [r.Bing]: { + [s.Bing]: { min: 3, max: 19 } -}, N = new c( - s[r.Gaode].max, - s[r.Gaode].min -), B = new c( - s[r.Google].max, - s[r.Google].min -), R = new c( - s[r.OSM].max, - s[r.OSM].min +}, N = new x( + h[s.Gaode].max, + h[s.Gaode].min +), B = new x( + h[s.Google].max, + h[s.Google].min +), R = new x( + h[s.OSM].max, + h[s.OSM].min ), F = new k( - s[r.Baidu].max, - s[r.Baidu].min + h[s.Baidu].max, + h[s.Baidu].min ), v = new G( - s[r.Tencent].max, - s[r.Tencent].min + h[s.Tencent].max, + h[s.Tencent].min ), A = new z( - s[r.Bing].max, - s[r.Bing].min + h[s.Bing].max, + h[s.Bing].min ), D = { TileLnglatTransformGaode: N, TileLnglatTransformGoogle: B, diff --git a/build/index.umd.cjs b/build/index.umd.cjs index 3a24082..35bf562 100644 --- a/build/index.umd.cjs +++ b/build/index.umd.cjs @@ -1 +1 @@ -(function(u,a){typeof exports=="object"&&typeof module<"u"?module.exports=a():typeof define=="function"&&define.amd?define(a):(u=typeof globalThis<"u"?globalThis:u||self,u.TileLnglatTransform=a())})(this,function(){"use strict";var v=Object.defineProperty;var A=(u,a,M)=>a in u?v(u,a,{enumerable:!0,configurable:!0,writable:!0,value:M}):u[a]=M;var x=(u,a,M)=>(A(u,typeof a!="symbol"?a+"":a,M),M);function u(e){return(Math.exp(e)-Math.exp(-e))/2}class a{constructor(t,i){x(this,"levelMax");x(this,"levelMin");this.levelMax=t,this.levelMin=i}_getMapSize(t){return Math.pow(2,t)}getResolution(t,i){return 12756274*Math.PI*Math.cos(t)/256/this._getMapSize(i)}_lngToTileX(t,i){let n=(t+180)/360,l=Math.floor(n*this._getMapSize(i));return l=Math.min(l,Math.pow(2,i)-1),l}_latToTileY(t,i){let n=t*Math.PI/180,l=(1-Math.log(Math.tan(n)+1/Math.cos(n))/Math.PI)/2;return Math.floor(l*this._getMapSize(i))}lnglatToTile(t,i,n){let l=this._lngToTileX(t,n),o=this._latToTileY(i,n);return{tileX:l,tileY:o}}_lngToPixelX(t,i){let n=(t+180)/360;return Math.floor(n*this._getMapSize(i)*256%256)}_latToPixelY(t,i){let n=Math.sin(t*Math.PI/180),l=.5-Math.log((1+n)/(1-n))/(4*Math.PI);return Math.floor(l*this._getMapSize(i)*256%256)}lnglatToPixel(t,i,n){let l=this._lngToPixelX(t,n),o=this._latToPixelY(i,n);return{pixelX:l,pixelY:o}}_pixelXTolng(t,i,n){let l=t/256;return(i+l)/this._getMapSize(n)*360-180}_pixelYToLat(t,i,n){let l=t/256;return Math.atan(u(Math.PI*(1-2*(i+l)/this._getMapSize(n))))*180/Math.PI}pixelToLnglat(t,i,n,l,o){let s=this._pixelXTolng(t,n,o),f=this._pixelYToLat(i,l,o);return{lng:s,lat:f}}}function M(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);return e}function w(e,t){for(var i in t)e[i]=t[i]}function Y(e){return typeof e=="string"}var y=void 0,c=null;function h(e,t){isNaN(e)&&(e=Ib(e),e=isNaN(e)?0:e),Y(e)&&(e=parseFloat(e)),isNaN(t)&&(t=Ib(t),t=isNaN(t)?0:t),Y(t)&&(t=parseFloat(t)),this.lng=e,this.lat=t}h.TL=function(e){return e&&180>=e.lng&&-180<=e.lng&&74>=e.lat&&-74<=e.lat},h.prototype.lb=function(e){return e&&this.lat==e.lat&&this.lng==e.lng};function _(e,t){this.x=e||0,this.y=t||0,this.x=this.x,this.y=this.y}_.prototype.lb=function(e){return e&&e.x==this.x&&e.y==this.y};function m(){}m.prototype.nh=function(){aa("lngLatToPoint方法未实现")},m.prototype.wi=function(){aa("pointToLngLat方法未实现")};function p(){}p.prototype=new m,M(p,{$O:637099681e-2,lG:[1289059486e-2,836237787e-2,5591021,348198983e-2,167804312e-2,0],Au:[75,60,45,30,15,0],fP:[[1410526172116255e-23,898305509648872e-20,-1.9939833816331,200.9824383106796,-187.2403703815547,91.6087516669843,-23.38765649603339,2.57121317296198,-.03801003308653,173379812e-1],[-7435856389565537e-24,8983055097726239e-21,-.78625201886289,96.32687599759846,-1.85204757529826,-59.36935905485877,47.40033549296737,-16.50741931063887,2.28786674699375,1026014486e-2],[-3030883460898826e-23,898305509983578e-20,.30071316287616,59.74293618442277,7.357984074871,-25.38371002664745,13.45380521110908,-3.29883767235584,.32710905363475,685681737e-2],[-1981981304930552e-23,8983055099779535e-21,.03278182852591,40.31678527705744,.65659298677277,-4.44255534477492,.85341911805263,.12923347998204,-.04625736007561,448277706e-2],[309191371068437e-23,8983055096812155e-21,6995724062e-14,23.10934304144901,-.00023663490511,-.6321817810242,-.00663494467273,.03430082397953,-.00466043876332,25551644e-1],[2890871144776878e-24,8983055095805407e-21,-3068298e-14,7.47137025468032,-353937994e-14,-.02145144861037,-1234426596e-14,.00010322952773,-323890364e-14,826088.5]],iG:[[-.0015702102444,111320.7020616939,0x60e374c3105a3,-0x24bb4115e2e164,0x5cc55543bb0ae8,-0x7ce070193f3784,0x5e7ca61ddf8150,-0x261a578d8b24d0,0x665d60f3742ca,82.5],[.0008277824516172526,111320.7020463578,6477955746671607e-7,-4082003173641316e-6,1077490566351142e-5,-1517187553151559e-5,1205306533862167e-5,-5124939663577472e-6,9133119359512032e-7,67.5],[.00337398766765,111320.7020202162,4481351045890365e-9,-2339375119931662e-8,7968221547186455e-8,-1159649932797253e-7,9723671115602145e-8,-4366194633752821e-8,8477230501135234e-9,52.5],[.00220636496208,111320.7020209128,51751.86112841131,3796837749470245e-9,992013.7397791013,-122195221711287e-8,1340652697009075e-9,-620943.6990984312,144416.9293806241,37.5],[-.0003441963504368392,111320.7020576856,278.2353980772752,2485758690035394e-9,6070.750963243378,54821.18345352118,9540.606633304236,-2710.55326746645,1405.483844121726,22.5],[-.0003218135878613132,111320.7020701615,.00369383431289,823725.6402795718,.46104986909093,2351.343141331292,1.58060784298199,8.77738589078284,.37238884252424,7.45]],Z1:function(l,t){if(!l||!t)return 0;var i,n,l=this.Fb(l);return l?(i=this.Tk(l.lng),n=this.Tk(l.lat),t=this.Fb(t),t?this.Pe(i,this.Tk(t.lng),n,this.Tk(t.lat)):0):0},Vo:function(e,t){return!e||!t?0:(e.lng=this.JD(e.lng,-180,180),e.lat=this.ND(e.lat,-74,74),t.lng=this.JD(t.lng,-180,180),t.lat=this.ND(t.lat,-74,74),this.Pe(this.Tk(e.lng),this.Tk(t.lng),this.Tk(e.lat),this.Tk(t.lat)))},Fb:function(e){if(e===c||e===y)return new h(0,0);var t,i;t=new h(Math.abs(e.lng),Math.abs(e.lat));for(var n=0;n=this.lG[n]){i=this.fP[n];break}return e=this.gK(e,i),e=new h(e.lng.toFixed(6),e.lat.toFixed(6))},Eb:function(e){if(e===c||e===y||180e.lng||90e.lat)return new h(0,0);var t,i;e.lng=this.JD(e.lng,-180,180),e.lat=this.ND(e.lat,-74,74),t=new h(e.lng,e.lat);for(var n=0;n=this.Au[n]){i=this.iG[n];break}if(!i){for(n=0;ne.lng?-1:1),n=n*(0>e.lat?-1:1);return new h(i,n)}},Pe:function(e,t,i,n){return this.$O*Math.acos(Math.sin(i)*Math.sin(n)+Math.cos(i)*Math.cos(n)*Math.cos(t-e))},Tk:function(e){return Math.PI*e/180},Z3:function(e){return 180*e/Math.PI},ND:function(e,t,i){return t!=c&&(e=Math.max(e,t)),i!=c&&(e=Math.min(e,i)),e},JD:function(e,t,i){for(;e>i;)e-=i-t;for(;er in c?v(c,r,{enumerable:!0,configurable:!0,writable:!0,value:p}):c[r]=p;var f=(c,r,p)=>(A(c,typeof r!="symbol"?r+"":r,p),p);function c(n){return(Math.exp(n)-Math.exp(-n))/2}class r{constructor(t,i){f(this,"levelMax");f(this,"levelMin");this.levelMax=t,this.levelMin=i}_getMapSize(t){return 2**t}getResolution(t,i){return 12756274*Math.PI*Math.cos(t)/256/this._getMapSize(i)}_lngToTileX(t,i){const e=(t+180)/360;let o=Math.floor(e*this._getMapSize(i));return o=Math.min(o,2**i-1),o}_latToTileY(t,i){const e=t*Math.PI/180,o=(1-Math.log(Math.tan(e)+1/Math.cos(e))/Math.PI)/2;return Math.floor(o*this._getMapSize(i))}lnglatToTile(t,i,e){const o=this._lngToTileX(t,e),l=this._latToTileY(i,e);return{tileX:o,tileY:l}}_lngToPixelX(t,i){const e=(t+180)/360;return Math.floor(e*this._getMapSize(i)*256%256)}_latToPixelY(t,i){const e=Math.sin(t*Math.PI/180),o=.5-Math.log((1+e)/(1-e))/(4*Math.PI);return Math.floor(o*this._getMapSize(i)*256%256)}lnglatToPixel(t,i,e){const o=this._lngToPixelX(t,e),l=this._latToPixelY(i,e);return{pixelX:o,pixelY:l}}_pixelXTolng(t,i,e){const o=t/256;return(i+o)/this._getMapSize(e)*360-180}_pixelYToLat(t,i,e){const o=t/256;return Math.atan(c(Math.PI*(1-2*(i+o)/this._getMapSize(e))))*180/Math.PI}pixelToLnglat(t,i,e,o,l){const a=this._pixelXTolng(t,e,l),M=this._pixelYToLat(i,o,l);return{lng:a,lat:M}}}function p(n,t){for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);return n}function d(n,t){for(var i in t)n[i]=t[i]}function Y(n){return typeof n=="string"}var y=void 0,x=null;function h(n,t){isNaN(n)&&(n=Ib(n),n=isNaN(n)?0:n),Y(n)&&(n=parseFloat(n)),isNaN(t)&&(t=Ib(t),t=isNaN(t)?0:t),Y(t)&&(t=parseFloat(t)),this.lng=n,this.lat=t}h.TL=function(n){return n&&180>=n.lng&&-180<=n.lng&&74>=n.lat&&-74<=n.lat},h.prototype.lb=function(n){return n&&this.lat==n.lat&&this.lng==n.lng};function _(n,t){this.x=n||0,this.y=t||0,this.x=this.x,this.y=this.y}_.prototype.lb=function(n){return n&&n.x==this.x&&n.y==this.y};function m(){}m.prototype.nh=function(){aa("lngLatToPoint方法未实现")},m.prototype.wi=function(){aa("pointToLngLat方法未实现")};function T(){}T.prototype=new m,p(T,{$O:637099681e-2,lG:[1289059486e-2,836237787e-2,5591021,348198983e-2,167804312e-2,0],Au:[75,60,45,30,15,0],fP:[[1410526172116255e-23,898305509648872e-20,-1.9939833816331,200.9824383106796,-187.2403703815547,91.6087516669843,-23.38765649603339,2.57121317296198,-.03801003308653,173379812e-1],[-7435856389565537e-24,8983055097726239e-21,-.78625201886289,96.32687599759846,-1.85204757529826,-59.36935905485877,47.40033549296737,-16.50741931063887,2.28786674699375,1026014486e-2],[-3030883460898826e-23,898305509983578e-20,.30071316287616,59.74293618442277,7.357984074871,-25.38371002664745,13.45380521110908,-3.29883767235584,.32710905363475,685681737e-2],[-1981981304930552e-23,8983055099779535e-21,.03278182852591,40.31678527705744,.65659298677277,-4.44255534477492,.85341911805263,.12923347998204,-.04625736007561,448277706e-2],[309191371068437e-23,8983055096812155e-21,6995724062e-14,23.10934304144901,-.00023663490511,-.6321817810242,-.00663494467273,.03430082397953,-.00466043876332,25551644e-1],[2890871144776878e-24,8983055095805407e-21,-3068298e-14,7.47137025468032,-353937994e-14,-.02145144861037,-1234426596e-14,.00010322952773,-323890364e-14,826088.5]],iG:[[-.0015702102444,111320.7020616939,0x60e374c3105a3,-0x24bb4115e2e164,0x5cc55543bb0ae8,-0x7ce070193f3784,0x5e7ca61ddf8150,-0x261a578d8b24d0,0x665d60f3742ca,82.5],[.0008277824516172526,111320.7020463578,6477955746671607e-7,-4082003173641316e-6,1077490566351142e-5,-1517187553151559e-5,1205306533862167e-5,-5124939663577472e-6,9133119359512032e-7,67.5],[.00337398766765,111320.7020202162,4481351045890365e-9,-2339375119931662e-8,7968221547186455e-8,-1159649932797253e-7,9723671115602145e-8,-4366194633752821e-8,8477230501135234e-9,52.5],[.00220636496208,111320.7020209128,51751.86112841131,3796837749470245e-9,992013.7397791013,-122195221711287e-8,1340652697009075e-9,-620943.6990984312,144416.9293806241,37.5],[-.0003441963504368392,111320.7020576856,278.2353980772752,2485758690035394e-9,6070.750963243378,54821.18345352118,9540.606633304236,-2710.55326746645,1405.483844121726,22.5],[-.0003218135878613132,111320.7020701615,.00369383431289,823725.6402795718,.46104986909093,2351.343141331292,1.58060784298199,8.77738589078284,.37238884252424,7.45]],Z1:function(o,t){if(!o||!t)return 0;var i,e,o=this.Fb(o);return o?(i=this.Tk(o.lng),e=this.Tk(o.lat),t=this.Fb(t),t?this.Pe(i,this.Tk(t.lng),e,this.Tk(t.lat)):0):0},Vo:function(n,t){return!n||!t?0:(n.lng=this.JD(n.lng,-180,180),n.lat=this.ND(n.lat,-74,74),t.lng=this.JD(t.lng,-180,180),t.lat=this.ND(t.lat,-74,74),this.Pe(this.Tk(n.lng),this.Tk(t.lng),this.Tk(n.lat),this.Tk(t.lat)))},Fb:function(n){if(n===x||n===y)return new h(0,0);var t,i;t=new h(Math.abs(n.lng),Math.abs(n.lat));for(var e=0;e=this.lG[e]){i=this.fP[e];break}return n=this.gK(n,i),n=new h(n.lng.toFixed(6),n.lat.toFixed(6))},Eb:function(n){if(n===x||n===y||180n.lng||90n.lat)return new h(0,0);var t,i;n.lng=this.JD(n.lng,-180,180),n.lat=this.ND(n.lat,-74,74),t=new h(n.lng,n.lat);for(var e=0;e=this.Au[e]){i=this.iG[e];break}if(!i){for(e=0;en.lng?-1:1),e=e*(0>n.lat?-1:1);return new h(i,e)}},Pe:function(n,t,i,e){return this.$O*Math.acos(Math.sin(i)*Math.sin(e)+Math.cos(i)*Math.cos(e)*Math.cos(t-n))},Tk:function(n){return Math.PI*n/180},Z3:function(n){return 180*n/Math.PI},ND:function(n,t,i){return t!=x&&(n=Math.max(n,t)),i!=x&&(n=Math.min(n,i)),n},JD:function(n,t,i){for(;n>i;)n-=i-t;for(;n=0.10.0'} + dev: true + + /@antfu/eslint-config@1.0.0-beta.27(eslint@8.51.0)(typescript@5.2.2)(vitest@0.34.6): + resolution: {integrity: sha512-xLSiMWU2Hfky2FbPC8KcyuJl6gArv1A6lOwkD3PN6jMaUfJrLGEnwWdCni94o1TNLwpigxNPp3mP4YT87ioToQ==} + peerDependencies: + eslint: '>=8.0.0' + dependencies: + '@antfu/eslint-define-config': 1.23.0-1 + '@stylistic/eslint-plugin': 0.0.11(eslint@8.51.0)(typescript@5.2.2) + '@typescript-eslint/eslint-plugin': 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.51.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.8.0(eslint@8.51.0)(typescript@5.2.2) + eslint: 8.51.0 + eslint-config-flat-gitignore: 0.1.1 + eslint-plugin-antfu: 1.0.0-beta.12(eslint@8.51.0)(typescript@5.2.2) + eslint-plugin-eslint-comments: 3.2.0(eslint@8.51.0) + eslint-plugin-i: 2.28.1(@typescript-eslint/parser@6.8.0)(eslint@8.51.0) + eslint-plugin-jsdoc: 46.8.2(eslint@8.51.0) + eslint-plugin-jsonc: 2.10.0(eslint@8.51.0) + eslint-plugin-markdown: 3.0.1(eslint@8.51.0) + eslint-plugin-n: 16.2.0(eslint@8.51.0) + eslint-plugin-no-only-tests: 3.1.0 + eslint-plugin-sort-keys: 2.3.5 + eslint-plugin-unicorn: 48.0.1(eslint@8.51.0) + eslint-plugin-unused-imports: 3.0.0(@typescript-eslint/eslint-plugin@6.8.0)(eslint@8.51.0) + eslint-plugin-vitest: 0.3.2(@typescript-eslint/eslint-plugin@6.8.0)(eslint@8.51.0)(typescript@5.2.2)(vitest@0.34.6) + eslint-plugin-vue: 9.17.0(eslint@8.51.0) + eslint-plugin-yml: 1.10.0(eslint@8.51.0) + globals: 13.23.0 + jsonc-eslint-parser: 2.3.0 + local-pkg: 0.5.0 + vue-eslint-parser: 9.3.2(eslint@8.51.0) + yaml-eslint-parser: 1.2.2 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + - typescript + - vitest + dev: true + + /@antfu/eslint-define-config@1.23.0-1: + resolution: {integrity: sha512-FEhC42aXDQ315jXpMAp+P1oBW2K96Ruq/8xs1poA8rgxv0c5vqYsyWWwwNBDijqUyDn9kufa4eZrd94rcbVEhg==} + engines: {node: '>=18.0.0', npm: '>=9.0.0', pnpm: '>= 8.6.0'} + dev: true + + /@babel/code-frame@7.22.13: + resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.22.20 + chalk: 2.4.2 + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/highlight@7.22.20: + resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@es-joy/jsdoccomment@0.40.1: + resolution: {integrity: sha512-YORCdZSusAlBrFpZ77pJjc5r1bQs5caPWtAu+WWmiSo+8XaUzseapVrfAtiRFbQWnrBxxLLEwF6f6ZG/UgCQCg==} + engines: {node: '>=16'} + dependencies: + comment-parser: 1.4.0 + esquery: 1.5.0 + jsdoc-type-pratt-parser: 4.0.0 + dev: true + /@esbuild/android-arm64@0.18.20: resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} @@ -215,124 +300,2699 @@ packages: dev: true optional: true - /@types/node@20.8.6: - resolution: {integrity: sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ==} + /@eslint-community/eslint-utils@4.4.0(eslint@8.51.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - undici-types: 5.25.3 + eslint: 8.51.0 + eslint-visitor-keys: 3.4.3 dev: true - /esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.18.20 - '@esbuild/android-arm64': 0.18.20 - '@esbuild/android-x64': 0.18.20 - '@esbuild/darwin-arm64': 0.18.20 - '@esbuild/darwin-x64': 0.18.20 - '@esbuild/freebsd-arm64': 0.18.20 - '@esbuild/freebsd-x64': 0.18.20 - '@esbuild/linux-arm': 0.18.20 - '@esbuild/linux-arm64': 0.18.20 - '@esbuild/linux-ia32': 0.18.20 - '@esbuild/linux-loong64': 0.18.20 - '@esbuild/linux-mips64el': 0.18.20 - '@esbuild/linux-ppc64': 0.18.20 - '@esbuild/linux-riscv64': 0.18.20 - '@esbuild/linux-s390x': 0.18.20 - '@esbuild/linux-x64': 0.18.20 - '@esbuild/netbsd-x64': 0.18.20 - '@esbuild/openbsd-x64': 0.18.20 - '@esbuild/sunos-x64': 0.18.20 - '@esbuild/win32-arm64': 0.18.20 - '@esbuild/win32-ia32': 0.18.20 - '@esbuild/win32-x64': 0.18.20 + /@eslint-community/regexpp@4.9.1: + resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true + /@eslint/eslintrc@2.1.2: + resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.23.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color dev: true - optional: true - /nanoid@3.3.6: - resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true + /@eslint/js@8.51.0: + resolution: {integrity: sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + /@humanwhocodes/config-array@0.11.11: + resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color dev: true - /postcss@8.4.31: - resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} - engines: {node: ^10 || ^12 || >=14} + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@1.2.1: + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + dev: true + + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - nanoid: 3.3.6 - picocolors: 1.0.0 - source-map-js: 1.0.2 + '@sinclair/typebox': 0.27.8 dev: true - /rollup@3.29.4: - resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.3 + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} dev: true - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 dev: true - /typescript@5.2.2: - resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} - engines: {node: '>=14.17'} - hasBin: true + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} dev: true - /undici-types@5.25.3: - resolution: {integrity: sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==} + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 dev: true - /vite@4.4.11(@types/node@20.8.6): - resolution: {integrity: sha512-ksNZJlkcU9b0lBwAGZGGaZHCMqHsc8OpgtoYhsQ4/I2v5cnpmmmqe5pM4nv/4Hn6G/2GhTdj0DhZh2e+Er1q5A==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + + /@stylistic/eslint-plugin-js@0.0.11(eslint@8.51.0): + resolution: {integrity: sha512-rsMEsR26A6hlnFyq0Oh2tLPNgURVbEbD9vPa+wf0dhkY9fhZu35rZNeNu62zDFiG/HU9GW2WqseSfbZ4iz2RNw==} + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.51.0) + acorn: 8.10.0 + escape-string-regexp: 4.0.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esutils: 2.0.3 + graphemer: 1.4.0 + transitivePeerDependencies: + - eslint + dev: true + + /@stylistic/eslint-plugin-jsx@0.0.11(eslint@8.51.0): + resolution: {integrity: sha512-pbCDoSmYSZrRHYkd2ayfLLzbMLzW1xYLk6NWB/bSk365wDYh9x+ghW2uXS6PZno3ON7K1+2OKXhvXDaLBdMVPg==} + dependencies: + '@stylistic/eslint-plugin-js': 0.0.11(eslint@8.51.0) + estraverse: 5.3.0 + jsx-ast-utils: 3.3.5 + transitivePeerDependencies: + - eslint + dev: true + + /@stylistic/eslint-plugin-ts@0.0.11(eslint@8.51.0)(typescript@5.2.2): + resolution: {integrity: sha512-pqXk5bplEpQVP0B9Isci/8DJq0dQfAUdNHwwax2t9pcPeUUKDylVuP4L5zqo/2K1GplZxmhV5l5u4gLfX2Qqzw==} peerDependencies: - '@types/node': '>= 14' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 + eslint: '*' + dependencies: + '@stylistic/eslint-plugin-js': 0.0.11(eslint@8.51.0) + '@typescript-eslint/scope-manager': 6.8.0 + '@typescript-eslint/type-utils': 6.8.0(eslint@8.51.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.8.0(eslint@8.51.0)(typescript@5.2.2) + eslint: 8.51.0 + graphemer: 1.4.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@stylistic/eslint-plugin@0.0.11(eslint@8.51.0)(typescript@5.2.2): + resolution: {integrity: sha512-Fi7nSdTV7rLQZTcj/vsedYujVtH032BjcXJ9tNUMYgEa6SNMmCtxxcfYIWKsquji/Ciqai/J1JLkAGXkWR1FRQ==} + peerDependencies: + eslint: '*' + dependencies: + '@stylistic/eslint-plugin-js': 0.0.11(eslint@8.51.0) + '@stylistic/eslint-plugin-jsx': 0.0.11(eslint@8.51.0) + '@stylistic/eslint-plugin-ts': 0.0.11(eslint@8.51.0)(typescript@5.2.2) + eslint: 8.51.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@types/chai-subset@1.3.3: + resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} + dependencies: + '@types/chai': 4.3.8 + dev: true + + /@types/chai@4.3.8: + resolution: {integrity: sha512-yW/qTM4mRBBcsA9Xw9FbcImYtFPY7sgr+G/O5RDYVmxiy9a+pE5FyoFUi8JYCZY5nicj8atrr1pcfPiYpeNGOA==} + dev: true + + /@types/json-schema@7.0.13: + resolution: {integrity: sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==} + dev: true + + /@types/mdast@3.0.13: + resolution: {integrity: sha512-HjiGiWedR0DVFkeNljpa6Lv4/IZU1+30VY5d747K7lBudFc3R0Ibr6yJ9lN3BE28VnZyDfLF/VB1Ql1ZIbKrmg==} + dependencies: + '@types/unist': 2.0.8 + dev: true + + /@types/node@20.8.6: + resolution: {integrity: sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ==} + dependencies: + undici-types: 5.25.3 + dev: true + + /@types/normalize-package-data@2.4.2: + resolution: {integrity: sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==} + dev: true + + /@types/semver@7.5.3: + resolution: {integrity: sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==} + dev: true + + /@types/unist@2.0.8: + resolution: {integrity: sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==} + dev: true + + /@typescript-eslint/eslint-plugin@6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.51.0)(typescript@5.2.2): + resolution: {integrity: sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: + typescript: optional: true - stylus: + dependencies: + '@eslint-community/regexpp': 4.9.1 + '@typescript-eslint/parser': 6.8.0(eslint@8.51.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.8.0 + '@typescript-eslint/type-utils': 6.8.0(eslint@8.51.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.8.0(eslint@8.51.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.8.0 + debug: 4.3.4 + eslint: 8.51.0 + graphemer: 1.4.0 + ignore: 5.2.4 + natural-compare: 1.4.0 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@6.8.0(eslint@8.51.0)(typescript@5.2.2): + resolution: {integrity: sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: optional: true - sugarss: + dependencies: + '@typescript-eslint/scope-manager': 6.8.0 + '@typescript-eslint/types': 6.8.0 + '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.8.0 + debug: 4.3.4 + eslint: 8.51.0 + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@6.8.0: + resolution: {integrity: sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.8.0 + '@typescript-eslint/visitor-keys': 6.8.0 + dev: true + + /@typescript-eslint/type-utils@6.8.0(eslint@8.51.0)(typescript@5.2.2): + resolution: {integrity: sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: optional: true - terser: + dependencies: + '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.2.2) + '@typescript-eslint/utils': 6.8.0(eslint@8.51.0)(typescript@5.2.2) + debug: 4.3.4 + eslint: 8.51.0 + ts-api-utils: 1.0.3(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@6.8.0: + resolution: {integrity: sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + + /@typescript-eslint/typescript-estree@6.8.0(typescript@5.2.2): + resolution: {integrity: sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: optional: true dependencies: - '@types/node': 20.8.6 - esbuild: 0.18.20 - postcss: 8.4.31 - rollup: 3.29.4 - optionalDependencies: - fsevents: 2.3.3 + '@typescript-eslint/types': 6.8.0 + '@typescript-eslint/visitor-keys': 6.8.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@6.8.0(eslint@8.51.0)(typescript@5.2.2): + resolution: {integrity: sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.51.0) + '@types/json-schema': 7.0.13 + '@types/semver': 7.5.3 + '@typescript-eslint/scope-manager': 6.8.0 + '@typescript-eslint/types': 6.8.0 + '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.2.2) + eslint: 8.51.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@6.8.0: + resolution: {integrity: sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.8.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@vitest/expect@0.34.6: + resolution: {integrity: sha512-QUzKpUQRc1qC7qdGo7rMK3AkETI7w18gTCUrsNnyjjJKYiuUB9+TQK3QnR1unhCnWRC0AbKv2omLGQDF/mIjOw==} + dependencies: + '@vitest/spy': 0.34.6 + '@vitest/utils': 0.34.6 + chai: 4.3.10 + dev: true + + /@vitest/runner@0.34.6: + resolution: {integrity: sha512-1CUQgtJSLF47NnhN+F9X2ycxUP0kLHQ/JWvNHbeBfwW8CzEGgeskzNnHDyv1ieKTltuR6sdIHV+nmR6kPxQqzQ==} + dependencies: + '@vitest/utils': 0.34.6 + p-limit: 4.0.0 + pathe: 1.1.1 + dev: true + + /@vitest/snapshot@0.34.6: + resolution: {integrity: sha512-B3OZqYn6k4VaN011D+ve+AA4whM4QkcwcrwaKwAbyyvS/NB1hCWjFIBQxAQQSQir9/RtyAAGuq+4RJmbn2dH4w==} + dependencies: + magic-string: 0.30.5 + pathe: 1.1.1 + pretty-format: 29.7.0 + dev: true + + /@vitest/spy@0.34.6: + resolution: {integrity: sha512-xaCvneSaeBw/cz8ySmF7ZwGvL0lBjfvqc1LpQ/vcdHEvpLn3Ff1vAvjw+CoGn0802l++5L/pxb7whwcWAw+DUQ==} + dependencies: + tinyspy: 2.2.0 + dev: true + + /@vitest/utils@0.34.6: + resolution: {integrity: sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==} + dependencies: + diff-sequences: 29.6.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + + /acorn-jsx@5.3.2(acorn@8.10.0): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.10.0 + dev: true + + /acorn-walk@8.2.0: + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn@8.10.0: + resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /are-docs-informative@0.0.2: + resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} + engines: {node: '>=14'} + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /array-buffer-byte-length@1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + dependencies: + call-bind: 1.0.2 + is-array-buffer: 3.0.2 + dev: true + + /array-includes@3.1.7: + resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.2 + get-intrinsic: 1.2.1 + is-string: 1.0.7 + dev: true + + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.2 + es-shim-unscopables: 1.0.0 + dev: true + + /arraybuffer.prototype.slice@1.0.2: + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.2 + get-intrinsic: 1.2.1 + is-array-buffer: 3.0.2 + is-shared-array-buffer: 1.0.2 + dev: true + + /assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true + + /available-typed-arrays@1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + dev: true + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: true + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + dev: true + + /builtins@5.0.1: + resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} + dependencies: + semver: 7.5.4 + dev: true + + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + + /call-bind@1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.2 + get-intrinsic: 1.2.1 + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /chai@4.3.10: + resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /character-entities-legacy@1.1.4: + resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + dev: true + + /character-entities@1.2.4: + resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + dev: true + + /character-reference-invalid@1.1.4: + resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + dev: true + + /check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + dev: true + + /clean-regexp@1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /comment-parser@1.4.0: + resolution: {integrity: sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw==} + engines: {node: '>= 12.0.0'} + dev: true + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: true + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + dependencies: + type-detect: 4.0.8 + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /define-data-property@1.1.1: + resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.1 + gopd: 1.0.1 + has-property-descriptors: 1.0.0 + dev: true + + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + has-property-descriptors: 1.0.0 + object-keys: 1.1.1 + dev: true + + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /es-abstract@1.22.2: + resolution: {integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + arraybuffer.prototype.slice: 1.0.2 + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + es-set-tostringtag: 2.0.1 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.1 + get-symbol-description: 1.0.0 + globalthis: 1.0.3 + gopd: 1.0.1 + has: 1.0.4 + has-property-descriptors: 1.0.0 + has-proto: 1.0.1 + has-symbols: 1.0.3 + internal-slot: 1.0.5 + is-array-buffer: 3.0.2 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-typed-array: 1.1.12 + is-weakref: 1.0.2 + object-inspect: 1.13.0 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.5.1 + safe-array-concat: 1.0.1 + safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.8 + string.prototype.trimend: 1.0.7 + string.prototype.trimstart: 1.0.7 + typed-array-buffer: 1.0.0 + typed-array-byte-length: 1.0.0 + typed-array-byte-offset: 1.0.0 + typed-array-length: 1.0.4 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.11 + dev: true + + /es-set-tostringtag@2.0.1: + resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.1 + has: 1.0.4 + has-tostringtag: 1.0.0 + dev: true + + /es-shim-unscopables@1.0.0: + resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + dependencies: + has: 1.0.4 + dev: true + + /es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true + + /esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /eslint-compat-utils@0.1.2(eslint@8.51.0): + resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + eslint: 8.51.0 + dev: true + + /eslint-config-flat-gitignore@0.1.1: + resolution: {integrity: sha512-ysq0QpN63+uaxE67U0g0HeCweIpv8Ztp7yvm0nYiM2TBalRIG6KQLO5J6lAz2gkA8KVis/QsJppe+BR5VigtWQ==} + dependencies: + parse-gitignore: 2.0.0 + dev: true + + /eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + dependencies: + debug: 3.2.7 + is-core-module: 2.13.0 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint@8.51.0): + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 6.8.0(eslint@8.51.0)(typescript@5.2.2) + debug: 3.2.7 + eslint: 8.51.0 + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-antfu@1.0.0-beta.12(eslint@8.51.0)(typescript@5.2.2): + resolution: {integrity: sha512-vPe0vigzDMmStU/hSZLAXfe6vdc26bOaxQt1a92tuOp3jkp0iT3/VXKlkMxsD9XTV/UL8/SNNTprMOUABC1vhQ==} + peerDependencies: + eslint: '*' + dependencies: + '@typescript-eslint/utils': 6.8.0(eslint@8.51.0)(typescript@5.2.2) + eslint: 8.51.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /eslint-plugin-es-x@7.2.0(eslint@8.51.0): + resolution: {integrity: sha512-9dvv5CcvNjSJPqnS5uZkqb3xmbeqRLnvXKK7iI5+oK/yTusyc46zbBZKENGsOfojm/mKfszyZb+wNqNPAPeGXA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '>=8' + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.51.0) + '@eslint-community/regexpp': 4.9.1 + eslint: 8.51.0 + dev: true + + /eslint-plugin-eslint-comments@3.2.0(eslint@8.51.0): + resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} + engines: {node: '>=6.5.0'} + peerDependencies: + eslint: '>=4.19.1' + dependencies: + escape-string-regexp: 1.0.5 + eslint: 8.51.0 + ignore: 5.2.4 + dev: true + + /eslint-plugin-i@2.28.1(@typescript-eslint/parser@6.8.0)(eslint@8.51.0): + resolution: {integrity: sha512-a4oVt0j3ixNhGhvV4XF6NS7OWRFK2rrJ0Q5C4S2dSRb8FxZi31J0uUd5WJLL58wnVJ/OiQ1BxiXnFA4dWQO1Cg==} + engines: {node: '>=12'} + peerDependencies: + eslint: ^7.2.0 || ^8 + dependencies: + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.51.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint@8.51.0) + get-tsconfig: 4.7.2 + is-glob: 4.0.3 + minimatch: 3.1.2 + resolve: 1.22.8 + semver: 7.5.4 + transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-plugin-jsdoc@46.8.2(eslint@8.51.0): + resolution: {integrity: sha512-5TSnD018f3tUJNne4s4gDWQflbsgOycIKEUBoCLn6XtBMgNHxQFmV8vVxUtiPxAQq8lrX85OaSG/2gnctxw9uQ==} + engines: {node: '>=16'} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@es-joy/jsdoccomment': 0.40.1 + are-docs-informative: 0.0.2 + comment-parser: 1.4.0 + debug: 4.3.4 + escape-string-regexp: 4.0.0 + eslint: 8.51.0 + esquery: 1.5.0 + is-builtin-module: 3.2.1 + semver: 7.5.4 + spdx-expression-parse: 3.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-jsonc@2.10.0(eslint@8.51.0): + resolution: {integrity: sha512-9d//o6Jyh4s1RxC9fNSt1+MMaFN2ruFdXPG9XZcb/mR2KkfjADYiNL/hbU6W0Cyxfg3tS/XSFuhl5LgtMD8hmw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.51.0) + eslint: 8.51.0 + eslint-compat-utils: 0.1.2(eslint@8.51.0) + jsonc-eslint-parser: 2.3.0 + natural-compare: 1.4.0 + dev: true + + /eslint-plugin-markdown@3.0.1(eslint@8.51.0): + resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + eslint: 8.51.0 + mdast-util-from-markdown: 0.8.5 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-n@16.2.0(eslint@8.51.0): + resolution: {integrity: sha512-AQER2jEyQOt1LG6JkGJCCIFotzmlcCZFur2wdKrp1JX2cNotC7Ae0BcD/4lLv3lUAArM9uNS8z/fsvXTd0L71g==} + engines: {node: '>=16.0.0'} + peerDependencies: + eslint: '>=7.0.0' + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.51.0) + builtins: 5.0.1 + eslint: 8.51.0 + eslint-plugin-es-x: 7.2.0(eslint@8.51.0) + get-tsconfig: 4.7.2 + ignore: 5.2.4 + is-core-module: 2.13.0 + minimatch: 3.1.2 + resolve: 1.22.8 + semver: 7.5.4 + dev: true + + /eslint-plugin-no-only-tests@3.1.0: + resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} + engines: {node: '>=5.0.0'} + dev: true + + /eslint-plugin-sort-keys@2.3.5: + resolution: {integrity: sha512-2j/XKQ9sNJwK8kIp/U0EvuF6stS6/8aIc53/NskE4C5NRNh4dt3xzbZyOdrVC11cTH6Zo59/pdzA0Kb+2fQGWg==} + dependencies: + natural-compare: 1.4.0 + dev: true + + /eslint-plugin-unicorn@48.0.1(eslint@8.51.0): + resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} + engines: {node: '>=16'} + peerDependencies: + eslint: '>=8.44.0' + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.51.0) + ci-info: 3.9.0 + clean-regexp: 1.0.0 + eslint: 8.51.0 + esquery: 1.5.0 + indent-string: 4.0.0 + is-builtin-module: 3.2.1 + jsesc: 3.0.2 + lodash: 4.17.21 + pluralize: 8.0.0 + read-pkg-up: 7.0.1 + regexp-tree: 0.1.27 + regjsparser: 0.10.0 + semver: 7.5.4 + strip-indent: 3.0.0 + dev: true + + /eslint-plugin-unused-imports@3.0.0(@typescript-eslint/eslint-plugin@6.8.0)(eslint@8.51.0): + resolution: {integrity: sha512-sduiswLJfZHeeBJ+MQaG+xYzSWdRXoSw61DpU13mzWumCkR0ufD0HmO4kdNokjrkluMHpj/7PJeN35pgbhW3kw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^6.0.0 + eslint: ^8.0.0 + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.51.0)(typescript@5.2.2) + eslint: 8.51.0 + eslint-rule-composer: 0.3.0 + dev: true + + /eslint-plugin-vitest@0.3.2(@typescript-eslint/eslint-plugin@6.8.0)(eslint@8.51.0)(typescript@5.2.2)(vitest@0.34.6): + resolution: {integrity: sha512-A1P0qJVkqHyfDolwm09h8/gu7SbGFOKbacJSeyZ9IRb8uyddgqLcqv4VrqgQfLA7QmGI9lwj1iV90NyZ1cHp8Q==} + engines: {node: 14.x || >= 16} + peerDependencies: + '@typescript-eslint/eslint-plugin': '*' + eslint: '>=8.0.0' + vitest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.51.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.8.0(eslint@8.51.0)(typescript@5.2.2) + eslint: 8.51.0 + vitest: 0.34.6 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /eslint-plugin-vue@9.17.0(eslint@8.51.0): + resolution: {integrity: sha512-r7Bp79pxQk9I5XDP0k2dpUC7Ots3OSWgvGZNu3BxmKK6Zg7NgVtcOB6OCna5Kb9oQwJPl5hq183WD0SY5tZtIQ==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.51.0) + eslint: 8.51.0 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.0.13 + semver: 7.5.4 + vue-eslint-parser: 9.3.2(eslint@8.51.0) + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-yml@1.10.0(eslint@8.51.0): + resolution: {integrity: sha512-53SUwuNDna97lVk38hL/5++WXDuugPM9SUQ1T645R0EHMRCdBIIxGye/oOX2qO3FQ7aImxaUZJU/ju+NMUBrLQ==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + debug: 4.3.4 + eslint: 8.51.0 + eslint-compat-utils: 0.1.2(eslint@8.51.0) + lodash: 4.17.21 + natural-compare: 1.4.0 + yaml-eslint-parser: 1.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-rule-composer@0.3.0: + resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} + engines: {node: '>=4.0.0'} + dev: true + + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.51.0: + resolution: {integrity: sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.51.0) + '@eslint-community/regexpp': 4.9.1 + '@eslint/eslintrc': 2.1.2 + '@eslint/js': 8.51.0 + '@humanwhocodes/config-array': 0.11.11 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.23.0 + graphemer: 1.4.0 + ignore: 5.2.4 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.10.0 + acorn-jsx: 5.3.2(acorn@8.10.0) + eslint-visitor-keys: 3.4.3 + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-glob@3.3.1: + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fastq@1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + dependencies: + reusify: 1.0.4 + dev: true + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.1.1 + dev: true + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.1.1: + resolution: {integrity: sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==} + engines: {node: '>=12.0.0'} + dependencies: + flatted: 3.2.9 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flatted@3.2.9: + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + dev: true + + /for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.2 + functions-have-names: 1.2.3 + dev: true + + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true + + /get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + dev: true + + /get-intrinsic@1.2.1: + resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} + dependencies: + function-bind: 1.1.2 + has: 1.0.4 + has-proto: 1.0.1 + has-symbols: 1.0.3 + dev: true + + /get-symbol-description@1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + dev: true + + /get-tsconfig@4.7.2: + resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: true + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /globals@13.23.0: + resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.1 + dev: true + + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.1 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.1 + dev: true + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-property-descriptors@1.0.0: + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + dependencies: + get-intrinsic: 1.2.1 + dev: true + + /has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + dev: true + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true + + /has-tostringtag@1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /has@1.0.4: + resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} + engines: {node: '>= 0.4.0'} + dev: true + + /hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + dev: true + + /ignore@5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /internal-slot@1.0.5: + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.1 + has: 1.0.4 + side-channel: 1.0.4 + dev: true + + /is-alphabetical@1.0.4: + resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} + dev: true + + /is-alphanumerical@1.0.4: + resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + dependencies: + is-alphabetical: 1.0.4 + is-decimal: 1.0.4 + dev: true + + /is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + is-typed-array: 1.1.12 + dev: true + + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: true + + /is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: true + + /is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + dependencies: + builtin-modules: 3.3.0 + dev: true + + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: true + + /is-core-module@2.13.0: + resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} + dependencies: + has: 1.0.4 + dev: true + + /is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-decimal@1.0.4: + resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-hexadecimal@1.0.4: + resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} + dev: true + + /is-negative-zero@2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + dev: true + + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: true + + /is-shared-array-buffer@1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.2 + dev: true + + /is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /is-typed-array@1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.11 + dev: true + + /is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.2 + dev: true + + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /jsdoc-type-pratt-parser@4.0.0: + resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==} + engines: {node: '>=12.0.0'} + dev: true + + /jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: true + + /jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /jsonc-eslint-parser@2.3.0: + resolution: {integrity: sha512-9xZPKVYp9DxnM3sd1yAsh/d59iIaswDkai8oTxbursfKYbg/ibjX0IzFt35+VZ8iEW453TVTXztnRvYUQlAfUQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.10.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + semver: 7.5.4 + dev: true + + /jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: true + + /jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + dependencies: + array-includes: 3.1.7 + array.prototype.flat: 1.3.2 + object.assign: 4.1.4 + object.values: 1.1.7 + dev: true + + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + dev: true + + /local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + dependencies: + mlly: 1.4.2 + pkg-types: 1.0.3 + dev: true + + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: true + + /loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /magic-string@0.30.5: + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /mdast-util-from-markdown@0.8.5: + resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} + dependencies: + '@types/mdast': 3.0.13 + mdast-util-to-string: 2.0.0 + micromark: 2.11.4 + parse-entities: 2.0.0 + unist-util-stringify-position: 2.0.3 + transitivePeerDependencies: + - supports-color + dev: true + + /mdast-util-to-string@2.0.0: + resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} + dev: true + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromark@2.11.4: + resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} + dependencies: + debug: 4.3.4 + parse-entities: 2.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /mlly@1.4.2: + resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} + dependencies: + acorn: 8.10.0 + pathe: 1.1.1 + pkg-types: 1.0.3 + ufo: 1.3.1 + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true + + /nanoid@3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.8 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 + dev: true + + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: true + + /object-inspect@1.13.0: + resolution: {integrity: sha512-HQ4J+ic8hKrgIt3mqk6cVOVrW2ozL4KdvHlqpBv9vDYWx9ysAgENAdvy4FoGF+KFdhR7nQTNm5J0ctAeOwn+3g==} + dev: true + + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true + + /object.assign@4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + + /object.values@1.1.7: + resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.2 + dev: true + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + yocto-queue: 1.0.0 + dev: true + + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /parse-entities@2.0.0: + resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} + dependencies: + character-entities: 1.2.4 + character-entities-legacy: 1.1.4 + character-reference-invalid: 1.1.4 + is-alphanumerical: 1.0.4 + is-decimal: 1.0.4 + is-hexadecimal: 1.0.4 + dev: true + + /parse-gitignore@2.0.0: + resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==} + engines: {node: '>=14'} + dev: true + + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.22.13 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /pathe@1.1.1: + resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} + dev: true + + /pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + dependencies: + jsonc-parser: 3.2.0 + mlly: 1.4.2 + pathe: 1.1.1 + dev: true + + /pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + dev: true + + /postcss-selector-parser@6.0.13: + resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /punycode@2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + dev: true + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + dev: true + + /read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + dev: true + + /read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + dependencies: + '@types/normalize-package-data': 2.4.2 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + dev: true + + /regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + dev: true + + /regexp.prototype.flags@1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + set-function-name: 2.0.1 + dev: true + + /regjsparser@0.10.0: + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} + hasBin: true + dependencies: + jsesc: 0.5.0 + dev: true + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: true + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /rollup@3.29.4: + resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-array-concat@1.0.1: + resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + has-symbols: 1.0.3 + isarray: 2.0.5 + dev: true + + /safe-regex-test@1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + is-regex: 1.1.4 + dev: true + + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + dev: true + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /set-function-name@2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.0 + dev: true + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + object-inspect: 1.13.0 + dev: true + + /siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + dev: true + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.16 + dev: true + + /spdx-exceptions@2.3.0: + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + dev: true + + /spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.16 + dev: true + + /spdx-license-ids@3.0.16: + resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} + dev: true + + /stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + dev: true + + /std-env@3.4.3: + resolution: {integrity: sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==} + dev: true + + /string.prototype.trim@1.2.8: + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.2 + dev: true + + /string.prototype.trimend@1.0.7: + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.2 + dev: true + + /string.prototype.trimstart@1.0.7: + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.2 + dev: true + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /strip-literal@1.3.0: + resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} + dependencies: + acorn: 8.10.0 + dev: true + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /tinybench@2.5.1: + resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} + dev: true + + /tinypool@0.7.0: + resolution: {integrity: sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==} + engines: {node: '>=14.0.0'} + dev: true + + /tinyspy@2.2.0: + resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} + engines: {node: '>=14.0.0'} + dev: true + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /ts-api-utils@1.0.3(typescript@5.2.2): + resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} + engines: {node: '>=16.13.0'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.2.2 + dev: true + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + dev: true + + /type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + dev: true + + /typed-array-buffer@1.0.0: + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-length@1.0.0: + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-offset@1.0.0: + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-length@1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + dependencies: + call-bind: 1.0.2 + for-each: 0.3.3 + is-typed-array: 1.1.12 + dev: true + + /typescript@5.2.2: + resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} + engines: {node: '>=14.17'} + hasBin: true + dev: true + + /ufo@1.3.1: + resolution: {integrity: sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw==} + dev: true + + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.2 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: true + + /undici-types@5.25.3: + resolution: {integrity: sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==} + dev: true + + /unist-util-stringify-position@2.0.3: + resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + dependencies: + '@types/unist': 2.0.8 + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.0 + dev: true + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true + + /validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + dev: true + + /vite-node@0.34.6(@types/node@20.8.6): + resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==} + engines: {node: '>=v14.18.0'} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + mlly: 1.4.2 + pathe: 1.1.1 + picocolors: 1.0.0 + vite: 4.4.11(@types/node@20.8.6) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite@4.4.11(@types/node@20.8.6): + resolution: {integrity: sha512-ksNZJlkcU9b0lBwAGZGGaZHCMqHsc8OpgtoYhsQ4/I2v5cnpmmmqe5pM4nv/4Hn6G/2GhTdj0DhZh2e+Er1q5A==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.8.6 + esbuild: 0.18.20 + postcss: 8.4.31 + rollup: 3.29.4 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest@0.34.6: + resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==} + engines: {node: '>=v14.18.0'} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@vitest/browser': '*' + '@vitest/ui': '*' + happy-dom: '*' + jsdom: '*' + playwright: '*' + safaridriver: '*' + webdriverio: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + playwright: + optional: true + safaridriver: + optional: true + webdriverio: + optional: true + dependencies: + '@types/chai': 4.3.8 + '@types/chai-subset': 1.3.3 + '@types/node': 20.8.6 + '@vitest/expect': 0.34.6 + '@vitest/runner': 0.34.6 + '@vitest/snapshot': 0.34.6 + '@vitest/spy': 0.34.6 + '@vitest/utils': 0.34.6 + acorn: 8.10.0 + acorn-walk: 8.2.0 + cac: 6.7.14 + chai: 4.3.10 + debug: 4.3.4 + local-pkg: 0.4.3 + magic-string: 0.30.5 + pathe: 1.1.1 + picocolors: 1.0.0 + std-env: 3.4.3 + strip-literal: 1.3.0 + tinybench: 2.5.1 + tinypool: 0.7.0 + vite: 4.4.11(@types/node@20.8.6) + vite-node: 0.34.6(@types/node@20.8.6) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vue-eslint-parser@9.3.2(eslint@8.51.0): + resolution: {integrity: sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + debug: 4.3.4 + eslint: 8.51.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + lodash: 4.17.21 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: true + + /which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: true + + /which-typed-array@1.1.11: + resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + dev: true + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yaml-eslint-parser@1.2.2: + resolution: {integrity: sha512-pEwzfsKbTrB8G3xc/sN7aw1v6A6c/pKxLAkjclnAyo5g5qOh6eL9WGu0o3cSDQZKrTNk4KL4lQSwZW+nBkANEg==} + engines: {node: ^14.17.0 || >=16.0.0} + dependencies: + eslint-visitor-keys: 3.4.3 + lodash: 4.17.21 + yaml: 2.3.3 + dev: true + + /yaml@2.3.3: + resolution: {integrity: sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==} + engines: {node: '>= 14'} + dev: true + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} dev: true diff --git a/src/index.ts b/src/index.ts index 0d97006..e1f4dd6 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,8 +1,3 @@ -/** - * Created by CntChen 2016.04.30 - * 提供了百度地图、高德地图、谷歌地图经纬度坐标与瓦片坐标的相互转换 - */ - import TransformClassSlippy from './transform-class-slippy' import TransformClassBaidu from './transform-class-baidu' import TransformClassTMS from './transform-class-osgeo-tms' @@ -46,30 +41,30 @@ const MapLevelRange = { const TileLnglatTransformGaode = new TransformClassSlippy( MapLevelRange[MapTypes.Gaode].max, - MapLevelRange[MapTypes.Gaode].min + MapLevelRange[MapTypes.Gaode].min, ) const TileLnglatTransformGoogle = new TransformClassSlippy( MapLevelRange[MapTypes.Google].max, - MapLevelRange[MapTypes.Google].min + MapLevelRange[MapTypes.Google].min, ) const TileLnglatTransformOSM = new TransformClassSlippy( MapLevelRange[MapTypes.OSM].max, - MapLevelRange[MapTypes.OSM].min + MapLevelRange[MapTypes.OSM].min, ) const TileLnglatTransformBaidu = new TransformClassBaidu( MapLevelRange[MapTypes.Baidu].max, - MapLevelRange[MapTypes.Baidu].min + MapLevelRange[MapTypes.Baidu].min, ) const TileLnglatTransformTencent = new TransformClassTMS( MapLevelRange[MapTypes.Tencent].max, - MapLevelRange[MapTypes.Tencent].min + MapLevelRange[MapTypes.Tencent].min, ) const TileLnglatTransformBing = new TransformClassBing( MapLevelRange[MapTypes.Bing].max, - MapLevelRange[MapTypes.Bing].min + MapLevelRange[MapTypes.Bing].min, ) const TileLnglatTransform = { diff --git a/src/node-baidusdk.ts b/src/node-baidusdk.ts index dd6c934..7b004cb 100644 --- a/src/node-baidusdk.ts +++ b/src/node-baidusdk.ts @@ -1,3 +1,5 @@ +/* eslint-disable eslint-comments/no-unlimited-disable */ +/* eslint-disable */ /* * Created by CntChen 2016.05.04 * 从百度JavaScritp API v2.0 抽取代码,并作少量命名修改 @@ -263,7 +265,13 @@ S(Je, { // ----- Baidu API end -let BMap = { +interface IBMap { + Point: any + Pixel: any + MercatorProjection: any +} + +let BMap:IBMap = { Point: H, Pixel: Q, MercatorProjection: R, diff --git a/src/transform-class-baidu.ts b/src/transform-class-baidu.ts index 29c4a8f..90d7efe 100644 --- a/src/transform-class-baidu.ts +++ b/src/transform-class-baidu.ts @@ -1,5 +1,4 @@ /* - * Created by CntChen 2016.05.04 * 坐标相关参考文章: * http://www.cnblogs.com/jz1108/archive/2011/07/02/2095376.html * http://www.cnblogs.com/janehlp/archive/2012/08/27/2658106.html @@ -12,15 +11,15 @@ class TransformClassBaidu { levelMax levelMin projection - constructor(levelRange_max, LevelRange_min) { + constructor(levelRange_max: number, LevelRange_min: number) { this.levelMax = levelRange_max this.levelMin = LevelRange_min this.projection = new BMap.MercatorProjection() } - _getRetain(level) { - return Math.pow(2, level - 18) + _getRetain(level: number) { + return 2 ** (level - 18) } /* @@ -28,16 +27,16 @@ class TransformClassBaidu { * 百度地图18级时的平面坐标就是地图距离原点的距离(m) * 使用{lng:180, lat:0}时候的pointX是否等于地球赤道长一半来验证 */ - getResolution(latitude, level) { - return Math.pow(2, 18 - level) * Math.cos(latitude) + getResolution(latitude: number, level: number) { + return 2 ** (18 - level) * Math.cos(latitude) } /* * 从经纬度到百度平面坐标 */ - lnglatToPoint(longitude, latitude) { - let lnglat = new BMap.Point(longitude, latitude) - let point = this.projection.lngLatToPoint(lnglat) + lnglatToPoint(longitude: number, latitude: number) { + const lnglat = new BMap.Point(longitude, latitude) + const point = this.projection.lngLatToPoint(lnglat) // 提取对象的字段并返回 return { @@ -49,9 +48,9 @@ class TransformClassBaidu { /* * 从百度平面坐标到经纬度 */ - pointToLnglat(pointX, pointY) { - let point = new BMap.Pixel(pointX, pointY) - let lnglat = this.projection.pointToLngLat(point) + pointToLnglat(pointX: number, pointY: number) { + const point = new BMap.Pixel(pointX, pointY) + const lnglat = this.projection.pointToLngLat(point) // 不直接返回lnglat对象,因为该对象在百SDK中还有其他属性和方法 // 提取对象的字段后,与其他地图平台统一Lnglat的格式 @@ -61,16 +60,16 @@ class TransformClassBaidu { } } - _lngToTileX(longitude, level) { - let point = this.lnglatToPoint(longitude, 0) - let tileX = Math.floor((point.pointX * this._getRetain(level)) / 256) + _lngToTileX(longitude: number, level: number) { + const point = this.lnglatToPoint(longitude, 0) + const tileX = Math.floor((point.pointX * this._getRetain(level)) / 256) return tileX } - _latToTileY(latitude, level) { - let point = this.lnglatToPoint(0, latitude) - let tileY = Math.floor((point.pointY * this._getRetain(level)) / 256) + _latToTileY(latitude: number, level: number) { + const point = this.lnglatToPoint(0, latitude) + const tileY = Math.floor((point.pointY * this._getRetain(level)) / 256) return tileY } @@ -78,9 +77,9 @@ class TransformClassBaidu { /* * 从经纬度获取某一级别瓦片编号 */ - lnglatToTile(longitude, latitude, level) { - let tileX = this._lngToTileX(longitude, level) - let tileY = this._latToTileY(latitude, level) + lnglatToTile(longitude: number, latitude: number, level: number) { + const tileX = this._lngToTileX(longitude, level) + const tileY = this._latToTileY(latitude, level) return { tileX, @@ -88,18 +87,18 @@ class TransformClassBaidu { } } - _lngToPixelX(longitude, level) { - let tileX = this._lngToTileX(longitude, level) - let point = this.lnglatToPoint(longitude, 0) - let pixelX = Math.floor(point.pointX * this._getRetain(level) - tileX * 256) + _lngToPixelX(longitude: number, level: number) { + const tileX = this._lngToTileX(longitude, level) + const point = this.lnglatToPoint(longitude, 0) + const pixelX = Math.floor(point.pointX * this._getRetain(level) - tileX * 256) return pixelX } - _latToPixelY(latitude, level) { - let tileY = this._latToTileY(latitude, level) - let point = this.lnglatToPoint(0, latitude) - let pixelY = Math.floor(point.pointY * this._getRetain(level) - tileY * 256) + _latToPixelY(latitude: number, level: number) { + const tileY = this._latToTileY(latitude, level) + const point = this.lnglatToPoint(0, latitude) + const pixelY = Math.floor(point.pointY * this._getRetain(level) - tileY * 256) return pixelY } @@ -107,9 +106,9 @@ class TransformClassBaidu { /* * 从经纬度到瓦片的像素坐标 */ - lnglatToPixel(longitude, latitude, level) { - let pixelX = this._lngToPixelX(longitude, level) - let pixelY = this._latToPixelY(latitude, level) + lnglatToPixel(longitude: number, latitude: number, level: number) { + const pixelX = this._lngToPixelX(longitude, level) + const pixelY = this._latToPixelY(latitude, level) return { pixelX, @@ -117,16 +116,16 @@ class TransformClassBaidu { } } - _pixelXToLng(pixelX, tileX, level) { - let pointX = (tileX * 256 + pixelX) / this._getRetain(level) - let lnglat = this.pointToLnglat(pointX, 0) + _pixelXToLng(pixelX: number, tileX: number, level: number) { + const pointX = (tileX * 256 + pixelX) / this._getRetain(level) + const lnglat = this.pointToLnglat(pointX, 0) return lnglat.lng } - _pixelYToLat(pixelY, tileY, level) { - let pointY = (tileY * 256 + pixelY) / this._getRetain(level) - let lnglat = this.pointToLnglat(0, pointY) + _pixelYToLat(pixelY: number, tileY: number, level: number) { + const pointY = (tileY * 256 + pixelY) / this._getRetain(level) + const lnglat = this.pointToLnglat(0, pointY) return lnglat.lat } @@ -134,10 +133,10 @@ class TransformClassBaidu { /* * 从某一瓦片的某一像素点到经纬度 */ - pixelToLnglat(pixelX, pixelY, tileX, tileY, level) { - let pointX = (tileX * 256 + pixelX) / this._getRetain(level) - let pointY = (tileY * 256 + pixelY) / this._getRetain(level) - let lnglat = this.pointToLnglat(pointX, pointY) + pixelToLnglat(pixelX: number, pixelY: number, tileX: number, tileY: number, level: number) { + const pointX = (tileX * 256 + pixelX) / this._getRetain(level) + const pointY = (tileY * 256 + pixelY) / this._getRetain(level) + const lnglat = this.pointToLnglat(pointX, pointY) return lnglat } diff --git a/src/transform-class-bing.ts b/src/transform-class-bing.ts index c56a82f..5d36c17 100644 --- a/src/transform-class-bing.ts +++ b/src/transform-class-bing.ts @@ -1,5 +1,4 @@ /* - * Created by CntChen 2017.03.09 * 参考资料: https://msdn.microsoft.com/en-us/library/bb259689.aspx * 适用地图: bing 地图 */ @@ -7,11 +6,11 @@ import TransformClassSlippy from './transform-class-slippy' class TransformClassBing extends TransformClassSlippy { - constructor(levelRange_max, LevelRange_min) { + constructor(levelRange_max: number, LevelRange_min: number) { super(levelRange_max, LevelRange_min) } - lnglatToQuadkey(tileX, tileY, level) { + lnglatToQuadkey(tileX: number, tileY: number, level: number) { let tileX_binary = tileX.toString(2) let tileY_binary = tileY.toString(2) @@ -30,12 +29,12 @@ class TransformClassBing extends TransformClassSlippy { return quadkey } - quadkeyToLnglat(quadkey) { + quadkeyToLnglat(quadkey: string) { const level = quadkey.length const key_decimal = Number.parseInt(quadkey, 4) let key_binary = key_decimal.toString(2) - if (key_binary.length % 2 != 0) { - key_binary = '0' + key_binary + if (key_binary.length % 2 !== 0) { + key_binary = `0${key_binary}` } let tileY_binary = '' @@ -43,7 +42,8 @@ class TransformClassBing extends TransformClassSlippy { for (let index = 0; index < key_binary.length; index++) { if (index % 2 === 0) { tileY_binary = tileY_binary + key_binary[index] - } else { + } + else { tileX_binary = tileX_binary + key_binary[index] } } diff --git a/src/transform-class-osgeo-tms.ts b/src/transform-class-osgeo-tms.ts index fa8eadd..d66db4d 100644 --- a/src/transform-class-osgeo-tms.ts +++ b/src/transform-class-osgeo-tms.ts @@ -1,5 +1,4 @@ /* - * Created by CntChen 2017.03.06 * OSGEO TMS 标准,其坐标与Google瓦片坐标的tileY有差异 * 对比:http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection * http://2010.foss4g.org/presentations/3653.pdf @@ -10,14 +9,14 @@ * http://blog.csdn.net/mygisforum/article/details/22997879 */ -function _Math_sinh(x) { +function _Math_sinh(x: number) { return (Math.exp(x) - Math.exp(-x)) / 2 } class TransformClassTMS { levelMax levelMin - constructor(levelRange_max, LevelRange_min) { + constructor(levelRange_max: number, LevelRange_min: number) { this.levelMax = levelRange_max this.levelMin = LevelRange_min } @@ -25,39 +24,39 @@ class TransformClassTMS { /* * 某一瓦片等级下瓦片地图X轴(Y轴)上的瓦片数目 */ - _getMapSize(level) { - return Math.pow(2, level) + _getMapSize(level: number) { + return 2 ** level } /* * 分辨率,表示水平方向上一个像素点代表的真实距离(m) */ - getResolution(latitude, level) { - let resolution = (6378137.0 * 2 * Math.PI * Math.cos(latitude)) / 256 / this._getMapSize(level) + getResolution(latitude: number, level: number) { + const resolution = (6378137.0 * 2 * Math.PI * Math.cos(latitude)) / 256 / this._getMapSize(level) return resolution } - _lngToTileX(longitude, level) { - let x = (longitude + 180) / 360 + _lngToTileX(longitude: number, level: number) { + const x = (longitude + 180) / 360 let tileX = Math.floor(x * this._getMapSize(level)) /** * 限定边界值, 解决 longitude=180 时边界值错误 */ - tileX = Math.min(tileX, Math.pow(2, level) - 1) + tileX = Math.min(tileX, 2 ** level - 1) return tileX } - _latToTileY(latitude, level) { - let lat_rad = (latitude * Math.PI) / 180 - let y = (1 + Math.log(Math.tan(lat_rad) + 1 / Math.cos(lat_rad)) / Math.PI) / 2 - let tileY = Math.floor(y * this._getMapSize(level)) + _latToTileY(latitude: number, level: number) { + const lat_rad = (latitude * Math.PI) / 180 + const y = (1 + Math.log(Math.tan(lat_rad) + 1 / Math.cos(lat_rad)) / Math.PI) / 2 + const tileY = Math.floor(y * this._getMapSize(level)) // 代替性算法,使用了一些三角变化,其实完全等价 - //let sinLatitude = Math.sin(latitude * Math.PI / 180); - //let y = 0.5 + Math.log((1 + sinLatitude) / (1 - sinLatitude)) / (4 * Math.PI); - //let tileY = Math.floor(y * this._getMapSize(level)); + // let sinLatitude = Math.sin(latitude * Math.PI / 180); + // let y = 0.5 + Math.log((1 + sinLatitude) / (1 - sinLatitude)) / (4 * Math.PI); + // let tileY = Math.floor(y * this._getMapSize(level)); return tileY } @@ -65,9 +64,9 @@ class TransformClassTMS { /* * 从经纬度获取某一级别瓦片坐标编号 */ - lnglatToTile(longitude, latitude, level) { - let tileX = this._lngToTileX(longitude, level) - let tileY = this._latToTileY(latitude, level) + lnglatToTile(longitude: number, latitude: number, level: number) { + const tileX = this._lngToTileX(longitude, level) + const tileY = this._latToTileY(latitude, level) return { tileX, @@ -75,17 +74,17 @@ class TransformClassTMS { } } - _lngToPixelX(longitude, level) { - let x = (longitude + 180) / 360 - let pixelX = Math.floor((x * this._getMapSize(level) * 256) % 256) + _lngToPixelX(longitude: number, level: number) { + const x = (longitude + 180) / 360 + const pixelX = Math.floor((x * this._getMapSize(level) * 256) % 256) return pixelX } - _latToPixelY(latitude, level) { - let sinLatitude = Math.sin((latitude * Math.PI) / 180) - let y = 0.5 + Math.log((1 + sinLatitude) / (1 - sinLatitude)) / (4 * Math.PI) - let pixelY = 255 - Math.floor((y * this._getMapSize(level) * 256) % 256) + _latToPixelY(latitude: number, level: number) { + const sinLatitude = Math.sin((latitude * Math.PI) / 180) + const y = 0.5 + Math.log((1 + sinLatitude) / (1 - sinLatitude)) / (4 * Math.PI) + const pixelY = 255 - Math.floor((y * this._getMapSize(level) * 256) % 256) return pixelY } @@ -93,9 +92,9 @@ class TransformClassTMS { /* * 从经纬度获取点在某一级别瓦片中的像素坐标 */ - lnglatToPixel(longitude, latitude, level) { - let pixelX = this._lngToPixelX(longitude, level) - let pixelY = this._latToPixelY(latitude, level) + lnglatToPixel(longitude: number, latitude: number, level: number) { + const pixelX = this._lngToPixelX(longitude, level) + const pixelY = this._latToPixelY(latitude, level) return { pixelX, @@ -103,19 +102,19 @@ class TransformClassTMS { } } - _pixelXTolng(pixelX, tileX, level) { - let pixelXToTileAddition = pixelX / 256.0 - let lngitude = ((tileX + pixelXToTileAddition) / this._getMapSize(level)) * 360 - 180 + _pixelXTolng(pixelX: number, tileX: number, level: number) { + const pixelXToTileAddition = pixelX / 256.0 + const lngitude = ((tileX + pixelXToTileAddition) / this._getMapSize(level)) * 360 - 180 return lngitude } - _pixelYToLat(pixelY, tileY, level) { - let pixelYToTileAddition = pixelY / 256.0 - let latitude = - (Math.atan(_Math_sinh(Math.PI * (-1 + (2 * (tileY + 1 - pixelYToTileAddition)) / this._getMapSize(level)))) * - 180.0) / - Math.PI + _pixelYToLat(pixelY: number, tileY: number, level: number) { + const pixelYToTileAddition = pixelY / 256.0 + const latitude + = (Math.atan(_Math_sinh(Math.PI * (-1 + (2 * (tileY + 1 - pixelYToTileAddition)) / this._getMapSize(level)))) + * 180.0) + / Math.PI return latitude } @@ -123,9 +122,9 @@ class TransformClassTMS { /* * 从某一瓦片的某一像素点到经纬度 */ - pixelToLnglat(pixelX, pixelY, tileX, tileY, level) { - let lng = this._pixelXTolng(pixelX, tileX, level) - let lat = this._pixelYToLat(pixelY, tileY, level) + pixelToLnglat(pixelX: number, pixelY: number, tileX: number, tileY: number, level: number) { + const lng = this._pixelXTolng(pixelX, tileX, level) + const lat = this._pixelYToLat(pixelY, tileY, level) return { lng, diff --git a/src/transform-class-slippy.ts b/src/transform-class-slippy.ts index b8dc639..d19e951 100644 --- a/src/transform-class-slippy.ts +++ b/src/transform-class-slippy.ts @@ -1,17 +1,16 @@ /* - * Created by CntChen 2016.04.30 * 参考资料:http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames * 适用地图:高德,Google Map,OSM */ -function _Math_sinh(x) { +function _Math_sinh(x: number) { return (Math.exp(x) - Math.exp(-x)) / 2 } class TransformClassNormal { levelMax levelMin - constructor(levelRange_max, LevelRange_min) { + constructor(levelRange_max: number, LevelRange_min: number) { this.levelMax = levelRange_max this.levelMin = LevelRange_min } @@ -19,40 +18,40 @@ class TransformClassNormal { /* * 某一瓦片等级下瓦片地图X轴(Y轴)上的瓦片数目 */ - _getMapSize(level) { - return Math.pow(2, level) + _getMapSize(level: number) { + return 2 ** level } /* * 分辨率,表示水平方向上一个像素点代表的真实距离(m) */ - getResolution(latitude, level) { - let resolution = (6378137.0 * 2 * Math.PI * Math.cos(latitude)) / 256 / this._getMapSize(level) + getResolution(latitude: number, level: number) { + const resolution = (6378137.0 * 2 * Math.PI * Math.cos(latitude)) / 256 / this._getMapSize(level) return resolution } - _lngToTileX(longitude, level) { - let x = (longitude + 180) / 360 + _lngToTileX(longitude: number, level: number) { + const x = (longitude + 180) / 360 let tileX = Math.floor(x * this._getMapSize(level)) /** * 限定边界值, 解决 longitude=180 时边界值错误 * latitude 应该没问题, 因为 latitude 不会取到 90/-90 */ - tileX = Math.min(tileX, Math.pow(2, level) - 1) + tileX = Math.min(tileX, 2 ** level - 1) return tileX } - _latToTileY(latitude, level) { - let lat_rad = (latitude * Math.PI) / 180 - let y = (1 - Math.log(Math.tan(lat_rad) + 1 / Math.cos(lat_rad)) / Math.PI) / 2 - let tileY = Math.floor(y * this._getMapSize(level)) + _latToTileY(latitude: number, level: number) { + const lat_rad = (latitude * Math.PI) / 180 + const y = (1 - Math.log(Math.tan(lat_rad) + 1 / Math.cos(lat_rad)) / Math.PI) / 2 + const tileY = Math.floor(y * this._getMapSize(level)) // 代替性算法,使用了一些三角变化,其实完全等价 - //let sinLatitude = Math.sin(latitude * Math.PI / 180); - //let y = 0.5 - Math.log((1 + sinLatitude) / (1 - sinLatitude)) / (4 * Math.PI); - //let tileY = Math.floor(y * this._getMapSize(level)); + // let sinLatitude = Math.sin(latitude * Math.PI / 180); + // let y = 0.5 - Math.log((1 + sinLatitude) / (1 - sinLatitude)) / (4 * Math.PI); + // let tileY = Math.floor(y * this._getMapSize(level)); return tileY } @@ -60,9 +59,9 @@ class TransformClassNormal { /* * 从经纬度获取某一级别瓦片坐标编号 */ - lnglatToTile(longitude, latitude, level) { - let tileX = this._lngToTileX(longitude, level) - let tileY = this._latToTileY(latitude, level) + lnglatToTile(longitude: number, latitude: number, level: number) { + const tileX = this._lngToTileX(longitude, level) + const tileY = this._latToTileY(latitude, level) return { tileX, @@ -70,17 +69,17 @@ class TransformClassNormal { } } - _lngToPixelX(longitude, level) { - let x = (longitude + 180) / 360 - let pixelX = Math.floor((x * this._getMapSize(level) * 256) % 256) + _lngToPixelX(longitude: number, level: number) { + const x = (longitude + 180) / 360 + const pixelX = Math.floor((x * this._getMapSize(level) * 256) % 256) return pixelX } - _latToPixelY(latitude, level) { - let sinLatitude = Math.sin((latitude * Math.PI) / 180) - let y = 0.5 - Math.log((1 + sinLatitude) / (1 - sinLatitude)) / (4 * Math.PI) - let pixelY = Math.floor((y * this._getMapSize(level) * 256) % 256) + _latToPixelY(latitude: number, level: number) { + const sinLatitude = Math.sin((latitude * Math.PI) / 180) + const y = 0.5 - Math.log((1 + sinLatitude) / (1 - sinLatitude)) / (4 * Math.PI) + const pixelY = Math.floor((y * this._getMapSize(level) * 256) % 256) return pixelY } @@ -88,9 +87,9 @@ class TransformClassNormal { /* * 从经纬度获取点在某一级别瓦片中的像素坐标 */ - lnglatToPixel(longitude, latitude, level) { - let pixelX = this._lngToPixelX(longitude, level) - let pixelY = this._latToPixelY(latitude, level) + lnglatToPixel(longitude: number, latitude: number, level: number) { + const pixelX = this._lngToPixelX(longitude, level) + const pixelY = this._latToPixelY(latitude, level) return { pixelX, @@ -98,18 +97,18 @@ class TransformClassNormal { } } - _pixelXTolng(pixelX, tileX, level) { - let pixelXToTileAddition = pixelX / 256.0 - let lngitude = ((tileX + pixelXToTileAddition) / this._getMapSize(level)) * 360 - 180 + _pixelXTolng(pixelX: number, tileX: number, level: number) { + const pixelXToTileAddition = pixelX / 256.0 + const lngitude = ((tileX + pixelXToTileAddition) / this._getMapSize(level)) * 360 - 180 return lngitude } - _pixelYToLat(pixelY, tileY, level) { - let pixelYToTileAddition = pixelY / 256.0 - let latitude = - (Math.atan(_Math_sinh(Math.PI * (1 - (2 * (tileY + pixelYToTileAddition)) / this._getMapSize(level)))) * 180.0) / - Math.PI + _pixelYToLat(pixelY: number, tileY: number, level: number) { + const pixelYToTileAddition = pixelY / 256.0 + const latitude + = (Math.atan(_Math_sinh(Math.PI * (1 - (2 * (tileY + pixelYToTileAddition)) / this._getMapSize(level)))) * 180.0) + / Math.PI return latitude } @@ -117,9 +116,9 @@ class TransformClassNormal { /* * 从某一瓦片的某一像素点到经纬度 */ - pixelToLnglat(pixelX, pixelY, tileX, tileY, level) { - let lng = this._pixelXTolng(pixelX, tileX, level) - let lat = this._pixelYToLat(pixelY, tileY, level) + pixelToLnglat(pixelX: number, pixelY: number, tileX: number, tileY: number, level: number) { + const lng = this._pixelXTolng(pixelX, tileX, level) + const lat = this._pixelYToLat(pixelY, tileY, level) return { lng, diff --git a/tsconfig.json b/tsconfig.json index 3ae3f24..b89b419 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -9,7 +9,7 @@ "emitDeclarationOnly": true, "strict": true, "skipLibCheck": true, - "noImplicitAny": false, + "noImplicitAny": true, }, "include": ["src/**/*"], "exclude": ["node_modules", "build/**/*"] diff --git a/types/index.d.ts b/types/index.d.ts index 6676a27..294f2bb 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -1,7 +1,3 @@ -/** - * Created by CntChen 2016.04.30 - * 提供了百度地图、高德地图、谷歌地图经纬度坐标与瓦片坐标的相互转换 - */ import TransformClassSlippy from './transform-class-slippy'; import TransformClassBaidu from './transform-class-baidu'; import TransformClassTMS from './transform-class-osgeo-tms'; diff --git a/types/node-baidusdk.d.ts b/types/node-baidusdk.d.ts index 2333e2d..9c5aed4 100644 --- a/types/node-baidusdk.d.ts +++ b/types/node-baidusdk.d.ts @@ -1,15 +1,7 @@ -declare function H(a: any, b: any): void; -declare namespace H { - var TL: (a: any) => any; +interface IBMap { + Point: any; + Pixel: any; + MercatorProjection: any; } -declare function Q(a: any, b: any): void; -declare function R(): void; -declare namespace R { - var prototype: any; -} -declare let BMap: { - Point: typeof H; - Pixel: typeof Q; - MercatorProjection: typeof R; -}; +declare let BMap: IBMap; export default BMap; diff --git a/types/transform-class-baidu.d.ts b/types/transform-class-baidu.d.ts index bec6de6..84a9807 100644 --- a/types/transform-class-baidu.d.ts +++ b/types/transform-class-baidu.d.ts @@ -1,33 +1,33 @@ declare class TransformClassBaidu { - levelMax: any; - levelMin: any; + levelMax: number; + levelMin: number; projection: any; - constructor(levelRange_max: any, LevelRange_min: any); - _getRetain(level: any): number; - getResolution(latitude: any, level: any): number; - lnglatToPoint(longitude: any, latitude: any): { + constructor(levelRange_max: number, LevelRange_min: number); + _getRetain(level: number): number; + getResolution(latitude: number, level: number): number; + lnglatToPoint(longitude: number, latitude: number): { pointX: any; pointY: any; }; - pointToLnglat(pointX: any, pointY: any): { + pointToLnglat(pointX: number, pointY: number): { lng: any; lat: any; }; - _lngToTileX(longitude: any, level: any): number; - _latToTileY(latitude: any, level: any): number; - lnglatToTile(longitude: any, latitude: any, level: any): { + _lngToTileX(longitude: number, level: number): number; + _latToTileY(latitude: number, level: number): number; + lnglatToTile(longitude: number, latitude: number, level: number): { tileX: number; tileY: number; }; - _lngToPixelX(longitude: any, level: any): number; - _latToPixelY(latitude: any, level: any): number; - lnglatToPixel(longitude: any, latitude: any, level: any): { + _lngToPixelX(longitude: number, level: number): number; + _latToPixelY(latitude: number, level: number): number; + lnglatToPixel(longitude: number, latitude: number, level: number): { pixelX: number; pixelY: number; }; - _pixelXToLng(pixelX: any, tileX: any, level: any): any; - _pixelYToLat(pixelY: any, tileY: any, level: any): any; - pixelToLnglat(pixelX: any, pixelY: any, tileX: any, tileY: any, level: any): { + _pixelXToLng(pixelX: number, tileX: number, level: number): any; + _pixelYToLat(pixelY: number, tileY: number, level: number): any; + pixelToLnglat(pixelX: number, pixelY: number, tileX: number, tileY: number, level: number): { lng: any; lat: any; }; diff --git a/types/transform-class-bing.d.ts b/types/transform-class-bing.d.ts index e5a6109..8e6a81a 100644 --- a/types/transform-class-bing.d.ts +++ b/types/transform-class-bing.d.ts @@ -1,11 +1,11 @@ import TransformClassSlippy from './transform-class-slippy'; declare class TransformClassBing extends TransformClassSlippy { - constructor(levelRange_max: any, LevelRange_min: any); - lnglatToQuadkey(tileX: any, tileY: any, level: any): string; - quadkeyToLnglat(quadkey: any): { + constructor(levelRange_max: number, LevelRange_min: number); + lnglatToQuadkey(tileX: number, tileY: number, level: number): string; + quadkeyToLnglat(quadkey: string): { tileX: number; tileY: number; - level: any; + level: number; }; } export default TransformClassBing; diff --git a/types/transform-class-osgeo-tms.d.ts b/types/transform-class-osgeo-tms.d.ts index f30d79e..f22d22d 100644 --- a/types/transform-class-osgeo-tms.d.ts +++ b/types/transform-class-osgeo-tms.d.ts @@ -1,24 +1,24 @@ declare class TransformClassTMS { - levelMax: any; - levelMin: any; - constructor(levelRange_max: any, LevelRange_min: any); - _getMapSize(level: any): number; - getResolution(latitude: any, level: any): number; - _lngToTileX(longitude: any, level: any): number; - _latToTileY(latitude: any, level: any): number; - lnglatToTile(longitude: any, latitude: any, level: any): { + levelMax: number; + levelMin: number; + constructor(levelRange_max: number, LevelRange_min: number); + _getMapSize(level: number): number; + getResolution(latitude: number, level: number): number; + _lngToTileX(longitude: number, level: number): number; + _latToTileY(latitude: number, level: number): number; + lnglatToTile(longitude: number, latitude: number, level: number): { tileX: number; tileY: number; }; - _lngToPixelX(longitude: any, level: any): number; - _latToPixelY(latitude: any, level: any): number; - lnglatToPixel(longitude: any, latitude: any, level: any): { + _lngToPixelX(longitude: number, level: number): number; + _latToPixelY(latitude: number, level: number): number; + lnglatToPixel(longitude: number, latitude: number, level: number): { pixelX: number; pixelY: number; }; - _pixelXTolng(pixelX: any, tileX: any, level: any): number; - _pixelYToLat(pixelY: any, tileY: any, level: any): number; - pixelToLnglat(pixelX: any, pixelY: any, tileX: any, tileY: any, level: any): { + _pixelXTolng(pixelX: number, tileX: number, level: number): number; + _pixelYToLat(pixelY: number, tileY: number, level: number): number; + pixelToLnglat(pixelX: number, pixelY: number, tileX: number, tileY: number, level: number): { lng: number; lat: number; }; diff --git a/types/transform-class-slippy.d.ts b/types/transform-class-slippy.d.ts index 7815539..1663453 100644 --- a/types/transform-class-slippy.d.ts +++ b/types/transform-class-slippy.d.ts @@ -1,24 +1,24 @@ declare class TransformClassNormal { - levelMax: any; - levelMin: any; - constructor(levelRange_max: any, LevelRange_min: any); - _getMapSize(level: any): number; - getResolution(latitude: any, level: any): number; - _lngToTileX(longitude: any, level: any): number; - _latToTileY(latitude: any, level: any): number; - lnglatToTile(longitude: any, latitude: any, level: any): { + levelMax: number; + levelMin: number; + constructor(levelRange_max: number, LevelRange_min: number); + _getMapSize(level: number): number; + getResolution(latitude: number, level: number): number; + _lngToTileX(longitude: number, level: number): number; + _latToTileY(latitude: number, level: number): number; + lnglatToTile(longitude: number, latitude: number, level: number): { tileX: number; tileY: number; }; - _lngToPixelX(longitude: any, level: any): number; - _latToPixelY(latitude: any, level: any): number; - lnglatToPixel(longitude: any, latitude: any, level: any): { + _lngToPixelX(longitude: number, level: number): number; + _latToPixelY(latitude: number, level: number): number; + lnglatToPixel(longitude: number, latitude: number, level: number): { pixelX: number; pixelY: number; }; - _pixelXTolng(pixelX: any, tileX: any, level: any): number; - _pixelYToLat(pixelY: any, tileY: any, level: any): number; - pixelToLnglat(pixelX: any, pixelY: any, tileX: any, tileY: any, level: any): { + _pixelXTolng(pixelX: number, tileX: number, level: number): number; + _pixelYToLat(pixelY: number, tileY: number, level: number): number; + pixelToLnglat(pixelX: number, pixelY: number, tileX: number, tileY: number, level: number): { lng: number; lat: number; };