Add list
All checks were successful
repod / nextcloud (push) Successful in 1m9s
repod / nodejs (push) Successful in 1m35s

This commit is contained in:
Michel Roux 2023-08-24 17:43:10 +02:00
parent 3f9bc372ce
commit d2f59538c1
7 changed files with 329 additions and 278 deletions

View File

@ -13,6 +13,7 @@ declare(strict_types=1);
return [ return [
'routes' => [ 'routes' => [
['name' => 'page#index', 'url' => '/', 'verb' => 'GET'], ['name' => 'page#index', 'url' => '/', 'verb' => 'GET'],
['name' => 'episodes#index', 'url' => '/episodes', 'verb' => 'GET'],
['name' => 'podcast#index', 'url' => '/podcast', 'verb' => 'GET'], ['name' => 'podcast#index', 'url' => '/podcast', 'verb' => 'GET'],
['name' => 'search#index', 'url' => '/search', 'verb' => 'GET'], ['name' => 'search#index', 'url' => '/search', 'verb' => 'GET'],
['name' => 'toplist#index', 'url' => '/toplist', 'verb' => 'GET'], ['name' => 'toplist#index', 'url' => '/toplist', 'verb' => 'GET'],

View File

@ -5,13 +5,27 @@ declare(strict_types=1);
namespace OCA\RePod\Controller; namespace OCA\RePod\Controller;
use OCA\RePod\AppInfo\Application; use OCA\RePod\AppInfo\Application;
use OCA\RePod\Core\EpisodeAction\EpisodeActionReader;
use OCP\AppFramework\Controller; use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\JSONResponse;
use OCP\Http\Client\IClientService;
use OCP\IRequest; use OCP\IRequest;
class EpisodesController extends Controller class EpisodesController extends Controller
{ {
public function __construct(IRequest $request) public function __construct(
{ IRequest $request,
private IClientService $clientService,
private EpisodeActionReader $episodeActionReader
) {
parent::__construct(Application::APP_ID, $request); parent::__construct(Application::APP_ID, $request);
} }
public function index(string $url): JSONResponse
{
$client = $this->clientService->newClient();
$feed = $client->get($url);
return new JSONResponse($this->episodeActionReader->parseRssXml((string) $feed->getBody()), $feed->getStatusCode());
}
} }

View File

@ -42,6 +42,6 @@ class PodcastController extends Controller
$podcasts = PodcastData::parseRssXml((string) $feed->getBody()); $podcasts = PodcastData::parseRssXml((string) $feed->getBody());
return new JSONResponse(['data' => $podcasts]); return new JSONResponse(['data' => $podcasts], $statusCode);
} }
} }

View File

