From 3a64d0c36c6e548f4bebd0be88f90d5262a7edd9 Mon Sep 17 00:00:00 2001
From: Eric Kwoka <43540491+ekwoka@users.noreply.github.com>
Date: Sun, 25 Feb 2024 18:54:47 +0400
Subject: [PATCH 1/8] :arrow_up: Upgrades Deps
---
package.json | 26 +-
pnpm-lock.yaml | 2424 +++++++++++++++++++++++++-----------------------
size.json | 4 +-
vite.config.ts | 6 +-
4 files changed, 1291 insertions(+), 1169 deletions(-)
diff --git a/package.json b/package.json
index 7595476..5347953 100644
--- a/package.json
+++ b/package.json
@@ -41,20 +41,20 @@
"test": "vitest"
},
"devDependencies": {
- "@typescript-eslint/eslint-plugin": "^5.59.1",
- "@typescript-eslint/parser": "^5.59.1",
- "@vitest/coverage-c8": "^0.30.1",
- "esbuild": "^0.17.18",
- "eslint": "^8.39.0",
+ "@types/node": "20.11.20",
+ "@typescript-eslint/eslint-plugin": "^7.0.2",
+ "@typescript-eslint/parser": "^7.0.2",
+ "esbuild": "^0.20.1",
+ "eslint": "^8.57.0",
"gzip-size": "^7.0.0",
- "husky": "^8.0.3",
- "lint-staged": "^13.2.2",
- "prettier": "^2.8.8",
- "pretty-bytes": "^6.1.0",
- "typescript": "^5.0.4",
- "vite": "^4.3.3",
- "vite-plugin-dts": "^2.3.0",
- "vitest": "^0.30.1"
+ "husky": "^9.0.11",
+ "lint-staged": "^15.2.2",
+ "prettier": "^3.2.5",
+ "pretty-bytes": "^6.1.1",
+ "typescript": "^5.3.3",
+ "vite": "^5.1.4",
+ "vite-plugin-dts": "^3.7.3",
+ "vitest": "^1.3.1"
},
"prettier": {
"singleQuote": true,
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 008a58d..8e53917 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,100 +1,129 @@
-lockfileVersion: '6.0'
+lockfileVersion: '7.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
devDependencies:
+ '@types/node':
+ specifier: 20.11.20
+ version: 20.11.20
'@typescript-eslint/eslint-plugin':
- specifier: ^5.59.1
- version: 5.59.1(@typescript-eslint/parser@5.59.1)(eslint@8.39.0)(typescript@5.0.4)
+ specifier: ^7.0.2
+ version: 7.0.2(@typescript-eslint/parser@7.0.2(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(typescript@5.3.3)
'@typescript-eslint/parser':
- specifier: ^5.59.1
- version: 5.59.1(eslint@8.39.0)(typescript@5.0.4)
- '@vitest/coverage-c8':
- specifier: ^0.30.1
- version: 0.30.1(vitest@0.30.1)
+ specifier: ^7.0.2
+ version: 7.0.2(eslint@8.57.0)(typescript@5.3.3)
esbuild:
- specifier: ^0.17.18
- version: 0.17.18
+ specifier: ^0.20.1
+ version: 0.20.1
eslint:
- specifier: ^8.39.0
- version: 8.39.0
+ specifier: ^8.57.0
+ version: 8.57.0
gzip-size:
specifier: ^7.0.0
version: 7.0.0
husky:
- specifier: ^8.0.3
- version: 8.0.3
+ specifier: ^9.0.11
+ version: 9.0.11
lint-staged:
- specifier: ^13.2.2
- version: 13.2.2
+ specifier: ^15.2.2
+ version: 15.2.2
prettier:
- specifier: ^2.8.8
- version: 2.8.8
+ specifier: ^3.2.5
+ version: 3.2.5
pretty-bytes:
- specifier: ^6.1.0
- version: 6.1.0
+ specifier: ^6.1.1
+ version: 6.1.1
typescript:
- specifier: ^5.0.4
- version: 5.0.4
+ specifier: ^5.3.3
+ version: 5.3.3
vite:
- specifier: ^4.3.3
- version: 4.3.3(@types/node@18.11.18)
+ specifier: ^5.1.4
+ version: 5.1.4(@types/node@20.11.20)
vite-plugin-dts:
- specifier: ^2.3.0
- version: 2.3.0(vite@4.3.3)
+ specifier: ^3.7.3
+ version: 3.7.3(@types/node@20.11.20)(typescript@5.3.3)(vite@5.1.4(@types/node@20.11.20))
vitest:
- specifier: ^0.30.1
- version: 0.30.1
+ specifier: ^1.3.1
+ version: 1.3.1(@types/node@20.11.20)
packages:
- /@babel/helper-string-parser@7.21.5:
+ /@aashutoshrathi/word-wrap@1.2.6:
+ resolution:
+ {
+ integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==,
+ }
+ engines: { node: '>=0.10.0' }
+ dev: true
+
+ /@babel/helper-string-parser@7.23.4:
resolution:
{
- integrity: sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==,
+ integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==,
}
engines: { node: '>=6.9.0' }
dev: true
- /@babel/helper-validator-identifier@7.19.1:
+ /@babel/helper-validator-identifier@7.22.20:
resolution:
{
- integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==,
+ integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==,
}
engines: { node: '>=6.9.0' }
dev: true
- /@babel/parser@7.21.5:
+ /@babel/parser@7.23.9:
resolution:
{
- integrity: sha512-J+IxH2IsxV4HbnTrSWgMAQj0UEo61hDA4Ny8h8PCX0MLXiibqHbqIOVneqdocemSBc22VpBKxt4J6FQzy9HarQ==,
+ integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==,
}
engines: { node: '>=6.0.0' }
hasBin: true
dependencies:
- '@babel/types': 7.21.5
+ '@babel/types': 7.23.9
dev: true
- /@babel/types@7.21.5:
+ /@babel/types@7.23.9:
resolution:
{
- integrity: sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==,
+ integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==,
}
engines: { node: '>=6.9.0' }
dependencies:
- '@babel/helper-string-parser': 7.21.5
- '@babel/helper-validator-identifier': 7.19.1
+ '@babel/helper-string-parser': 7.23.4
+ '@babel/helper-validator-identifier': 7.22.20
to-fast-properties: 2.0.0
dev: true
- /@bcoe/v8-coverage@0.2.3:
+ /@esbuild/aix-ppc64@0.19.12:
+ resolution:
+ {
+ integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==,
+ }
+ engines: { node: '>=12' }
+ cpu: [ppc64]
+ os: [aix]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/aix-ppc64@0.20.1:
resolution:
{
- integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==,
+ integrity: sha512-m55cpeupQ2DbuRGQMMZDzbv9J9PgVelPjlcmM5kxHnrBdBx6REaEd7LamYV7Dm8N7rCyR/XwU6rVP8ploKtIkA==,
}
+ engines: { node: '>=12' }
+ cpu: [ppc64]
+ os: [aix]
+ requiresBuild: true
dev: true
+ optional: true
- /@esbuild/android-arm64@0.17.18:
+ /@esbuild/android-arm64@0.19.12:
resolution:
{
- integrity: sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw==,
+ integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==,
}
engines: { node: '>=12' }
cpu: [arm64]
@@ -103,10 +132,22 @@ packages:
dev: true
optional: true
- /@esbuild/android-arm@0.17.18:
+ /@esbuild/android-arm64@0.20.1:
resolution:
{
- integrity: sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw==,
+ integrity: sha512-hCnXNF0HM6AjowP+Zou0ZJMWWa1VkD77BXe959zERgGJBBxB+sV+J9f/rcjeg2c5bsukD/n17RKWXGFCO5dD5A==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-arm@0.19.12:
+ resolution:
+ {
+ integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==,
}
engines: { node: '>=12' }
cpu: [arm]
@@ -115,10 +156,22 @@ packages:
dev: true
optional: true
- /@esbuild/android-x64@0.17.18:
+ /@esbuild/android-arm@0.20.1:
resolution:
{
- integrity: sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg==,
+ integrity: sha512-4j0+G27/2ZXGWR5okcJi7pQYhmkVgb4D7UKwxcqrjhvp5TKWx3cUjgB1CGj1mfdmJBQ9VnUGgUhign+FPF2Zgw==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-x64@0.19.12:
+ resolution:
+ {
+ integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==,
}
engines: { node: '>=12' }
cpu: [x64]
@@ -127,10 +180,22 @@ packages:
dev: true
optional: true
- /@esbuild/darwin-arm64@0.17.18:
+ /@esbuild/android-x64@0.20.1:
resolution:
{
- integrity: sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ==,
+ integrity: sha512-MSfZMBoAsnhpS+2yMFYIQUPs8Z19ajwfuaSZx+tSl09xrHZCjbeXXMsUF/0oq7ojxYEpsSo4c0SfjxOYXRbpaA==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-arm64@0.19.12:
+ resolution:
+ {
+ integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==,
}
engines: { node: '>=12' }
cpu: [arm64]
@@ -139,10 +204,34 @@ packages:
dev: true
optional: true
- /@esbuild/darwin-x64@0.17.18:
+ /@esbuild/darwin-arm64@0.20.1:
+ resolution:
+ {
+ integrity: sha512-Ylk6rzgMD8klUklGPzS414UQLa5NPXZD5tf8JmQU8GQrj6BrFA/Ic9tb2zRe1kOZyCbGl+e8VMbDRazCEBqPvA==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-x64@0.19.12:
+ resolution:
+ {
+ integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-x64@0.20.1:
resolution:
{
- integrity: sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A==,
+ integrity: sha512-pFIfj7U2w5sMp52wTY1XVOdoxw+GDwy9FsK3OFz4BpMAjvZVs0dT1VXs8aQm22nhwoIWUmIRaE+4xow8xfIDZA==,
}
engines: { node: '>=12' }
cpu: [x64]
@@ -151,10 +240,10 @@ packages:
dev: true
optional: true
- /@esbuild/freebsd-arm64@0.17.18:
+ /@esbuild/freebsd-arm64@0.19.12:
resolution:
{
- integrity: sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA==,
+ integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==,
}
engines: { node: '>=12' }
cpu: [arm64]
@@ -163,10 +252,22 @@ packages:
dev: true
optional: true
- /@esbuild/freebsd-x64@0.17.18:
+ /@esbuild/freebsd-arm64@0.20.1:
resolution:
{
- integrity: sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew==,
+ integrity: sha512-UyW1WZvHDuM4xDz0jWun4qtQFauNdXjXOtIy7SYdf7pbxSWWVlqhnR/T2TpX6LX5NI62spt0a3ldIIEkPM6RHw==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-x64@0.19.12:
+ resolution:
+ {
+ integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==,
}
engines: { node: '>=12' }
cpu: [x64]
@@ -175,10 +276,34 @@ packages:
dev: true
optional: true
- /@esbuild/linux-arm64@0.17.18:
+ /@esbuild/freebsd-x64@0.20.1:
+ resolution:
+ {
+ integrity: sha512-itPwCw5C+Jh/c624vcDd9kRCCZVpzpQn8dtwoYIt2TJF3S9xJLiRohnnNrKwREvcZYx0n8sCSbvGH349XkcQeg==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm64@0.19.12:
+ resolution:
+ {
+ integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm64@0.20.1:
resolution:
{
- integrity: sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ==,
+ integrity: sha512-cX8WdlF6Cnvw/DO9/X7XLH2J6CkBnz7Twjpk56cshk9sjYVcuh4sXQBy5bmTwzBjNVZze2yaV1vtcJS04LbN8w==,
}
engines: { node: '>=12' }
cpu: [arm64]
@@ -187,10 +312,22 @@ packages:
dev: true
optional: true
- /@esbuild/linux-arm@0.17.18:
+ /@esbuild/linux-arm@0.19.12:
+ resolution:
+ {
+ integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm@0.20.1:
resolution:
{
- integrity: sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg==,
+ integrity: sha512-LojC28v3+IhIbfQ+Vu4Ut5n3wKcgTu6POKIHN9Wpt0HnfgUGlBuyDDQR4jWZUZFyYLiz4RBBBmfU6sNfn6RhLw==,
}
engines: { node: '>=12' }
cpu: [arm]
@@ -199,10 +336,10 @@ packages:
dev: true
optional: true
- /@esbuild/linux-ia32@0.17.18:
+ /@esbuild/linux-ia32@0.19.12:
resolution:
{
- integrity: sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ==,
+ integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==,
}
engines: { node: '>=12' }
cpu: [ia32]
@@ -211,10 +348,22 @@ packages:
dev: true
optional: true
- /@esbuild/linux-loong64@0.17.18:
+ /@esbuild/linux-ia32@0.20.1:
resolution:
{
- integrity: sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ==,
+ integrity: sha512-4H/sQCy1mnnGkUt/xszaLlYJVTz3W9ep52xEefGtd6yXDQbz/5fZE5dFLUgsPdbUOQANcVUa5iO6g3nyy5BJiw==,
+ }
+ engines: { node: '>=12' }
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-loong64@0.19.12:
+ resolution:
+ {
+ integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==,
}
engines: { node: '>=12' }
cpu: [loong64]
@@ -223,10 +372,34 @@ packages:
dev: true
optional: true
- /@esbuild/linux-mips64el@0.17.18:
+ /@esbuild/linux-loong64@0.20.1:
+ resolution:
+ {
+ integrity: sha512-c0jgtB+sRHCciVXlyjDcWb2FUuzlGVRwGXgI+3WqKOIuoo8AmZAddzeOHeYLtD+dmtHw3B4Xo9wAUdjlfW5yYA==,
+ }
+ engines: { node: '>=12' }
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-mips64el@0.19.12:
+ resolution:
+ {
+ integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==,
+ }
+ engines: { node: '>=12' }
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-mips64el@0.20.1:
resolution:
{
- integrity: sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA==,
+ integrity: sha512-TgFyCfIxSujyuqdZKDZ3yTwWiGv+KnlOeXXitCQ+trDODJ+ZtGOzLkSWngynP0HZnTsDyBbPy7GWVXWaEl6lhA==,
}
engines: { node: '>=12' }
cpu: [mips64el]
@@ -235,10 +408,10 @@ packages:
dev: true
optional: true
- /@esbuild/linux-ppc64@0.17.18:
+ /@esbuild/linux-ppc64@0.19.12:
resolution:
{
- integrity: sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ==,
+ integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==,
}
engines: { node: '>=12' }
cpu: [ppc64]
@@ -247,10 +420,22 @@ packages:
dev: true
optional: true
- /@esbuild/linux-riscv64@0.17.18:
+ /@esbuild/linux-ppc64@0.20.1:
resolution:
{
- integrity: sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA==,
+ integrity: sha512-b+yuD1IUeL+Y93PmFZDZFIElwbmFfIKLKlYI8M6tRyzE6u7oEP7onGk0vZRh8wfVGC2dZoy0EqX1V8qok4qHaw==,
+ }
+ engines: { node: '>=12' }
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-riscv64@0.19.12:
+ resolution:
+ {
+ integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==,
}
engines: { node: '>=12' }
cpu: [riscv64]
@@ -259,10 +444,34 @@ packages:
dev: true
optional: true
- /@esbuild/linux-s390x@0.17.18:
+ /@esbuild/linux-riscv64@0.20.1:
+ resolution:
+ {
+ integrity: sha512-wpDlpE0oRKZwX+GfomcALcouqjjV8MIX8DyTrxfyCfXxoKQSDm45CZr9fanJ4F6ckD4yDEPT98SrjvLwIqUCgg==,
+ }
+ engines: { node: '>=12' }
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-s390x@0.19.12:
+ resolution:
+ {
+ integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==,
+ }
+ engines: { node: '>=12' }
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-s390x@0.20.1:
resolution:
{
- integrity: sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw==,
+ integrity: sha512-5BepC2Au80EohQ2dBpyTquqGCES7++p7G+7lXe1bAIvMdXm4YYcEfZtQrP4gaoZ96Wv1Ute61CEHFU7h4FMueQ==,
}
engines: { node: '>=12' }
cpu: [s390x]
@@ -271,10 +480,10 @@ packages:
dev: true
optional: true
- /@esbuild/linux-x64@0.17.18:
+ /@esbuild/linux-x64@0.19.12:
resolution:
{
- integrity: sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA==,
+ integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==,
}
engines: { node: '>=12' }
cpu: [x64]
@@ -283,10 +492,34 @@ packages:
dev: true
optional: true
- /@esbuild/netbsd-x64@0.17.18:
+ /@esbuild/linux-x64@0.20.1:
+ resolution:
+ {
+ integrity: sha512-5gRPk7pKuaIB+tmH+yKd2aQTRpqlf1E4f/mC+tawIm/CGJemZcHZpp2ic8oD83nKgUPMEd0fNanrnFljiruuyA==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/netbsd-x64@0.19.12:
+ resolution:
+ {
+ integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/netbsd-x64@0.20.1:
resolution:
{
- integrity: sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg==,
+ integrity: sha512-4fL68JdrLV2nVW2AaWZBv3XEm3Ae3NZn/7qy2KGAt3dexAgSVT+Hc97JKSZnqezgMlv9x6KV0ZkZY7UO5cNLCg==,
}
engines: { node: '>=12' }
cpu: [x64]
@@ -295,10 +528,22 @@ packages:
dev: true
optional: true
- /@esbuild/openbsd-x64@0.17.18:
+ /@esbuild/openbsd-x64@0.19.12:
+ resolution:
+ {
+ integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/openbsd-x64@0.20.1:
resolution:
{
- integrity: sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA==,
+ integrity: sha512-GhRuXlvRE+twf2ES+8REbeCb/zeikNqwD3+6S5y5/x+DYbAQUNl0HNBs4RQJqrechS4v4MruEr8ZtAin/hK5iw==,
}
engines: { node: '>=12' }
cpu: [x64]
@@ -307,10 +552,22 @@ packages:
dev: true
optional: true
- /@esbuild/sunos-x64@0.17.18:
+ /@esbuild/sunos-x64@0.19.12:
+ resolution:
+ {
+ integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/sunos-x64@0.20.1:
resolution:
{
- integrity: sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg==,
+ integrity: sha512-ZnWEyCM0G1Ex6JtsygvC3KUUrlDXqOihw8RicRuQAzw+c4f1D66YlPNNV3rkjVW90zXVsHwZYWbJh3v+oQFM9Q==,
}
engines: { node: '>=12' }
cpu: [x64]
@@ -319,10 +576,10 @@ packages:
dev: true
optional: true
- /@esbuild/win32-arm64@0.17.18:
+ /@esbuild/win32-arm64@0.19.12:
resolution:
{
- integrity: sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg==,
+ integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==,
}
engines: { node: '>=12' }
cpu: [arm64]
@@ -331,10 +588,22 @@ packages:
dev: true
optional: true
- /@esbuild/win32-ia32@0.17.18:
+ /@esbuild/win32-arm64@0.20.1:
resolution:
{
- integrity: sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw==,
+ integrity: sha512-QZ6gXue0vVQY2Oon9WyLFCdSuYbXSoxaZrPuJ4c20j6ICedfsDilNPYfHLlMH7vGfU5DQR0czHLmJvH4Nzis/A==,
+ }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-ia32@0.19.12:
+ resolution:
+ {
+ integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==,
}
engines: { node: '>=12' }
cpu: [ia32]
@@ -343,10 +612,22 @@ packages:
dev: true
optional: true
- /@esbuild/win32-x64@0.17.18:
+ /@esbuild/win32-ia32@0.20.1:
resolution:
{
- integrity: sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==,
+ integrity: sha512-HzcJa1NcSWTAU0MJIxOho8JftNp9YALui3o+Ny7hCh0v5f90nprly1U3Sj1Ldj/CvKKdvvFsCRvDkpsEMp4DNw==,
+ }
+ engines: { node: '>=12' }
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-x64@0.19.12:
+ resolution:
+ {
+ integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==,
}
engines: { node: '>=12' }
cpu: [x64]
@@ -355,7 +636,19 @@ packages:
dev: true
optional: true
- /@eslint-community/eslint-utils@4.4.0(eslint@8.39.0):
+ /@esbuild/win32-x64@0.20.1:
+ resolution:
+ {
+ integrity: sha512-0MBh53o6XtI6ctDnRMeQ+xoCN8kD2qI1rY1KgF/xdWQwoFeKou7puvDfV8/Wv4Ctx2rRpET/gGdz3YlNtNACSA==,
+ }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0):
resolution:
{
integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==,
@@ -364,30 +657,30 @@ packages:
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
dependencies:
- eslint: 8.39.0
- eslint-visitor-keys: 3.4.0
+ eslint: 8.57.0
+ eslint-visitor-keys: 3.4.3
dev: true
- /@eslint-community/regexpp@4.5.0:
+ /@eslint-community/regexpp@4.10.0:
resolution:
{
- integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==,
+ integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==,
}
engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 }
dev: true
- /@eslint/eslintrc@2.0.2:
+ /@eslint/eslintrc@2.1.4:
resolution:
{
- integrity: sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==,
+ integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==,
}
engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
dependencies:
ajv: 6.12.6
debug: 4.3.4
- espree: 9.5.1
- globals: 13.20.0
- ignore: 5.2.4
+ espree: 9.6.1
+ globals: 13.24.0
+ ignore: 5.3.1
import-fresh: 3.3.0
js-yaml: 4.1.0
minimatch: 3.1.2
@@ -396,22 +689,22 @@ packages:
- supports-color
dev: true
- /@eslint/js@8.39.0:
+ /@eslint/js@8.57.0:
resolution:
{
- integrity: sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==,
+ integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==,
}
engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
dev: true
- /@humanwhocodes/config-array@0.11.8:
+ /@humanwhocodes/config-array@0.11.14:
resolution:
{
- integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==,
+ integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==,
}
engines: { node: '>=10.10.0' }
dependencies:
- '@humanwhocodes/object-schema': 1.2.1
+ '@humanwhocodes/object-schema': 2.0.2
debug: 4.3.4
minimatch: 3.1.2
transitivePeerDependencies:
@@ -426,78 +719,62 @@ packages:
engines: { node: '>=12.22' }
dev: true
- /@humanwhocodes/object-schema@1.2.1:
+ /@humanwhocodes/object-schema@2.0.2:
resolution:
{
- integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==,
+ integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==,
}
dev: true
- /@istanbuljs/schema@0.1.3:
+ /@jest/schemas@29.6.3:
resolution:
{
- integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==,
- }
- engines: { node: '>=8' }
- dev: true
-
- /@jridgewell/resolve-uri@3.1.0:
- resolution:
- {
- integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==,
- }
- engines: { node: '>=6.0.0' }
- dev: true
-
- /@jridgewell/sourcemap-codec@1.4.14:
- resolution:
- {
- integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==,
+ integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==,
}
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+ dependencies:
+ '@sinclair/typebox': 0.27.8
dev: true
- /@jridgewell/trace-mapping@0.3.17:
+ /@jridgewell/sourcemap-codec@1.4.15:
resolution:
{
- integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==,
+ integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==,
}
- dependencies:
- '@jridgewell/resolve-uri': 3.1.0
- '@jridgewell/sourcemap-codec': 1.4.14
dev: true
- /@microsoft/api-extractor-model@7.26.6:
+ /@microsoft/api-extractor-model@7.28.3(@types/node@20.11.20):
resolution:
{
- integrity: sha512-vacINIUTAwtN6W2fMbO/JORR8sVfq+DxS++ewSeqy0AM9a55IgMXC04p31IB3vShaFnozcjHLxTOD/eWom0dXA==,
+ integrity: sha512-wT/kB2oDbdZXITyDh2SQLzaWwTOFbV326fP0pUwNW00WeliARs0qjmXBWmGWardEzp2U3/axkO3Lboqun6vrig==,
}
dependencies:
'@microsoft/tsdoc': 0.14.2
'@microsoft/tsdoc-config': 0.16.2
- '@rushstack/node-core-library': 3.57.0
+ '@rushstack/node-core-library': 3.62.0(@types/node@20.11.20)
transitivePeerDependencies:
- '@types/node'
dev: true
- /@microsoft/api-extractor@7.34.6:
+ /@microsoft/api-extractor@7.39.0(@types/node@20.11.20):
resolution:
{
- integrity: sha512-TBbJZjUSt4vWjBchnkfmHwmQlwhMfavXIGbuSzN3QJV5n1oqKY+RtkYMEmLtW01OAJ6QsWFVx4tLHHsh608YQw==,
+ integrity: sha512-PuXxzadgnvp+wdeZFPonssRAj/EW4Gm4s75TXzPk09h3wJ8RS3x7typf95B4vwZRrPTQBGopdUl+/vHvlPdAcg==,
}
hasBin: true
dependencies:
- '@microsoft/api-extractor-model': 7.26.6
+ '@microsoft/api-extractor-model': 7.28.3(@types/node@20.11.20)
'@microsoft/tsdoc': 0.14.2
'@microsoft/tsdoc-config': 0.16.2
- '@rushstack/node-core-library': 3.57.0
- '@rushstack/rig-package': 0.3.18
- '@rushstack/ts-command-line': 4.13.2
+ '@rushstack/node-core-library': 3.62.0(@types/node@20.11.20)
+ '@rushstack/rig-package': 0.5.1
+ '@rushstack/ts-command-line': 4.17.1
colors: 1.2.5
lodash: 4.17.21
- resolve: 1.22.1
- semver: 7.3.8
+ resolve: 1.22.8
+ semver: 7.5.4
source-map: 0.6.1
- typescript: 4.8.4
+ typescript: 5.3.3
transitivePeerDependencies:
- '@types/node'
dev: true
@@ -532,46 +809,189 @@ packages:
run-parallel: 1.2.0
dev: true
- /@nodelib/fs.stat@2.0.5:
+ /@nodelib/fs.stat@2.0.5:
+ resolution:
+ {
+ integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==,
+ }
+ engines: { node: '>= 8' }
+ dev: true
+
+ /@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.17.1
+ dev: true
+
+ /@rollup/pluginutils@5.1.0:
+ resolution:
+ {
+ integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==,
+ }
+ engines: { node: '>=14.0.0' }
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@types/estree': 1.0.5
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ dev: true
+
+ /@rollup/rollup-android-arm-eabi@4.12.0:
+ resolution:
+ {
+ integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==,
+ }
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-android-arm64@4.12.0:
+ resolution:
+ {
+ integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==,
+ }
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-darwin-arm64@4.12.0:
+ resolution:
+ {
+ integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==,
+ }
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-darwin-x64@4.12.0:
+ resolution:
+ {
+ integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==,
+ }
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm-gnueabihf@4.12.0:
+ resolution:
+ {
+ integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==,
+ }
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm64-gnu@4.12.0:
+ resolution:
+ {
+ integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==,
+ }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm64-musl@4.12.0:
+ resolution:
+ {
+ integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==,
+ }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-riscv64-gnu@4.12.0:
+ resolution:
+ {
+ integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==,
+ }
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-x64-gnu@4.12.0:
+ resolution:
+ {
+ integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==,
+ }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-x64-musl@4.12.0:
+ resolution:
+ {
+ integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==,
+ }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-win32-arm64-msvc@4.12.0:
resolution:
{
- integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==,
+ integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==,
}
- engines: { node: '>= 8' }
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
dev: true
+ optional: true
- /@nodelib/fs.walk@1.2.8:
+ /@rollup/rollup-win32-ia32-msvc@4.12.0:
resolution:
{
- integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==,
+ integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==,
}
- engines: { node: '>= 8' }
- dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.15.0
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
dev: true
+ optional: true
- /@rollup/pluginutils@5.0.2:
+ /@rollup/rollup-win32-x64-msvc@4.12.0:
resolution:
{
- integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==,
+ integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==,
}
- engines: { node: '>=14.0.0' }
- peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
- dependencies:
- '@types/estree': 1.0.0
- estree-walker: 2.0.2
- picomatch: 2.3.1
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
dev: true
+ optional: true
- /@rushstack/node-core-library@3.57.0:
+ /@rushstack/node-core-library@3.62.0(@types/node@20.11.20):
resolution:
{
- integrity: sha512-uR5I9vLJuknliZXDDqW7nBtiKSO0fYOnvNEUNPQ84rmFYbvDWQGTDx7MREMVGXhfEN5J50xzAtGTPC9xdbia6g==,
+ integrity: sha512-88aJn2h8UpSvdwuDXBv1/v1heM6GnBf3RjEy6ZPP7UnzHNCqOHA2Ut+ScYUbXcqIdfew9JlTAe3g+cnX9xQ/Aw==,
}
peerDependencies:
'@types/node': '*'
@@ -579,47 +999,43 @@ packages:
'@types/node':
optional: true
dependencies:
+ '@types/node': 20.11.20
colors: 1.2.5
fs-extra: 7.0.1
import-lazy: 4.0.0
jju: 1.4.0
- resolve: 1.22.1
- semver: 7.3.8
+ resolve: 1.22.8
+ semver: 7.5.4
z-schema: 5.0.5
dev: true
- /@rushstack/rig-package@0.3.18:
+ /@rushstack/rig-package@0.5.1:
resolution:
{
- integrity: sha512-SGEwNTwNq9bI3pkdd01yCaH+gAsHqs0uxfGvtw9b0LJXH52qooWXnrFTRRLG1aL9pf+M2CARdrA9HLHJys3jiQ==,
+ integrity: sha512-pXRYSe29TjRw7rqxD4WS3HN/sRSbfr+tJs4a9uuaSIBAITbUggygdhuG0VrO0EO+QqH91GhYMN4S6KRtOEmGVA==,
}
dependencies:
- resolve: 1.22.1
+ resolve: 1.22.8
strip-json-comments: 3.1.1
dev: true
- /@rushstack/ts-command-line@4.13.2:
+ /@rushstack/ts-command-line@4.17.1:
resolution:
{
- integrity: sha512-bCU8qoL9HyWiciltfzg7GqdfODUeda/JpI0602kbN5YH22rzTxyqYvv7aRLENCM7XCQ1VRs7nMkEqgJUOU8Sag==,
+ integrity: sha512-2jweO1O57BYP5qdBGl6apJLB+aRIn5ccIRTPDyULh0KMwVzFqWtw6IZWt1qtUoZD/pD2RNkIOosH6Cq45rIYeg==,
}
dependencies:
'@types/argparse': 1.0.38
argparse: 1.0.10
colors: 1.2.5
- string-argv: 0.3.1
+ string-argv: 0.3.2
dev: true
- /@ts-morph/common@0.19.0:
+ /@sinclair/typebox@0.27.8:
resolution:
{
- integrity: sha512-Unz/WHmd4pGax91rdIKWi51wnVUW11QttMEPpBiBgIewnc9UQIX7UDLxr5vRlqeByXCwhkF6VabSsI0raWcyAQ==,
+ integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==,
}
- dependencies:
- fast-glob: 3.2.12
- minimatch: 7.4.6
- mkdirp: 2.1.6
- path-browserify: 1.0.1
dev: true
/@types/argparse@1.0.38:
@@ -629,316 +1045,360 @@ packages:
}
dev: true
- /@types/chai-subset@1.3.3:
- resolution:
- {
- integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==,
- }
- dependencies:
- '@types/chai': 4.3.4
- dev: true
-
- /@types/chai@4.3.4:
- resolution:
- {
- integrity: sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==,
- }
- dev: true
-
- /@types/estree@1.0.0:
- resolution:
- {
- integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==,
- }
- dev: true
-
- /@types/istanbul-lib-coverage@2.0.4:
+ /@types/estree@1.0.5:
resolution:
{
- integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==,
+ integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==,
}
dev: true
- /@types/json-schema@7.0.11:
+ /@types/json-schema@7.0.15:
resolution:
{
- integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==,
+ integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==,
}
dev: true
- /@types/node@18.11.18:
+ /@types/node@20.11.20:
resolution:
{
- integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==,
+ integrity: sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==,
}
+ dependencies:
+ undici-types: 5.26.5
dev: true
- /@types/semver@7.3.13:
+ /@types/semver@7.5.8:
resolution:
{
- integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==,
+ integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==,
}
dev: true
- /@typescript-eslint/eslint-plugin@5.59.1(@typescript-eslint/parser@5.59.1)(eslint@8.39.0)(typescript@5.0.4):
+ /@typescript-eslint/eslint-plugin@7.0.2(@typescript-eslint/parser@7.0.2(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(typescript@5.3.3):
resolution:
{
- integrity: sha512-AVi0uazY5quFB9hlp2Xv+ogpfpk77xzsgsIEWyVS7uK/c7MZ5tw7ZPbapa0SbfkqE0fsAMkz5UwtgMLVk2BQAg==,
+ integrity: sha512-/XtVZJtbaphtdrWjr+CJclaCVGPtOdBpFEnvtNf/jRV0IiEemRrL0qABex/nEt8isYcnFacm3nPHYQwL+Wb7qg==,
}
- engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ engines: { node: ^16.0.0 || >=18.0.0 }
peerDependencies:
- '@typescript-eslint/parser': ^5.0.0
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ '@typescript-eslint/parser': ^7.0.0
+ eslint: ^8.56.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
- '@eslint-community/regexpp': 4.5.0
- '@typescript-eslint/parser': 5.59.1(eslint@8.39.0)(typescript@5.0.4)
- '@typescript-eslint/scope-manager': 5.59.1
- '@typescript-eslint/type-utils': 5.59.1(eslint@8.39.0)(typescript@5.0.4)
- '@typescript-eslint/utils': 5.59.1(eslint@8.39.0)(typescript@5.0.4)
+ '@eslint-community/regexpp': 4.10.0
+ '@typescript-eslint/parser': 7.0.2(eslint@8.57.0)(typescript@5.3.3)
+ '@typescript-eslint/scope-manager': 7.0.2
+ '@typescript-eslint/type-utils': 7.0.2(eslint@8.57.0)(typescript@5.3.3)
+ '@typescript-eslint/utils': 7.0.2(eslint@8.57.0)(typescript@5.3.3)
+ '@typescript-eslint/visitor-keys': 7.0.2
debug: 4.3.4
- eslint: 8.39.0
- grapheme-splitter: 1.0.4
- ignore: 5.2.4
- natural-compare-lite: 1.4.0
- semver: 7.3.8
- tsutils: 3.21.0(typescript@5.0.4)
- typescript: 5.0.4
+ eslint: 8.57.0
+ graphemer: 1.4.0
+ ignore: 5.3.1
+ natural-compare: 1.4.0
+ semver: 7.6.0
+ ts-api-utils: 1.2.1(typescript@5.3.3)
+ typescript: 5.3.3
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/parser@5.59.1(eslint@8.39.0)(typescript@5.0.4):
+ /@typescript-eslint/parser@7.0.2(eslint@8.57.0)(typescript@5.3.3):
resolution:
{
- integrity: sha512-nzjFAN8WEu6yPRDizIFyzAfgK7nybPodMNFGNH0M9tei2gYnYszRDqVA0xlnRjkl7Hkx2vYrEdb6fP2a21cG1g==,
+ integrity: sha512-GdwfDglCxSmU+QTS9vhz2Sop46ebNCXpPPvsByK7hu0rFGRHL+AusKQJ7SoN+LbLh6APFpQwHKmDSwN35Z700Q==,
}
- engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ engines: { node: ^16.0.0 || >=18.0.0 }
peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ eslint: ^8.56.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
- '@typescript-eslint/scope-manager': 5.59.1
- '@typescript-eslint/types': 5.59.1
- '@typescript-eslint/typescript-estree': 5.59.1(typescript@5.0.4)
+ '@typescript-eslint/scope-manager': 7.0.2
+ '@typescript-eslint/types': 7.0.2
+ '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.3.3)
+ '@typescript-eslint/visitor-keys': 7.0.2
debug: 4.3.4
- eslint: 8.39.0
- typescript: 5.0.4
+ eslint: 8.57.0
+ typescript: 5.3.3
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/scope-manager@5.59.1:
+ /@typescript-eslint/scope-manager@7.0.2:
resolution:
{
- integrity: sha512-mau0waO5frJctPuAzcxiNWqJR5Z8V0190FTSqRw1Q4Euop6+zTwHAf8YIXNwDOT29tyUDrQ65jSg9aTU/H0omA==,
+ integrity: sha512-l6sa2jF3h+qgN2qUMjVR3uCNGjWw4ahGfzIYsCtFrQJCjhbrDPdiihYT8FnnqFwsWX+20hK592yX9I2rxKTP4g==,
}
- engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ engines: { node: ^16.0.0 || >=18.0.0 }
dependencies:
- '@typescript-eslint/types': 5.59.1
- '@typescript-eslint/visitor-keys': 5.59.1
+ '@typescript-eslint/types': 7.0.2
+ '@typescript-eslint/visitor-keys': 7.0.2
dev: true
- /@typescript-eslint/type-utils@5.59.1(eslint@8.39.0)(typescript@5.0.4):
+ /@typescript-eslint/type-utils@7.0.2(eslint@8.57.0)(typescript@5.3.3):
resolution:
{
- integrity: sha512-ZMWQ+Oh82jWqWzvM3xU+9y5U7MEMVv6GLioM3R5NJk6uvP47kZ7YvlgSHJ7ERD6bOY7Q4uxWm25c76HKEwIjZw==,
+ integrity: sha512-IKKDcFsKAYlk8Rs4wiFfEwJTQlHcdn8CLwLaxwd6zb8HNiMcQIFX9sWax2k4Cjj7l7mGS5N1zl7RCHOVwHq2VQ==,
}
- engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ engines: { node: ^16.0.0 || >=18.0.0 }
peerDependencies:
- eslint: '*'
+ eslint: ^8.56.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
- '@typescript-eslint/typescript-estree': 5.59.1(typescript@5.0.4)
- '@typescript-eslint/utils': 5.59.1(eslint@8.39.0)(typescript@5.0.4)
+ '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.3.3)
+ '@typescript-eslint/utils': 7.0.2(eslint@8.57.0)(typescript@5.3.3)
debug: 4.3.4
- eslint: 8.39.0
- tsutils: 3.21.0(typescript@5.0.4)
- typescript: 5.0.4
+ eslint: 8.57.0
+ ts-api-utils: 1.2.1(typescript@5.3.3)
+ typescript: 5.3.3
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/types@5.59.1:
+ /@typescript-eslint/types@7.0.2:
resolution:
{
- integrity: sha512-dg0ICB+RZwHlysIy/Dh1SP+gnXNzwd/KS0JprD3Lmgmdq+dJAJnUPe1gNG34p0U19HvRlGX733d/KqscrGC1Pg==,
+ integrity: sha512-ZzcCQHj4JaXFjdOql6adYV4B/oFOFjPOC9XYwCaZFRvqN8Llfvv4gSxrkQkd2u4Ci62i2c6W6gkDwQJDaRc4nA==,
}
- engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ engines: { node: ^16.0.0 || >=18.0.0 }
dev: true
- /@typescript-eslint/typescript-estree@5.59.1(typescript@5.0.4):
+ /@typescript-eslint/typescript-estree@7.0.2(typescript@5.3.3):
resolution:
{
- integrity: sha512-lYLBBOCsFltFy7XVqzX0Ju+Lh3WPIAWxYpmH/Q7ZoqzbscLiCW00LeYCdsUnnfnj29/s1WovXKh2gwCoinHNGA==,
+ integrity: sha512-3AMc8khTcELFWcKcPc0xiLviEvvfzATpdPj/DXuOGIdQIIFybf4DMT1vKRbuAEOFMwhWt7NFLXRkbjsvKZQyvw==,
}
- engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ engines: { node: ^16.0.0 || >=18.0.0 }
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
- '@typescript-eslint/types': 5.59.1
- '@typescript-eslint/visitor-keys': 5.59.1
+ '@typescript-eslint/types': 7.0.2
+ '@typescript-eslint/visitor-keys': 7.0.2
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
- semver: 7.3.8
- tsutils: 3.21.0(typescript@5.0.4)
- typescript: 5.0.4
+ minimatch: 9.0.3
+ semver: 7.6.0
+ ts-api-utils: 1.2.1(typescript@5.3.3)
+ typescript: 5.3.3
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/utils@5.59.1(eslint@8.39.0)(typescript@5.0.4):
+ /@typescript-eslint/utils@7.0.2(eslint@8.57.0)(typescript@5.3.3):
resolution:
{
- integrity: sha512-MkTe7FE+K1/GxZkP5gRj3rCztg45bEhsd8HYjczBuYm+qFHP5vtZmjx3B0yUCDotceQ4sHgTyz60Ycl225njmA==,
+ integrity: sha512-PZPIONBIB/X684bhT1XlrkjNZJIEevwkKDsdwfiu1WeqBxYEEdIgVDgm8/bbKHVu+6YOpeRqcfImTdImx/4Bsw==,
}
- engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ engines: { node: ^16.0.0 || >=18.0.0 }
peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
- dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.39.0)
- '@types/json-schema': 7.0.11
- '@types/semver': 7.3.13
- '@typescript-eslint/scope-manager': 5.59.1
- '@typescript-eslint/types': 5.59.1
- '@typescript-eslint/typescript-estree': 5.59.1(typescript@5.0.4)
- eslint: 8.39.0
- eslint-scope: 5.1.1
- semver: 7.3.8
+ eslint: ^8.56.0
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
+ '@types/json-schema': 7.0.15
+ '@types/semver': 7.5.8
+ '@typescript-eslint/scope-manager': 7.0.2
+ '@typescript-eslint/types': 7.0.2
+ '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.3.3)
+ eslint: 8.57.0
+ semver: 7.6.0
transitivePeerDependencies:
- supports-color
- typescript
dev: true
- /@typescript-eslint/visitor-keys@5.59.1:
+ /@typescript-eslint/visitor-keys@7.0.2:
resolution:
{
- integrity: sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA==,
+ integrity: sha512-8Y+YiBmqPighbm5xA2k4wKTxRzx9EkBu7Rlw+WHqMvRJ3RPz/BMBO9b2ru0LUNmXg120PHUXD5+SWFy2R8DqlQ==,
}
- engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ engines: { node: ^16.0.0 || >=18.0.0 }
dependencies:
- '@typescript-eslint/types': 5.59.1
- eslint-visitor-keys: 3.4.0
+ '@typescript-eslint/types': 7.0.2
+ eslint-visitor-keys: 3.4.3
dev: true
- /@vitest/coverage-c8@0.30.1(vitest@0.30.1):
+ /@ungap/structured-clone@1.2.0:
resolution:
{
- integrity: sha512-/Wa3dtSuckpdngAmiCwowaEXXgJkqPrtfvrs9HTB9QoEfNbZWPu4E4cjEn4lJZb4qcGf4fxFtUA2f9DnDNAzBA==,
+ integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==,
+ }
+ dev: true
+
+ /@vitest/expect@1.3.1:
+ resolution:
+ {
+ integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==,
}
- peerDependencies:
- vitest: '>=0.30.0 <1'
dependencies:
- c8: 7.13.0
- picocolors: 1.0.0
- std-env: 3.3.2
- vitest: 0.30.1
+ '@vitest/spy': 1.3.1
+ '@vitest/utils': 1.3.1
+ chai: 4.4.1
dev: true
- /@vitest/expect@0.30.1:
+ /@vitest/runner@1.3.1:
resolution:
{
- integrity: sha512-c3kbEtN8XXJSeN81iDGq29bUzSjQhjES2WR3aColsS4lPGbivwLtas4DNUe0jD9gg/FYGIteqOenfU95EFituw==,
+ integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==,
}
dependencies:
- '@vitest/spy': 0.30.1
- '@vitest/utils': 0.30.1
- chai: 4.3.7
+ '@vitest/utils': 1.3.1
+ p-limit: 5.0.0
+ pathe: 1.1.2
dev: true
- /@vitest/runner@0.30.1:
+ /@vitest/snapshot@1.3.1:
resolution:
{
- integrity: sha512-W62kT/8i0TF1UBCNMRtRMOBWJKRnNyv9RrjIgdUryEe0wNpGZvvwPDLuzYdxvgSckzjp54DSpv1xUbv4BQ0qVA==,
+ integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==,
}
dependencies:
- '@vitest/utils': 0.30.1
- concordance: 5.0.4
- p-limit: 4.0.0
- pathe: 1.1.0
+ magic-string: 0.30.7
+ pathe: 1.1.2
+ pretty-format: 29.7.0
dev: true
- /@vitest/snapshot@0.30.1:
+ /@vitest/spy@1.3.1:
resolution:
{
- integrity: sha512-fJZqKrE99zo27uoZA/azgWyWbFvM1rw2APS05yB0JaLwUIg9aUtvvnBf4q7JWhEcAHmSwbrxKFgyBUga6tq9Tw==,
+ integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==,
}
dependencies:
- magic-string: 0.30.0
- pathe: 1.1.0
- pretty-format: 27.5.1
+ tinyspy: 2.2.1
dev: true
- /@vitest/spy@0.30.1:
+ /@vitest/utils@1.3.1:
resolution:
{
- integrity: sha512-YfJeIf37GvTZe04ZKxzJfnNNuNSmTEGnla2OdL60C8od16f3zOfv9q9K0nNii0NfjDJRt/CVN/POuY5/zTS+BA==,
+ integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==,
}
dependencies:
- tinyspy: 2.1.0
+ diff-sequences: 29.6.3
+ estree-walker: 3.0.3
+ loupe: 2.3.7
+ pretty-format: 29.7.0
dev: true
- /@vitest/utils@0.30.1:
+ /@volar/language-core@1.11.1:
resolution:
{
- integrity: sha512-/c8Xv2zUVc+rnNt84QF0Y0zkfxnaGhp87K2dYJMLtLOIckPzuxLVzAtFCicGFdB4NeBHNzTRr1tNn7rCtQcWFA==,
+ integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==,
}
dependencies:
- concordance: 5.0.4
- loupe: 2.3.6
- pretty-format: 27.5.1
+ '@volar/source-map': 1.11.1
dev: true
- /acorn-jsx@5.3.2(acorn@8.8.2):
+ /@volar/source-map@1.11.1:
resolution:
{
- integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==,
+ integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==,
+ }
+ dependencies:
+ muggle-string: 0.3.1
+ dev: true
+
+ /@volar/typescript@1.11.1:
+ resolution:
+ {
+ integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==,
+ }
+ dependencies:
+ '@volar/language-core': 1.11.1
+ path-browserify: 1.0.1
+ dev: true
+
+ /@vue/compiler-core@3.4.19:
+ resolution:
+ {
+ integrity: sha512-gj81785z0JNzRcU0Mq98E56e4ltO1yf8k5PQ+tV/7YHnbZkrM0fyFyuttnN8ngJZjbpofWE/m4qjKBiLl8Ju4w==,
+ }
+ dependencies:
+ '@babel/parser': 7.23.9
+ '@vue/shared': 3.4.19
+ entities: 4.5.0
+ estree-walker: 2.0.2
+ source-map-js: 1.0.2
+ dev: true
+
+ /@vue/compiler-dom@3.4.19:
+ resolution:
+ {
+ integrity: sha512-vm6+cogWrshjqEHTzIDCp72DKtea8Ry/QVpQRYoyTIg9k7QZDX6D8+HGURjtmatfgM8xgCFtJJaOlCaRYRK3QA==,
+ }
+ dependencies:
+ '@vue/compiler-core': 3.4.19
+ '@vue/shared': 3.4.19
+ dev: true
+
+ /@vue/language-core@1.8.27(typescript@5.3.3):
+ resolution:
+ {
+ integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==,
}
peerDependencies:
- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
dependencies:
- acorn: 8.8.2
+ '@volar/language-core': 1.11.1
+ '@volar/source-map': 1.11.1
+ '@vue/compiler-dom': 3.4.19
+ '@vue/shared': 3.4.19
+ computeds: 0.0.1
+ minimatch: 9.0.3
+ muggle-string: 0.3.1
+ path-browserify: 1.0.1
+ typescript: 5.3.3
+ vue-template-compiler: 2.7.16
dev: true
- /acorn-walk@8.2.0:
+ /@vue/shared@3.4.19:
resolution:
{
- integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==,
+ integrity: sha512-/KliRRHMF6LoiThEy+4c1Z4KB/gbPrGjWwJR+crg2otgrf/egKzRaCPvJ51S5oetgsgXLfc4Rm5ZgrKHZrtMSw==,
}
- engines: { node: '>=0.4.0' }
dev: true
- /acorn@8.8.2:
+ /acorn-jsx@5.3.2(acorn@8.11.3):
+ resolution:
+ {
+ integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==,
+ }
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ acorn: 8.11.3
+ dev: true
+
+ /acorn-walk@8.3.2:
resolution:
{
- integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==,
+ integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==,
}
engines: { node: '>=0.4.0' }
- hasBin: true
dev: true
- /aggregate-error@3.1.0:
+ /acorn@8.11.3:
resolution:
{
- integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==,
+ integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==,
}
- engines: { node: '>=8' }
- dependencies:
- clean-stack: 2.2.0
- indent-string: 4.0.0
+ engines: { node: '>=0.4.0' }
+ hasBin: true
dev: true
/ajv@6.12.6:
@@ -953,14 +1413,14 @@ packages:
uri-js: 4.4.1
dev: true
- /ansi-escapes@4.3.2:
+ /ansi-escapes@6.2.0:
resolution:
{
- integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==,
+ integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==,
}
- engines: { node: '>=8' }
+ engines: { node: '>=14.16' }
dependencies:
- type-fest: 0.21.3
+ type-fest: 3.13.1
dev: true
/ansi-regex@5.0.1:
@@ -1036,14 +1496,6 @@ packages:
}
dev: true
- /astral-regex@2.0.0:
- resolution:
- {
- integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==,
- }
- engines: { node: '>=8' }
- dev: true
-
/balanced-match@1.0.2:
resolution:
{
@@ -1051,13 +1503,6 @@ packages:
}
dev: true
- /blueimp-md5@2.19.0:
- resolution:
- {
- integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==,
- }
- dev: true
-
/brace-expansion@1.1.11:
resolution:
{
@@ -1087,28 +1532,6 @@ packages:
fill-range: 7.0.1
dev: true
- /c8@7.13.0:
- resolution:
- {
- integrity: sha512-/NL4hQTv1gBL6J6ei80zu3IiTrmePDKXKXOTLpHvcIWZTVYQlDhVWjjWvkhICylE8EwwnMVzDZugCvdx0/DIIA==,
- }
- engines: { node: '>=10.12.0' }
- hasBin: true
- dependencies:
- '@bcoe/v8-coverage': 0.2.3
- '@istanbuljs/schema': 0.1.3
- find-up: 5.0.0
- foreground-child: 2.0.0
- istanbul-lib-coverage: 3.2.0
- istanbul-lib-report: 3.0.0
- istanbul-reports: 3.1.5
- rimraf: 3.0.2
- test-exclude: 6.0.0
- v8-to-istanbul: 9.0.1
- yargs: 16.2.0
- yargs-parser: 20.2.9
- dev: true
-
/cac@6.7.14:
resolution:
{
@@ -1125,18 +1548,18 @@ packages:
engines: { node: '>=6' }
dev: true
- /chai@4.3.7:
+ /chai@4.4.1:
resolution:
{
- integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==,
+ integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==,
}
engines: { node: '>=4' }
dependencies:
assertion-error: 1.1.0
- check-error: 1.0.2
+ check-error: 1.0.3
deep-eql: 4.1.3
- get-func-name: 2.0.0
- loupe: 2.3.6
+ get-func-name: 2.0.2
+ loupe: 2.3.7
pathval: 1.1.1
type-detect: 4.0.8
dev: true
@@ -1152,77 +1575,42 @@ packages:
supports-color: 7.2.0
dev: true
- /chalk@5.2.0:
+ /chalk@5.3.0:
resolution:
{
- integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==,
+ integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==,
}
engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 }
dev: true
- /check-error@1.0.2:
- resolution:
- {
- integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==,
- }
- dev: true
-
- /clean-stack@2.2.0:
- resolution:
- {
- integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==,
- }
- engines: { node: '>=6' }
- dev: true
-
- /cli-cursor@3.1.0:
- resolution:
- {
- integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==,
- }
- engines: { node: '>=8' }
- dependencies:
- restore-cursor: 3.1.0
- dev: true
-
- /cli-truncate@2.1.0:
+ /check-error@1.0.3:
resolution:
{
- integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==,
+ integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==,
}
- engines: { node: '>=8' }
dependencies:
- slice-ansi: 3.0.0
- string-width: 4.2.3
+ get-func-name: 2.0.2
dev: true
- /cli-truncate@3.1.0:
+ /cli-cursor@4.0.0:
resolution:
{
- integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==,
+ integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==,
}
engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
dependencies:
- slice-ansi: 5.0.0
- string-width: 5.1.2
+ restore-cursor: 4.0.0
dev: true
- /cliui@7.0.4:
+ /cli-truncate@4.0.0:
resolution:
{
- integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==,
+ integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==,
}
+ engines: { node: '>=18' }
dependencies:
- string-width: 4.2.3
- strip-ansi: 6.0.1
- wrap-ansi: 7.0.0
- dev: true
-
- /code-block-writer@12.0.0:
- resolution:
- {
- integrity: sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==,
- }
+ slice-ansi: 5.0.0
+ string-width: 7.1.0
dev: true
/color-convert@2.0.1:
@@ -1242,10 +1630,10 @@ packages:
}
dev: true
- /colorette@2.0.19:
+ /colorette@2.0.20:
resolution:
{
- integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==,
+ integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==,
}
dev: true
@@ -1257,12 +1645,12 @@ packages:
engines: { node: '>=0.1.90' }
dev: true
- /commander@10.0.1:
+ /commander@11.1.0:
resolution:
{
- integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==,
+ integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==,
}
- engines: { node: '>=14' }
+ engines: { node: '>=16' }
dev: true
/commander@9.5.0:
@@ -1275,34 +1663,17 @@ packages:
dev: true
optional: true
- /concat-map@0.0.1:
- resolution:
- {
- integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==,
- }
- dev: true
-
- /concordance@5.0.4:
+ /computeds@0.0.1:
resolution:
{
- integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==,
+ integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==,
}
- engines: { node: '>=10.18.0 <11 || >=12.14.0 <13 || >=14' }
- dependencies:
- date-time: 3.1.0
- esutils: 2.0.3
- fast-diff: 1.2.0
- js-string-escape: 1.0.1
- lodash: 4.17.21
- md5-hex: 3.0.1
- semver: 7.3.8
- well-known-symbols: 2.0.0
dev: true
- /convert-source-map@1.9.0:
+ /concat-map@0.0.1:
resolution:
{
- integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==,
+ integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==,
}
dev: true
@@ -1318,14 +1689,11 @@ packages:
which: 2.0.2
dev: true
- /date-time@3.1.0:
+ /de-indent@1.0.2:
resolution:
{
- integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==,
+ integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==,
}
- engines: { node: '>=6' }
- dependencies:
- time-zone: 1.0.0
dev: true
/debug@4.3.4:
@@ -1360,6 +1728,14 @@ packages:
}
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:
{
@@ -1387,66 +1763,87 @@ packages:
}
dev: true
- /eastasianwidth@0.2.0:
- resolution:
- {
- integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==,
- }
- dev: true
-
- /emoji-regex@8.0.0:
+ /emoji-regex@10.3.0:
resolution:
{
- integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==,
+ integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==,
}
dev: true
- /emoji-regex@9.2.2:
+ /entities@4.5.0:
resolution:
{
- integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==,
+ integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==,
}
+ engines: { node: '>=0.12' }
dev: true
- /esbuild@0.17.18:
+ /esbuild@0.19.12:
resolution:
{
- integrity: sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==,
+ integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==,
}
engines: { node: '>=12' }
hasBin: true
requiresBuild: true
optionalDependencies:
- '@esbuild/android-arm': 0.17.18
- '@esbuild/android-arm64': 0.17.18
- '@esbuild/android-x64': 0.17.18
- '@esbuild/darwin-arm64': 0.17.18
- '@esbuild/darwin-x64': 0.17.18
- '@esbuild/freebsd-arm64': 0.17.18
- '@esbuild/freebsd-x64': 0.17.18
- '@esbuild/linux-arm': 0.17.18
- '@esbuild/linux-arm64': 0.17.18
- '@esbuild/linux-ia32': 0.17.18
- '@esbuild/linux-loong64': 0.17.18
- '@esbuild/linux-mips64el': 0.17.18
- '@esbuild/linux-ppc64': 0.17.18
- '@esbuild/linux-riscv64': 0.17.18
- '@esbuild/linux-s390x': 0.17.18
- '@esbuild/linux-x64': 0.17.18
- '@esbuild/netbsd-x64': 0.17.18
- '@esbuild/openbsd-x64': 0.17.18
- '@esbuild/sunos-x64': 0.17.18
- '@esbuild/win32-arm64': 0.17.18
- '@esbuild/win32-ia32': 0.17.18
- '@esbuild/win32-x64': 0.17.18
- dev: true
-
- /escalade@3.1.1:
- resolution:
- {
- integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==,
+ '@esbuild/aix-ppc64': 0.19.12
+ '@esbuild/android-arm': 0.19.12
+ '@esbuild/android-arm64': 0.19.12
+ '@esbuild/android-x64': 0.19.12
+ '@esbuild/darwin-arm64': 0.19.12
+ '@esbuild/darwin-x64': 0.19.12
+ '@esbuild/freebsd-arm64': 0.19.12
+ '@esbuild/freebsd-x64': 0.19.12
+ '@esbuild/linux-arm': 0.19.12
+ '@esbuild/linux-arm64': 0.19.12
+ '@esbuild/linux-ia32': 0.19.12
+ '@esbuild/linux-loong64': 0.19.12
+ '@esbuild/linux-mips64el': 0.19.12
+ '@esbuild/linux-ppc64': 0.19.12
+ '@esbuild/linux-riscv64': 0.19.12
+ '@esbuild/linux-s390x': 0.19.12
+ '@esbuild/linux-x64': 0.19.12
+ '@esbuild/netbsd-x64': 0.19.12
+ '@esbuild/openbsd-x64': 0.19.12
+ '@esbuild/sunos-x64': 0.19.12
+ '@esbuild/win32-arm64': 0.19.12
+ '@esbuild/win32-ia32': 0.19.12
+ '@esbuild/win32-x64': 0.19.12
+ dev: true
+
+ /esbuild@0.20.1:
+ resolution:
+ {
+ integrity: sha512-OJwEgrpWm/PCMsLVWXKqvcjme3bHNpOgN7Tb6cQnR5n0TPbQx1/Xrn7rqM+wn17bYeT6MGB5sn1Bh5YiGi70nA==,
}
- engines: { node: '>=6' }
+ engines: { node: '>=12' }
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.20.1
+ '@esbuild/android-arm': 0.20.1
+ '@esbuild/android-arm64': 0.20.1
+ '@esbuild/android-x64': 0.20.1
+ '@esbuild/darwin-arm64': 0.20.1
+ '@esbuild/darwin-x64': 0.20.1
+ '@esbuild/freebsd-arm64': 0.20.1
+ '@esbuild/freebsd-x64': 0.20.1
+ '@esbuild/linux-arm': 0.20.1
+ '@esbuild/linux-arm64': 0.20.1
+ '@esbuild/linux-ia32': 0.20.1
+ '@esbuild/linux-loong64': 0.20.1
+ '@esbuild/linux-mips64el': 0.20.1
+ '@esbuild/linux-ppc64': 0.20.1
+ '@esbuild/linux-riscv64': 0.20.1
+ '@esbuild/linux-s390x': 0.20.1
+ '@esbuild/linux-x64': 0.20.1
+ '@esbuild/netbsd-x64': 0.20.1
+ '@esbuild/openbsd-x64': 0.20.1
+ '@esbuild/sunos-x64': 0.20.1
+ '@esbuild/win32-arm64': 0.20.1
+ '@esbuild/win32-ia32': 0.20.1
+ '@esbuild/win32-x64': 0.20.1
dev: true
/escape-string-regexp@4.0.0:
@@ -1457,21 +1854,10 @@ packages:
engines: { node: '>=10' }
dev: true
- /eslint-scope@5.1.1:
- resolution:
- {
- integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==,
- }
- engines: { node: '>=8.0.0' }
- dependencies:
- esrecurse: 4.3.0
- estraverse: 4.3.0
- dev: true
-
- /eslint-scope@7.2.0:
+ /eslint-scope@7.2.2:
resolution:
{
- integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==,
+ integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==,
}
engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
dependencies:
@@ -1479,76 +1865,74 @@ packages:
estraverse: 5.3.0
dev: true
- /eslint-visitor-keys@3.4.0:
+ /eslint-visitor-keys@3.4.3:
resolution:
{
- integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==,
+ integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==,
}
engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
dev: true
- /eslint@8.39.0:
+ /eslint@8.57.0:
resolution:
{
- integrity: sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og==,
+ integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==,
}
engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
hasBin: true
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.39.0)
- '@eslint-community/regexpp': 4.5.0
- '@eslint/eslintrc': 2.0.2
- '@eslint/js': 8.39.0
- '@humanwhocodes/config-array': 0.11.8
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
+ '@eslint-community/regexpp': 4.10.0
+ '@eslint/eslintrc': 2.1.4
+ '@eslint/js': 8.57.0
+ '@humanwhocodes/config-array': 0.11.14
'@humanwhocodes/module-importer': 1.0.1
'@nodelib/fs.walk': 1.2.8
+ '@ungap/structured-clone': 1.2.0
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.0
- eslint-visitor-keys: 3.4.0
- espree: 9.5.1
+ 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.20.0
- grapheme-splitter: 1.0.4
- ignore: 5.2.4
- import-fresh: 3.3.0
+ globals: 13.24.0
+ graphemer: 1.4.0
+ ignore: 5.3.1
imurmurhash: 0.1.4
is-glob: 4.0.3
is-path-inside: 3.0.3
- js-sdsl: 4.3.0
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.1
+ optionator: 0.9.3
strip-ansi: 6.0.1
- strip-json-comments: 3.1.1
text-table: 0.2.0
transitivePeerDependencies:
- supports-color
dev: true
- /espree@9.5.1:
+ /espree@9.6.1:
resolution:
{
- integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==,
+ integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==,
}
engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
dependencies:
- acorn: 8.8.2
- acorn-jsx: 5.3.2(acorn@8.8.2)
- eslint-visitor-keys: 3.4.0
+ acorn: 8.11.3
+ acorn-jsx: 5.3.2(acorn@8.11.3)
+ eslint-visitor-keys: 3.4.3
dev: true
/esquery@1.5.0:
@@ -1571,27 +1955,28 @@ packages:
estraverse: 5.3.0
dev: true
- /estraverse@4.3.0:
+ /estraverse@5.3.0:
resolution:
{
- integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==,
+ integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==,
}
engines: { node: '>=4.0' }
dev: true
- /estraverse@5.3.0:
+ /estree-walker@2.0.2:
resolution:
{
- integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==,
+ integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==,
}
- engines: { node: '>=4.0' }
dev: true
- /estree-walker@2.0.2:
+ /estree-walker@3.0.3:
resolution:
{
- integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==,
+ integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==,
}
+ dependencies:
+ '@types/estree': 1.0.5
dev: true
/esutils@2.0.3:
@@ -1602,21 +1987,28 @@ packages:
engines: { node: '>=0.10.0' }
dev: true
- /execa@7.1.1:
+ /eventemitter3@5.0.1:
+ resolution:
+ {
+ integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==,
+ }
+ dev: true
+
+ /execa@8.0.1:
resolution:
{
- integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==,
+ integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==,
}
- engines: { node: ^14.18.0 || ^16.14.0 || >=18.0.0 }
+ engines: { node: '>=16.17' }
dependencies:
cross-spawn: 7.0.3
- get-stream: 6.0.1
- human-signals: 4.3.1
+ get-stream: 8.0.1
+ human-signals: 5.0.0
is-stream: 3.0.0
merge-stream: 2.0.0
- npm-run-path: 5.1.0
+ npm-run-path: 5.3.0
onetime: 6.0.0
- signal-exit: 3.0.7
+ signal-exit: 4.1.0
strip-final-newline: 3.0.0
dev: true
@@ -1627,17 +2019,10 @@ packages:
}
dev: true
- /fast-diff@1.2.0:
- resolution:
- {
- integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==,
- }
- dev: true
-
- /fast-glob@3.2.12:
+ /fast-glob@3.3.2:
resolution:
{
- integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==,
+ integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==,
}
engines: { node: '>=8.6.0' }
dependencies:
@@ -1662,10 +2047,10 @@ packages:
}
dev: true
- /fastq@1.15.0:
+ /fastq@1.17.1:
resolution:
{
- integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==,
+ integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==,
}
dependencies:
reusify: 1.0.4
@@ -1678,7 +2063,7 @@ packages:
}
engines: { node: ^10.12.0 || >=12.0.0 }
dependencies:
- flat-cache: 3.0.4
+ flat-cache: 3.2.0
dev: true
/fill-range@7.0.1:
@@ -1702,47 +2087,25 @@ packages:
path-exists: 4.0.0
dev: true
- /flat-cache@3.0.4:
+ /flat-cache@3.2.0:
resolution:
{
- integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==,
+ integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==,
}
engines: { node: ^10.12.0 || >=12.0.0 }
dependencies:
- flatted: 3.2.7
+ flatted: 3.3.1
+ keyv: 4.5.4
rimraf: 3.0.2
dev: true
- /flatted@3.2.7:
+ /flatted@3.3.1:
resolution:
{
- integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==,
+ integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==,
}
dev: true
- /foreground-child@2.0.0:
- resolution:
- {
- integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==,
- }
- engines: { node: '>=8.0.0' }
- dependencies:
- cross-spawn: 7.0.3
- signal-exit: 3.0.7
- dev: true
-
- /fs-extra@10.1.0:
- resolution:
- {
- integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==,
- }
- engines: { node: '>=12' }
- dependencies:
- graceful-fs: 4.2.10
- jsonfile: 6.1.0
- universalify: 2.0.0
- dev: true
-
/fs-extra@7.0.1:
resolution:
{
@@ -1750,7 +2113,7 @@ packages:
}
engines: { node: '>=6 <7 || >=8' }
dependencies:
- graceful-fs: 4.2.10
+ graceful-fs: 4.2.11
jsonfile: 4.0.0
universalify: 0.1.2
dev: true
@@ -1762,10 +2125,10 @@ packages:
}
dev: true
- /fsevents@2.3.2:
+ /fsevents@2.3.3:
resolution:
{
- integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==,
+ integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==,
}
engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 }
os: [darwin]
@@ -1773,34 +2136,34 @@ packages:
dev: true
optional: true
- /function-bind@1.1.1:
+ /function-bind@1.1.2:
resolution:
{
- integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==,
+ integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==,
}
dev: true
- /get-caller-file@2.0.5:
+ /get-east-asian-width@1.2.0:
resolution:
{
- integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==,
+ integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==,
}
- engines: { node: 6.* || 8.* || >= 10.* }
+ engines: { node: '>=18' }
dev: true
- /get-func-name@2.0.0:
+ /get-func-name@2.0.2:
resolution:
{
- integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==,
+ integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==,
}
dev: true
- /get-stream@6.0.1:
+ /get-stream@8.0.1:
resolution:
{
- integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==,
+ integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==,
}
- engines: { node: '>=10' }
+ engines: { node: '>=16' }
dev: true
/glob-parent@5.1.2:
@@ -1837,10 +2200,10 @@ packages:
path-is-absolute: 1.0.1
dev: true
- /globals@13.20.0:
+ /globals@13.24.0:
resolution:
{
- integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==,
+ integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==,
}
engines: { node: '>=8' }
dependencies:
@@ -1856,23 +2219,23 @@ packages:
dependencies:
array-union: 2.1.0
dir-glob: 3.0.1
- fast-glob: 3.2.12
- ignore: 5.2.4
+ fast-glob: 3.3.2
+ ignore: 5.3.1
merge2: 1.4.1
slash: 3.0.0
dev: true
- /graceful-fs@4.2.10:
+ /graceful-fs@4.2.11:
resolution:
{
- integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==,
+ integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==,
}
dev: true
- /grapheme-splitter@1.0.4:
+ /graphemer@1.4.0:
resolution:
{
- integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==,
+ integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==,
}
dev: true
@@ -1894,44 +2257,45 @@ packages:
engines: { node: '>=8' }
dev: true
- /has@1.0.3:
+ /hasown@2.0.1:
resolution:
{
- integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==,
+ integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==,
}
- engines: { node: '>= 0.4.0' }
+ engines: { node: '>= 0.4' }
dependencies:
- function-bind: 1.1.1
+ function-bind: 1.1.2
dev: true
- /html-escaper@2.0.2:
+ /he@1.2.0:
resolution:
{
- integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==,
+ integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==,
}
+ hasBin: true
dev: true
- /human-signals@4.3.1:
+ /human-signals@5.0.0:
resolution:
{
- integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==,
+ integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==,
}
- engines: { node: '>=14.18.0' }
+ engines: { node: '>=16.17.0' }
dev: true
- /husky@8.0.3:
+ /husky@9.0.11:
resolution:
{
- integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==,
+ integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==,
}
- engines: { node: '>=14' }
+ engines: { node: '>=18' }
hasBin: true
dev: true
- /ignore@5.2.4:
+ /ignore@5.3.1:
resolution:
{
- integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==,
+ integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==,
}
engines: { node: '>= 4' }
dev: true
@@ -1963,14 +2327,6 @@ packages:
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:
{
@@ -1988,13 +2344,13 @@ packages:
}
dev: true
- /is-core-module@2.11.0:
+ /is-core-module@2.13.1:
resolution:
{
- integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==,
+ integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==,
}
dependencies:
- has: 1.0.3
+ hasown: 2.0.1
dev: true
/is-extglob@2.1.1:
@@ -2005,20 +2361,22 @@ packages:
engines: { node: '>=0.10.0' }
dev: true
- /is-fullwidth-code-point@3.0.0:
+ /is-fullwidth-code-point@4.0.0:
resolution:
{
- integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==,
+ integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==,
}
- engines: { node: '>=8' }
+ engines: { node: '>=12' }
dev: true
- /is-fullwidth-code-point@4.0.0:
+ /is-fullwidth-code-point@5.0.0:
resolution:
{
- integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==,
+ integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==,
}
- engines: { node: '>=12' }
+ engines: { node: '>=18' }
+ dependencies:
+ get-east-asian-width: 1.2.0
dev: true
/is-glob@4.0.3:
@@ -2062,37 +2420,6 @@ packages:
}
dev: true
- /istanbul-lib-coverage@3.2.0:
- resolution:
- {
- integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==,
- }
- engines: { node: '>=8' }
- dev: true
-
- /istanbul-lib-report@3.0.0:
- resolution:
- {
- integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==,
- }
- engines: { node: '>=8' }
- dependencies:
- istanbul-lib-coverage: 3.2.0
- make-dir: 3.1.0
- supports-color: 7.2.0
- dev: true
-
- /istanbul-reports@3.1.5:
- resolution:
- {
- integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==,
- }
- engines: { node: '>=8' }
- dependencies:
- html-escaper: 2.0.2
- istanbul-lib-report: 3.0.0
- dev: true
-
/jju@1.4.0:
resolution:
{
@@ -2100,19 +2427,11 @@ packages:
}
dev: true
- /js-sdsl@4.3.0:
- resolution:
- {
- integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==,
- }
- dev: true
-
- /js-string-escape@1.0.1:
+ /js-tokens@8.0.3:
resolution:
{
- integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==,
+ integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==,
}
- engines: { node: '>= 0.8' }
dev: true
/js-yaml@4.1.0:
@@ -2125,6 +2444,13 @@ packages:
argparse: 2.0.1
dev: true
+ /json-buffer@3.0.1:
+ resolution:
+ {
+ integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==,
+ }
+ dev: true
+
/json-schema-traverse@0.4.1:
resolution:
{
@@ -2139,10 +2465,10 @@ packages:
}
dev: true
- /jsonc-parser@3.2.0:
+ /jsonc-parser@3.2.1:
resolution:
{
- integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==,
+ integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==,
}
dev: true
@@ -2152,24 +2478,22 @@ packages:
integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==,
}
optionalDependencies:
- graceful-fs: 4.2.10
+ graceful-fs: 4.2.11
dev: true
- /jsonfile@6.1.0:
+ /keyv@4.5.4:
resolution:
{
- integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==,
+ integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==,
}
dependencies:
- universalify: 2.0.0
- optionalDependencies:
- graceful-fs: 4.2.10
+ json-buffer: 3.0.1
dev: true
- /kolorist@1.7.0:
+ /kolorist@1.8.0:
resolution:
{
- integrity: sha512-ymToLHqL02udwVdbkowNpzjFd6UzozMtshPQKVi5k1EjKRqKqBrOnE9QbLEb0/pV76SAiIT13hdL8R6suc+f3g==,
+ integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==,
}
dev: true
@@ -2184,68 +2508,60 @@ packages:
type-check: 0.4.0
dev: true
- /lilconfig@2.1.0:
+ /lilconfig@3.0.0:
resolution:
{
- integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==,
+ integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==,
}
- engines: { node: '>=10' }
+ engines: { node: '>=14' }
dev: true
- /lint-staged@13.2.2:
+ /lint-staged@15.2.2:
resolution:
{
- integrity: sha512-71gSwXKy649VrSU09s10uAT0rWCcY3aewhMaHyl2N84oBk4Xs9HgxvUp3AYu+bNsK4NrOYYxvSgg7FyGJ+jGcA==,
+ integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==,
}
- engines: { node: ^14.13.1 || >=16.0.0 }
+ engines: { node: '>=18.12.0' }
hasBin: true
dependencies:
- chalk: 5.2.0
- cli-truncate: 3.1.0
- commander: 10.0.1
+ chalk: 5.3.0
+ commander: 11.1.0
debug: 4.3.4
- execa: 7.1.1
- lilconfig: 2.1.0
- listr2: 5.0.7
+ execa: 8.0.1
+ lilconfig: 3.0.0
+ listr2: 8.0.1
micromatch: 4.0.5
- normalize-path: 3.0.0
- object-inspect: 1.12.3
pidtree: 0.6.0
- string-argv: 0.3.1
- yaml: 2.2.2
+ string-argv: 0.3.2
+ yaml: 2.3.4
transitivePeerDependencies:
- - enquirer
- supports-color
dev: true
- /listr2@5.0.7:
+ /listr2@8.0.1:
resolution:
{
- integrity: sha512-MD+qXHPmtivrHIDRwPYdfNkrzqDiuaKU/rfBcec3WMyMF3xylQj3jMq344OtvQxz7zaCFViRAeqlr2AFhPvXHw==,
+ integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==,
}
- engines: { node: ^14.13.1 || >=16.0.0 }
- peerDependencies:
- enquirer: '>= 2.3.0 < 3'
- peerDependenciesMeta:
- enquirer:
- optional: true
+ engines: { node: '>=18.0.0' }
dependencies:
- cli-truncate: 2.1.0
- colorette: 2.0.19
- log-update: 4.0.0
- p-map: 4.0.0
- rfdc: 1.3.0
- rxjs: 7.8.0
- through: 2.3.8
- wrap-ansi: 7.0.0
+ cli-truncate: 4.0.0
+ colorette: 2.0.20
+ eventemitter3: 5.0.1
+ log-update: 6.0.0
+ rfdc: 1.3.1
+ wrap-ansi: 9.0.0
dev: true
- /local-pkg@0.4.3:
+ /local-pkg@0.5.0:
resolution:
{
- integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==,
+ integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==,
}
engines: { node: '>=14' }
+ dependencies:
+ mlly: 1.6.1
+ pkg-types: 1.0.3
dev: true
/locate-path@6.0.0:
@@ -2286,26 +2602,27 @@ packages:
}
dev: true
- /log-update@4.0.0:
+ /log-update@6.0.0:
resolution:
{
- integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==,
+ integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==,
}
- engines: { node: '>=10' }
+ engines: { node: '>=18' }
dependencies:
- ansi-escapes: 4.3.2
- cli-cursor: 3.1.0
- slice-ansi: 4.0.0
- wrap-ansi: 6.2.0
+ ansi-escapes: 6.2.0
+ cli-cursor: 4.0.0
+ slice-ansi: 7.1.0
+ strip-ansi: 7.1.0
+ wrap-ansi: 9.0.0
dev: true
- /loupe@2.3.6:
+ /loupe@2.3.7:
resolution:
{
- integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==,
+ integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==,
}
dependencies:
- get-func-name: 2.0.0
+ get-func-name: 2.0.2
dev: true
/lru-cache@6.0.0:
@@ -2318,44 +2635,14 @@ packages:
yallist: 4.0.0
dev: true
- /magic-string@0.29.0:
- resolution:
- {
- integrity: sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==,
- }
- engines: { node: '>=12' }
- dependencies:
- '@jridgewell/sourcemap-codec': 1.4.14
- dev: true
-
- /magic-string@0.30.0:
+ /magic-string@0.30.7:
resolution:
{
- integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==,
+ integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==,
}
engines: { node: '>=12' }
dependencies:
- '@jridgewell/sourcemap-codec': 1.4.14
- dev: true
-
- /make-dir@3.1.0:
- resolution:
- {
- integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==,
- }
- engines: { node: '>=8' }
- dependencies:
- semver: 6.3.0
- dev: true
-
- /md5-hex@3.0.1:
- resolution:
- {
- integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==,
- }
- engines: { node: '>=8' }
- dependencies:
- blueimp-md5: 2.19.0
+ '@jridgewell/sourcemap-codec': 1.4.15
dev: true
/merge-stream@2.0.0:
@@ -2409,35 +2696,26 @@ packages:
brace-expansion: 1.1.11
dev: true
- /minimatch@7.4.6:
+ /minimatch@9.0.3:
resolution:
{
- integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==,
+ integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==,
}
- engines: { node: '>=10' }
+ engines: { node: '>=16 || 14 >=14.17' }
dependencies:
brace-expansion: 2.0.1
dev: true
- /mkdirp@2.1.6:
- resolution:
- {
- integrity: sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==,
- }
- engines: { node: '>=10' }
- hasBin: true
- dev: true
-
- /mlly@1.2.0:
+ /mlly@1.6.1:
resolution:
{
- integrity: sha512-+c7A3CV0KGdKcylsI6khWyts/CYrGTrRVo4R/I7u/cUsy0Conxa6LUhiEzVKIw14lc2L5aiO4+SeVe4TeGRKww==,
+ integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==,
}
dependencies:
- acorn: 8.8.2
- pathe: 1.1.0
- pkg-types: 1.0.2
- ufo: 1.1.1
+ acorn: 8.11.3
+ pathe: 1.1.2
+ pkg-types: 1.0.3
+ ufo: 1.4.0
dev: true
/ms@2.1.2:
@@ -2447,20 +2725,20 @@ packages:
}
dev: true
- /nanoid@3.3.6:
+ /muggle-string@0.3.1:
resolution:
{
- integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==,
+ integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==,
}
- engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 }
- hasBin: true
dev: true
- /natural-compare-lite@1.4.0:
+ /nanoid@3.3.7:
resolution:
{
- integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==,
+ integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==,
}
+ engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 }
+ hasBin: true
dev: true
/natural-compare@1.4.0:
@@ -2470,31 +2748,16 @@ packages:
}
dev: true
- /normalize-path@3.0.0:
- resolution:
- {
- integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==,
- }
- engines: { node: '>=0.10.0' }
- dev: true
-
- /npm-run-path@5.1.0:
+ /npm-run-path@5.3.0:
resolution:
{
- integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==,
+ integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==,
}
engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
dependencies:
path-key: 4.0.0
dev: true
- /object-inspect@1.12.3:
- resolution:
- {
- integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==,
- }
- dev: true
-
/once@1.4.0:
resolution:
{
@@ -2524,19 +2787,19 @@ packages:
mimic-fn: 4.0.0
dev: true
- /optionator@0.9.1:
+ /optionator@0.9.3:
resolution:
{
- integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==,
+ 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
- word-wrap: 1.2.3
dev: true
/p-limit@3.1.0:
@@ -2549,12 +2812,12 @@ packages:
yocto-queue: 0.1.0
dev: true
- /p-limit@4.0.0:
+ /p-limit@5.0.0:
resolution:
{
- integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==,
+ integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==,
}
- engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ engines: { node: '>=18' }
dependencies:
yocto-queue: 1.0.0
dev: true
@@ -2569,16 +2832,6 @@ packages:
p-limit: 3.1.0
dev: true
- /p-map@4.0.0:
- resolution:
- {
- integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==,
- }
- engines: { node: '>=10' }
- dependencies:
- aggregate-error: 3.1.0
- dev: true
-
/parent-module@1.0.1:
resolution:
{
@@ -2643,10 +2896,10 @@ packages:
engines: { node: '>=8' }
dev: true
- /pathe@1.1.0:
+ /pathe@1.1.2:
resolution:
{
- integrity: sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==,
+ integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==,
}
dev: true
@@ -2681,25 +2934,25 @@ packages:
hasBin: true
dev: true
- /pkg-types@1.0.2:
+ /pkg-types@1.0.3:
resolution:
{
- integrity: sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==,
+ integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==,
}
dependencies:
- jsonc-parser: 3.2.0
- mlly: 1.2.0
- pathe: 1.1.0
+ jsonc-parser: 3.2.1
+ mlly: 1.6.1
+ pathe: 1.1.2
dev: true
- /postcss@8.4.23:
+ /postcss@8.4.35:
resolution:
{
- integrity: sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==,
+ integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==,
}
engines: { node: ^10 || ^12 || >=14 }
dependencies:
- nanoid: 3.3.6
+ nanoid: 3.3.7
picocolors: 1.0.0
source-map-js: 1.0.2
dev: true
@@ -2712,39 +2965,39 @@ packages:
engines: { node: '>= 0.8.0' }
dev: true
- /prettier@2.8.8:
+ /prettier@3.2.5:
resolution:
{
- integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==,
+ integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==,
}
- engines: { node: '>=10.13.0' }
+ engines: { node: '>=14' }
hasBin: true
dev: true
- /pretty-bytes@6.1.0:
+ /pretty-bytes@6.1.1:
resolution:
{
- integrity: sha512-Rk753HI8f4uivXi4ZCIYdhmG1V+WKzvRMg/X+M42a6t7D07RcmopXJMDNk6N++7Bl75URRGsb40ruvg7Hcp2wQ==,
+ integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==,
}
engines: { node: ^14.13.1 || >=16.0.0 }
dev: true
- /pretty-format@27.5.1:
+ /pretty-format@29.7.0:
resolution:
{
- integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==,
+ integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==,
}
- engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 }
+ engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
dependencies:
- ansi-regex: 5.0.1
+ '@jest/schemas': 29.6.3
ansi-styles: 5.2.0
- react-is: 17.0.2
+ react-is: 18.2.0
dev: true
- /punycode@2.3.0:
+ /punycode@2.3.1:
resolution:
{
- integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==,
+ integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==,
}
engines: { node: '>=6' }
dev: true
@@ -2756,19 +3009,11 @@ packages:
}
dev: true
- /react-is@17.0.2:
- resolution:
- {
- integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==,
- }
- dev: true
-
- /require-directory@2.1.1:
+ /react-is@18.2.0:
resolution:
{
- integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==,
+ integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==,
}
- engines: { node: '>=0.10.0' }
dev: true
/resolve-from@4.0.0:
@@ -2785,28 +3030,28 @@ packages:
integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==,
}
dependencies:
- is-core-module: 2.11.0
+ is-core-module: 2.13.1
path-parse: 1.0.7
dev: true
- /resolve@1.22.1:
+ /resolve@1.22.8:
resolution:
{
- integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==,
+ integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==,
}
hasBin: true
dependencies:
- is-core-module: 2.11.0
+ is-core-module: 2.13.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
dev: true
- /restore-cursor@3.1.0:
+ /restore-cursor@4.0.0:
resolution:
{
- integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==,
+ integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==,
}
- engines: { node: '>=8' }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
dependencies:
onetime: 5.1.2
signal-exit: 3.0.7
@@ -2820,10 +3065,10 @@ packages:
engines: { iojs: '>=1.0.0', node: '>=0.10.0' }
dev: true
- /rfdc@1.3.0:
+ /rfdc@1.3.1:
resolution:
{
- integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==,
+ integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==,
}
dev: true
@@ -2837,15 +3082,30 @@ packages:
glob: 7.2.3
dev: true
- /rollup@3.21.1:
+ /rollup@4.12.0:
resolution:
{
- integrity: sha512-GpUgqWCw56OSiBKf7lcAITstYiBV1/EKaKYPl9r8HgAxc6/qYAVw1PaHWnvHWFziRaf4HsVCDLq/IGtBi1K/Zw==,
+ integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==,
}
- engines: { node: '>=14.18.0', npm: '>=8.0.0' }
+ engines: { node: '>=18.0.0', npm: '>=8.0.0' }
hasBin: true
+ dependencies:
+ '@types/estree': 1.0.5
optionalDependencies:
- fsevents: 2.3.2
+ '@rollup/rollup-android-arm-eabi': 4.12.0
+ '@rollup/rollup-android-arm64': 4.12.0
+ '@rollup/rollup-darwin-arm64': 4.12.0
+ '@rollup/rollup-darwin-x64': 4.12.0
+ '@rollup/rollup-linux-arm-gnueabihf': 4.12.0
+ '@rollup/rollup-linux-arm64-gnu': 4.12.0
+ '@rollup/rollup-linux-arm64-musl': 4.12.0
+ '@rollup/rollup-linux-riscv64-gnu': 4.12.0
+ '@rollup/rollup-linux-x64-gnu': 4.12.0
+ '@rollup/rollup-linux-x64-musl': 4.12.0
+ '@rollup/rollup-win32-arm64-msvc': 4.12.0
+ '@rollup/rollup-win32-ia32-msvc': 4.12.0
+ '@rollup/rollup-win32-x64-msvc': 4.12.0
+ fsevents: 2.3.3
dev: true
/run-parallel@1.2.0:
@@ -2857,27 +3117,21 @@ packages:
queue-microtask: 1.2.3
dev: true
- /rxjs@7.8.0:
- resolution:
- {
- integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==,
- }
- dependencies:
- tslib: 2.5.0
- dev: true
-
- /semver@6.3.0:
+ /semver@7.5.4:
resolution:
{
- integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==,
+ integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==,
}
+ engines: { node: '>=10' }
hasBin: true
+ dependencies:
+ lru-cache: 6.0.0
dev: true
- /semver@7.3.8:
+ /semver@7.6.0:
resolution:
{
- integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==,
+ integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==,
}
engines: { node: '>=10' }
hasBin: true
@@ -2917,47 +3171,42 @@ packages:
}
dev: true
- /slash@3.0.0:
+ /signal-exit@4.1.0:
resolution:
{
- integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==,
+ integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==,
}
- engines: { node: '>=8' }
+ engines: { node: '>=14' }
dev: true
- /slice-ansi@3.0.0:
+ /slash@3.0.0:
resolution:
{
- integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==,
+ integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==,
}
engines: { node: '>=8' }
- dependencies:
- ansi-styles: 4.3.0
- astral-regex: 2.0.0
- is-fullwidth-code-point: 3.0.0
dev: true
- /slice-ansi@4.0.0:
+ /slice-ansi@5.0.0:
resolution:
{
- integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==,
+ integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==,
}
- engines: { node: '>=10' }
+ engines: { node: '>=12' }
dependencies:
- ansi-styles: 4.3.0
- astral-regex: 2.0.0
- is-fullwidth-code-point: 3.0.0
+ ansi-styles: 6.2.1
+ is-fullwidth-code-point: 4.0.0
dev: true
- /slice-ansi@5.0.0:
+ /slice-ansi@7.1.0:
resolution:
{
- integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==,
+ integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==,
}
- engines: { node: '>=12' }
+ engines: { node: '>=18' }
dependencies:
ansi-styles: 6.2.1
- is-fullwidth-code-point: 4.0.0
+ is-fullwidth-code-point: 5.0.0
dev: true
/source-map-js@1.0.2:
@@ -2990,43 +3239,31 @@ packages:
}
dev: true
- /std-env@3.3.2:
+ /std-env@3.7.0:
resolution:
{
- integrity: sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==,
+ integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==,
}
dev: true
- /string-argv@0.3.1:
+ /string-argv@0.3.2:
resolution:
{
- integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==,
+ integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==,
}
engines: { node: '>=0.6.19' }
dev: true
- /string-width@4.2.3:
- resolution:
- {
- integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==,
- }
- engines: { node: '>=8' }
- dependencies:
- emoji-regex: 8.0.0
- is-fullwidth-code-point: 3.0.0
- strip-ansi: 6.0.1
- dev: true
-
- /string-width@5.1.2:
+ /string-width@7.1.0:
resolution:
{
- integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==,
+ integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==,
}
- engines: { node: '>=12' }
+ engines: { node: '>=18' }
dependencies:
- eastasianwidth: 0.2.0
- emoji-regex: 9.2.2
- strip-ansi: 7.0.1
+ emoji-regex: 10.3.0
+ get-east-asian-width: 1.2.0
+ strip-ansi: 7.1.0
dev: true
/strip-ansi@6.0.1:
@@ -3039,10 +3276,10 @@ packages:
ansi-regex: 5.0.1
dev: true
- /strip-ansi@7.0.1:
+ /strip-ansi@7.1.0:
resolution:
{
- integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==,
+ integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==,
}
engines: { node: '>=12' }
dependencies:
@@ -3065,13 +3302,13 @@ packages:
engines: { node: '>=8' }
dev: true
- /strip-literal@1.0.1:
+ /strip-literal@2.0.0:
resolution:
{
- integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==,
+ integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==,
}
dependencies:
- acorn: 8.8.2
+ js-tokens: 8.0.3
dev: true
/supports-color@7.2.0:
@@ -3092,18 +3329,6 @@ packages:
engines: { node: '>= 0.4' }
dev: true
- /test-exclude@6.0.0:
- resolution:
- {
- integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==,
- }
- engines: { node: '>=8' }
- dependencies:
- '@istanbuljs/schema': 0.1.3
- glob: 7.2.3
- minimatch: 3.1.2
- dev: true
-
/text-table@0.2.0:
resolution:
{
@@ -3111,40 +3336,25 @@ packages:
}
dev: true
- /through@2.3.8:
- resolution:
- {
- integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==,
- }
- dev: true
-
- /time-zone@1.0.0:
- resolution:
- {
- integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==,
- }
- engines: { node: '>=4' }
- dev: true
-
- /tinybench@2.4.0:
+ /tinybench@2.6.0:
resolution:
{
- integrity: sha512-iyziEiyFxX4kyxSp+MtY1oCH/lvjH3PxFN8PGCDeqcZWAJ/i+9y+nL85w99PxVzrIvew/GSkSbDYtiGVa85Afg==,
+ integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==,
}
dev: true
- /tinypool@0.4.0:
+ /tinypool@0.8.2:
resolution:
{
- integrity: sha512-2ksntHOKf893wSAH4z/+JbPpi92esw8Gn9N2deXX+B0EO92hexAVI9GIZZPx7P5aYo5KULfeOSt3kMOmSOy6uA==,
+ integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==,
}
engines: { node: '>=14.0.0' }
dev: true
- /tinyspy@2.1.0:
+ /tinyspy@2.2.1:
resolution:
{
- integrity: sha512-7eORpyqImoOvkQJCSkL0d0mB4NHHIFAy4b1u8PHdDa7SjGS2njzl6/lyGoZLm+eyYEtlUmFGE0rFj66SWxZgQQ==,
+ integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==,
}
engines: { node: '>=14.0.0' }
dev: true
@@ -3167,41 +3377,16 @@ packages:
is-number: 7.0.0
dev: true
- /ts-morph@18.0.0:
- resolution:
- {
- integrity: sha512-Kg5u0mk19PIIe4islUI/HWRvm9bC1lHejK4S0oh1zaZ77TMZAEmQC0sHQYiu2RgCQFZKXz1fMVi/7nOOeirznA==,
- }
- dependencies:
- '@ts-morph/common': 0.19.0
- code-block-writer: 12.0.0
- dev: true
-
- /tslib@1.14.1:
- resolution:
- {
- integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==,
- }
- dev: true
-
- /tslib@2.5.0:
- resolution:
- {
- integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==,
- }
- dev: true
-
- /tsutils@3.21.0(typescript@5.0.4):
+ /ts-api-utils@1.2.1(typescript@5.3.3):
resolution:
{
- integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==,
+ integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==,
}
- engines: { node: '>= 6' }
+ engines: { node: '>=16' }
peerDependencies:
- typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
+ typescript: '>=4.2.0'
dependencies:
- tslib: 1.14.1
- typescript: 5.0.4
+ typescript: 5.3.3
dev: true
/type-check@0.4.0:
@@ -3230,36 +3415,34 @@ packages:
engines: { node: '>=10' }
dev: true
- /type-fest@0.21.3:
+ /type-fest@3.13.1:
resolution:
{
- integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==,
+ integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==,
}
- engines: { node: '>=10' }
+ engines: { node: '>=14.16' }
dev: true
- /typescript@4.8.4:
+ /typescript@5.3.3:
resolution:
{
- integrity: sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==,
+ integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==,
}
- engines: { node: '>=4.2.0' }
+ engines: { node: '>=14.17' }
hasBin: true
dev: true
- /typescript@5.0.4:
+ /ufo@1.4.0:
resolution:
{
- integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==,
+ integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==,
}
- engines: { node: '>=12.20' }
- hasBin: true
dev: true
- /ufo@1.1.1:
+ /undici-types@5.26.5:
resolution:
{
- integrity: sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==,
+ integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==,
}
dev: true
@@ -3271,60 +3454,40 @@ packages:
engines: { node: '>= 4.0.0' }
dev: true
- /universalify@2.0.0:
- resolution:
- {
- integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==,
- }
- engines: { node: '>= 10.0.0' }
- dev: true
-
/uri-js@4.4.1:
resolution:
{
integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==,
}
dependencies:
- punycode: 2.3.0
- dev: true
-
- /v8-to-istanbul@9.0.1:
- resolution:
- {
- integrity: sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==,
- }
- engines: { node: '>=10.12.0' }
- dependencies:
- '@jridgewell/trace-mapping': 0.3.17
- '@types/istanbul-lib-coverage': 2.0.4
- convert-source-map: 1.9.0
+ punycode: 2.3.1
dev: true
- /validator@13.9.0:
+ /validator@13.11.0:
resolution:
{
- integrity: sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA==,
+ integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==,
}
engines: { node: '>= 0.10' }
dev: true
- /vite-node@0.30.1(@types/node@18.11.18):
+ /vite-node@1.3.1(@types/node@20.11.20):
resolution:
{
- integrity: sha512-vTikpU/J7e6LU/8iM3dzBo8ZhEiKZEKRznEMm+mJh95XhWaPrJQraT/QsT2NWmuEf+zgAoMe64PKT7hfZ1Njmg==,
+ integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==,
}
- engines: { node: '>=v14.18.0' }
+ engines: { node: ^18.0.0 || >=20.0.0 }
hasBin: true
dependencies:
cac: 6.7.14
debug: 4.3.4
- mlly: 1.2.0
- pathe: 1.1.0
+ pathe: 1.1.2
picocolors: 1.0.0
- vite: 4.3.3(@types/node@18.11.18)
+ vite: 5.1.4(@types/node@20.11.20)
transitivePeerDependencies:
- '@types/node'
- less
+ - lightningcss
- sass
- stylus
- sugarss
@@ -3332,42 +3495,44 @@ packages:
- terser
dev: true
- /vite-plugin-dts@2.3.0(vite@4.3.3):
+ /vite-plugin-dts@3.7.3(@types/node@20.11.20)(typescript@5.3.3)(vite@5.1.4(@types/node@20.11.20)):
resolution:
{
- integrity: sha512-WbJgGtsStgQhdm3EosYmIdTGbag5YQpZ3HXWUAPCDyoXI5qN6EY0V7NXq0lAmnv9hVQsvh0htbYcg0Or5Db9JQ==,
+ integrity: sha512-26eTlBYdpjRLWCsTJebM8vkCieE+p9gP3raf+ecDnzzK5E3FG6VE1wcy55OkRpfWWVlVvKkYFe6uvRHYWx7Nog==,
}
engines: { node: ^14.18.0 || >=16.0.0 }
peerDependencies:
- vite: '>=2.9.0'
+ typescript: '*'
+ vite: '*'
+ peerDependenciesMeta:
+ vite:
+ optional: true
dependencies:
- '@babel/parser': 7.21.5
- '@microsoft/api-extractor': 7.34.6
- '@rollup/pluginutils': 5.0.2
- '@rushstack/node-core-library': 3.57.0
+ '@microsoft/api-extractor': 7.39.0(@types/node@20.11.20)
+ '@rollup/pluginutils': 5.1.0
+ '@vue/language-core': 1.8.27(typescript@5.3.3)
debug: 4.3.4
- fast-glob: 3.2.12
- fs-extra: 10.1.0
- kolorist: 1.7.0
- magic-string: 0.29.0
- ts-morph: 18.0.0
- vite: 4.3.3(@types/node@18.11.18)
+ kolorist: 1.8.0
+ typescript: 5.3.3
+ vite: 5.1.4(@types/node@20.11.20)
+ vue-tsc: 1.8.27(typescript@5.3.3)
transitivePeerDependencies:
- '@types/node'
- rollup
- supports-color
dev: true
- /vite@4.3.3(@types/node@18.11.18):
+ /vite@5.1.4(@types/node@20.11.20):
resolution:
{
- integrity: sha512-MwFlLBO4udZXd+VBcezo3u8mC77YQk+ik+fbc0GZWGgzfbPP+8Kf0fldhARqvSYmtIWoAJ5BXPClUbMTlqFxrA==,
+ integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==,
}
- engines: { node: ^14.18.0 || >=16.0.0 }
+ engines: { node: ^18.0.0 || >=20.0.0 }
hasBin: true
peerDependencies:
- '@types/node': '>= 14'
+ '@types/node': ^18.0.0 || >=20.0.0
less: '*'
+ lightningcss: ^1.21.0
sass: '*'
stylus: '*'
sugarss: '*'
@@ -3377,6 +3542,8 @@ packages:
optional: true
less:
optional: true
+ lightningcss:
+ optional: true
sass:
optional: true
stylus:
@@ -3386,33 +3553,33 @@ packages:
terser:
optional: true
dependencies:
- '@types/node': 18.11.18
- esbuild: 0.17.18
- postcss: 8.4.23
- rollup: 3.21.1
+ '@types/node': 20.11.20
+ esbuild: 0.19.12
+ postcss: 8.4.35
+ rollup: 4.12.0
optionalDependencies:
- fsevents: 2.3.2
+ fsevents: 2.3.3
dev: true
- /vitest@0.30.1:
+ /vitest@1.3.1(@types/node@20.11.20):
resolution:
{
- integrity: sha512-y35WTrSTlTxfMLttgQk4rHcaDkbHQwDP++SNwPb+7H8yb13Q3cu2EixrtHzF27iZ8v0XCciSsLg00RkPAzB/aA==,
+ integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==,
}
- engines: { node: '>=v14.18.0' }
+ engines: { node: ^18.0.0 || >=20.0.0 }
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
- '@vitest/browser': '*'
- '@vitest/ui': '*'
+ '@types/node': ^18.0.0 || >=20.0.0
+ '@vitest/browser': 1.3.1
+ '@vitest/ui': 1.3.1
happy-dom: '*'
jsdom: '*'
- playwright: '*'
- safaridriver: '*'
- webdriverio: '*'
peerDependenciesMeta:
'@edge-runtime/vm':
optional: true
+ '@types/node':
+ optional: true
'@vitest/browser':
optional: true
'@vitest/ui':
@@ -3421,41 +3588,31 @@ packages:
optional: true
jsdom:
optional: true
- playwright:
- optional: true
- safaridriver:
- optional: true
- webdriverio:
- optional: true
dependencies:
- '@types/chai': 4.3.4
- '@types/chai-subset': 1.3.3
- '@types/node': 18.11.18
- '@vitest/expect': 0.30.1
- '@vitest/runner': 0.30.1
- '@vitest/snapshot': 0.30.1
- '@vitest/spy': 0.30.1
- '@vitest/utils': 0.30.1
- acorn: 8.8.2
- acorn-walk: 8.2.0
- cac: 6.7.14
- chai: 4.3.7
- concordance: 5.0.4
+ '@types/node': 20.11.20
+ '@vitest/expect': 1.3.1
+ '@vitest/runner': 1.3.1
+ '@vitest/snapshot': 1.3.1
+ '@vitest/spy': 1.3.1
+ '@vitest/utils': 1.3.1
+ acorn-walk: 8.3.2
+ chai: 4.4.1
debug: 4.3.4
- local-pkg: 0.4.3
- magic-string: 0.30.0
- pathe: 1.1.0
+ execa: 8.0.1
+ local-pkg: 0.5.0
+ magic-string: 0.30.7
+ pathe: 1.1.2
picocolors: 1.0.0
- source-map: 0.6.1
- std-env: 3.3.2
- strip-literal: 1.0.1
- tinybench: 2.4.0
- tinypool: 0.4.0
- vite: 4.3.3(@types/node@18.11.18)
- vite-node: 0.30.1(@types/node@18.11.18)
+ std-env: 3.7.0
+ strip-literal: 2.0.0
+ tinybench: 2.6.0
+ tinypool: 0.8.2
+ vite: 5.1.4(@types/node@20.11.20)
+ vite-node: 1.3.1(@types/node@20.11.20)
why-is-node-running: 2.2.2
transitivePeerDependencies:
- less
+ - lightningcss
- sass
- stylus
- sugarss
@@ -3463,12 +3620,29 @@ packages:
- terser
dev: true
- /well-known-symbols@2.0.0:
+ /vue-template-compiler@2.7.16:
resolution:
{
- integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==,
+ integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==,
}
- engines: { node: '>=6' }
+ dependencies:
+ de-indent: 1.0.2
+ he: 1.2.0
+ dev: true
+
+ /vue-tsc@1.8.27(typescript@5.3.3):
+ resolution:
+ {
+ integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==,
+ }
+ hasBin: true
+ peerDependencies:
+ typescript: '*'
+ dependencies:
+ '@volar/typescript': 1.11.1
+ '@vue/language-core': 1.8.27(typescript@5.3.3)
+ semver: 7.6.0
+ typescript: 5.3.3
dev: true
/which@2.0.2:
@@ -3494,36 +3668,16 @@ packages:
stackback: 0.0.2
dev: true
- /word-wrap@1.2.3:
- resolution:
- {
- integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==,
- }
- engines: { node: '>=0.10.0' }
- dev: true
-
- /wrap-ansi@6.2.0:
+ /wrap-ansi@9.0.0:
resolution:
{
- integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==,
+ integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==,
}
- engines: { node: '>=8' }
- dependencies:
- ansi-styles: 4.3.0
- string-width: 4.2.3
- strip-ansi: 6.0.1
- dev: true
-
- /wrap-ansi@7.0.0:
- resolution:
- {
- integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==,
- }
- engines: { node: '>=10' }
+ engines: { node: '>=18' }
dependencies:
- ansi-styles: 4.3.0
- string-width: 4.2.3
- strip-ansi: 6.0.1
+ ansi-styles: 6.2.1
+ string-width: 7.1.0
+ strip-ansi: 7.1.0
dev: true
/wrappy@1.0.2:
@@ -3533,14 +3687,6 @@ packages:
}
dev: true
- /y18n@5.0.8:
- resolution:
- {
- integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==,
- }
- engines: { node: '>=10' }
- dev: true
-
/yallist@4.0.0:
resolution:
{
@@ -3548,38 +3694,14 @@ packages:
}
dev: true
- /yaml@2.2.2:
+ /yaml@2.3.4:
resolution:
{
- integrity: sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==,
+ integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==,
}
engines: { node: '>= 14' }
dev: true
- /yargs-parser@20.2.9:
- resolution:
- {
- integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==,
- }
- engines: { node: '>=10' }
- dev: true
-
- /yargs@16.2.0:
- resolution:
- {
- integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==,
- }
- engines: { node: '>=10' }
- dependencies:
- cliui: 7.0.4
- escalade: 3.1.1
- get-caller-file: 2.0.5
- require-directory: 2.1.1
- string-width: 4.2.3
- y18n: 5.0.8
- yargs-parser: 20.2.9
- dev: true
-
/yocto-queue@0.1.0:
resolution:
{
@@ -3606,7 +3728,7 @@ packages:
dependencies:
lodash.get: 4.4.2
lodash.isequal: 4.5.0
- validator: 13.9.0
+ validator: 13.11.0
optionalDependencies:
commander: 9.5.0
dev: true
diff --git a/size.json b/size.json
index e336816..37a6d97 100644
--- a/size.json
+++ b/size.json
@@ -4,7 +4,7 @@
"raw": 1760
},
"gzipped": {
- "pretty": "777 B",
- "raw": 777
+ "pretty": "778 B",
+ "raw": 778
}
}
\ No newline at end of file
diff --git a/vite.config.ts b/vite.config.ts
index 63123f2..262ef1a 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,5 +1,5 @@
///
-import { resolve } from 'node:path';
+
import { defineConfig } from 'vite';
import dts from 'vite-plugin-dts';
@@ -8,9 +8,9 @@ export default defineConfig({
build: {
target: 'esnext',
lib: {
- entry: resolve(__dirname, 'src/index.ts'),
+ entry: './src/index.ts',
fileName: 'index',
- formats: ['es', 'cjs'],
+ formats: ['es'],
},
minify: false,
},
From 5ecb932844f8f031909329e2ce78bea79b96070d Mon Sep 17 00:00:00 2001
From: Eric Kwoka <43540491+ekwoka@users.noreply.github.com>
Date: Sun, 25 Feb 2024 19:06:45 +0400
Subject: [PATCH 2/8] :recycle: Refactors to class
---
size.json | 8 +--
src/index.test.ts | 52 +++++++--------
src/index.ts | 160 +++++++++++++++++++++++-----------------------
3 files changed, 109 insertions(+), 111 deletions(-)
diff --git a/size.json b/size.json
index 37a6d97..e4ed1d4 100644
--- a/size.json
+++ b/size.json
@@ -1,10 +1,10 @@
{
"minified": {
- "pretty": "1.76 kB",
- "raw": 1760
+ "pretty": "2.19 kB",
+ "raw": 2195
},
"gzipped": {
- "pretty": "778 B",
- "raw": 778
+ "pretty": "834 B",
+ "raw": 834
}
}
\ No newline at end of file
diff --git a/src/index.test.ts b/src/index.test.ts
index d77ee14..df0fa2a 100644
--- a/src/index.test.ts
+++ b/src/index.test.ts
@@ -2,24 +2,24 @@ import { WeakLRUCache } from '.';
describe('Map API', () => {
it('can set', () => {
- const cache = WeakLRUCache<{ foo: string }>();
+ const cache = new WeakLRUCache<{ foo: string }>();
expect(cache.set('foo', { foo: 'bar' })).toBe(cache);
expect(cache.has('foo')).toBe(true);
});
it('can get', () => {
- const cache = WeakLRUCache<{ foo: string }>();
+ const cache = new WeakLRUCache<{ foo: string }>();
expect(cache.get('foo')).toBeUndefined();
cache.set('foo', { foo: 'bar' });
expect(cache.get('foo')).toEqual({ foo: 'bar' });
});
it('can check if has', () => {
- const cache = WeakLRUCache<{ foo: string }>();
+ const cache = new WeakLRUCache<{ foo: string }>();
expect(cache.has('foo')).toBe(false);
cache.set('foo', { foo: 'bar' });
expect(cache.has('foo')).toBe(true);
});
it('can delete', () => {
- const cache = WeakLRUCache<{ foo: string }>();
+ const cache = new WeakLRUCache<{ foo: string }>();
cache.set('foo', { foo: 'bar' });
expect(cache.has('foo')).toBe(true);
expect(cache.delete('foo')).toBe(true);
@@ -27,42 +27,42 @@ describe('Map API', () => {
expect(cache.delete('foo')).toBe(false);
});
it('can clear', () => {
- const cache = WeakLRUCache<{ foo: string }>();
+ const cache = new WeakLRUCache<{ foo: string }>();
cache.set('foo', { foo: 'bar' });
expect(cache.has('foo')).toBe(true);
cache.clear();
expect(cache.has('foo')).toBe(false);
});
it('can return keys', () => {
- const cache = WeakLRUCache<{ foo: string }>();
+ const cache = new WeakLRUCache<{ foo: string }>();
cache.set('foo', { foo: 'bar' });
expect([...cache.keys()]).toEqual(['foo']);
});
it('can return values', () => {
- const cache = WeakLRUCache<{ foo: string }>();
+ const cache = new WeakLRUCache<{ foo: string }>();
cache.set('foo', { foo: 'bar' });
expect([...cache.values()]).toEqual([{ foo: 'bar' }]);
});
it('can return entries', () => {
- const cache = WeakLRUCache<{ foo: string }>();
+ const cache = new WeakLRUCache<{ foo: string }>();
cache.set('foo', { foo: 'bar' });
expect([...cache.entries()]).toEqual([['foo', { foo: 'bar' }]]);
});
it('can directly iterate', () => {
- const cache = WeakLRUCache<{ foo: string }>();
+ const cache = new WeakLRUCache<{ foo: string }>();
cache.set('foo', { foo: 'bar' });
const entries: [string, { foo: string }][] = [];
for (const entry of cache) entries.push(entry);
expect(entries).toEqual([['foo', { foo: 'bar' }]]);
});
it('can return size', () => {
- const cache = WeakLRUCache<{ foo: string }>();
+ const cache = new WeakLRUCache<{ foo: string }>();
expect(cache.size).toBe(0);
cache.set('foo', { foo: 'bar' });
expect(cache.size).toBe(1);
});
it('can loop over forEach', () => {
- const cache = WeakLRUCache<{ foo: string }>();
+ const cache = new WeakLRUCache<{ foo: string }>();
cache.set('foo', { foo: 'bar' });
const entries: [string, { foo: string }][] = [];
cache.forEach((value, key) => entries.push([key, value]));
@@ -75,43 +75,43 @@ describe('Weak LRU Cache', () => {
vi.useFakeTimers();
});
it('caches object', () => {
- const cache = WeakLRUCache<{ foo: string }>();
+ const cache = new WeakLRUCache<{ foo: string }>();
const obj = { foo: 'bar' };
cache.set('obj', obj);
expect(cache.get('obj')).toBe(obj);
});
it('returns undefined for non-existent keys', () => {
- const cache = WeakLRUCache<{ foo: string }>();
+ const cache = new WeakLRUCache<{ foo: string }>();
expect(cache.get('obj')).toBeUndefined();
});
it('peeks objects', () => {
- const cache = WeakLRUCache<{ foo: string }>();
+ const cache = new WeakLRUCache<{ foo: string }>();
const obj = { foo: 'bar' };
expect(cache.peek('obj')).toBeUndefined();
cache.set('obj', obj);
expect(cache.peek('obj')).toBe(obj);
});
it('caches 1000 objects', () => {
- const cache = WeakLRUCache<{ foo: string }>();
+ const cache = new WeakLRUCache<{ foo: string }>();
for (let i = 0; i < 1000; i++) cache.set(`obj${i}`, { foo: 'bar' });
expect(cache.peek('obj0')).toBeDefined();
expect(cache.peek('obj999')).toBeDefined();
});
it('caches 2000 objects', () => {
- const cache = WeakLRUCache<{ foo: string }>();
+ const cache = new WeakLRUCache<{ foo: string }>();
for (let i = 0; i < 2000; i++) cache.set(`obj${i}`, { foo: 'bar' });
expect(cache.peek('obj0')).toBeDefined();
expect(cache.peek('obj999')).toBeDefined();
expect(cache.peek('obj1999')).toBeDefined();
});
it('weakly references old entries', () => {
- const cache = WeakLRUCache<{ foo: string }>();
+ const cache = new WeakLRUCache<{ foo: string }>();
for (let i = 0; i < 2000; i++) cache.set(`obj${i}`, { foo: 'bar' });
expect(cache.peek('obj0')).toBeDefined();
expect(cache.peekReference('obj0') instanceof WeakRef).toBe(true);
});
it('can reset values', () => {
- const cache = WeakLRUCache<{ foo: string }>();
+ const cache = new WeakLRUCache<{ foo: string }>();
const obj = { foo: 'bar' };
cache.set('obj', obj);
expect(cache.get('obj')).toBe(obj);
@@ -119,7 +119,7 @@ describe('Weak LRU Cache', () => {
expect(cache.get('obj')).not.toBe(obj);
});
it('can delete values', () => {
- const cache = WeakLRUCache<{ foo: string }>();
+ const cache = new WeakLRUCache<{ foo: string }>();
const obj = { foo: 'bar' };
cache.set('obj', obj);
expect(cache.get('obj')).toBe(obj);
@@ -128,40 +128,40 @@ describe('Weak LRU Cache', () => {
expect(cache.delete('obj')).toBe(false);
});
it('can tell if it has a value', () => {
- const cache = WeakLRUCache<{ foo: string }>();
+ const cache = new WeakLRUCache<{ foo: string }>();
expect(cache.has('obj')).toBe(false);
const obj = { foo: 'bar' };
cache.set('obj', obj);
expect(cache.has('obj')).toBe(true);
});
it('handles reusing expired cache items', () => {
- const cache = WeakLRUCache<{ foo: string }>();
+ const cache = new WeakLRUCache<{ foo: string }>();
const obj = { foo: 'bar' };
cache.set('obj', obj);
for (let i = 0; i < 1000; i++) cache.set(`obj${i}`, { foo: 'bar' });
expect(cache.get('obj')).toBe(obj);
});
it('handles repositioning first and last items', () => {
- const cache = WeakLRUCache<{ foo: string }>();
+ const cache = new WeakLRUCache<{ foo: string }>();
for (let i = 0; i < 3; i++) cache.set(`obj${i}`, { foo: 'bar' });
expect(cache.delete('obj2')).toBe(true);
expect(cache.delete('obj0')).toBe(true);
});
it('handles weakrefs', () => {
- const cache = WeakLRUCache<{ foo: string }>();
+ const cache = new WeakLRUCache<{ foo: string }>();
const obj = { foo: 'bar' };
cache.set('obj', new WeakRef(obj) as unknown as { foo: string });
expect(cache.get('obj')).toBe(obj);
expect(cache.peekReference('obj') instanceof WeakRef).toBe(false);
});
it('accepts size option', () => {
- const cache = WeakLRUCache<{ foo: string }>({ size: 2 });
+ const cache = new WeakLRUCache<{ foo: string }>({ size: 2 });
for (let i = 0; i < 3; i++) cache.set(`obj${i}`, { foo: 'bar' });
expect(cache.peekReference('obj0') instanceof WeakRef).toBe(true);
});
it('accepts size processor', () => {
const sizeCallback = vi.fn().mockImplementation(() => 4);
- const cache = WeakLRUCache<{ foo: string }>({
+ const cache = new WeakLRUCache<{ foo: string }>({
size: 2,
getSize: sizeCallback,
});
@@ -174,7 +174,7 @@ describe('Weak LRU Cache', () => {
expect(cache.peekReference('obj') instanceof WeakRef).toBe(true);
});
it('accepts maxAge option', async () => {
- const cache = WeakLRUCache<{ foo: string }>({ maxAge: 1 });
+ const cache = new WeakLRUCache<{ foo: string }>({ maxAge: 1 });
cache.set('obj', { foo: 'bar' });
expect(cache.peekReference('obj') instanceof WeakRef).toBeFalsy();
await vi.advanceTimersByTimeAsync(2_000);
diff --git a/src/index.ts b/src/index.ts
index 9deb32f..dbda78d 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -1,103 +1,101 @@
import { Expirer } from './expirer';
import { Entry, LRUCacheOptions } from './types';
-export type WeakLRUCache = {
- set: (key: string, value: T) => WeakLRUCache;
- get: (key: string) => T;
- peek: (key: string) => T;
- peekReference: (key: string) => T | WeakRef;
- has: (key: string) => boolean;
- delete: (key: string) => boolean;
- clear: () => void;
- keys: () => IterableIterator;
- values: () => IterableIterator;
- entries: () => IterableIterator<[string, T]>;
- [Symbol.iterator]: () => IterableIterator<[string, T]>;
- size: number;
- forEach: (
- cb: (value: T, key: string, cache: WeakLRUCache) => void
- ) => void;
-};
-
-export const WeakLRUCache = (
- options: LRUCacheOptions = {}
-): WeakLRUCache => {
- const cache = new Map>();
- const expirer = Expirer(cache, options);
- const weakLRUCache: WeakLRUCache = {
- set: (key: string, value: T): WeakLRUCache => {
- const entry = cache.get(key) ?? {
- key,
- value,
- next: null,
- prev: null,
- size: 1,
- };
- entry.value = value;
- entry.size = options.getSize?.(value) ?? 1;
- cache.set(key, entry);
- expirer.add(expirer.remove(entry)).value as T;
- return weakLRUCache;
- },
- get: (key: string): T => {
- const entry = cache.get(key);
- if (!entry) return undefined;
- if (entry.value instanceof WeakRef) entry.value = entry.value.deref();
- if (!entry.value)
- return cache.delete(expirer.remove(entry).key), undefined;
- return expirer.add(expirer.remove(entry)).value as T;
- },
- peek: (key: string): T => {
- const entry = cache.get(key);
- if (!entry) return undefined;
- if (
- !entry.value ||
- (entry.value instanceof WeakRef && !entry.value.deref())
- )
- return cache.delete(expirer.remove(entry).key), undefined;
- if (entry.value instanceof WeakRef) return entry.value.deref();
- return entry.value;
- },
- peekReference: (key: string): T | WeakRef => cache.get(key)?.value,
- has: (key: string): boolean => cache.has(key),
- delete: (key: string): boolean =>
- cache.has(key) ? cache.delete(expirer.remove(cache.get(key)).key) : false,
- clear: (): void => (cache.forEach(expirer.remove), cache.clear()),
- keys: (): IterableIterator => iterateCache(cache, expirer, 0),
- values: (): IterableIterator => iterateCache(cache, expirer, 1),
- entries: (): IterableIterator<[string, T]> => iterateCache(cache, expirer),
- [Symbol.iterator]: (): IterableIterator<[string, T]> =>
- iterateCache(cache, expirer),
- get size() {
- return cache.size;
- },
- forEach: (cb) => {
- for (const [key, value] of iterateCache(cache, expirer))
- cb(value, key, weakLRUCache);
- },
- };
- return weakLRUCache;
-};
+export class WeakLRUCache implements Map {
+ [Symbol.toStringTag]: 'WeakLRUCache';
+ public cache: Map> = new Map();
+ public expirer: Expirer;
+ constructor(public options: LRUCacheOptions = {}) {
+ this.expirer = Expirer(this.cache, this.options);
+ }
+ set(key: string, value: T): this {
+ const entry = this.cache.get(key) ?? {
+ key,
+ value,
+ next: null,
+ prev: null,
+ size: 1,
+ };
+ entry.value = value;
+ entry.size = this.options.getSize?.(value) ?? 1;
+ this.cache.set(key, entry);
+ this.expirer.add(this.expirer.remove(entry)).value as T;
+ return this;
+ }
+ get(key: string): T {
+ const entry = this.cache.get(key);
+ if (!entry) return undefined;
+ if (entry.value instanceof WeakRef) entry.value = entry.value.deref();
+ if (!entry.value)
+ return this.cache.delete(this.expirer.remove(entry).key), undefined;
+ return this.expirer.add(this.expirer.remove(entry)).value as T;
+ }
+ peek(key: string): T {
+ const entry = this.cache.get(key);
+ if (!entry) return undefined;
+ if (
+ !entry.value ||
+ (entry.value instanceof WeakRef && !entry.value.deref())
+ )
+ return this.cache.delete(this.expirer.remove(entry).key), undefined;
+ if (entry.value instanceof WeakRef) return entry.value.deref();
+ return entry.value;
+ }
+ peekReference(key: string): T | WeakRef {
+ return this.cache.get(key)?.value;
+ }
+ has(key: string): boolean {
+ return this.cache.has(key);
+ }
+ delete(key: string): boolean {
+ return this.cache.has(key)
+ ? this.cache.delete(this.expirer.remove(this.cache.get(key)).key)
+ : false;
+ }
+ clear(): void {
+ this.cache.forEach(this.expirer.remove);
+ this.cache.clear();
+ }
+ keys(): IterableIterator {
+ return iterateCache(this.cache, this.expirer, 0);
+ }
+ values(): IterableIterator {
+ return iterateCache(this.cache, this.expirer, 1);
+ }
+ entries(): IterableIterator<[string, T]> {
+ return iterateCache(this.cache, this.expirer);
+ }
+ [Symbol.iterator](): IterableIterator<[string, T]> {
+ return iterateCache(this.cache, this.expirer);
+ }
+ get size() {
+ return this.cache.size;
+ }
+ forEach(cb: (value: T, key: string, cache: this) => void) {
+ for (const [key, value] of iterateCache(this.cache, this.expirer))
+ cb(value, key, this);
+ }
+}
function iterateCache(
cache: Map>,
expirer: Expirer,
- mode: 0
+ mode: 0,
): IterableIterator;
function iterateCache(
cache: Map>,
expirer: Expirer,
- mode: 1
+ mode: 1,
): IterableIterator;
function iterateCache(
cache: Map>,
expirer: Expirer,
- mode?: 2
+ mode?: 2,
): IterableIterator<[string, T]>;
function* iterateCache(
cache: Map>,
expirer: Expirer,
- mode: 0 | 1 | 2 = 2
+ mode: 0 | 1 | 2 = 2,
): IterableIterator<[string, T] | string | T> {
for (const [key, entry] of cache.entries()) {
const value =
From 1f6b0b8df90ed3c28111a737a76b5fe6553ee563 Mon Sep 17 00:00:00 2001
From: Eric Kwoka <43540491+ekwoka@users.noreply.github.com>
Date: Sun, 25 Feb 2024 19:32:50 +0400
Subject: [PATCH 3/8] :recycle: Refactors Expirer to Class
---
size.json | 8 +--
src/expirer.ts | 144 +++++++++++++++++++++++++++++++------------------
src/index.ts | 14 ++---
3 files changed, 100 insertions(+), 66 deletions(-)
diff --git a/size.json b/size.json
index e4ed1d4..d6a9e7c 100644
--- a/size.json
+++ b/size.json
@@ -1,10 +1,10 @@
{
"minified": {
- "pretty": "2.19 kB",
- "raw": 2195
+ "pretty": "2.84 kB",
+ "raw": 2842
},
"gzipped": {
- "pretty": "834 B",
- "raw": 834
+ "pretty": "964 B",
+ "raw": 964
}
}
\ No newline at end of file
diff --git a/src/expirer.ts b/src/expirer.ts
index 16cd3b1..97d764a 100644
--- a/src/expirer.ts
+++ b/src/expirer.ts
@@ -1,54 +1,94 @@
-import { Entry, LRUCacheOptions } from './types';
-export type Expirer = ReturnType>;
-export const Expirer = (
- cache: Map>,
- options: LRUCacheOptions
-) => {
- let size = 0;
- let head: Entry | null = null;
- let tail: Entry | null = null;
- const remove = (entry: Entry) => {
- if (entry.timeout) clearTimeout(entry.timeout);
- if (!entry.prev && !entry.next) return entry;
- if (entry.prev) entry.prev.next = entry.next;
- if (entry.next) entry.next.prev = entry.prev;
- if (tail === entry) tail = entry.next ?? entry.prev;
- if (head === entry) head = entry.next;
- entry.prev = null;
- entry.next = null;
- size -= entry.size;
- return entry;
- };
- const registry = new FinalizationRegistry(
- (key: string) => cache.has(key) && cache.delete(remove(cache.get(key)).key)
- );
- const expireEntry = (entry: Entry) => {
- registry.register(entry.value, entry.key);
+import type { LRUCacheOptions } from './types';
+
+export class Expirer {
+ size = 0;
+ head: Entry | null = null;
+ tail: Entry | null = null;
+ registry: FinalizationRegistry;
+
+ constructor(
+ public cache: Map>,
+ public options: LRUCacheOptions,
+ ) {
+ this.registry = new FinalizationRegistry(
+ (key: string) =>
+ cache.has(key) && cache.delete(this.remove(cache.get(key)).key),
+ );
+ }
+ remove(entry: Entry) {
+ entry.clearTimeout();
+ if (entry.disconnected) return entry;
+ if (this.tail === entry) this.tail = entry.next ?? entry.prev;
+ if (this.head === entry) this.head = entry.next;
+ this.size -= entry.size;
+ return entry.remove();
+ }
+
+ expireEntry(entry: Entry) {
+ this.registry.register(entry.value, entry.key);
if (!(entry.value instanceof WeakRef))
entry.value = new WeakRef(entry.value);
- remove(entry);
- };
- const prune = () => {
- if (size <= (options.size ?? 1000)) return;
- expireEntry(tail);
- };
- return {
- add: (entry: Entry) => {
- registry.register(entry.value, `entry: ${entry.key}`);
- if (entry.value instanceof WeakRef) entry.value = entry.value.deref();
- if (head) {
- entry.next = head;
- head.prev = entry;
- }
- head = entry;
- if (!tail) tail = entry;
- size += entry.size;
- if (entry.timeout) clearTimeout(entry.timeout);
- if (options.maxAge)
- entry.timeout = setTimeout(expireEntry, options.maxAge, entry);
- prune();
- return entry;
- },
- remove,
- };
-};
+ this.remove(entry);
+ return this;
+ }
+ prune() {
+ if (this.size <= (this.options.size ?? 1000)) return;
+ this.expireEntry(this.tail);
+ }
+ add(entry: Entry) {
+ this.registry.register(entry.value, `entry: ${entry.key}`);
+ if (entry.value instanceof WeakRef) entry.value = entry.value.deref();
+ if (this.head) {
+ entry.next = this.head;
+ this.head.prev = entry;
+ }
+ this.head = entry;
+ if (!this.tail) this.tail = entry;
+ this.size += entry.size;
+ if (entry.timeout) clearTimeout(entry.timeout);
+ if (this.options.maxAge)
+ entry.timeout = setTimeout(
+ this.expireEntry.bind(this),
+ this.options.maxAge,
+ entry,
+ );
+ this.prune();
+ return entry;
+ }
+}
+
+export class Entry {
+ next: Entry | null;
+ prev: Entry | null;
+ timeout: number | NodeJS.Timeout | null = null;
+ constructor(
+ public value: T | WeakRef,
+ public key: string,
+ public size: number,
+ ) {}
+ setNext(value: Entry | null) {
+ this.next = value;
+ return this;
+ }
+ setPrev(value: Entry | null) {
+ this.prev = value;
+ return this;
+ }
+ remove() {
+ if (this.timeout) clearTimeout(this.timeout);
+ this.prev?.setNext(this.next);
+ this.next?.setPrev(this.prev);
+ return this.disconnect();
+ }
+ clearTimeout() {
+ clearTimeout(this.timeout);
+ }
+ disconnect() {
+ this.prev = null;
+ this.next = null;
+ return this;
+ }
+ get disconnected() {
+ return !this.prev && !this.next;
+ }
+}
diff --git a/src/index.ts b/src/index.ts
index dbda78d..33878da 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -1,21 +1,15 @@
-import { Expirer } from './expirer';
-import { Entry, LRUCacheOptions } from './types';
+import { Expirer, Entry } from './expirer';
+import type { LRUCacheOptions } from './types';
export class WeakLRUCache implements Map {
[Symbol.toStringTag]: 'WeakLRUCache';
public cache: Map> = new Map();
public expirer: Expirer;
constructor(public options: LRUCacheOptions = {}) {
- this.expirer = Expirer(this.cache, this.options);
+ this.expirer = new Expirer(this.cache, this.options);
}
set(key: string, value: T): this {
- const entry = this.cache.get(key) ?? {
- key,
- value,
- next: null,
- prev: null,
- size: 1,
- };
+ const entry = this.cache.get(key) ?? new Entry(value, key, 1);
entry.value = value;
entry.size = this.options.getSize?.(value) ?? 1;
this.cache.set(key, entry);
From dde94866f8d56007af48d998768951c6973b94b0 Mon Sep 17 00:00:00 2001
From: Eric Kwoka <43540491+ekwoka@users.noreply.github.com>
Date: Sun, 25 Feb 2024 19:39:53 +0400
Subject: [PATCH 4/8] :construction: Ajusts Entry Methods
---
size.json | 8 ++++----
src/expirer.ts | 19 +++++++++++--------
2 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/size.json b/size.json
index d6a9e7c..5ae05c2 100644
--- a/size.json
+++ b/size.json
@@ -1,10 +1,10 @@
{
"minified": {
- "pretty": "2.84 kB",
- "raw": 2842
+ "pretty": "2.9 kB",
+ "raw": 2898
},
"gzipped": {
- "pretty": "964 B",
- "raw": 964
+ "pretty": "979 B",
+ "raw": 979
}
}
\ No newline at end of file
diff --git a/src/expirer.ts b/src/expirer.ts
index 97d764a..1834673 100644
--- a/src/expirer.ts
+++ b/src/expirer.ts
@@ -26,8 +26,7 @@ export class Expirer {
expireEntry(entry: Entry) {
this.registry.register(entry.value, entry.key);
- if (!(entry.value instanceof WeakRef))
- entry.value = new WeakRef(entry.value);
+ entry.weaken();
this.remove(entry);
return this;
}
@@ -37,15 +36,11 @@ export class Expirer {
}
add(entry: Entry) {
this.registry.register(entry.value, `entry: ${entry.key}`);
- if (entry.value instanceof WeakRef) entry.value = entry.value.deref();
- if (this.head) {
- entry.next = this.head;
- this.head.prev = entry;
- }
+ entry.strengthen().setNext(this.head?.setPrev(entry));
this.head = entry;
if (!this.tail) this.tail = entry;
this.size += entry.size;
- if (entry.timeout) clearTimeout(entry.timeout);
+ entry.clearTimeout();
if (this.options.maxAge)
entry.timeout = setTimeout(
this.expireEntry.bind(this),
@@ -91,4 +86,12 @@ export class Entry {
get disconnected() {
return !this.prev && !this.next;
}
+ weaken() {
+ if (!(this.value instanceof WeakRef)) this.value = new WeakRef(this.value);
+ return this;
+ }
+ strengthen() {
+ if (this.value instanceof WeakRef) this.value = this.value.deref();
+ return this;
+ }
}
From 8ee0b95cac0562a3b8d5744f9c7c2422bbdb07c6 Mon Sep 17 00:00:00 2001
From: Eric Kwoka <43540491+ekwoka@users.noreply.github.com>
Date: Sat, 2 Mar 2024 22:20:24 +0400
Subject: [PATCH 5/8] :arrow_up: Upgrade Deps
---
package.json | 6 +--
pnpm-lock.yaml | 128 ++++++++++++++++++++++++-------------------------
2 files changed, 67 insertions(+), 67 deletions(-)
diff --git a/package.json b/package.json
index 5347953..ba07dbf 100644
--- a/package.json
+++ b/package.json
@@ -41,9 +41,9 @@
"test": "vitest"
},
"devDependencies": {
- "@types/node": "20.11.20",
- "@typescript-eslint/eslint-plugin": "^7.0.2",
- "@typescript-eslint/parser": "^7.0.2",
+ "@types/node": "20.11.24",
+ "@typescript-eslint/eslint-plugin": "^7.1.0",
+ "@typescript-eslint/parser": "^7.1.0",
"esbuild": "^0.20.1",
"eslint": "^8.57.0",
"gzip-size": "^7.0.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 8e53917..cc11284 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -6,14 +6,14 @@ settings:
devDependencies:
'@types/node':
- specifier: 20.11.20
- version: 20.11.20
+ specifier: 20.11.24
+ version: 20.11.24
'@typescript-eslint/eslint-plugin':
- specifier: ^7.0.2
- version: 7.0.2(@typescript-eslint/parser@7.0.2(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(typescript@5.3.3)
+ specifier: ^7.1.0
+ version: 7.1.0(@typescript-eslint/parser@7.1.0(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(typescript@5.3.3)
'@typescript-eslint/parser':
- specifier: ^7.0.2
- version: 7.0.2(eslint@8.57.0)(typescript@5.3.3)
+ specifier: ^7.1.0
+ version: 7.1.0(eslint@8.57.0)(typescript@5.3.3)
esbuild:
specifier: ^0.20.1
version: 0.20.1
@@ -40,13 +40,13 @@ devDependencies:
version: 5.3.3
vite:
specifier: ^5.1.4
- version: 5.1.4(@types/node@20.11.20)
+ version: 5.1.4(@types/node@20.11.24)
vite-plugin-dts:
specifier: ^3.7.3
- version: 3.7.3(@types/node@20.11.20)(typescript@5.3.3)(vite@5.1.4(@types/node@20.11.20))
+ version: 3.7.3(@types/node@20.11.24)(typescript@5.3.3)(vite@5.1.4(@types/node@20.11.24))
vitest:
specifier: ^1.3.1
- version: 1.3.1(@types/node@20.11.20)
+ version: 1.3.1(@types/node@20.11.24)
packages:
/@aashutoshrathi/word-wrap@1.2.6:
@@ -743,7 +743,7 @@ packages:
}
dev: true
- /@microsoft/api-extractor-model@7.28.3(@types/node@20.11.20):
+ /@microsoft/api-extractor-model@7.28.3(@types/node@20.11.24):
resolution:
{
integrity: sha512-wT/kB2oDbdZXITyDh2SQLzaWwTOFbV326fP0pUwNW00WeliARs0qjmXBWmGWardEzp2U3/axkO3Lboqun6vrig==,
@@ -751,22 +751,22 @@ packages:
dependencies:
'@microsoft/tsdoc': 0.14.2
'@microsoft/tsdoc-config': 0.16.2
- '@rushstack/node-core-library': 3.62.0(@types/node@20.11.20)
+ '@rushstack/node-core-library': 3.62.0(@types/node@20.11.24)
transitivePeerDependencies:
- '@types/node'
dev: true
- /@microsoft/api-extractor@7.39.0(@types/node@20.11.20):
+ /@microsoft/api-extractor@7.39.0(@types/node@20.11.24):
resolution:
{
integrity: sha512-PuXxzadgnvp+wdeZFPonssRAj/EW4Gm4s75TXzPk09h3wJ8RS3x7typf95B4vwZRrPTQBGopdUl+/vHvlPdAcg==,
}
hasBin: true
dependencies:
- '@microsoft/api-extractor-model': 7.28.3(@types/node@20.11.20)
+ '@microsoft/api-extractor-model': 7.28.3(@types/node@20.11.24)
'@microsoft/tsdoc': 0.14.2
'@microsoft/tsdoc-config': 0.16.2
- '@rushstack/node-core-library': 3.62.0(@types/node@20.11.20)
+ '@rushstack/node-core-library': 3.62.0(@types/node@20.11.24)
'@rushstack/rig-package': 0.5.1
'@rushstack/ts-command-line': 4.17.1
colors: 1.2.5
@@ -988,7 +988,7 @@ packages:
dev: true
optional: true
- /@rushstack/node-core-library@3.62.0(@types/node@20.11.20):
+ /@rushstack/node-core-library@3.62.0(@types/node@20.11.24):
resolution:
{
integrity: sha512-88aJn2h8UpSvdwuDXBv1/v1heM6GnBf3RjEy6ZPP7UnzHNCqOHA2Ut+ScYUbXcqIdfew9JlTAe3g+cnX9xQ/Aw==,
@@ -999,7 +999,7 @@ packages:
'@types/node':
optional: true
dependencies:
- '@types/node': 20.11.20
+ '@types/node': 20.11.24
colors: 1.2.5
fs-extra: 7.0.1
import-lazy: 4.0.0
@@ -1059,10 +1059,10 @@ packages:
}
dev: true
- /@types/node@20.11.20:
+ /@types/node@20.11.24:
resolution:
{
- integrity: sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==,
+ integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==,
}
dependencies:
undici-types: 5.26.5
@@ -1075,10 +1075,10 @@ packages:
}
dev: true
- /@typescript-eslint/eslint-plugin@7.0.2(@typescript-eslint/parser@7.0.2(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(typescript@5.3.3):
+ /@typescript-eslint/eslint-plugin@7.1.0(@typescript-eslint/parser@7.1.0(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(typescript@5.3.3):
resolution:
{
- integrity: sha512-/XtVZJtbaphtdrWjr+CJclaCVGPtOdBpFEnvtNf/jRV0IiEemRrL0qABex/nEt8isYcnFacm3nPHYQwL+Wb7qg==,
+ integrity: sha512-j6vT/kCulhG5wBmGtstKeiVr1rdXE4nk+DT1k6trYkwlrvW9eOF5ZbgKnd/YR6PcM4uTEXa0h6Fcvf6X7Dxl0w==,
}
engines: { node: ^16.0.0 || >=18.0.0 }
peerDependencies:
@@ -1090,11 +1090,11 @@ packages:
optional: true
dependencies:
'@eslint-community/regexpp': 4.10.0
- '@typescript-eslint/parser': 7.0.2(eslint@8.57.0)(typescript@5.3.3)
- '@typescript-eslint/scope-manager': 7.0.2
- '@typescript-eslint/type-utils': 7.0.2(eslint@8.57.0)(typescript@5.3.3)
- '@typescript-eslint/utils': 7.0.2(eslint@8.57.0)(typescript@5.3.3)
- '@typescript-eslint/visitor-keys': 7.0.2
+ '@typescript-eslint/parser': 7.1.0(eslint@8.57.0)(typescript@5.3.3)
+ '@typescript-eslint/scope-manager': 7.1.0
+ '@typescript-eslint/type-utils': 7.1.0(eslint@8.57.0)(typescript@5.3.3)
+ '@typescript-eslint/utils': 7.1.0(eslint@8.57.0)(typescript@5.3.3)
+ '@typescript-eslint/visitor-keys': 7.1.0
debug: 4.3.4
eslint: 8.57.0
graphemer: 1.4.0
@@ -1107,10 +1107,10 @@ packages:
- supports-color
dev: true
- /@typescript-eslint/parser@7.0.2(eslint@8.57.0)(typescript@5.3.3):
+ /@typescript-eslint/parser@7.1.0(eslint@8.57.0)(typescript@5.3.3):
resolution:
{
- integrity: sha512-GdwfDglCxSmU+QTS9vhz2Sop46ebNCXpPPvsByK7hu0rFGRHL+AusKQJ7SoN+LbLh6APFpQwHKmDSwN35Z700Q==,
+ integrity: sha512-V1EknKUubZ1gWFjiOZhDSNToOjs63/9O0puCgGS8aDOgpZY326fzFu15QAUjwaXzRZjf/qdsdBrckYdv9YxB8w==,
}
engines: { node: ^16.0.0 || >=18.0.0 }
peerDependencies:
@@ -1120,10 +1120,10 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/scope-manager': 7.0.2
- '@typescript-eslint/types': 7.0.2
- '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.3.3)
- '@typescript-eslint/visitor-keys': 7.0.2
+ '@typescript-eslint/scope-manager': 7.1.0
+ '@typescript-eslint/types': 7.1.0
+ '@typescript-eslint/typescript-estree': 7.1.0(typescript@5.3.3)
+ '@typescript-eslint/visitor-keys': 7.1.0
debug: 4.3.4
eslint: 8.57.0
typescript: 5.3.3
@@ -1131,21 +1131,21 @@ packages:
- supports-color
dev: true
- /@typescript-eslint/scope-manager@7.0.2:
+ /@typescript-eslint/scope-manager@7.1.0:
resolution:
{
- integrity: sha512-l6sa2jF3h+qgN2qUMjVR3uCNGjWw4ahGfzIYsCtFrQJCjhbrDPdiihYT8FnnqFwsWX+20hK592yX9I2rxKTP4g==,
+ integrity: sha512-6TmN4OJiohHfoOdGZ3huuLhpiUgOGTpgXNUPJgeZOZR3DnIpdSgtt83RS35OYNNXxM4TScVlpVKC9jyQSETR1A==,
}
engines: { node: ^16.0.0 || >=18.0.0 }
dependencies:
- '@typescript-eslint/types': 7.0.2
- '@typescript-eslint/visitor-keys': 7.0.2
+ '@typescript-eslint/types': 7.1.0
+ '@typescript-eslint/visitor-keys': 7.1.0
dev: true
- /@typescript-eslint/type-utils@7.0.2(eslint@8.57.0)(typescript@5.3.3):
+ /@typescript-eslint/type-utils@7.1.0(eslint@8.57.0)(typescript@5.3.3):
resolution:
{
- integrity: sha512-IKKDcFsKAYlk8Rs4wiFfEwJTQlHcdn8CLwLaxwd6zb8HNiMcQIFX9sWax2k4Cjj7l7mGS5N1zl7RCHOVwHq2VQ==,
+ integrity: sha512-UZIhv8G+5b5skkcuhgvxYWHjk7FW7/JP5lPASMEUoliAPwIH/rxoUSQPia2cuOj9AmDZmwUl1usKm85t5VUMew==,
}
engines: { node: ^16.0.0 || >=18.0.0 }
peerDependencies:
@@ -1155,8 +1155,8 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.3.3)
- '@typescript-eslint/utils': 7.0.2(eslint@8.57.0)(typescript@5.3.3)
+ '@typescript-eslint/typescript-estree': 7.1.0(typescript@5.3.3)
+ '@typescript-eslint/utils': 7.1.0(eslint@8.57.0)(typescript@5.3.3)
debug: 4.3.4
eslint: 8.57.0
ts-api-utils: 1.2.1(typescript@5.3.3)
@@ -1165,18 +1165,18 @@ packages:
- supports-color
dev: true
- /@typescript-eslint/types@7.0.2:
+ /@typescript-eslint/types@7.1.0:
resolution:
{
- integrity: sha512-ZzcCQHj4JaXFjdOql6adYV4B/oFOFjPOC9XYwCaZFRvqN8Llfvv4gSxrkQkd2u4Ci62i2c6W6gkDwQJDaRc4nA==,
+ integrity: sha512-qTWjWieJ1tRJkxgZYXx6WUYtWlBc48YRxgY2JN1aGeVpkhmnopq+SUC8UEVGNXIvWH7XyuTjwALfG6bFEgCkQA==,
}
engines: { node: ^16.0.0 || >=18.0.0 }
dev: true
- /@typescript-eslint/typescript-estree@7.0.2(typescript@5.3.3):
+ /@typescript-eslint/typescript-estree@7.1.0(typescript@5.3.3):
resolution:
{
- integrity: sha512-3AMc8khTcELFWcKcPc0xiLviEvvfzATpdPj/DXuOGIdQIIFybf4DMT1vKRbuAEOFMwhWt7NFLXRkbjsvKZQyvw==,
+ integrity: sha512-k7MyrbD6E463CBbSpcOnwa8oXRdHzH1WiVzOipK3L5KSML92ZKgUBrTlehdi7PEIMT8k0bQixHUGXggPAlKnOQ==,
}
engines: { node: ^16.0.0 || >=18.0.0 }
peerDependencies:
@@ -1185,8 +1185,8 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/types': 7.0.2
- '@typescript-eslint/visitor-keys': 7.0.2
+ '@typescript-eslint/types': 7.1.0
+ '@typescript-eslint/visitor-keys': 7.1.0
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
@@ -1198,10 +1198,10 @@ packages:
- supports-color
dev: true
- /@typescript-eslint/utils@7.0.2(eslint@8.57.0)(typescript@5.3.3):
+ /@typescript-eslint/utils@7.1.0(eslint@8.57.0)(typescript@5.3.3):
resolution:
{
- integrity: sha512-PZPIONBIB/X684bhT1XlrkjNZJIEevwkKDsdwfiu1WeqBxYEEdIgVDgm8/bbKHVu+6YOpeRqcfImTdImx/4Bsw==,
+ integrity: sha512-WUFba6PZC5OCGEmbweGpnNJytJiLG7ZvDBJJoUcX4qZYf1mGZ97mO2Mps6O2efxJcJdRNpqweCistDbZMwIVHw==,
}
engines: { node: ^16.0.0 || >=18.0.0 }
peerDependencies:
@@ -1210,9 +1210,9 @@ packages:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
'@types/json-schema': 7.0.15
'@types/semver': 7.5.8
- '@typescript-eslint/scope-manager': 7.0.2
- '@typescript-eslint/types': 7.0.2
- '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.3.3)
+ '@typescript-eslint/scope-manager': 7.1.0
+ '@typescript-eslint/types': 7.1.0
+ '@typescript-eslint/typescript-estree': 7.1.0(typescript@5.3.3)
eslint: 8.57.0
semver: 7.6.0
transitivePeerDependencies:
@@ -1220,14 +1220,14 @@ packages:
- typescript
dev: true
- /@typescript-eslint/visitor-keys@7.0.2:
+ /@typescript-eslint/visitor-keys@7.1.0:
resolution:
{
- integrity: sha512-8Y+YiBmqPighbm5xA2k4wKTxRzx9EkBu7Rlw+WHqMvRJ3RPz/BMBO9b2ru0LUNmXg120PHUXD5+SWFy2R8DqlQ==,
+ integrity: sha512-FhUqNWluiGNzlvnDZiXad4mZRhtghdoKW6e98GoEOYSu5cND+E39rG5KwJMUzeENwm1ztYBRqof8wMLP+wNPIA==,
}
engines: { node: ^16.0.0 || >=18.0.0 }
dependencies:
- '@typescript-eslint/types': 7.0.2
+ '@typescript-eslint/types': 7.1.0
eslint-visitor-keys: 3.4.3
dev: true
@@ -3471,7 +3471,7 @@ packages:
engines: { node: '>= 0.10' }
dev: true
- /vite-node@1.3.1(@types/node@20.11.20):
+ /vite-node@1.3.1(@types/node@20.11.24):
resolution:
{
integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==,
@@ -3483,7 +3483,7 @@ packages:
debug: 4.3.4
pathe: 1.1.2
picocolors: 1.0.0
- vite: 5.1.4(@types/node@20.11.20)
+ vite: 5.1.4(@types/node@20.11.24)
transitivePeerDependencies:
- '@types/node'
- less
@@ -3495,7 +3495,7 @@ packages:
- terser
dev: true
- /vite-plugin-dts@3.7.3(@types/node@20.11.20)(typescript@5.3.3)(vite@5.1.4(@types/node@20.11.20)):
+ /vite-plugin-dts@3.7.3(@types/node@20.11.24)(typescript@5.3.3)(vite@5.1.4(@types/node@20.11.24)):
resolution:
{
integrity: sha512-26eTlBYdpjRLWCsTJebM8vkCieE+p9gP3raf+ecDnzzK5E3FG6VE1wcy55OkRpfWWVlVvKkYFe6uvRHYWx7Nog==,
@@ -3508,13 +3508,13 @@ packages:
vite:
optional: true
dependencies:
- '@microsoft/api-extractor': 7.39.0(@types/node@20.11.20)
+ '@microsoft/api-extractor': 7.39.0(@types/node@20.11.24)
'@rollup/pluginutils': 5.1.0
'@vue/language-core': 1.8.27(typescript@5.3.3)
debug: 4.3.4
kolorist: 1.8.0
typescript: 5.3.3
- vite: 5.1.4(@types/node@20.11.20)
+ vite: 5.1.4(@types/node@20.11.24)
vue-tsc: 1.8.27(typescript@5.3.3)
transitivePeerDependencies:
- '@types/node'
@@ -3522,7 +3522,7 @@ packages:
- supports-color
dev: true
- /vite@5.1.4(@types/node@20.11.20):
+ /vite@5.1.4(@types/node@20.11.24):
resolution:
{
integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==,
@@ -3553,7 +3553,7 @@ packages:
terser:
optional: true
dependencies:
- '@types/node': 20.11.20
+ '@types/node': 20.11.24
esbuild: 0.19.12
postcss: 8.4.35
rollup: 4.12.0
@@ -3561,7 +3561,7 @@ packages:
fsevents: 2.3.3
dev: true
- /vitest@1.3.1(@types/node@20.11.20):
+ /vitest@1.3.1(@types/node@20.11.24):
resolution:
{
integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==,
@@ -3589,7 +3589,7 @@ packages:
jsdom:
optional: true
dependencies:
- '@types/node': 20.11.20
+ '@types/node': 20.11.24
'@vitest/expect': 1.3.1
'@vitest/runner': 1.3.1
'@vitest/snapshot': 1.3.1
@@ -3607,8 +3607,8 @@ packages:
strip-literal: 2.0.0
tinybench: 2.6.0
tinypool: 0.8.2
- vite: 5.1.4(@types/node@20.11.20)
- vite-node: 1.3.1(@types/node@20.11.20)
+ vite: 5.1.4(@types/node@20.11.24)
+ vite-node: 1.3.1(@types/node@20.11.24)
why-is-node-running: 2.2.2
transitivePeerDependencies:
- less
From 072ca24121e26e929a0018596b2e345dc906ba91 Mon Sep 17 00:00:00 2001
From: Eric Kwoka <43540491+ekwoka@users.noreply.github.com>
Date: Sat, 2 Mar 2024 22:31:17 +0400
Subject: [PATCH 6/8] :recycle: Refactors add/remove
---
size.json | 8 +++----
src/expirer.ts | 61 +++++++++++++++++++++++++-------------------------
src/index.ts | 4 ++--
3 files changed, 37 insertions(+), 36 deletions(-)
diff --git a/size.json b/size.json
index 5ae05c2..e2ed926 100644
--- a/size.json
+++ b/size.json
@@ -1,10 +1,10 @@
{
"minified": {
- "pretty": "2.9 kB",
- "raw": 2898
+ "pretty": "2.91 kB",
+ "raw": 2914
},
"gzipped": {
- "pretty": "979 B",
- "raw": 979
+ "pretty": "992 B",
+ "raw": 992
}
}
\ No newline at end of file
diff --git a/src/expirer.ts b/src/expirer.ts
index 1834673..0a905de 100644
--- a/src/expirer.ts
+++ b/src/expirer.ts
@@ -4,36 +4,16 @@ export class Expirer {
size = 0;
head: Entry | null = null;
tail: Entry | null = null;
- registry: FinalizationRegistry;
+ registry: FinalizationRegistry = new FinalizationRegistry(
+ (key: string) =>
+ this.cache.has(key) &&
+ this.cache.delete(this.remove(this.cache.get(key)).key),
+ );
constructor(
public cache: Map>,
public options: LRUCacheOptions,
- ) {
- this.registry = new FinalizationRegistry(
- (key: string) =>
- cache.has(key) && cache.delete(this.remove(cache.get(key)).key),
- );
- }
- remove(entry: Entry) {
- entry.clearTimeout();
- if (entry.disconnected) return entry;
- if (this.tail === entry) this.tail = entry.next ?? entry.prev;
- if (this.head === entry) this.head = entry.next;
- this.size -= entry.size;
- return entry.remove();
- }
-
- expireEntry(entry: Entry) {
- this.registry.register(entry.value, entry.key);
- entry.weaken();
- this.remove(entry);
- return this;
- }
- prune() {
- if (this.size <= (this.options.size ?? 1000)) return;
- this.expireEntry(this.tail);
- }
+ ) {}
add(entry: Entry) {
this.registry.register(entry.value, `entry: ${entry.key}`);
entry.strengthen().setNext(this.head?.setPrev(entry));
@@ -50,6 +30,27 @@ export class Expirer {
this.prune();
return entry;
}
+ remove(entry: Entry) {
+ entry.clearTimeout();
+ if (entry.disconnected) return entry;
+ if (this.tail === entry) this.tail = entry.next ?? entry.prev;
+ if (this.head === entry) this.head = entry.next;
+ this.size -= entry.size;
+ return entry.remove();
+ }
+ reset(entry: Entry) {
+ return this.add(this.remove(entry));
+ }
+ prune() {
+ if (this.size <= (this.options.size ?? 1000)) return;
+ this.expireEntry(this.tail);
+ }
+ expireEntry(entry: Entry) {
+ this.registry.register(entry.value, entry.key);
+ entry.weaken();
+ this.remove(entry);
+ return this;
+ }
}
export class Entry {
@@ -61,12 +62,12 @@ export class Entry {
public key: string,
public size: number,
) {}
- setNext(value: Entry | null) {
- this.next = value;
+ setNext(next: Entry | null) {
+ this.next = next;
return this;
}
- setPrev(value: Entry | null) {
- this.prev = value;
+ setPrev(prev: Entry | null) {
+ this.prev = prev;
return this;
}
remove() {
diff --git a/src/index.ts b/src/index.ts
index 33878da..6bd500d 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -13,7 +13,7 @@ export class WeakLRUCache implements Map {
entry.value = value;
entry.size = this.options.getSize?.(value) ?? 1;
this.cache.set(key, entry);
- this.expirer.add(this.expirer.remove(entry)).value as T;
+ this.expirer.reset(entry).value as T;
return this;
}
get(key: string): T {
@@ -22,7 +22,7 @@ export class WeakLRUCache implements Map {
if (entry.value instanceof WeakRef) entry.value = entry.value.deref();
if (!entry.value)
return this.cache.delete(this.expirer.remove(entry).key), undefined;
- return this.expirer.add(this.expirer.remove(entry)).value as T;
+ return this.expirer.reset(entry).value as T;
}
peek(key: string): T {
const entry = this.cache.get(key);
From 64934d7c59c8138e8d2078d94a7138e25adc4d7b Mon Sep 17 00:00:00 2001
From: Eric Kwoka <43540491+ekwoka@users.noreply.github.com>
Date: Sat, 2 Mar 2024 22:55:30 +0400
Subject: [PATCH 7/8] :recycle: Refactors Weakness detection
---
size.json | 8 ++++----
src/expirer.ts | 17 +++++++++++++----
src/index.ts | 41 ++++++++++++++++++++---------------------
3 files changed, 37 insertions(+), 29 deletions(-)
diff --git a/size.json b/size.json
index e2ed926..fafa477 100644
--- a/size.json
+++ b/size.json
@@ -1,10 +1,10 @@
{
"minified": {
- "pretty": "2.91 kB",
- "raw": 2914
+ "pretty": "2.97 kB",
+ "raw": 2972
},
"gzipped": {
- "pretty": "992 B",
- "raw": 992
+ "pretty": "1.07 kB",
+ "raw": 1066
}
}
\ No newline at end of file
diff --git a/src/expirer.ts b/src/expirer.ts
index 0a905de..979ba74 100644
--- a/src/expirer.ts
+++ b/src/expirer.ts
@@ -16,8 +16,7 @@ export class Expirer {
) {}
add(entry: Entry) {
this.registry.register(entry.value, `entry: ${entry.key}`);
- entry.strengthen().setNext(this.head?.setPrev(entry));
- this.head = entry;
+ this.head = entry.strengthen().setNext(this.head?.setPrev(entry));
if (!this.tail) this.tail = entry;
this.size += entry.size;
entry.clearTimeout();
@@ -88,11 +87,21 @@ export class Entry {
return !this.prev && !this.next;
}
weaken() {
- if (!(this.value instanceof WeakRef)) this.value = new WeakRef(this.value);
+ if (!isWeak(this.value)) this.value = new WeakRef(this.value);
return this;
}
strengthen() {
- if (this.value instanceof WeakRef) this.value = this.value.deref();
+ if (isWeak(this.value)) this.value = this.value.deref();
return this;
}
+ peek() {
+ return isWeak(this.value) ? this.value.deref() : this.value;
+ }
+ get finalized() {
+ return !this.value || (isWeak(this.value) && !this.value.deref());
+ }
}
+
+export const isWeak = (
+ value: T | WeakRef,
+): value is WeakRef => value instanceof WeakRef;
diff --git a/src/index.ts b/src/index.ts
index 6bd500d..c2f1f0f 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -13,27 +13,22 @@ export class WeakLRUCache implements Map {
entry.value = value;
entry.size = this.options.getSize?.(value) ?? 1;
this.cache.set(key, entry);
- this.expirer.reset(entry).value as T;
+ this.expirer.reset(entry);
return this;
}
get(key: string): T {
const entry = this.cache.get(key);
if (!entry) return undefined;
- if (entry.value instanceof WeakRef) entry.value = entry.value.deref();
- if (!entry.value)
+ if (!entry.strengthen().value)
return this.cache.delete(this.expirer.remove(entry).key), undefined;
return this.expirer.reset(entry).value as T;
}
peek(key: string): T {
const entry = this.cache.get(key);
if (!entry) return undefined;
- if (
- !entry.value ||
- (entry.value instanceof WeakRef && !entry.value.deref())
- )
+ if (entry.finalized)
return this.cache.delete(this.expirer.remove(entry).key), undefined;
- if (entry.value instanceof WeakRef) return entry.value.deref();
- return entry.value;
+ return entry.peek();
}
peekReference(key: string): T | WeakRef {
return this.cache.get(key)?.value;
@@ -51,10 +46,10 @@ export class WeakLRUCache implements Map {
this.cache.clear();
}
keys(): IterableIterator {
- return iterateCache(this.cache, this.expirer, 0);
+ return iterateCache(this.cache, this.expirer, IteratorMode.KEYS);
}
values(): IterableIterator {
- return iterateCache(this.cache, this.expirer, 1);
+ return iterateCache(this.cache, this.expirer, IteratorMode.VALUES);
}
entries(): IterableIterator<[string, T]> {
return iterateCache(this.cache, this.expirer);
@@ -71,36 +66,40 @@ export class WeakLRUCache implements Map {
}
}
+export enum IteratorMode {
+ ENTRIES = 0,
+ KEYS = 1,
+ VALUES = 2,
+}
+
function iterateCache(
cache: Map>,
expirer: Expirer,
- mode: 0,
+ mode: IteratorMode.KEYS,
): IterableIterator;
function iterateCache(
cache: Map>,
expirer: Expirer,
- mode: 1,
+ mode: IteratorMode.VALUES,
): IterableIterator;
function iterateCache(
cache: Map>,
expirer: Expirer,
- mode?: 2,
+ mode?: IteratorMode.ENTRIES,
): IterableIterator<[string, T]>;
function* iterateCache(
cache: Map>,
expirer: Expirer,
- mode: 0 | 1 | 2 = 2,
+ mode: IteratorMode = IteratorMode.ENTRIES,
): IterableIterator<[string, T] | string | T> {
for (const [key, entry] of cache.entries()) {
- const value =
- entry.value instanceof WeakRef ? entry.value.deref() : entry.value;
- if (!value) {
+ if (entry.finalized) {
cache.delete(expirer.remove(entry).key);
continue;
}
- if (mode === 0) yield key;
- else if (mode === 1) yield value;
- else yield [key, value];
+ if (mode === IteratorMode.KEYS) yield key;
+ else if (mode === IteratorMode.VALUES) yield entry.peek();
+ else yield [key, entry.peek()];
}
}
From e7e6376e3295ce843181ab79abbeb2e3f41bcbdc Mon Sep 17 00:00:00 2001
From: Eric Kwoka <43540491+ekwoka@users.noreply.github.com>
Date: Sat, 2 Mar 2024 23:00:53 +0400
Subject: [PATCH 8/8] :construction: Does not export enum
---
scripts/esbuild.js | 10 +++++-----
size.json | 8 ++++----
src/index.ts | 2 +-
3 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/scripts/esbuild.js b/scripts/esbuild.js
index cceb303..23bdd8a 100644
--- a/scripts/esbuild.js
+++ b/scripts/esbuild.js
@@ -24,19 +24,19 @@ const content = JSON.stringify(
gzipped,
},
null,
- 2
+ 2,
);
const old = JSON.parse(await readFile(join('size.json'), 'utf8'));
await writeFile(join('size.json'), content, 'utf8');
console.log(
`Package size: ${old.minified.pretty} => ${minified.pretty}: ${prettyBytes(
- minified.raw - old.minified.raw
- )}`
+ minified.raw - old.minified.raw,
+ )}`,
);
console.log(
`Minzipped size: ${old.gzipped.pretty} => ${gzipped.pretty}: ${prettyBytes(
- gzipped.raw - old.gzipped.raw
- )}`
+ gzipped.raw - old.gzipped.raw,
+ )}`,
);
function sizeInfo(bytesSize) {
diff --git a/size.json b/size.json
index fafa477..f79d8ed 100644
--- a/size.json
+++ b/size.json
@@ -1,10 +1,10 @@
{
"minified": {
- "pretty": "2.97 kB",
- "raw": 2972
+ "pretty": "2.87 kB",
+ "raw": 2869
},
"gzipped": {
- "pretty": "1.07 kB",
- "raw": 1066
+ "pretty": "996 B",
+ "raw": 996
}
}
\ No newline at end of file
diff --git a/src/index.ts b/src/index.ts
index c2f1f0f..44ef966 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -66,7 +66,7 @@ export class WeakLRUCache implements Map {
}
}
-export enum IteratorMode {
+enum IteratorMode {
ENTRIES = 0,
KEYS = 1,
VALUES = 2,