@ -4,10 +4,11 @@ declare(strict_types=1);
namespace OCA\RePod\Core\EpisodeAction; namespace OCA\RePod\Core\EpisodeAction;
use OCA\GPodderSync\Core\EpisodeAction\EpisodeActionReader as GPodderSyncEpisodeActionReader;
use OCA\GPodderSync\Db\EpisodeAction\EpisodeActionRepository; use OCA\GPodderSync\Db\EpisodeAction\EpisodeActionRepository;
use OCA\RePod\Service\UserService; use OCA\RePod\Service\UserService;
class EpisodeActionReader class EpisodeActionReader extends GPodderSyncEpisodeActionReader
{ {
public function __construct( public function __construct(
private EpisodeActionRepository $episodeActionRepository, private EpisodeActionRepository $episodeActionRepository,
@ -20,7 +21,7 @@ class EpisodeActionReader
* *
* @throws \Exception if the XML data could not be parsed * @throws \Exception if the XML data could not be parsed
*/ */
public function parseRssXml(string $xmlString, string $episodeUrl, ?int $fetchedAtUnix = null): array public function parseRssXml(string $xmlString, ?int $fetchedAtUnix = null): array
{ {
$episodes = []; $episodes = [];
$xml = new \SimpleXMLElement($xmlString); $xml = new \SimpleXMLElement($xmlString);
@ -29,27 +30,14 @@ class EpisodeActionReader
$episodeLink = null; $episodeLink = null;
$episodeImage = null; $episodeImage = null;
$episodeDescription = null; $episodeDescription = null;
$episodeUrlPath = parse_url($episodeUrl, PHP_URL_PATH);
// Find episode by url and add data for it // Find episode by url and add data for it
/** @var \SimpleXMLElement $item */ /** @var \SimpleXMLElement $item */
foreach ($channel->item as $item) { foreach ($channel->item as $item) {
$url = (string) $item->enclosure['url']; $episodeUrl = (string) $item->enclosure['url'];
// First try to match the url directly
if (false === strpos($episodeUrl, $url)) {
// Then try to match the path only
// The podcast http://feeds.feedburner.com/abcradio/10percenthappier has a "rss_browser" query parameter
// for every item that changed all the time, so we can't match the full url
$path = parse_url($url, PHP_URL_PATH);
if ($episodeUrlPath !== $path) {
continue;
}
}
// Get episode action // Get episode action
$episodeAction = $this->episodeActionRepository->findByEpisodeUrl($url, $this->userService->getUserUID()); $episodeAction = $this->episodeActionRepository->findByEpisodeUrl($episodeUrl, $this->userService->getUserUID());
// Get episode name // Get episode name
$episodeName = $this->stringOrNull($item->title); $episodeName = $this->stringOrNull($item->title);

510
package-lock.json generated
View File

@ -103,24 +103,24 @@
} }
}, },
"node_modules/@babel/core": { "node_modules/@babel/core": {
"version": "7.22.10", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.10.tgz", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.11.tgz",
"integrity": "sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==", "integrity": "sha512-lh7RJrtPdhibbxndr6/xx0w8+CVlY5FJZiaSz908Fpy+G0xkBFTvwLcKJFF4PJxVfGhVWNebikpWGnOoC71juQ==",
"dependencies": { "dependencies": {
"@ampproject/remapping": "^2.2.0", "@ampproject/remapping": "^2.2.0",
"@babel/code-frame": "^7.22.10", "@babel/code-frame": "^7.22.10",
"@babel/generator": "^7.22.10", "@babel/generator": "^7.22.10",
"@babel/helper-compilation-targets": "^7.22.10", "@babel/helper-compilation-targets": "^7.22.10",
"@babel/helper-module-transforms": "^7.22.9", "@babel/helper-module-transforms": "^7.22.9",
"@babel/helpers": "^7.22.10", "@babel/helpers": "^7.22.11",
"@babel/parser": "^7.22.10", "@babel/parser": "^7.22.11",
"@babel/template": "^7.22.5", "@babel/template": "^7.22.5",
"@babel/traverse": "^7.22.10", "@babel/traverse": "^7.22.11",
"@babel/types": "^7.22.10", "@babel/types": "^7.22.11",
"convert-source-map": "^1.7.0", "convert-source-map": "^1.7.0",
"debug": "^4.1.0", "debug": "^4.1.0",
"gensync": "^1.0.0-beta.2", "gensync": "^1.0.0-beta.2",
"json5": "^2.2.2", "json5": "^2.2.3",
"semver": "^6.3.1" "semver": "^6.3.1"
}, },
"engines": { "engines": {
@ -132,9 +132,9 @@
} }
}, },
"node_modules/@babel/eslint-parser": { "node_modules/@babel/eslint-parser": {
"version": "7.22.10", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.10.tgz", "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.11.tgz",
"integrity": "sha512-0J8DNPRXQRLeR9rPaUMM3fA+RbixjnVLe/MRMYCkp3hzgsSuxCHQ8NN8xQG1wIHKJ4a1DTROTvFJdW+B5/eOsg==", "integrity": "sha512-YjOYZ3j7TjV8OhLW6NCtyg8G04uStATEUe5eiLuCZaXz2VSDQ3dsAtm2D+TuQyAqNMUK2WacGo0/uma9Pein1w==",
"dev": true, "dev": true,
"peer": true, "peer": true,
"dependencies": { "dependencies": {
@ -202,9 +202,9 @@
} }
}, },
"node_modules/@babel/helper-create-class-features-plugin": { "node_modules/@babel/helper-create-class-features-plugin": {
"version": "7.22.10", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.10.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.11.tgz",
"integrity": "sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==", "integrity": "sha512-y1grdYL4WzmUDBRGK0pDbIoFd7UZKoDurDzWEoNMYoj1EL+foGRQNyPWDcC+YyegN5y1DUsFFmzjGijB3nSVAQ==",
"dependencies": { "dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-annotate-as-pure": "^7.22.5",
"@babel/helper-environment-visitor": "^7.22.5", "@babel/helper-environment-visitor": "^7.22.5",
@ -447,13 +447,13 @@
} }
}, },
"node_modules/@babel/helpers": { "node_modules/@babel/helpers": {
"version": "7.22.10", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.10.tgz", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.11.tgz",
"integrity": "sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==", "integrity": "sha512-vyOXC8PBWaGc5h7GMsNx68OH33cypkEDJCHvYVVgVbbxJDROYVtexSk0gK5iCF1xNjRIN2s8ai7hwkWDq5szWg==",
"dependencies": { "dependencies": {
"@babel/template": "^7.22.5", "@babel/template": "^7.22.5",
"@babel/traverse": "^7.22.10", "@babel/traverse": "^7.22.11",
"@babel/types": "^7.22.10" "@babel/types": "^7.22.11"
}, },
"engines": { "engines": {
"node": ">=6.9.0" "node": ">=6.9.0"
@ -473,9 +473,9 @@
} }
}, },
"node_modules/@babel/parser": { "node_modules/@babel/parser": {
"version": "7.22.10", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.11.tgz",
"integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==", "integrity": "sha512-R5zb8eJIBPJriQtbH/htEQy4k7E2dHWlD2Y2VT07JCzwYZHBxV5ZYtM0UhXSNMT74LyxuM+b1jdL7pSesXbC/g==",
"bin": { "bin": {
"parser": "bin/babel-parser.js" "parser": "bin/babel-parser.js"
}, },
@ -812,9 +812,9 @@
} }
}, },
"node_modules/@babel/plugin-transform-async-generator-functions": { "node_modules/@babel/plugin-transform-async-generator-functions": {
"version": "7.22.10", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.10.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.11.tgz",
"integrity": "sha512-eueE8lvKVzq5wIObKK/7dvoeKJ+xc6TvRn6aysIjS6pSCeLy7S/eVi7pEQknZqyqvzaNKdDtem8nUNTBgDVR2g==", "integrity": "sha512-0pAlmeRJn6wU84zzZsEOx1JV1Jf8fqO9ok7wofIJwUnplYo247dcd24P+cMJht7ts9xkzdtB0EPHmOb7F+KzXw==",
"dependencies": { "dependencies": {
"@babel/helper-environment-visitor": "^7.22.5", "@babel/helper-environment-visitor": "^7.22.5",
"@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5",
@ -888,11 +888,11 @@
} }
}, },
"node_modules/@babel/plugin-transform-class-static-block": { "node_modules/@babel/plugin-transform-class-static-block": {
"version": "7.22.5", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz",
"integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==",
"dependencies": { "dependencies": {
"@babel/helper-create-class-features-plugin": "^7.22.5", "@babel/helper-create-class-features-plugin": "^7.22.11",
"@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-class-static-block": "^7.14.5" "@babel/plugin-syntax-class-static-block": "^7.14.5"
}, },
@ -984,9 +984,9 @@
} }
}, },
"node_modules/@babel/plugin-transform-dynamic-import": { "node_modules/@babel/plugin-transform-dynamic-import": {
"version": "7.22.5", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz",
"integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==",
"dependencies": { "dependencies": {
"@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-dynamic-import": "^7.8.3" "@babel/plugin-syntax-dynamic-import": "^7.8.3"
@ -1014,9 +1014,9 @@
} }
}, },
"node_modules/@babel/plugin-transform-export-namespace-from": { "node_modules/@babel/plugin-transform-export-namespace-from": {
"version": "7.22.5", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz",
"integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==",
"dependencies": { "dependencies": {
"@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-export-namespace-from": "^7.8.3" "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
@ -1059,9 +1059,9 @@
} }
}, },
"node_modules/@babel/plugin-transform-json-strings": { "node_modules/@babel/plugin-transform-json-strings": {
"version": "7.22.5", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz",
"integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==",
"dependencies": { "dependencies": {
"@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-json-strings": "^7.8.3" "@babel/plugin-syntax-json-strings": "^7.8.3"
@ -1088,9 +1088,9 @@
} }
}, },
"node_modules/@babel/plugin-transform-logical-assignment-operators": { "node_modules/@babel/plugin-transform-logical-assignment-operators": {
"version": "7.22.5", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz",
"integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==",
"dependencies": { "dependencies": {
"@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
@ -1132,11 +1132,11 @@
} }
}, },
"node_modules/@babel/plugin-transform-modules-commonjs": { "node_modules/@babel/plugin-transform-modules-commonjs": {
"version": "7.22.5", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.11.tgz",
"integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", "integrity": "sha512-o2+bg7GDS60cJMgz9jWqRUsWkMzLCxp+jFDeDUT5sjRlAxcJWZ2ylNdI7QQ2+CH5hWu7OnN+Cv3htt7AkSf96g==",
"dependencies": { "dependencies": {
"@babel/helper-module-transforms": "^7.22.5", "@babel/helper-module-transforms": "^7.22.9",
"@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5",
"@babel/helper-simple-access": "^7.22.5" "@babel/helper-simple-access": "^7.22.5"
}, },
@ -1148,12 +1148,12 @@
} }
}, },
"node_modules/@babel/plugin-transform-modules-systemjs": { "node_modules/@babel/plugin-transform-modules-systemjs": {
"version": "7.22.5", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.11.tgz",
"integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", "integrity": "sha512-rIqHmHoMEOhI3VkVf5jQ15l539KrwhzqcBO6wdCNWPWc/JWt9ILNYNUssbRpeq0qWns8svuw8LnMNCvWBIJ8wA==",
"dependencies": { "dependencies": {
"@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-hoist-variables": "^7.22.5",
"@babel/helper-module-transforms": "^7.22.5", "@babel/helper-module-transforms": "^7.22.9",
"@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5",
"@babel/helper-validator-identifier": "^7.22.5" "@babel/helper-validator-identifier": "^7.22.5"
}, },
@ -1209,9 +1209,9 @@
} }
}, },
"node_modules/@babel/plugin-transform-nullish-coalescing-operator": { "node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
"version": "7.22.5", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz",
"integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==",
"dependencies": { "dependencies": {
"@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
@ -1224,9 +1224,9 @@
} }
}, },
"node_modules/@babel/plugin-transform-numeric-separator": { "node_modules/@babel/plugin-transform-numeric-separator": {
"version": "7.22.5", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz",
"integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==",
"dependencies": { "dependencies": {
"@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-numeric-separator": "^7.10.4" "@babel/plugin-syntax-numeric-separator": "^7.10.4"
@ -1239,12 +1239,12 @@
} }
}, },
"node_modules/@babel/plugin-transform-object-rest-spread": { "node_modules/@babel/plugin-transform-object-rest-spread": {
"version": "7.22.5", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.11.tgz",
"integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", "integrity": "sha512-nX8cPFa6+UmbepISvlf5jhQyaC7ASs/7UxHmMkuJ/k5xSHvDPPaibMo+v3TXwU/Pjqhep/nFNpd3zn4YR59pnw==",
"dependencies": { "dependencies": {
"@babel/compat-data": "^7.22.5", "@babel/compat-data": "^7.22.9",
"@babel/helper-compilation-targets": "^7.22.5", "@babel/helper-compilation-targets": "^7.22.10",
"@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
"@babel/plugin-transform-parameters": "^7.22.5" "@babel/plugin-transform-parameters": "^7.22.5"
@ -1272,9 +1272,9 @@
} }
}, },
"node_modules/@babel/plugin-transform-optional-catch-binding": { "node_modules/@babel/plugin-transform-optional-catch-binding": {
"version": "7.22.5", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz",
"integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==",
"dependencies": { "dependencies": {
"@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-optional-catch-binding": "^7.8.3" "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
@ -1287,9 +1287,9 @@
} }
}, },
"node_modules/@babel/plugin-transform-optional-chaining": { "node_modules/@babel/plugin-transform-optional-chaining": {
"version": "7.22.10", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.10.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.11.tgz",
"integrity": "sha512-MMkQqZAZ+MGj+jGTG3OTuhKeBpNcO+0oCEbrGNEaOmiEn+1MzRyQlYsruGiU8RTK3zV6XwrVJTmwiDOyYK6J9g==", "integrity": "sha512-7X2vGqH2ZKu7Imx0C+o5OysRwtF/wzdCAqmcD1N1v2Ww8CtOSC+p+VoV76skm47DLvBZ8kBFic+egqxM9S/p4g==",
"dependencies": { "dependencies": {
"@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5",
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
@ -1332,12 +1332,12 @@
} }
}, },
"node_modules/@babel/plugin-transform-private-property-in-object": { "node_modules/@babel/plugin-transform-private-property-in-object": {
"version": "7.22.5", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz",
"integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==",
"dependencies": { "dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-annotate-as-pure": "^7.22.5",
"@babel/helper-create-class-features-plugin": "^7.22.5", "@babel/helper-create-class-features-plugin": "^7.22.11",
"@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-private-property-in-object": "^7.14.5" "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
}, },
@ -1463,12 +1463,12 @@
} }
}, },
"node_modules/@babel/plugin-transform-typescript": { "node_modules/@babel/plugin-transform-typescript": {
"version": "7.22.10", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.10.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.11.tgz",
"integrity": "sha512-7++c8I/ymsDo4QQBAgbraXLzIM6jmfao11KgIBEYZRReWzNWH9NtNgJcyrZiXsOPh523FQm6LfpLyy/U5fn46A==", "integrity": "sha512-0E4/L+7gfvHub7wsbTv03oRtD69X31LByy44fGmFzbZScpupFByMcgCJ0VbBTkzyjSJKuRoGN8tcijOWKTmqOA==",
"dependencies": { "dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-annotate-as-pure": "^7.22.5",
"@babel/helper-create-class-features-plugin": "^7.22.10", "@babel/helper-create-class-features-plugin": "^7.22.11",
"@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-typescript": "^7.22.5" "@babel/plugin-syntax-typescript": "^7.22.5"
}, },
@ -1645,15 +1645,15 @@
} }
}, },
"node_modules/@babel/preset-typescript": { "node_modules/@babel/preset-typescript": {
"version": "7.22.5", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz", "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.11.tgz",
"integrity": "sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==", "integrity": "sha512-tWY5wyCZYBGY7IlalfKI1rLiGlIfnwsRHZqlky0HVv8qviwQ1Uo/05M6+s+TcTCVa6Bmoo2uJW5TMFX6Wa4qVg==",
"dependencies": { "dependencies": {
"@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5",
"@babel/helper-validator-option": "^7.22.5", "@babel/helper-validator-option": "^7.22.5",
"@babel/plugin-syntax-jsx": "^7.22.5", "@babel/plugin-syntax-jsx": "^7.22.5",
"@babel/plugin-transform-modules-commonjs": "^7.22.5", "@babel/plugin-transform-modules-commonjs": "^7.22.11",
"@babel/plugin-transform-typescript": "^7.22.5" "@babel/plugin-transform-typescript": "^7.22.11"
}, },
"engines": { "engines": {
"node": ">=6.9.0" "node": ">=6.9.0"
@ -1668,9 +1668,9 @@
"integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA=="
}, },
"node_modules/@babel/runtime": { "node_modules/@babel/runtime": {
"version": "7.22.10", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.11.tgz",
"integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", "integrity": "sha512-ee7jVNlWN09+KftVOu9n7S8gQzD/Z6hN/I8VBRXW4P1+Xe7kJGXMwu8vds4aGIMHZnNbdpSWCfZZtinytpcAvA==",
"dependencies": { "dependencies": {
"regenerator-runtime": "^0.14.0" "regenerator-runtime": "^0.14.0"
}, },
@ -1697,9 +1697,9 @@
} }
}, },
"node_modules/@babel/traverse": { "node_modules/@babel/traverse": {
"version": "7.22.10", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.10.tgz", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.11.tgz",
"integrity": "sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==", "integrity": "sha512-mzAenteTfomcB7mfPtyi+4oe5BZ6MXxWcn4CX+h4IRJ+OOGXBrWU6jDQavkQI9Vuc5P+donFabBfFCcmWka9lQ==",
"dependencies": { "dependencies": {
"@babel/code-frame": "^7.22.10", "@babel/code-frame": "^7.22.10",
"@babel/generator": "^7.22.10", "@babel/generator": "^7.22.10",
@ -1707,8 +1707,8 @@
"@babel/helper-function-name": "^7.22.5", "@babel/helper-function-name": "^7.22.5",
"@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-hoist-variables": "^7.22.5",
"@babel/helper-split-export-declaration": "^7.22.6", "@babel/helper-split-export-declaration": "^7.22.6",
"@babel/parser": "^7.22.10", "@babel/parser": "^7.22.11",
"@babel/types": "^7.22.10", "@babel/types": "^7.22.11",
"debug": "^4.1.0", "debug": "^4.1.0",
"globals": "^11.1.0" "globals": "^11.1.0"
}, },
@ -1717,9 +1717,9 @@
} }
}, },
"node_modules/@babel/types": { "node_modules/@babel/types": {
"version": "7.22.10", "version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.11.tgz",
"integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==", "integrity": "sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg==",
"dependencies": { "dependencies": {
"@babel/helper-string-parser": "^7.22.5", "@babel/helper-string-parser": "^7.22.5",
"@babel/helper-validator-identifier": "^7.22.5", "@babel/helper-validator-identifier": "^7.22.5",
@ -2053,9 +2053,9 @@
} }
}, },
"node_modules/@jest/console": { "node_modules/@jest/console": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.3.tgz", "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.4.tgz",
"integrity": "sha512-ukZbHAdDH4ktZIOKvWs1juAXhiVAdvCyM8zv4S/7Ii3vJSDvMW5k+wOVGMQmHLHUFw3Ko63ZQNy7NI6PSlsD5w==", "integrity": "sha512-wNK6gC0Ha9QeEPSkeJedQuTQqxZYnDPuDcDhVuVatRvMkL4D0VTvFVZj+Yuh6caG2aOfzkUZ36KtCmLNtR02hw==",
"dependencies": { "dependencies": {
"@jest/types": "^29.6.3", "@jest/types": "^29.6.3",
"@types/node": "*", "@types/node": "*",
@ -2141,14 +2141,14 @@
} }
}, },
"node_modules/@jest/core": { "node_modules/@jest/core": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.3.tgz", "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.4.tgz",
"integrity": "sha512-skV1XrfNxfagmjRUrk2FyN5/2YwIzdWVVBa/orUfbLvQUANXxERq2pTvY0I+FinWHjDKB2HRmpveUiph4X0TJw==", "integrity": "sha512-U/vq5ccNTSVgYH7mHnodHmCffGWHJnz/E1BEWlLuK5pM4FZmGfBn/nrJGLjUsSmyx3otCeqc1T31F4y08AMDLg==",
"dependencies": { "dependencies": {
"@jest/console": "^29.6.3", "@jest/console": "^29.6.4",
"@jest/reporters": "^29.6.3", "@jest/reporters": "^29.6.4",
"@jest/test-result": "^29.6.3", "@jest/test-result": "^29.6.4",
"@jest/transform": "^29.6.3", "@jest/transform": "^29.6.4",
"@jest/types": "^29.6.3", "@jest/types": "^29.6.3",
"@types/node": "*", "@types/node": "*",
"ansi-escapes": "^4.2.1", "ansi-escapes": "^4.2.1",
@ -2157,18 +2157,18 @@
"exit": "^0.1.2", "exit": "^0.1.2",
"graceful-fs": "^4.2.9", "graceful-fs": "^4.2.9",
"jest-changed-files": "^29.6.3", "jest-changed-files": "^29.6.3",
"jest-config": "^29.6.3", "jest-config": "^29.6.4",
"jest-haste-map": "^29.6.3", "jest-haste-map": "^29.6.4",
"jest-message-util": "^29.6.3", "jest-message-util": "^29.6.3",
"jest-regex-util": "^29.6.3", "jest-regex-util": "^29.6.3",
"jest-resolve": "^29.6.3", "jest-resolve": "^29.6.4",
"jest-resolve-dependencies": "^29.6.3", "jest-resolve-dependencies": "^29.6.4",
"jest-runner": "^29.6.3", "jest-runner": "^29.6.4",
"jest-runtime": "^29.6.3", "jest-runtime": "^29.6.4",
"jest-snapshot": "^29.6.3", "jest-snapshot": "^29.6.4",
"jest-util": "^29.6.3", "jest-util": "^29.6.3",
"jest-validate": "^29.6.3", "jest-validate": "^29.6.3",
"jest-watcher": "^29.6.3", "jest-watcher": "^29.6.4",
"micromatch": "^4.0.4", "micromatch": "^4.0.4",
"pretty-format": "^29.6.3", "pretty-format": "^29.6.3",
"slash": "^3.0.0", "slash": "^3.0.0",
@ -2259,11 +2259,11 @@
} }
}, },
"node_modules/@jest/environment": { "node_modules/@jest/environment": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.3.tgz", "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.4.tgz",
"integrity": "sha512-u/u3cCztYCfgBiGHsamqP5x+XvucftOGPbf5RJQxfpeC1y4AL8pCjKvPDA3oCmdhZYPgk5AE0VOD/flweR69WA==", "integrity": "sha512-sQ0SULEjA1XUTHmkBRl7A1dyITM9yb1yb3ZNKPX3KlTd6IG7mWUe3e2yfExtC2Zz1Q+mMckOLHmL/qLiuQJrBQ==",
"dependencies": { "dependencies": {
"@jest/fake-timers": "^29.6.3", "@jest/fake-timers": "^29.6.4",
"@jest/types": "^29.6.3", "@jest/types": "^29.6.3",
"@types/node": "*", "@types/node": "*",
"jest-mock": "^29.6.3" "jest-mock": "^29.6.3"
@ -2273,21 +2273,21 @@
} }
}, },
"node_modules/@jest/expect": { "node_modules/@jest/expect": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.3.tgz", "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.4.tgz",
"integrity": "sha512-Ic08XbI2jlg6rECy+CGwk/8NDa6VE7UmIG6++9OTPAMnQmNGY28hu69Nf629CWv6T7YMODLbONxDFKdmQeI9FA==", "integrity": "sha512-Warhsa7d23+3X5bLbrbYvaehcgX5TLYhI03JKoedTiI8uJU4IhqYBWF7OSSgUyz4IgLpUYPkK0AehA5/fRclAA==",
"dependencies": { "dependencies": {
"expect": "^29.6.3", "expect": "^29.6.4",
"jest-snapshot": "^29.6.3" "jest-snapshot": "^29.6.4"
}, },
"engines": { "engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0" "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
} }
}, },
"node_modules/@jest/expect-utils": { "node_modules/@jest/expect-utils": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.3.tgz", "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.4.tgz",
"integrity": "sha512-nvOEW4YoqRKD9HBJ9OJ6przvIvP9qilp5nAn1462P5ZlL/MM9SgPEZFyjTGPfs7QkocdUsJa6KjHhyRn4ueItA==", "integrity": "sha512-FEhkJhqtvBwgSpiTrocquJCdXPsyvNKcl/n7A3u7X4pVoF4bswm11c9d4AV+kfq2Gpv/mM8x7E7DsRvH+djkrg==",
"dependencies": { "dependencies": {
"jest-get-type": "^29.6.3" "jest-get-type": "^29.6.3"
}, },
@ -2296,9 +2296,9 @@
} }
}, },
"node_modules/@jest/fake-timers": { "node_modules/@jest/fake-timers": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.3.tgz", "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.4.tgz",
"integrity": "sha512-pa1wmqvbj6eX0nMvOM2VDAWvJOI5A/Mk3l8O7n7EsAh71sMZblaKO9iT4GjIj0LwwK3CP/Jp1ypEV0x3m89RvA==", "integrity": "sha512-6UkCwzoBK60edXIIWb0/KWkuj7R7Qq91vVInOe3De6DSpaEiqjKcJw4F7XUet24Wupahj9J6PlR09JqJ5ySDHw==",
"dependencies": { "dependencies": {
"@jest/types": "^29.6.3", "@jest/types": "^29.6.3",
"@sinonjs/fake-timers": "^10.0.2", "@sinonjs/fake-timers": "^10.0.2",
@ -2312,12 +2312,12 @@
} }
}, },
"node_modules/@jest/globals": { "node_modules/@jest/globals": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.3.tgz", "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.4.tgz",
"integrity": "sha512-RB+uI+CZMHntzlnOPlll5x/jgRff3LEPl/td/jzMXiIgR0iIhKq9qm1HLU+EC52NuoVy/1swit/sDGjVn4bc6A==", "integrity": "sha512-wVIn5bdtjlChhXAzVXavcY/3PEjf4VqM174BM3eGL5kMxLiZD5CLnbmkEyA1Dwh9q8XjP6E8RwjBsY/iCWrWsA==",
"dependencies": { "dependencies": {
"@jest/environment": "^29.6.3", "@jest/environment": "^29.6.4",
"@jest/expect": "^29.6.3", "@jest/expect": "^29.6.4",
"@jest/types": "^29.6.3", "@jest/types": "^29.6.3",
"jest-mock": "^29.6.3" "jest-mock": "^29.6.3"
}, },
@ -2326,14 +2326,14 @@
} }
}, },
"node_modules/@jest/reporters": { "node_modules/@jest/reporters": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.3.tgz", "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.4.tgz",
"integrity": "sha512-kGz59zMi0GkVjD2CJeYWG9k6cvj7eBqt9aDAqo2rcCLRTYlvQ62Gu/n+tOmJMBHGjzeijjuCENjzTyYBgrtLUw==", "integrity": "sha512-sxUjWxm7QdchdrD3NfWKrL8FBsortZeibSJv4XLjESOOjSUOkjQcb0ZHJwfhEGIvBvTluTzfG2yZWZhkrXJu8g==",
"dependencies": { "dependencies": {
"@bcoe/v8-coverage": "^0.2.3", "@bcoe/v8-coverage": "^0.2.3",
"@jest/console": "^29.6.3", "@jest/console": "^29.6.4",
"@jest/test-result": "^29.6.3", "@jest/test-result": "^29.6.4",
"@jest/transform": "^29.6.3", "@jest/transform": "^29.6.4",
"@jest/types": "^29.6.3", "@jest/types": "^29.6.3",
"@jridgewell/trace-mapping": "^0.3.18", "@jridgewell/trace-mapping": "^0.3.18",
"@types/node": "*", "@types/node": "*",
@ -2349,7 +2349,7 @@
"istanbul-reports": "^3.1.3", "istanbul-reports": "^3.1.3",
"jest-message-util": "^29.6.3", "jest-message-util": "^29.6.3",
"jest-util": "^29.6.3", "jest-util": "^29.6.3",
"jest-worker": "^29.6.3", "jest-worker": "^29.6.4",
"slash": "^3.0.0", "slash": "^3.0.0",
"string-length": "^4.0.1", "string-length": "^4.0.1",
"strip-ansi": "^6.0.0", "strip-ansi": "^6.0.0",
@ -2529,11 +2529,11 @@
} }
}, },
"node_modules/@jest/test-result": { "node_modules/@jest/test-result": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.3.tgz", "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.4.tgz",
"integrity": "sha512-k7ZZaNvOSMBHPZYiy0kuiaFoyansR5QnTwDux1EjK3kD5iWpRVyJIJ0RAIV39SThafchuW59vra7F8mdy5Hfgw==", "integrity": "sha512-uQ1C0AUEN90/dsyEirgMLlouROgSY+Wc/JanVVk0OiUKa5UFh7sJpMEM3aoUBAz2BRNvUJ8j3d294WFuRxSyOQ==",
"dependencies": { "dependencies": {
"@jest/console": "^29.6.3", "@jest/console": "^29.6.4",
"@jest/types": "^29.6.3", "@jest/types": "^29.6.3",
"@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-lib-coverage": "^2.0.0",
"collect-v8-coverage": "^1.0.0" "collect-v8-coverage": "^1.0.0"
@ -2543,13 +2543,13 @@
} }
}, },
"node_modules/@jest/test-sequencer": { "node_modules/@jest/test-sequencer": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.3.tgz", "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.4.tgz",
"integrity": "sha512-/SmijaAU2TY9ComFGIYa6Z+fmKqQMnqs2Nmwb0P/Z/tROdZ7M0iruES1EaaU9PBf8o9uED5xzaJ3YPFEIcDgAg==", "integrity": "sha512-E84M6LbpcRq3fT4ckfKs9ryVanwkaIB0Ws9bw3/yP4seRLg/VaCZ/LgW0MCq5wwk4/iP/qnilD41aj2fsw2RMg==",
"dependencies": { "dependencies": {
"@jest/test-result": "^29.6.3", "@jest/test-result": "^29.6.4",
"graceful-fs": "^4.2.9", "graceful-fs": "^4.2.9",
"jest-haste-map": "^29.6.3", "jest-haste-map": "^29.6.4",
"slash": "^3.0.0" "slash": "^3.0.0"
}, },
"engines": { "engines": {
@ -2565,9 +2565,9 @@
} }
}, },
"node_modules/@jest/transform": { "node_modules/@jest/transform": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.3.tgz", "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.4.tgz",
"integrity": "sha512-dPIc3DsvMZ/S8ut4L2ViCj265mKO0owB0wfzBv2oGzL9pQ+iRvJewHqLBmsGb7XFb5UotWIEtvY5A/lnylaIoQ==", "integrity": "sha512-8thgRSiXUqtr/pPGY/OsyHuMjGyhVnWrFAwoxmIemlBuiMyU1WFs0tXoNxzcr4A4uErs/ABre76SGmrr5ab/AA==",
"dependencies": { "dependencies": {
"@babel/core": "^7.11.6", "@babel/core": "^7.11.6",
"@jest/types": "^29.6.3", "@jest/types": "^29.6.3",
@ -2577,7 +2577,7 @@
"convert-source-map": "^2.0.0", "convert-source-map": "^2.0.0",
"fast-json-stable-stringify": "^2.1.0", "fast-json-stable-stringify": "^2.1.0",
"graceful-fs": "^4.2.9", "graceful-fs": "^4.2.9",
"jest-haste-map": "^29.6.3", "jest-haste-map": "^29.6.4",
"jest-regex-util": "^29.6.3", "jest-regex-util": "^29.6.3",
"jest-util": "^29.6.3", "jest-util": "^29.6.3",
"micromatch": "^4.0.4", "micromatch": "^4.0.4",
@ -3547,9 +3547,9 @@
"integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA=="
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "20.5.3", "version": "20.5.4",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.3.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.4.tgz",
"integrity": "sha512-ITI7rbWczR8a/S6qjAW7DMqxqFMjjTo61qZVWJ1ubPvbIQsL5D/TvwjYEalM8Kthpe3hTzOGrF2TGbAu2uyqeA==" "integrity": "sha512-Y9vbIAoM31djQZrPYjpTLo0XlaSwOIsrlfE3LpulZeRblttsLQRFRlBAppW0LOxyT3ALj2M5vU1ucQQayQH3jA=="
}, },
"node_modules/@types/normalize-package-data": { "node_modules/@types/normalize-package-data": {
"version": "2.4.1", "version": "2.4.1",
@ -4917,11 +4917,11 @@
} }
}, },
"node_modules/babel-jest": { "node_modules/babel-jest": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.3.tgz", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.4.tgz",
"integrity": "sha512-1Ne93zZZEy5XmTa4Q+W5+zxBrDpExX8E3iy+xJJ+24ewlfo/T3qHfQJCzi/MMVFmBQDNxtRR/Gfd2dwb/0yrQw==", "integrity": "sha512-meLj23UlSLddj6PC+YTOFRgDAtjnZom8w/ACsrx0gtPtv5cJZk0A5Unk5bV4wixD7XaPCN1fQvpww8czkZURmw==",
"dependencies": { "dependencies": {
"@jest/transform": "^29.6.3", "@jest/transform": "^29.6.4",
"@types/babel__core": "^7.1.14", "@types/babel__core": "^7.1.14",
"babel-plugin-istanbul": "^6.1.1", "babel-plugin-istanbul": "^6.1.1",
"babel-preset-jest": "^29.6.3", "babel-preset-jest": "^29.6.3",
@ -6751,9 +6751,9 @@
"peer": true "peer": true
}, },
"node_modules/electron-to-chromium": { "node_modules/electron-to-chromium": {
"version": "1.4.499", "version": "1.4.500",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.499.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.500.tgz",
"integrity": "sha512-0NmjlYBLKVHva4GABWAaHuPJolnDuL0AhV3h1hES6rcLCWEIbRL6/8TghfsVwkx6TEroQVdliX7+aLysUpKvjw==" "integrity": "sha512-P38NO8eOuWOKY1sQk5yE0crNtrjgjJj6r3NrbIKtG18KzCHmHE2Bt+aQA7/y0w3uYsHWxDa6icOohzjLJ4vJ4A=="
}, },
"node_modules/elliptic": { "node_modules/elliptic": {
"version": "6.5.4", "version": "6.5.4",
@ -7911,13 +7911,13 @@
} }
}, },
"node_modules/expect": { "node_modules/expect": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/expect/-/expect-29.6.3.tgz", "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.4.tgz",
"integrity": "sha512-x1vY4LlEMWUYVZQrFi4ZANXFwqYbJ/JNQspLVvzhW2BNY28aNcXMQH6imBbt+RBf5sVRTodYHXtSP/TLEU0Dxw==", "integrity": "sha512-F2W2UyQ8XYyftHT57dtfg8Ue3X5qLgm2sSug0ivvLRH/VKNRL/pDxg/TH7zVzbQB0tu80clNFy6LU7OS/VSEKA==",
"dependencies": { "dependencies": {
"@jest/expect-utils": "^29.6.3", "@jest/expect-utils": "^29.6.4",
"jest-get-type": "^29.6.3", "jest-get-type": "^29.6.3",
"jest-matcher-utils": "^29.6.3", "jest-matcher-utils": "^29.6.4",
"jest-message-util": "^29.6.3", "jest-message-util": "^29.6.3",
"jest-util": "^29.6.3" "jest-util": "^29.6.3"
}, },
@ -9830,14 +9830,14 @@
} }
}, },
"node_modules/jest": { "node_modules/jest": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/jest/-/jest-29.6.3.tgz", "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.4.tgz",
"integrity": "sha512-alueLuoPCDNHFcFGmgETR4KpQ+0ff3qVaiJwxQM4B5sC0CvXcgg4PEi7xrDkxuItDmdz/FVc7SSit4KEu8GRvw==", "integrity": "sha512-tEFhVQFF/bzoYV1YuGyzLPZ6vlPrdfvDmmAxudA1dLEuiztqg2Rkx20vkKY32xiDROcD2KXlgZ7Cu8RPeEHRKw==",
"dependencies": { "dependencies": {
"@jest/core": "^29.6.3", "@jest/core": "^29.6.4",
"@jest/types": "^29.6.3", "@jest/types": "^29.6.3",
"import-local": "^3.0.2", "import-local": "^3.0.2",
"jest-cli": "^29.6.3" "jest-cli": "^29.6.4"
}, },
"bin": { "bin": {
"jest": "bin/jest.js" "jest": "bin/jest.js"
@ -9868,13 +9868,13 @@
} }
}, },
"node_modules/jest-circus": { "node_modules/jest-circus": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.3.tgz", "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.4.tgz",
"integrity": "sha512-p0R5YqZEMnOpHqHLWRSjm2z/0p6RNsrNE/GRRT3eli8QGOAozj6Ys/3Tv+Ej+IfltJoSPwcQ6/hOCRkNlxLLCw==", "integrity": "sha512-YXNrRyntVUgDfZbjXWBMPslX1mQ8MrSG0oM/Y06j9EYubODIyHWP8hMUbjbZ19M3M+zamqEur7O80HODwACoJw==",
"dependencies": { "dependencies": {
"@jest/environment": "^29.6.3", "@jest/environment": "^29.6.4",
"@jest/expect": "^29.6.3", "@jest/expect": "^29.6.4",
"@jest/test-result": "^29.6.3", "@jest/test-result": "^29.6.4",
"@jest/types": "^29.6.3", "@jest/types": "^29.6.3",
"@types/node": "*", "@types/node": "*",
"chalk": "^4.0.0", "chalk": "^4.0.0",
@ -9882,10 +9882,10 @@
"dedent": "^1.0.0", "dedent": "^1.0.0",
"is-generator-fn": "^2.0.0", "is-generator-fn": "^2.0.0",
"jest-each": "^29.6.3", "jest-each": "^29.6.3",
"jest-matcher-utils": "^29.6.3", "jest-matcher-utils": "^29.6.4",
"jest-message-util": "^29.6.3", "jest-message-util": "^29.6.3",
"jest-runtime": "^29.6.3", "jest-runtime": "^29.6.4",
"jest-snapshot": "^29.6.3", "jest-snapshot": "^29.6.4",
"jest-util": "^29.6.3", "jest-util": "^29.6.3",
"p-limit": "^3.1.0", "p-limit": "^3.1.0",
"pretty-format": "^29.6.3", "pretty-format": "^29.6.3",
@ -9970,18 +9970,18 @@
} }
}, },
"node_modules/jest-cli": { "node_modules/jest-cli": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.3.tgz", "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.4.tgz",
"integrity": "sha512-KuPdXUPXQIf0t6DvmG8MV4QyhcjR1a6ruKl3YL7aGn/AQ8JkROwFkWzEpDIpt11Qy188dHbRm8WjwMsV/4nmnQ==", "integrity": "sha512-+uMCQ7oizMmh8ZwRfZzKIEszFY9ksjjEQnTEMTaL7fYiL3Kw4XhqT9bYh+A4DQKUb67hZn2KbtEnDuHvcgK4pQ==",
"dependencies": { "dependencies": {
"@jest/core": "^29.6.3", "@jest/core": "^29.6.4",
"@jest/test-result": "^29.6.3", "@jest/test-result": "^29.6.4",
"@jest/types": "^29.6.3", "@jest/types": "^29.6.3",
"chalk": "^4.0.0", "chalk": "^4.0.0",
"exit": "^0.1.2", "exit": "^0.1.2",
"graceful-fs": "^4.2.9", "graceful-fs": "^4.2.9",
"import-local": "^3.0.2", "import-local": "^3.0.2",
"jest-config": "^29.6.3", "jest-config": "^29.6.4",
"jest-util": "^29.6.3", "jest-util": "^29.6.3",
"jest-validate": "^29.6.3", "jest-validate": "^29.6.3",
"prompts": "^2.0.1", "prompts": "^2.0.1",
@ -10067,25 +10067,25 @@
} }
}, },
"node_modules/jest-config": { "node_modules/jest-config": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.3.tgz", "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.4.tgz",
"integrity": "sha512-nb9bOq2aEqogbyL4F9mLkAeQGAgNt7Uz6U59YtQDIxFPiL7Ejgq0YIrp78oyEHD6H4CIV/k7mFrK7eFDzUJ69w==", "integrity": "sha512-JWohr3i9m2cVpBumQFv2akMEnFEPVOh+9L2xIBJhJ0zOaci2ZXuKJj0tgMKQCBZAKA09H049IR4HVS/43Qb19A==",
"dependencies": { "dependencies": {
"@babel/core": "^7.11.6", "@babel/core": "^7.11.6",
"@jest/test-sequencer": "^29.6.3", "@jest/test-sequencer": "^29.6.4",
"@jest/types": "^29.6.3", "@jest/types": "^29.6.3",
"babel-jest": "^29.6.3", "babel-jest": "^29.6.4",
"chalk": "^4.0.0", "chalk": "^4.0.0",
"ci-info": "^3.2.0", "ci-info": "^3.2.0",
"deepmerge": "^4.2.2", "deepmerge": "^4.2.2",
"glob": "^7.1.3", "glob": "^7.1.3",
"graceful-fs": "^4.2.9", "graceful-fs": "^4.2.9",
"jest-circus": "^29.6.3", "jest-circus": "^29.6.4",
"jest-environment-node": "^29.6.3", "jest-environment-node": "^29.6.4",
"jest-get-type": "^29.6.3", "jest-get-type": "^29.6.3",
"jest-regex-util": "^29.6.3", "jest-regex-util": "^29.6.3",
"jest-resolve": "^29.6.3", "jest-resolve": "^29.6.4",
"jest-runner": "^29.6.3", "jest-runner": "^29.6.4",
"jest-util": "^29.6.3", "jest-util": "^29.6.3",
"jest-validate": "^29.6.3", "jest-validate": "^29.6.3",
"micromatch": "^4.0.4", "micromatch": "^4.0.4",
@ -10183,9 +10183,9 @@
} }
}, },
"node_modules/jest-diff": { "node_modules/jest-diff": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.3.tgz", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.4.tgz",
"integrity": "sha512-3sw+AdWnwH9sSNohMRKA7JiYUJSRr/WS6+sEFfBuhxU5V5GlEVKfvUn8JuMHE0wqKowemR1C2aHy8VtXbaV8dQ==", "integrity": "sha512-9F48UxR9e4XOEZvoUXEHSWY4qC4zERJaOfrbBg9JpbJOO43R1vN76REt/aMGZoY6GD5g84nnJiBIVlscegefpw==",
"dependencies": { "dependencies": {
"chalk": "^4.0.0", "chalk": "^4.0.0",
"diff-sequences": "^29.6.3", "diff-sequences": "^29.6.3",
@ -10351,12 +10351,12 @@
} }
}, },
"node_modules/jest-environment-node": { "node_modules/jest-environment-node": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.3.tgz", "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.4.tgz",
"integrity": "sha512-PKl7upfPJXMYbWpD+60o4HP86KvFO2c9dZ+Zr6wUzsG5xcPx/65o3ArNgHW5M0RFvLYdW4/aieR4JSooD0a2ew==", "integrity": "sha512-i7SbpH2dEIFGNmxGCpSc2w9cA4qVD+wfvg2ZnfQ7XVrKL0NA5uDVBIiGH8SR4F0dKEv/0qI5r+aDomDf04DpEQ==",
"dependencies": { "dependencies": {
"@jest/environment": "^29.6.3", "@jest/environment": "^29.6.4",
"@jest/fake-timers": "^29.6.3", "@jest/fake-timers": "^29.6.4",
"@jest/types": "^29.6.3", "@jest/types": "^29.6.3",
"@types/node": "*", "@types/node": "*",
"jest-mock": "^29.6.3", "jest-mock": "^29.6.3",
@ -10375,9 +10375,9 @@
} }
}, },
"node_modules/jest-haste-map": { "node_modules/jest-haste-map": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.3.tgz", "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.4.tgz",
"integrity": "sha512-GecR5YavfjkhOytEFHAeI6aWWG3f/cOKNB1YJvj/B76xAmeVjy4zJUYobGF030cRmKaO1FBw3V8CZZ6KVh9ZSw==", "integrity": "sha512-12Ad+VNTDHxKf7k+M65sviyynRoZYuL1/GTuhEVb8RYsNSNln71nANRb/faSyWvx0j+gHcivChXHIoMJrGYjog==",
"dependencies": { "dependencies": {
"@jest/types": "^29.6.3", "@jest/types": "^29.6.3",
"@types/graceful-fs": "^4.1.3", "@types/graceful-fs": "^4.1.3",
@ -10387,7 +10387,7 @@
"graceful-fs": "^4.2.9", "graceful-fs": "^4.2.9",
"jest-regex-util": "^29.6.3", "jest-regex-util": "^29.6.3",
"jest-util": "^29.6.3", "jest-util": "^29.6.3",
"jest-worker": "^29.6.3", "jest-worker": "^29.6.4",
"micromatch": "^4.0.4", "micromatch": "^4.0.4",
"walker": "^1.0.8" "walker": "^1.0.8"
}, },
@ -10411,12 +10411,12 @@
} }
}, },
"node_modules/jest-matcher-utils": { "node_modules/jest-matcher-utils": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.3.tgz", "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.4.tgz",
"integrity": "sha512-6ZrMYINZdwduSt5Xu18/n49O1IgXdjsfG7NEZaQws9k69eTKWKcVbJBw/MZsjOZe2sSyJFmuzh8042XWwl54Zg==", "integrity": "sha512-KSzwyzGvK4HcfnserYqJHYi7sZVqdREJ9DMPAKVbS98JsIAvumihaNUbjrWw0St7p9IY7A9UskCW5MYlGmBQFQ==",
"dependencies": { "dependencies": {
"chalk": "^4.0.0", "chalk": "^4.0.0",
"jest-diff": "^29.6.3", "jest-diff": "^29.6.4",
"jest-get-type": "^29.6.3", "jest-get-type": "^29.6.3",
"pretty-format": "^29.6.3" "pretty-format": "^29.6.3"
}, },
@ -10617,13 +10617,13 @@
} }
}, },
"node_modules/jest-resolve": { "node_modules/jest-resolve": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.3.tgz", "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.4.tgz",
"integrity": "sha512-WMXwxhvzDeA/J+9jz1i8ZKGmbw/n+s988EiUvRI4egM+eTn31Hb5v10Re3slG3/qxntkBt2/6GkQVDGu6Bwyhw==", "integrity": "sha512-fPRq+0vcxsuGlG0O3gyoqGTAxasagOxEuyoxHeyxaZbc9QNek0AmJWSkhjlMG+mTsj+8knc/mWb3fXlRNVih7Q==",
"dependencies": { "dependencies": {
"chalk": "^4.0.0", "chalk": "^4.0.0",
"graceful-fs": "^4.2.9", "graceful-fs": "^4.2.9",
"jest-haste-map": "^29.6.3", "jest-haste-map": "^29.6.4",
"jest-pnp-resolver": "^1.2.2", "jest-pnp-resolver": "^1.2.2",
"jest-util": "^29.6.3", "jest-util": "^29.6.3",
"jest-validate": "^29.6.3", "jest-validate": "^29.6.3",
@ -10636,12 +10636,12 @@
} }
}, },
"node_modules/jest-resolve-dependencies": { "node_modules/jest-resolve-dependencies": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.3.tgz", "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.4.tgz",
"integrity": "sha512-iah5nhSPTwtUV7yzpTc9xGg8gP3Ch2VNsuFMsKoCkNCrQSbFtx5KRPemmPJ32AUhTSDqJXB6djPN6zAaUGV53g==", "integrity": "sha512-7+6eAmr1ZBF3vOAJVsfLj1QdqeXG+WYhidfLHBRZqGN24MFRIiKG20ItpLw2qRAsW/D2ZUUmCNf6irUr/v6KHA==",
"dependencies": { "dependencies": {
"jest-regex-util": "^29.6.3", "jest-regex-util": "^29.6.3",
"jest-snapshot": "^29.6.3" "jest-snapshot": "^29.6.4"
}, },
"engines": { "engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0" "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@ -10720,29 +10720,29 @@
} }
}, },
"node_modules/jest-runner": { "node_modules/jest-runner": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.3.tgz", "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.4.tgz",
"integrity": "sha512-E4zsMhQnjhirFPhDTJgoLMWUrVCDij/KGzWlbslDHGuO8Hl2pVUfOiygMzVZtZq+BzmlqwEr7LYmW+WFLlmX8w==", "integrity": "sha512-SDaLrMmtVlQYDuG0iSPYLycG8P9jLI+fRm8AF/xPKhYDB2g6xDWjXBrR5M8gEWsK6KVFlebpZ4QsrxdyIX1Jaw==",
"dependencies": { "dependencies": {
"@jest/console": "^29.6.3", "@jest/console": "^29.6.4",
"@jest/environment": "^29.6.3", "@jest/environment": "^29.6.4",
"@jest/test-result": "^29.6.3", "@jest/test-result": "^29.6.4",
"@jest/transform": "^29.6.3", "@jest/transform": "^29.6.4",
"@jest/types": "^29.6.3", "@jest/types": "^29.6.3",
"@types/node": "*", "@types/node": "*",
"chalk": "^4.0.0", "chalk": "^4.0.0",
"emittery": "^0.13.1", "emittery": "^0.13.1",
"graceful-fs": "^4.2.9", "graceful-fs": "^4.2.9",
"jest-docblock": "^29.6.3", "jest-docblock": "^29.6.3",
"jest-environment-node": "^29.6.3", "jest-environment-node": "^29.6.4",
"jest-haste-map": "^29.6.3", "jest-haste-map": "^29.6.4",
"jest-leak-detector": "^29.6.3", "jest-leak-detector": "^29.6.3",
"jest-message-util": "^29.6.3", "jest-message-util": "^29.6.3",
"jest-resolve": "^29.6.3", "jest-resolve": "^29.6.4",
"jest-runtime": "^29.6.3", "jest-runtime": "^29.6.4",
"jest-util": "^29.6.3", "jest-util": "^29.6.3",
"jest-watcher": "^29.6.3", "jest-watcher": "^29.6.4",
"jest-worker": "^29.6.3", "jest-worker": "^29.6.4",
"p-limit": "^3.1.0", "p-limit": "^3.1.0",
"source-map-support": "0.5.13" "source-map-support": "0.5.13"
}, },
@ -10815,16 +10815,16 @@
} }
}, },
"node_modules/jest-runtime": { "node_modules/jest-runtime": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.3.tgz", "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.4.tgz",
"integrity": "sha512-VM0Z3a9xaqizGpEKwCOIhImkrINYzxgwk8oQAvrmAiXX8LNrJrRjyva30RkuRY0ETAotHLlUcd2moviCA1hgsQ==", "integrity": "sha512-s/QxMBLvmwLdchKEjcLfwzP7h+jsHvNEtxGP5P+Fl1FMaJX2jMiIqe4rJw4tFprzCwuSvVUo9bn0uj4gNRXsbA==",
"dependencies": { "dependencies": {
"@jest/environment": "^29.6.3", "@jest/environment": "^29.6.4",
"@jest/fake-timers": "^29.6.3", "@jest/fake-timers": "^29.6.4",
"@jest/globals": "^29.6.3", "@jest/globals": "^29.6.4",
"@jest/source-map": "^29.6.3", "@jest/source-map": "^29.6.3",
"@jest/test-result": "^29.6.3", "@jest/test-result": "^29.6.4",
"@jest/transform": "^29.6.3", "@jest/transform": "^29.6.4",
"@jest/types": "^29.6.3", "@jest/types": "^29.6.3",
"@types/node": "*", "@types/node": "*",
"chalk": "^4.0.0", "chalk": "^4.0.0",
@ -10832,12 +10832,12 @@
"collect-v8-coverage": "^1.0.0", "collect-v8-coverage": "^1.0.0",
"glob": "^7.1.3", "glob": "^7.1.3",
"graceful-fs": "^4.2.9", "graceful-fs": "^4.2.9",
"jest-haste-map": "^29.6.3", "jest-haste-map": "^29.6.4",
"jest-message-util": "^29.6.3", "jest-message-util": "^29.6.3",
"jest-mock": "^29.6.3", "jest-mock": "^29.6.3",
"jest-regex-util": "^29.6.3", "jest-regex-util": "^29.6.3",
"jest-resolve": "^29.6.3", "jest-resolve": "^29.6.4",
"jest-snapshot": "^29.6.3", "jest-snapshot": "^29.6.4",
"jest-util": "^29.6.3", "jest-util": "^29.6.3",
"slash": "^3.0.0", "slash": "^3.0.0",
"strip-bom": "^4.0.0" "strip-bom": "^4.0.0"
@ -10919,25 +10919,25 @@
} }
}, },
"node_modules/jest-snapshot": { "node_modules/jest-snapshot": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.3.tgz", "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.4.tgz",
"integrity": "sha512-66Iu7H1ojiveQMGFnKecHIZPPPBjZwfQEnF6wxqpxGf57sV3YSUtAb5/sTKM5TPa3OndyxZp1wxHFbmgVhc53w==", "integrity": "sha512-VC1N8ED7+4uboUKGIDsbvNAZb6LakgIPgAF4RSpF13dN6YaMokfRqO+BaqK4zIh6X3JffgwbzuGqDEjHm/MrvA==",
"dependencies": { "dependencies": {
"@babel/core": "^7.11.6", "@babel/core": "^7.11.6",
"@babel/generator": "^7.7.2", "@babel/generator": "^7.7.2",
"@babel/plugin-syntax-jsx": "^7.7.2", "@babel/plugin-syntax-jsx": "^7.7.2",
"@babel/plugin-syntax-typescript": "^7.7.2", "@babel/plugin-syntax-typescript": "^7.7.2",
"@babel/types": "^7.3.3", "@babel/types": "^7.3.3",
"@jest/expect-utils": "^29.6.3", "@jest/expect-utils": "^29.6.4",
"@jest/transform": "^29.6.3", "@jest/transform": "^29.6.4",
"@jest/types": "^29.6.3", "@jest/types": "^29.6.3",
"babel-preset-current-node-syntax": "^1.0.0", "babel-preset-current-node-syntax": "^1.0.0",
"chalk": "^4.0.0", "chalk": "^4.0.0",
"expect": "^29.6.3", "expect": "^29.6.4",
"graceful-fs": "^4.2.9", "graceful-fs": "^4.2.9",
"jest-diff": "^29.6.3", "jest-diff": "^29.6.4",
"jest-get-type": "^29.6.3", "jest-get-type": "^29.6.3",
"jest-matcher-utils": "^29.6.3", "jest-matcher-utils": "^29.6.4",
"jest-message-util": "^29.6.3", "jest-message-util": "^29.6.3",
"jest-util": "^29.6.3", "jest-util": "^29.6.3",
"natural-compare": "^1.4.0", "natural-compare": "^1.4.0",
@ -11214,11 +11214,11 @@
} }
}, },
"node_modules/jest-watcher": { "node_modules/jest-watcher": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.3.tgz", "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.4.tgz",
"integrity": "sha512-NgpFjZ2U2MKusjidbi4Oiu7tfs+nrgdIxIEVROvH1cFmOei9Uj25lwkMsakqLnH/s0nEcvxO1ck77FiRlcnpZg==", "integrity": "sha512-oqUWvx6+On04ShsT00Ir9T4/FvBeEh2M9PTubgITPxDa739p4hoQweWPRGyYeaojgT0xTpZKF0Y/rSY1UgMxvQ==",
"dependencies": { "dependencies": {
"@jest/test-result": "^29.6.3", "@jest/test-result": "^29.6.4",
"@jest/types": "^29.6.3", "@jest/types": "^29.6.3",
"@types/node": "*", "@types/node": "*",
"ansi-escapes": "^4.2.1", "ansi-escapes": "^4.2.1",
@ -11316,9 +11316,9 @@
} }
}, },
"node_modules/jest-worker": { "node_modules/jest-worker": {
"version": "29.6.3", "version": "29.6.4",
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.3.tgz", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.4.tgz",
"integrity": "sha512-wacANXecZ/GbQakpf2CClrqrlwsYYDSXFd4fIGdL+dXpM2GWoJ+6bhQ7vR3TKi3+gkSfBkjy1/khH/WrYS4Q6g==", "integrity": "sha512-6dpvFV4WjcWbDVGgHTWo/aupl8/LbBx2NSKfiwqf79xC/yeJjKHT1+StcKy/2KTmW16hE68ccKVOtXf+WZGz7Q==",
"dependencies": { "dependencies": {
"@types/node": "*", "@types/node": "*",
"jest-util": "^29.6.3", "jest-util": "^29.6.3",

View File

@ -1,11 +1,56 @@
<template> <template>
<div> <fragment>
{{ 'oui' }} <NcLoadingIcon v-if="loading" />
</div> <ul v-if="!loading">
<NcListItem v-for="episode in episodes"
:key="episode.episodeUrl"
:name="episode.episodeName" />
</ul>
</fragment>
</template> </template>
<script> <script>
import { NcListItem, NcLoadingIcon } from '@nextcloud/vue'
import axios from '@nextcloud/axios'
import { generateUrl } from '@nextcloud/router'
import { showError } from '@nextcloud/dialogs'
export default { export default {
name: 'List', name: 'List',
components: {
NcListItem,
NcLoadingIcon,
},
data() {
return {
episodes: [],
loading: true,
}
},
computed: {
url() {
return atob(this.$route.params.url)
},
},
async mounted() {
try {
this.loading = true
const episodes = await axios.get(generateUrl('/apps/repod/episodes?url={url}', { url: this.url }))
this.episodes = episodes.data
} catch (e) {
console.error(e)
showError(t('Could not fetch episodes'))
} finally {
this.loading = false
}
},
} }
</script> </script>
<style scoped>
ul {
background-color: rgba(0, 0, 0, .9);
height: 100%;
overflow: auto;
}
</style>

View File

@ -12,6 +12,7 @@
:image-url="feed.imageUrl" :image-url="feed.imageUrl"
:link="feed.link" :link="feed.link"
:title="feed.title" /> :title="feed.title" />
<List v-if="feed" />
</fragment> </fragment>
</template> </template>
@ -19,6 +20,7 @@
import { NcEmptyContent, NcLoadingIcon } from '@nextcloud/vue' import { NcEmptyContent, NcLoadingIcon } from '@nextcloud/vue'
import Alert from 'vue-material-design-icons/Alert.vue' import Alert from 'vue-material-design-icons/Alert.vue'
import Banner from '../components/Feed/Banner.vue' import Banner from '../components/Feed/Banner.vue'
import List from '../components/Feed/List.vue'
import axios from '@nextcloud/axios' import axios from '@nextcloud/axios'
import { generateUrl } from '@nextcloud/router' import { generateUrl } from '@nextcloud/router'
@ -29,6 +31,7 @@ export default {
Banner, Banner,
NcEmptyContent, NcEmptyContent,
NcLoadingIcon, NcLoadingIcon,
List,
}, },
data() { data() {
return { return {