Compare commits

...

27 Commits

Author SHA1 Message Date
Younes ENNAJI b07c52e643 chore: bump flasher dependency to v2.0.1 2024-05-23 10:51:41 +01:00
Younes ENNAJI 9d2ccc21c9 chore: update CHANGELOG 2024-05-23 10:50:03 +01:00
Younes ENNAJI c98a15dc0e chore: update CHANGELOG 2024-05-23 10:49:21 +01:00
Younes ENNAJI 8f4552bf4c chore: update CHANGELOG 2024-05-23 10:48:58 +01:00
Younes ENNAJI 87463be485 chore: update CHANGELOG 2024-05-23 10:48:09 +01:00
Younes ENNAJI 42eacbe570 demo: update laravel demo 2024-05-23 10:36:00 +01:00
Younes ENNAJI 6d9515d26c chore: update CHANGELOG 2024-05-23 10:32:57 +01:00
Younes ENNAJI 3d893a68eb demo: update laravel demo 2024-05-23 10:32:30 +01:00
Younes ENNAJI f34bd1385a chore: format code 2024-05-23 10:32:30 +01:00
Younes ENNAJI 1b2a778ba2 Merge pull request #182 from php-flasher/fix/issue-176
fix: Ensure flash_bag config overrides default values instead of appending
2024-05-23 10:31:23 +01:00
Younes ENNAJI 953fb78489 fix: Ensure flash_bag config overrides default values instead of appending 2024-05-23 10:29:54 +01:00
Younes ENNAJI 6d05508f97 chore: update CHANGELOG 2024-05-23 10:20:29 +01:00
Younes ENNAJI 5264899310 Merge pull request #181 from php-flasher/fix/issue-176
fix: Allow disabling of default flash replacement by setting flash_bag to false
2024-05-23 10:19:11 +01:00
Younes ENNAJI c500acbc94 fix: Allow disabling of default flash replacement by setting flash_bag to false 2024-05-23 10:17:29 +01:00
Younes ENNAJI 9123f481d8 chore: update CHANGELOG 2024-05-22 23:18:11 +01:00
Younes ENNAJI 9b356ac711 demo: update laravel flasher config timeout option 2024-05-22 23:17:15 +01:00
Younes ENNAJI 0bf6c57569 Merge pull request #180 from php-flasher/fix/issue-176
fix: Ensure global timeout setting applies to all requests
2024-05-22 23:16:26 +01:00
Younes ENNAJI 69e0f71d30 fix: Ensure global timeout setting applies to all requests 2024-05-22 23:14:36 +01:00
Younes ENNAJI 2805115fd7 Merge pull request #179 from php-flasher/fix/issue-176
chore: update CHANGELOG
2024-05-22 22:59:39 +01:00
Younes ENNAJI 47f6b54e06 chore: update CHANGELOG 2024-05-22 22:59:27 +01:00
Younes ENNAJI 6ac46e400e Merge pull request #178 from php-flasher/fix/issue-176
chore: upgrade CHANGELOG
2024-05-22 22:56:27 +01:00
Younes ENNAJI 5476d33112 chore: upgrade CHANGELOG 2024-05-22 22:55:36 +01:00
Younes ENNAJI 95beddfafc Merge pull request #177 from php-flasher/fix/issue-176
fix: Correctly disable FlasherMiddleware when inject_assets is set to false
2024-05-22 22:51:00 +01:00
Younes ENNAJI bbccf0bc4e fix: Correctly disable FlasherMiddleware when inject_assets is set to false 2024-05-22 22:48:17 +01:00
Younes ENNAJI c0709b0747 chore: upgrade dependencies 2024-05-22 22:46:12 +01:00
Younes ENNAJI 39f1f3885e chore: fix phpstan bleeding edge errors 2024-05-13 10:24:42 +01:00
Younes ENNAJI 816529029b Update README.md 2024-05-05 23:35:32 +01:00
58 changed files with 1049 additions and 913 deletions
+10
View File
@@ -0,0 +1,10 @@
# CHANGELOG for 2.x
## [Unreleased](https://github.com/php-flasher/php-flasher/compare/v2.0.1...2.x)
## [v2.0.1](https://github.com/php-flasher/php-flasher/compare/v2.0.0...v2.0.1) - 2024-05-23
* bug [#176](https://github.com/php-flasher/php-flasher/issues/176) [Laravel] Correctly disable FlasherMiddleware when `inject_assets` is set to false. See [PR #177](https://github.com/php-flasher/php-flasher/pull/177)
* bug [#176](https://github.com/php-flasher/php-flasher/issues/176) [Flasher] Ensure global `timeout` option applies to all requests. See [PR #180](https://github.com/php-flasher/php-flasher/pull/180)
* bug [#176](https://github.com/php-flasher/php-flasher/issues/176) [Laravel] Allow disabling of default flash replacement by setting `flash_bag` to false. See [PR #181](https://github.com/php-flasher/php-flasher/pull/181)
* bug [#176](https://github.com/php-flasher/php-flasher/issues/176) [Flasher] Ensure `flash_bag` option overrides default values instead of appending. See [PR #182](https://github.com/php-flasher/php-flasher/pull/182)
+8 -8
View File
@@ -26,20 +26,20 @@
"require-dev": {
"illuminate/routing": "^11.0",
"illuminate/support": "^11.0",
"larastan/larastan": "^2.9.5",
"larastan/larastan": "^2.9.6",
"laravel/octane": "^2.3",
"livewire/livewire": "^3.3",
"mockery/mockery": "^1.6.11",
"mockery/mockery": "^1.6.12",
"orchestra/testbench": "^9.0.4",
"overtrue/phplint": "^9.2.0",
"php-cs-fixer/shim": "^3.54.0",
"phpstan/phpstan": "^1.10.67",
"overtrue/phplint": "^9.3.1",
"php-cs-fixer/shim": "^3.57.2",
"phpstan/phpstan": "^1.11.1",
"phpstan/phpstan-mockery": "^1.1.2",
"phpstan/phpstan-symfony": "^1.3.12",
"phpstan/phpstan-symfony": "^1.4.0",
"phpunit/phpunit": "^10.5.13",
"psr/container": "^1.1|^2.0",
"rector/rector": "^1.0.4",
"rector/swiss-knife": "^0.2.2",
"rector/rector": "^1.1.0",
"rector/swiss-knife": "^0.2.3",
"symfony/config": "^7.0",
"symfony/console": "^7.0",
"symfony/dependency-injection": "^7.0",
Generated
+50 -50
View File
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "fd34ba826b8c68895ffbd2154f10c3a7",
"content-hash": "eb5e08e3923a31b84fbbeb4abbdaae97",
"packages": [],
"packages-dev": [
{
@@ -1307,16 +1307,16 @@
},
{
"name": "larastan/larastan",
"version": "v2.9.5",
"version": "v2.9.6",
"source": {
"type": "git",
"url": "https://github.com/larastan/larastan.git",
"reference": "101f1a4470f87326f4d3995411d28679d8800abe"
"reference": "93d5b95d2e29cdb8203363d44abfdbc0bc7ef57f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/larastan/larastan/zipball/101f1a4470f87326f4d3995411d28679d8800abe",
"reference": "101f1a4470f87326f4d3995411d28679d8800abe",
"url": "https://api.github.com/repos/larastan/larastan/zipball/93d5b95d2e29cdb8203363d44abfdbc0bc7ef57f",
"reference": "93d5b95d2e29cdb8203363d44abfdbc0bc7ef57f",
"shasum": ""
},
"require": {
@@ -1385,7 +1385,7 @@
],
"support": {
"issues": "https://github.com/larastan/larastan/issues",
"source": "https://github.com/larastan/larastan/tree/v2.9.5"
"source": "https://github.com/larastan/larastan/tree/v2.9.6"
},
"funding": [
{
@@ -1405,7 +1405,7 @@
"type": "patreon"
}
],
"time": "2024-04-16T19:13:34+00:00"
"time": "2024-05-09T11:53:26+00:00"
},
{
"name": "laravel/framework",
@@ -2292,16 +2292,16 @@
},
{
"name": "mockery/mockery",
"version": "1.6.11",
"version": "1.6.12",
"source": {
"type": "git",
"url": "https://github.com/mockery/mockery.git",
"reference": "81a161d0b135df89951abd52296adf97deb0723d"
"reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/mockery/mockery/zipball/81a161d0b135df89951abd52296adf97deb0723d",
"reference": "81a161d0b135df89951abd52296adf97deb0723d",
"url": "https://api.github.com/repos/mockery/mockery/zipball/1f4efdd7d3beafe9807b08156dfcb176d18f1699",
"reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699",
"shasum": ""
},
"require": {
@@ -2371,7 +2371,7 @@
"security": "https://github.com/mockery/mockery/security/advisories",
"source": "https://github.com/mockery/mockery"
},
"time": "2024-03-21T18:34:15+00:00"
"time": "2024-05-16T03:13:13+00:00"
},
{
"name": "monolog/monolog",
@@ -3283,16 +3283,16 @@
},
{
"name": "overtrue/phplint",
"version": "9.2.0",
"version": "9.3.1",
"source": {
"type": "git",
"url": "https://github.com/overtrue/phplint.git",
"reference": "b211fe17b8b9e8f2b3db10243f6adcb6397715c3"
"reference": "1e43e92e425c953f7c154460f0644517ea4f9317"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/overtrue/phplint/zipball/b211fe17b8b9e8f2b3db10243f6adcb6397715c3",
"reference": "b211fe17b8b9e8f2b3db10243f6adcb6397715c3",
"url": "https://api.github.com/repos/overtrue/phplint/zipball/1e43e92e425c953f7c154460f0644517ea4f9317",
"reference": "1e43e92e425c953f7c154460f0644517ea4f9317",
"shasum": ""
},
"require": {
@@ -3335,7 +3335,7 @@
]
},
"branch-alias": {
"dev-main": "9.2.x-dev"
"dev-main": "9.3.x-dev"
}
},
"autoload": {
@@ -3367,7 +3367,7 @@
],
"support": {
"issues": "https://github.com/overtrue/phplint/issues",
"source": "https://github.com/overtrue/phplint/tree/9.2.0"
"source": "https://github.com/overtrue/phplint/tree/9.3.1"
},
"funding": [
{
@@ -3375,7 +3375,7 @@
"type": "github"
}
],
"time": "2024-05-03T07:14:21+00:00"
"time": "2024-05-17T03:39:25+00:00"
},
{
"name": "paragonie/random_compat",
@@ -3537,16 +3537,16 @@
},
{
"name": "php-cs-fixer/shim",
"version": "v3.54.0",
"version": "v3.57.2",
"source": {
"type": "git",
"url": "https://github.com/PHP-CS-Fixer/shim.git",
"reference": "887c350fccbadb2b84278fdb963c25a0c304ac9c"
"reference": "2141067497145f224111eee89a0b4a0d0f3fe487"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHP-CS-Fixer/shim/zipball/887c350fccbadb2b84278fdb963c25a0c304ac9c",
"reference": "887c350fccbadb2b84278fdb963c25a0c304ac9c",
"url": "https://api.github.com/repos/PHP-CS-Fixer/shim/zipball/2141067497145f224111eee89a0b4a0d0f3fe487",
"reference": "2141067497145f224111eee89a0b4a0d0f3fe487",
"shasum": ""
},
"require": {
@@ -3583,9 +3583,9 @@
"description": "A tool to automatically fix PHP code style",
"support": {
"issues": "https://github.com/PHP-CS-Fixer/shim/issues",
"source": "https://github.com/PHP-CS-Fixer/shim/tree/v3.54.0"
"source": "https://github.com/PHP-CS-Fixer/shim/tree/v3.57.2"
},
"time": "2024-04-17T08:23:10+00:00"
"time": "2024-05-20T20:42:23+00:00"
},
{
"name": "phpmyadmin/sql-parser",
@@ -3746,16 +3746,16 @@
},
{
"name": "phpstan/phpstan",
"version": "1.10.67",
"version": "1.11.1",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
"reference": "16ddbe776f10da6a95ebd25de7c1dbed397dc493"
"reference": "e524358f930e41a2b4cca1320e3b04fc26b39e0b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/16ddbe776f10da6a95ebd25de7c1dbed397dc493",
"reference": "16ddbe776f10da6a95ebd25de7c1dbed397dc493",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/e524358f930e41a2b4cca1320e3b04fc26b39e0b",
"reference": "e524358f930e41a2b4cca1320e3b04fc26b39e0b",
"shasum": ""
},
"require": {
@@ -3800,7 +3800,7 @@
"type": "github"
}
],
"time": "2024-04-16T07:22:02+00:00"
"time": "2024-05-15T08:00:59+00:00"
},
{
"name": "phpstan/phpstan-mockery",
@@ -3854,22 +3854,22 @@
},
{
"name": "phpstan/phpstan-symfony",
"version": "1.3.12",
"version": "1.4.0",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan-symfony.git",
"reference": "f4b9407fa3203aebafd422ae8f0eb1ef94659a80"
"reference": "51183fefbaf4713aa81eddbd273dc59dd5e5ff71"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/f4b9407fa3203aebafd422ae8f0eb1ef94659a80",
"reference": "f4b9407fa3203aebafd422ae8f0eb1ef94659a80",
"url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/51183fefbaf4713aa81eddbd273dc59dd5e5ff71",
"reference": "51183fefbaf4713aa81eddbd273dc59dd5e5ff71",
"shasum": ""
},
"require": {
"ext-simplexml": "*",
"php": "^7.2 || ^8.0",
"phpstan/phpstan": "^1.10.62"
"phpstan/phpstan": "^1.11"
},
"conflict": {
"symfony/framework-bundle": "<3.0"
@@ -3920,9 +3920,9 @@
"description": "Symfony Framework extensions and rules for PHPStan",
"support": {
"issues": "https://github.com/phpstan/phpstan-symfony/issues",
"source": "https://github.com/phpstan/phpstan-symfony/tree/1.3.12"
"source": "https://github.com/phpstan/phpstan-symfony/tree/1.4.0"
},
"time": "2024-04-14T13:30:23+00:00"
"time": "2024-04-20T06:38:35+00:00"
},
{
"name": "phpunit/php-code-coverage",
@@ -5101,21 +5101,21 @@
},
{
"name": "rector/rector",
"version": "1.0.4",
"version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/rectorphp/rector.git",
"reference": "6e04d0eb087aef707fa0c5686d33d6ff61f4a555"
"reference": "556509e2dcf527369892b7d411379c4a02f31859"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/rectorphp/rector/zipball/6e04d0eb087aef707fa0c5686d33d6ff61f4a555",
"reference": "6e04d0eb087aef707fa0c5686d33d6ff61f4a555",
"url": "https://api.github.com/repos/rectorphp/rector/zipball/556509e2dcf527369892b7d411379c4a02f31859",
"reference": "556509e2dcf527369892b7d411379c4a02f31859",
"shasum": ""
},
"require": {
"php": "^7.2|^8.0",
"phpstan/phpstan": "^1.10.57"
"phpstan/phpstan": "^1.11"
},
"conflict": {
"rector/rector-doctrine": "*",
@@ -5148,7 +5148,7 @@
],
"support": {
"issues": "https://github.com/rectorphp/rector/issues",
"source": "https://github.com/rectorphp/rector/tree/1.0.4"
"source": "https://github.com/rectorphp/rector/tree/1.1.0"
},
"funding": [
{
@@ -5156,20 +5156,20 @@
"type": "github"
}
],
"time": "2024-04-05T09:01:07+00:00"
"time": "2024-05-18T09:40:27+00:00"
},
{
"name": "rector/swiss-knife",
"version": "0.2.2",
"version": "0.2.3",
"source": {
"type": "git",
"url": "https://github.com/rectorphp/swiss-knife.git",
"reference": "125cecb26acb03b97862f1bb525194e69698d5ef"
"reference": "618ffe570d2a5316adf9cdab092e789c7f7b0bce"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/rectorphp/swiss-knife/zipball/125cecb26acb03b97862f1bb525194e69698d5ef",
"reference": "125cecb26acb03b97862f1bb525194e69698d5ef",
"url": "https://api.github.com/repos/rectorphp/swiss-knife/zipball/618ffe570d2a5316adf9cdab092e789c7f7b0bce",
"reference": "618ffe570d2a5316adf9cdab092e789c7f7b0bce",
"shasum": ""
},
"require": {
@@ -5186,7 +5186,7 @@
"description": "Swiss knife in pocket of every upgrade architect",
"support": {
"issues": "https://github.com/rectorphp/swiss-knife/issues",
"source": "https://github.com/rectorphp/swiss-knife/tree/0.2.2"
"source": "https://github.com/rectorphp/swiss-knife/tree/0.2.3"
},
"funding": [
{
@@ -5198,7 +5198,7 @@
"type": "github"
}
],
"time": "2024-03-11T08:31:59+00:00"
"time": "2024-05-10T07:38:18+00:00"
},
{
"name": "sebastian/cli-parser",
+345 -328
View File
File diff suppressed because it is too large Load Diff
+13
View File
@@ -0,0 +1,13 @@
<?php
return [
'inject_assets' => true,
'options' => [
'timeout' => 5_000,
],
'flash_bag' => [
'success' => ['success', 'ok', 'completed', 'passed', 'achieved'],
],
];
+9 -3
View File
@@ -10,8 +10,14 @@ Route::get('/', function () {
// toastr()->positionClass('toast-bottom-left')->error('hello from Home Controller');
// flash()->use('flasher')->success('hello from flasher factory');
flash()->created(new Book('lord of the rings'));
flash()->saved(new Book('harry potter'));
// flash()->created(new Book('lord of the rings'));
// flash()->saved(new Book('harry potter'));
return view('welcome');
session()->flash('success', 'this from laravel session flash');
return redirect('/redirect');
})->name('app_home');
Route::get('/redirect', function () {
return view('welcome');
});
+293 -290
View File
File diff suppressed because it is too large Load Diff
+108 -129
View File
@@ -20,14 +20,14 @@
"@babel/core": "^7.24.5",
"@babel/preset-env": "^7.24.5",
"@rollup/plugin-babel": "^6.0.4",
"@rollup/plugin-commonjs": "^25.0.7",
"@rollup/plugin-commonjs": "^25.0.8",
"@rollup/plugin-eslint": "^9.0.5",
"@rollup/plugin-node-resolve": "^15.2.3",
"@rollup/plugin-terser": "^0.4.4",
"@rollup/plugin-typescript": "^11.1.6",
"@types/node": "^20.12.8",
"@types/node": "^20.12.12",
"@typescript-eslint/eslint-plugin": "7.5.0",
"@typescript-eslint/parser": "^7.8.0",
"@typescript-eslint/parser": "^7.10.0",
"autoprefixer": "^10.4.19",
"browserslist": "^4.23.0",
"cross-env": "7.0.3",
@@ -41,13 +41,13 @@
"eslint-plugin-prettier": "^5.1.3",
"postcss-discard-comments": "^6.0.2",
"punycode": "2.3.1",
"rollup": "^4.17.2",
"rollup": "^4.18.0",
"rollup-plugin-cleanup": "^3.2.1",
"rollup-plugin-clear": "^2.0.7",
"rollup-plugin-copy": "3.5.0",
"rollup-plugin-filesize": "^10.0.0",
"rollup-plugin-postcss": "^4.0.2",
"sass": "^1.76.0",
"sass": "^1.77.2",
"ts-node": "^10.9.2",
"tslib": "^2.6.2",
"typescript": "^5.4.5"
@@ -2703,9 +2703,9 @@
}
},
"node_modules/@rollup/plugin-commonjs": {
"version": "25.0.7",
"resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.7.tgz",
"integrity": "sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==",
"version": "25.0.8",
"resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.8.tgz",
"integrity": "sha512-ZEZWTK5n6Qde0to4vS9Mr5x/0UZoqCxPVR9KRUjU4kA2sO7GEUn1fop0DAwpO6z0Nw/kJON9bDmSxdWxO/TT1A==",
"dev": true,
"dependencies": {
"@rollup/pluginutils": "^5.0.1",
@@ -2844,9 +2844,9 @@
}
},
"node_modules/@rollup/rollup-android-arm-eabi": {
"version": "4.17.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.17.2.tgz",
"integrity": "sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==",
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz",
"integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==",
"cpu": [
"arm"
],
@@ -2857,9 +2857,9 @@
]
},
"node_modules/@rollup/rollup-android-arm64": {
"version": "4.17.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.17.2.tgz",
"integrity": "sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==",
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz",
"integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==",
"cpu": [
"arm64"
],
@@ -2870,9 +2870,9 @@
]
},
"node_modules/@rollup/rollup-darwin-arm64": {
"version": "4.17.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.17.2.tgz",
"integrity": "sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==",
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz",
"integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==",
"cpu": [
"arm64"
],
@@ -2883,9 +2883,9 @@
]
},
"node_modules/@rollup/rollup-darwin-x64": {
"version": "4.17.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.17.2.tgz",
"integrity": "sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==",
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz",
"integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==",
"cpu": [
"x64"
],
@@ -2896,9 +2896,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
"version": "4.17.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.17.2.tgz",
"integrity": "sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==",
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz",
"integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==",
"cpu": [
"arm"
],
@@ -2909,9 +2909,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
"version": "4.17.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.17.2.tgz",
"integrity": "sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==",
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz",
"integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==",
"cpu": [
"arm"
],
@@ -2922,9 +2922,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-gnu": {
"version": "4.17.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.17.2.tgz",
"integrity": "sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==",
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz",
"integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==",
"cpu": [
"arm64"
],
@@ -2935,9 +2935,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-musl": {
"version": "4.17.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.17.2.tgz",
"integrity": "sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==",
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz",
"integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==",
"cpu": [
"arm64"
],
@@ -2948,9 +2948,9 @@
]
},
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
"version": "4.17.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.17.2.tgz",
"integrity": "sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==",
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz",
"integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==",
"cpu": [
"ppc64"
],
@@ -2961,9 +2961,9 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
"version": "4.17.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.17.2.tgz",
"integrity": "sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==",
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz",
"integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==",
"cpu": [
"riscv64"
],
@@ -2974,9 +2974,9 @@
]
},
"node_modules/@rollup/rollup-linux-s390x-gnu": {
"version": "4.17.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.17.2.tgz",
"integrity": "sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==",
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz",
"integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==",
"cpu": [
"s390x"
],
@@ -2987,9 +2987,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
"version": "4.17.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.17.2.tgz",
"integrity": "sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==",
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz",
"integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==",
"cpu": [
"x64"
],
@@ -3000,9 +3000,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
"version": "4.17.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.17.2.tgz",
"integrity": "sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==",
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz",
"integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==",
"cpu": [
"x64"
],
@@ -3013,9 +3013,9 @@
]
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
"version": "4.17.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.17.2.tgz",
"integrity": "sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==",
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz",
"integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==",
"cpu": [
"arm64"
],
@@ -3026,9 +3026,9 @@
]
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
"version": "4.17.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.17.2.tgz",
"integrity": "sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==",
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz",
"integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==",
"cpu": [
"ia32"
],
@@ -3039,9 +3039,9 @@
]
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
"version": "4.17.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.17.2.tgz",
"integrity": "sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==",
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz",
"integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==",
"cpu": [
"x64"
],
@@ -3889,9 +3889,9 @@
"dev": true
},
"node_modules/@types/node": {
"version": "20.12.8",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.8.tgz",
"integrity": "sha512-NU0rJLJnshZWdE/097cdCBbyW1h4hEg0xpovcoAQYHl8dnEyp/NAOiE45pvc+Bd1Dt+2r94v2eGFpQJ4R7g+2w==",
"version": "20.12.12",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz",
"integrity": "sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==",
"dev": true,
"dependencies": {
"undici-types": "~5.26.4"
@@ -4057,15 +4057,15 @@
"dev": true
},
"node_modules/@typescript-eslint/parser": {
"version": "7.8.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.8.0.tgz",
"integrity": "sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ==",
"version": "7.10.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.10.0.tgz",
"integrity": "sha512-2EjZMA0LUW5V5tGQiaa2Gys+nKdfrn2xiTIBLR4fxmPmVSvgPcKNW+AE/ln9k0A4zDUti0J/GZXMDupQoI+e1w==",
"dev": true,
"dependencies": {
"@typescript-eslint/scope-manager": "7.8.0",
"@typescript-eslint/types": "7.8.0",
"@typescript-eslint/typescript-estree": "7.8.0",
"@typescript-eslint/visitor-keys": "7.8.0",
"@typescript-eslint/scope-manager": "7.10.0",
"@typescript-eslint/types": "7.10.0",
"@typescript-eslint/typescript-estree": "7.10.0",
"@typescript-eslint/visitor-keys": "7.10.0",
"debug": "^4.3.4"
},
"engines": {
@@ -4085,13 +4085,13 @@
}
},
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": {
"version": "7.8.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.8.0.tgz",
"integrity": "sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==",
"version": "7.10.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.10.0.tgz",
"integrity": "sha512-7L01/K8W/VGl7noe2mgH0K7BE29Sq6KAbVmxurj8GGaPDZXPr8EEQ2seOeAS+mEV9DnzxBQB6ax6qQQ5C6P4xg==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "7.8.0",
"@typescript-eslint/visitor-keys": "7.8.0"
"@typescript-eslint/types": "7.10.0",
"@typescript-eslint/visitor-keys": "7.10.0"
},
"engines": {
"node": "^18.18.0 || >=20.0.0"
@@ -4102,9 +4102,9 @@
}
},
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": {
"version": "7.8.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.8.0.tgz",
"integrity": "sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==",
"version": "7.10.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.10.0.tgz",
"integrity": "sha512-7fNj+Ya35aNyhuqrA1E/VayQX9Elwr8NKZ4WueClR3KwJ7Xx9jcCdOrLW04h51de/+gNbyFMs+IDxh5xIwfbNg==",
"dev": true,
"engines": {
"node": "^18.18.0 || >=20.0.0"
@@ -4115,13 +4115,13 @@
}
},
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": {
"version": "7.8.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.8.0.tgz",
"integrity": "sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==",
"version": "7.10.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.10.0.tgz",
"integrity": "sha512-LXFnQJjL9XIcxeVfqmNj60YhatpRLt6UhdlFwAkjNc6jSUlK8zQOl1oktAP8PlWFzPQC1jny/8Bai3/HPuvN5g==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "7.8.0",
"@typescript-eslint/visitor-keys": "7.8.0",
"@typescript-eslint/types": "7.10.0",
"@typescript-eslint/visitor-keys": "7.10.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
@@ -4143,12 +4143,12 @@
}
},
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": {
"version": "7.8.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.8.0.tgz",
"integrity": "sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==",
"version": "7.10.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.10.0.tgz",
"integrity": "sha512-9ntIVgsi6gg6FIq9xjEO4VQJvwOqA3jaBFQJ/6TK5AvEup2+cECI6Fh7QiBxmfMHXU0V0J4RyPeOU1VDNzl9cg==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "7.8.0",
"@typescript-eslint/types": "7.10.0",
"eslint-visitor-keys": "^3.4.3"
},
"engines": {
@@ -4159,18 +4159,6 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
"node_modules/@typescript-eslint/parser/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"dependencies": {
"yallist": "^4.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@typescript-eslint/parser/node_modules/minimatch": {
"version": "9.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
@@ -4187,13 +4175,10 @@
}
},
"node_modules/@typescript-eslint/parser/node_modules/semver": {
"version": "7.6.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
"integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"version": "7.6.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
"integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
},
"bin": {
"semver": "bin/semver.js"
},
@@ -4201,12 +4186,6 @@
"node": ">=10"
}
},
"node_modules/@typescript-eslint/parser/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
"node_modules/@typescript-eslint/scope-manager": {
"version": "7.5.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.5.0.tgz",
@@ -11873,9 +11852,9 @@
}
},
"node_modules/rollup": {
"version": "4.17.2",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.17.2.tgz",
"integrity": "sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==",
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz",
"integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==",
"dev": true,
"dependencies": {
"@types/estree": "1.0.5"
@@ -11888,22 +11867,22 @@
"npm": ">=8.0.0"
},
"optionalDependencies": {
"@rollup/rollup-android-arm-eabi": "4.17.2",
"@rollup/rollup-android-arm64": "4.17.2",
"@rollup/rollup-darwin-arm64": "4.17.2",
"@rollup/rollup-darwin-x64": "4.17.2",
"@rollup/rollup-linux-arm-gnueabihf": "4.17.2",
"@rollup/rollup-linux-arm-musleabihf": "4.17.2",
"@rollup/rollup-linux-arm64-gnu": "4.17.2",
"@rollup/rollup-linux-arm64-musl": "4.17.2",
"@rollup/rollup-linux-powerpc64le-gnu": "4.17.2",
"@rollup/rollup-linux-riscv64-gnu": "4.17.2",
"@rollup/rollup-linux-s390x-gnu": "4.17.2",
"@rollup/rollup-linux-x64-gnu": "4.17.2",
"@rollup/rollup-linux-x64-musl": "4.17.2",
"@rollup/rollup-win32-arm64-msvc": "4.17.2",
"@rollup/rollup-win32-ia32-msvc": "4.17.2",
"@rollup/rollup-win32-x64-msvc": "4.17.2",
"@rollup/rollup-android-arm-eabi": "4.18.0",
"@rollup/rollup-android-arm64": "4.18.0",
"@rollup/rollup-darwin-arm64": "4.18.0",
"@rollup/rollup-darwin-x64": "4.18.0",
"@rollup/rollup-linux-arm-gnueabihf": "4.18.0",
"@rollup/rollup-linux-arm-musleabihf": "4.18.0",
"@rollup/rollup-linux-arm64-gnu": "4.18.0",
"@rollup/rollup-linux-arm64-musl": "4.18.0",
"@rollup/rollup-linux-powerpc64le-gnu": "4.18.0",
"@rollup/rollup-linux-riscv64-gnu": "4.18.0",
"@rollup/rollup-linux-s390x-gnu": "4.18.0",
"@rollup/rollup-linux-x64-gnu": "4.18.0",
"@rollup/rollup-linux-x64-musl": "4.18.0",
"@rollup/rollup-win32-arm64-msvc": "4.18.0",
"@rollup/rollup-win32-ia32-msvc": "4.18.0",
"@rollup/rollup-win32-x64-msvc": "4.18.0",
"fsevents": "~2.3.2"
}
},
@@ -12924,9 +12903,9 @@
"optional": true
},
"node_modules/sass": {
"version": "1.76.0",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.76.0.tgz",
"integrity": "sha512-nc3LeqvF2FNW5xGF1zxZifdW3ffIz5aBb7I7tSvOoNu7z1RQ6pFt9MBuiPtjgaI62YWrM/txjWlOCFiGtf2xpw==",
"version": "1.77.2",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.77.2.tgz",
"integrity": "sha512-eb4GZt1C3avsX3heBNlrc7I09nyT00IUuo4eFhAbeXWU2fvA7oXI53SxODVAA+zgZCk9aunAZgO+losjR3fAwA==",
"dev": true,
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0",
+5 -5
View File
@@ -22,14 +22,14 @@
"@babel/core": "^7.24.5",
"@babel/preset-env": "^7.24.5",
"@rollup/plugin-babel": "^6.0.4",
"@rollup/plugin-commonjs": "^25.0.7",
"@rollup/plugin-commonjs": "^25.0.8",
"@rollup/plugin-eslint": "^9.0.5",
"@rollup/plugin-node-resolve": "^15.2.3",
"@rollup/plugin-terser": "^0.4.4",
"@rollup/plugin-typescript": "^11.1.6",
"@types/node": "^20.12.8",
"@types/node": "^20.12.12",
"@typescript-eslint/eslint-plugin": "7.5.0",
"@typescript-eslint/parser": "^7.8.0",
"@typescript-eslint/parser": "^7.10.0",
"autoprefixer": "^10.4.19",
"browserslist": "^4.23.0",
"cross-env": "7.0.3",
@@ -43,13 +43,13 @@
"eslint-plugin-prettier": "^5.1.3",
"postcss-discard-comments": "^6.0.2",
"punycode": "2.3.1",
"rollup": "^4.17.2",
"rollup": "^4.18.0",
"rollup-plugin-cleanup": "^3.2.1",
"rollup-plugin-clear": "^2.0.7",
"rollup-plugin-copy": "3.5.0",
"rollup-plugin-filesize": "^10.0.0",
"rollup-plugin-postcss": "^4.0.2",
"sass": "^1.76.0",
"sass": "^1.77.2",
"ts-node": "^10.9.2",
"tslib": "^2.6.2",
"typescript": "^5.4.5"
+1
View File
@@ -1,5 +1,6 @@
includes:
- extension.neon
- vendor/phpstan/phpstan/conf/bleedingEdge.neon
- vendor/phpstan/phpstan-symfony/extension.neon
- vendor/phpstan/phpstan-symfony/rules.neon
- vendor/larastan/larastan/extension.neon
+1 -1
View File
@@ -12,7 +12,7 @@ final class FlasherComponent extends Component
{
}
public function render()
public function render(): string
{
/** @var array<string, mixed> $criteria */
$criteria = json_decode($this->criteria, true, 512, \JSON_THROW_ON_ERROR) ?: [];
+9 -1
View File
@@ -222,6 +222,10 @@ final class FlasherServiceProvider extends PluginServiceProvider
private function registerFlasherMiddleware(): void
{
if (!$this->getConfig('inject_assets')) {
return;
}
$this->app->singleton(FlasherMiddleware::class, static function (Application $app) {
$flasher = $app->make('flasher');
$cspHandler = $app->make('flasher.csp_handler');
@@ -251,11 +255,15 @@ final class FlasherServiceProvider extends PluginServiceProvider
private function registerSessionMiddleware(): void
{
if (!$this->getConfig('flash_bag')) {
return;
}
$this->app->singleton(SessionMiddleware::class, static function (Application $app) {
$config = $app->make('config');
$flasher = $app->make('flasher');
$mapping = $config->get('flasher.flash_bag', []);
$mapping = $config->get('flasher.flash_bag', []) ?: [];
return new SessionMiddleware(new RequestExtension($flasher, $mapping));
});
+1
View File
@@ -51,6 +51,7 @@ final readonly class Request implements RequestInterface
{
$session = $this->getSession();
/** @var false|string|string[] $type */
$type = $session?->get($type);
if (!\is_string($type) && !\is_array($type)) {
+1 -1
View File
@@ -39,7 +39,7 @@ final readonly class Response implements ResponseInterface
{
$contentDisposition = $this->response->headers->get('Content-Disposition', '');
if (!\is_string($contentDisposition)) {
if (!$contentDisposition) {
return false;
}
+94 -24
View File
@@ -5,30 +5,102 @@
</picture>
</p>
## About PHPFlasher
PHPFlasher is a powerful and easy-to-use package that allows you to quickly and easily add flash messages to your Laravel or Symfony projects.
Whether you need to alert users of a successful form submission, an error, or any other important information, flash messages are a simple and effective solution for providing feedback to your users.
With PHPFlasher, you can easily record and store messages within the session, making it simple to retrieve and display them on the current or next page.
This improves user engagement and enhances the overall user experience on your website or application.
Whether you're a beginner or an experienced developer, PHPFlasher's intuitive and straightforward design makes it easy to integrate into your projects.
So, if you're looking for a reliable, flexible and easy to use flash messages solution, PHPFlasher is the perfect choice.
# PHPFlasher for Laravel
PHPFlasher provides a powerful and intuitive way to add flash notifications to your Laravel applications. With PHPFlasher, you can enhance user feedback efficiently and elegantly.
## Official Documentation
Documentation for PHPFlasher can be found on the [https://php-flasher.io](https://php-flasher.io).
For more comprehensive documentation, please visit [PHPFlasher's Official Documentation](https://php-flasher.io).
## Contributors and sponsors
## Requirements
Join our team of contributors and make a lasting impact on our project!
- **PHP** v8.2 or higher
- **Laravel** v11.0 or higher
We are always looking for passionate individuals who want to contribute their skills and ideas.
Whether you're a developer, designer, or simply have a great idea, we welcome your participation and collaboration.
## Installation
Shining stars of our community:
To install PHPFlasher for Laravel, use Composer:
```bash
composer require php-flasher/flasher-laravel
```
After installation, publish the assets using:
```bash
php artisan flasher:install
```
## Usage
Quickly integrate flash notifications in your Laravel project using the simple methods provided by PHPFlasher.
- Display a success message.
```php
flash()->success('Operation completed successfully.');
```
- Display an error message.
```php
flash()->error('Oops, something went wrong.');
```
- Display a warning message.
```php
flash()->warning('Your account may have been compromised.');
```
- Display an informational message.
```php
flash()->info('This may take some time. Do not refresh the page.');
```
- Set multiple options at once.
```php
flash()
->options(['timeout' => 5000, 'position' => 'top-right'])
->success('Your profile has been updated.');
```
- Set a single option.
```php
flash()
->option('timer', 5000)
->success('Your reservation has been confirmed.');
```
- Set the priority of the message.
```php
flash()
->priority(1)
->success('Your subscription has been activated.');
```
- Set how many requests a message should persist through.
```php
flash()
->hops(2)
->info('Your account has been created, but requires verification.');
```
- Translate a message into the specified language.
```php
flash()
->translate('ar')
->success('Your message has been sent.');
```
## Contributors
<!-- ALL-CONTRIBUTORS-LIST:START -->
<!-- prettier-ignore-start -->
@@ -36,7 +108,7 @@ Shining stars of our community:
<table>
<tbody>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://www.linkedin.com/in/younes--ennaji//"><img src="https://avatars.githubusercontent.com/u/10859693?v=4?s=100" width="100px;" alt="Younes ENNAJI"/><br /><sub><b>Younes ENNAJI</b></sub></a><br /><a href="https://github.com/php-flasher/php-flasher/commits?author=yoeunes" title="Code">💻</a> <a href="https://github.com/php-flasher/php-flasher/commits?author=yoeunes" title="Documentation">📖</a> <a href="#maintenance-yoeunes" title="Maintenance">🚧</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.linkedin.com/in/younes-ennaji/"><img src="https://avatars.githubusercontent.com/u/10859693?v=4?s=100" width="100px;" alt="Younes ENNAJI"/><br /><sub><b>Younes ENNAJI</b></sub></a><br /><a href="https://github.com/php-flasher/php-flasher/commits?author=yoeunes" title="Code">💻</a> <a href="https://github.com/php-flasher/php-flasher/commits?author=yoeunes" title="Documentation">📖</a> <a href="#maintenance-yoeunes" title="Maintenance">🚧</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/salmayno"><img src="https://avatars.githubusercontent.com/u/27933199?v=4?s=100" width="100px;" alt="Salma Mourad"/><br /><sub><b>Salma Mourad</b></sub></a><br /><a href="#financial-salmayno" title="Financial">💵</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.youtube.com/rstacode"><img src="https://avatars.githubusercontent.com/u/35005761?v=4?s=100" width="100px;" alt="Nashwan Abdullah"/><br /><sub><b>Nashwan Abdullah</b></sub></a><br /><a href="#financial-codenashwan" title="Financial">💵</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://darvis.nl/"><img src="https://avatars.githubusercontent.com/u/7394837?v=4?s=100" width="100px;" alt="Arvid de Jong"/><br /><sub><b>Arvid de Jong</b></sub></a><br /><a href="#financial-darviscommerce" title="Financial">💵</a></td>
@@ -58,17 +130,15 @@ Shining stars of our community:
## Contact
PHPFlasher is being actively developed by <a href="https://github.com/yoeunes">yoeunes</a>.
You can reach out with questions, bug reports, or feature requests on any of the following:
For support, feature requests, or contributions, reach out via:
- [Github Issues](https://github.com/php-flasher/php-flasher/issues)
- [Github](https://github.com/yoeunes)
- [GitHub Issues](https://github.com/php-flasher/php-flasher/issues)
- [Twitter](https://twitter.com/yoeunes)
- [Linkedin](https://www.linkedin.com/in/younes--ennaji//)
- [Email me directly](mailto:younes.ennaji.pro@gmail.com)
- [LinkedIn](https://www.linkedin.com/in/younes--ennaji//)
- [Email](mailto:younes.ennaji.pro@gmail.com)
## License
PHPFlasher is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).
PHPFlasher is licensed under the [MIT license](https://opensource.org/licenses/MIT).
<p align="center"> <b>Made with ❤️ by <a href="https://www.linkedin.com/in/younes--ennaji//">Younes ENNAJI</a> </b> </p>
@@ -6,6 +6,7 @@ namespace Flasher\Laravel\Support;
use Flasher\Prime\Factory\NotificationFactoryLocator;
use Flasher\Prime\Plugin\PluginInterface;
use Illuminate\Contracts\Config\Repository;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Contracts\Foundation\CachesConfiguration;
use Illuminate\Support\ServiceProvider;
@@ -35,6 +36,14 @@ abstract class PluginServiceProvider extends ServiceProvider
return rtrim($this->getResourcesDir(), '/').'/config.php';
}
protected function getConfig(?string $key = null, mixed $default = null): mixed
{
/** @var Repository $config */
$config = $this->app->make('config');
return $key ? $config->get('flasher.'.$key, $default) : $config->get('flasher');
}
protected function getResourcesDir(): string
{
$r = new \ReflectionClass($this);
+1 -1
View File
@@ -29,7 +29,7 @@
"require": {
"php": ">=8.2",
"illuminate/support": "^11.0",
"php-flasher/flasher": "^2.0"
"php-flasher/flasher": "^2.0.1"
},
"autoload": {
"psr-4": {
+2 -2
View File
@@ -28,8 +28,8 @@
"prefer-stable": true,
"require": {
"php": ">=8.2",
"php-flasher/flasher-laravel": "^2.0",
"php-flasher/flasher-noty": "^2.0"
"php-flasher/flasher-laravel": "^2.0.1",
"php-flasher/flasher-noty": "^2.0.1"
},
"autoload": {
"psr-4": {
+8 -2
View File
@@ -23,7 +23,10 @@ final class NotyPlugin extends Plugin
return NotyInterface::class;
}
public function getScripts(): string|array
/**
* @return string[]
*/
public function getScripts(): array
{
return [
'/vendor/flasher/noty.min.js',
@@ -31,7 +34,10 @@ final class NotyPlugin extends Plugin
];
}
public function getStyles(): string|array
/**
* @return string[]
*/
public function getStyles(): array
{
return [
'/vendor/flasher/noty.css',
+1 -1
View File
@@ -33,7 +33,7 @@
"prefer-stable": true,
"require": {
"php": ">=8.2",
"php-flasher/flasher": "^2.0"
"php-flasher/flasher": "^2.0.1"
},
"autoload": {
"psr-4": {
+2 -2
View File
@@ -28,8 +28,8 @@
"prefer-stable": true,
"require": {
"php": ">=8.2",
"php-flasher/flasher-noty": "^2.0",
"php-flasher/flasher-symfony": "^2.0"
"php-flasher/flasher-noty": "^2.0.1",
"php-flasher/flasher-symfony": "^2.0.1"
},
"autoload": {
"psr-4": {
+2 -2
View File
@@ -29,8 +29,8 @@
"prefer-stable": true,
"require": {
"php": ">=8.2",
"php-flasher/flasher-laravel": "^2.0",
"php-flasher/flasher-notyf": "^2.0"
"php-flasher/flasher-laravel": "^2.0.1",
"php-flasher/flasher-notyf": "^2.0.1"
},
"autoload": {
"psr-4": {
+8 -2
View File
@@ -23,14 +23,20 @@ final class NotyfPlugin extends Plugin
return NotyfInterface::class;
}
public function getScripts(): string|array
/**
* @return string[]
*/
public function getScripts(): array
{
return [
'/vendor/flasher/flasher-notyf.min.js',
];
}
public function getStyles(): string|array
/**
* @return string[]
*/
public function getStyles(): array
{
return [
'/vendor/flasher/flasher-notyf.min.css',
+1 -1
View File
@@ -33,7 +33,7 @@
"prefer-stable": true,
"require": {
"php": ">=8.2",
"php-flasher/flasher": "^2.0"
"php-flasher/flasher": "^2.0.1"
},
"autoload": {
"psr-4": {
+2 -2
View File
@@ -29,8 +29,8 @@
"prefer-stable": true,
"require": {
"php": ">=8.2",
"php-flasher/flasher-notyf": "^2.0",
"php-flasher/flasher-symfony": "^2.0"
"php-flasher/flasher-notyf": "^2.0.1",
"php-flasher/flasher-symfony": "^2.0.1"
},
"autoload": {
"psr-4": {
+1 -1
View File
@@ -70,7 +70,7 @@ final class AssetManager implements AssetManagerInterface
throw new \InvalidArgumentException(sprintf('There was a problem JSON decoding the "%s" file.', $this->manifestPath));
}
return $this->entries = $entries;
return $this->entries = $entries; // @phpstan-ignore-line
}
private function computeHash(string $path): string
@@ -25,7 +25,10 @@ final readonly class AttachDefaultStampsListener implements EventListenerInterfa
}
}
public function getSubscribedEvents(): string|array
/**
* @return string[]
*/
public function getSubscribedEvents(): array
{
return [
PersistEvent::class,
@@ -31,7 +31,7 @@ final class NotificationLoggerListener implements EventListenerInterface
return $this->events;
}
public function getSubscribedEvents(): string|array
public function getSubscribedEvents(): string
{
return PresentationEvent::class;
}
+5 -6
View File
@@ -69,7 +69,10 @@ final class FlasherPlugin extends Plugin
return '/vendor/flasher/flasher.min.js';
}
public function getScripts(): string|array
/**
* @return string[]
*/
public function getScripts(): array
{
return [];
}
@@ -267,11 +270,7 @@ final class FlasherPlugin extends Plugin
return $config;
}
foreach ($config['flash_bag'] as $key => $value) {
$config['flash_bag'][$key] = array_values(array_unique(array_merge($mapping[$key] ?? [], (array) $value)));
}
$config['flash_bag'] += $mapping;
$config['flash_bag'] += array_merge($mapping, $config['flash_bag']);
return $config;
}
+2 -2
View File
@@ -7,7 +7,7 @@ import { AbstractPlugin } from './plugin'
export default class FlasherPlugin extends AbstractPlugin {
private theme: Theme
private options = {
timeout: 5000,
timeout: null,
timeouts: {
success: 5000,
info: 5000,
@@ -31,7 +31,7 @@ export default class FlasherPlugin extends AbstractPlugin {
const render = () =>
envelopes.forEach((envelope) => {
// @ts-expect-error
const typeTimeout = this.options.timeouts[envelope.type] ?? this.options.timeout
const typeTimeout = this.options.timeout ?? this.options.timeouts[envelope.type] ?? 5000;
const options = {
...this.options,
...envelope.options,
+4 -4
View File
@@ -80,7 +80,7 @@ class FlasherPlugin extends AbstractPlugin {
constructor(theme) {
super();
this.options = {
timeout: 5000,
timeout: null,
timeouts: {
success: 5000,
info: 5000,
@@ -97,9 +97,9 @@ class FlasherPlugin extends AbstractPlugin {
}
renderEnvelopes(envelopes) {
const render = () => envelopes.forEach((envelope) => {
var _a, _b;
const typeTimeout = (_a = this.options.timeouts[envelope.type]) !== null && _a !== void 0 ? _a : this.options.timeout;
const options = Object.assign(Object.assign(Object.assign({}, this.options), envelope.options), { timeout: (_b = envelope.options.timeout) !== null && _b !== void 0 ? _b : typeTimeout });
var _a, _b, _c;
const typeTimeout = (_b = (_a = this.options.timeout) !== null && _a !== void 0 ? _a : this.options.timeouts[envelope.type]) !== null && _b !== void 0 ? _b : 5000;
const options = Object.assign(Object.assign(Object.assign({}, this.options), envelope.options), { timeout: (_c = envelope.options.timeout) !== null && _c !== void 0 ? _c : typeTimeout });
this.addToContainer(this.createContainer(options), envelope, options);
});
document.readyState === 'loading' ? document.addEventListener('DOMContentLoaded', render) : render();
+4 -4
View File
@@ -86,7 +86,7 @@
constructor(theme) {
super();
this.options = {
timeout: 5000,
timeout: null,
timeouts: {
success: 5000,
info: 5000,
@@ -103,9 +103,9 @@
}
renderEnvelopes(envelopes) {
const render = () => envelopes.forEach((envelope) => {
var _a, _b;
const typeTimeout = (_a = this.options.timeouts[envelope.type]) !== null && _a !== void 0 ? _a : this.options.timeout;
const options = Object.assign(Object.assign(Object.assign({}, this.options), envelope.options), { timeout: (_b = envelope.options.timeout) !== null && _b !== void 0 ? _b : typeTimeout });
var _a, _b, _c;
const typeTimeout = (_b = (_a = this.options.timeout) !== null && _a !== void 0 ? _a : this.options.timeouts[envelope.type]) !== null && _b !== void 0 ? _b : 5000;
const options = Object.assign(Object.assign(Object.assign({}, this.options), envelope.options), { timeout: (_c = envelope.options.timeout) !== null && _c !== void 0 ? _c : typeTimeout });
this.addToContainer(this.createContainer(options), envelope, options);
});
document.readyState === 'loading' ? document.addEventListener('DOMContentLoaded', render) : render();
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -62,7 +62,11 @@ final class OrderByCriteria implements CriteriaInterface
throw new \InvalidArgumentException(sprintf('Invalid Field value, must be "string", got "%s".', get_debug_type($field)));
}
$direction = strtoupper((string) $direction);
if (!\is_string($direction)) {
throw new \InvalidArgumentException(sprintf('Invalid Direction value, must be "string", got "%s".', get_debug_type($direction)));
}
$direction = strtoupper($direction);
if (!\in_array($direction, [self::ASC, self::DESC], true)) {
throw new \InvalidArgumentException(sprintf('Invalid ordering direction: must be "ASC" or "DESC", got "%s".', $direction));
+1 -1
View File
@@ -51,7 +51,7 @@ final class Notification extends Constraint
}
/**
* @param NotificationEvents $other
* @param NotificationEvents|mixed $other
*/
protected function matches(mixed $other): bool
{
@@ -21,7 +21,7 @@ final class NotificationCount extends Constraint
/**
* Evaluates if the given NotificationEvents object matches the expected notification count.
*
* @param NotificationEvents $other an instance of NotificationEvents to evaluate
* @param NotificationEvents|mixed $other an instance of NotificationEvents to evaluate
*
* @return bool returns true if the actual notification count matches the expected count
*/
@@ -30,7 +30,7 @@ final class NotificationType extends Constraint
* Evaluates the constraint for the parameter $other.
* If $other is not an instance of NotificationEvents, the method will return false.
*
* @param NotificationEvents $other value or object to evaluate
* @param NotificationEvents|mixed $other value or object to evaluate
*
* @return bool true if the constraint is met, false otherwise
*/
@@ -7,7 +7,6 @@ namespace Flasher\SweetAlert\Laravel;
use Flasher\Laravel\Support\PluginServiceProvider;
use Flasher\Prime\EventDispatcher\EventDispatcherInterface;
use Flasher\SweetAlert\Prime\SweetAlertPlugin;
use Livewire\LivewireManager;
final class FlasherSweetAlertServiceProvider extends PluginServiceProvider
{
@@ -27,11 +26,6 @@ final class FlasherSweetAlertServiceProvider extends PluginServiceProvider
return;
}
$livewire = $this->app->make('livewire');
if (!$livewire instanceof LivewireManager) {
return;
}
$this->app->extend('flasher.event_dispatcher', static function (EventDispatcherInterface $dispatcher) {
$dispatcher->addListener(new LivewireListener());
+1 -1
View File
@@ -67,7 +67,7 @@ JAVASCRIPT;
$event->setResponse($response);
}
public function getSubscribedEvents(): string|array
public function getSubscribedEvents(): string
{
return ResponseEvent::class;
}
+2 -2
View File
@@ -30,8 +30,8 @@
"prefer-stable": true,
"require": {
"php": ">=8.2",
"php-flasher/flasher-laravel": "^2.0",
"php-flasher/flasher-sweetalert": "^2.0"
"php-flasher/flasher-laravel": "^2.0.1",
"php-flasher/flasher-sweetalert": "^2.0.1"
},
"autoload": {
"psr-4": {
+8 -2
View File
@@ -23,7 +23,10 @@ final class SweetAlertPlugin extends Plugin
return SweetAlertInterface::class;
}
public function getScripts(): string|array
/**
* @return string[]
*/
public function getScripts(): array
{
return [
'/vendor/flasher/sweetalert2.min.js',
@@ -31,7 +34,10 @@ final class SweetAlertPlugin extends Plugin
];
}
public function getStyles(): string|array
/**
* @return string[]
*/
public function getStyles(): array
{
return [
'/vendor/flasher/sweetalert2.min.css',
+1 -1
View File
@@ -33,7 +33,7 @@
"prefer-stable": true,
"require": {
"php": ">=8.2",
"php-flasher/flasher": "^2.0"
"php-flasher/flasher": "^2.0.1"
},
"autoload": {
"psr-4": {
+2 -2
View File
@@ -30,8 +30,8 @@
"prefer-stable": true,
"require": {
"php": ">=8.2",
"php-flasher/flasher-sweetalert": "^2.0",
"php-flasher/flasher-symfony": "^2.0"
"php-flasher/flasher-sweetalert": "^2.0.1",
"php-flasher/flasher-symfony": "^2.0.1"
},
"autoload": {
"psr-4": {
+4 -1
View File
@@ -52,7 +52,10 @@ final readonly class Request implements RequestInterface
return $session->getFlashBag()->has($type);
}
public function getType(string $type): string|array
/**
* @return string[]
*/
public function getType(string $type): array
{
$session = $this->getSession();
if (!$session instanceof FlashBagAwareSessionInterface) {
+1 -1
View File
@@ -39,7 +39,7 @@ final readonly class Response implements ResponseInterface
{
$contentDisposition = $this->response->headers->get('Content-Disposition', '');
if (!\is_string($contentDisposition)) {
if (!$contentDisposition) {
return false;
}
+1 -1
View File
@@ -33,7 +33,7 @@ final readonly class Translator implements TranslatorInterface
public function getLocale(): string
{
if (method_exists($this->translator, 'getLocale')) {
if (method_exists($this->translator, 'getLocale')) { // @phpstan-ignore-line
return $this->translator->getLocale();
}
+1 -1
View File
@@ -28,7 +28,7 @@
"prefer-stable": true,
"require": {
"php": ">=8.2",
"php-flasher/flasher": "^2.0",
"php-flasher/flasher": "^2.0.1",
"symfony/config": "^7.0",
"symfony/console": "^7.0",
"symfony/dependency-injection": "^7.0",
+2 -2
View File
@@ -29,8 +29,8 @@
"prefer-stable": true,
"require": {
"php": ">=8.2",
"php-flasher/flasher-laravel": "^2.0",
"php-flasher/flasher-toastr": "^2.0"
"php-flasher/flasher-laravel": "^2.0.1",
"php-flasher/flasher-toastr": "^2.0.1"
},
"autoload": {
"psr-4": {
+8 -2
View File
@@ -23,7 +23,10 @@ final class ToastrPlugin extends Plugin
return ToastrInterface::class;
}
public function getScripts(): string|array
/**
* @return string[]
*/
public function getScripts(): array
{
return [
'/vendor/flasher/jquery.min.js',
@@ -32,7 +35,10 @@ final class ToastrPlugin extends Plugin
];
}
public function getStyles(): string|array
/**
* @return string[]
*/
public function getStyles(): array
{
return [
'/vendor/flasher/toastr.min.css',
+1 -1
View File
@@ -33,7 +33,7 @@
"prefer-stable": true,
"require": {
"php": ">=8.2",
"php-flasher/flasher": "^2.0"
"php-flasher/flasher": "^2.0.1"
},
"autoload": {
"psr-4": {
+2 -2
View File
@@ -29,8 +29,8 @@
"prefer-stable": true,
"require": {
"php": ">=8.2",
"php-flasher/flasher-symfony": "^2.0",
"php-flasher/flasher-toastr": "^2.0"
"php-flasher/flasher-symfony": "^2.0.1",
"php-flasher/flasher-toastr": "^2.0.1"
},
"autoload": {
"psr-4": {
@@ -29,7 +29,6 @@ final class BladeTemplateEngineTest extends TestCase
$result = $bladeTemplateEngine->render($name, $context);
$this->assertIsString($result);
$this->assertSame('rendered data', $result);
}
}
-2
View File
@@ -21,7 +21,6 @@ final class IdStampTest extends TestCase
{
// Test with null ID
$ifStamp = new IdStamp();
$this->assertIsString($ifStamp->getId());
// Test with known ID
$knownId = 'KnownID123';
@@ -37,7 +36,6 @@ final class IdStampTest extends TestCase
{
$ifStamp = new IdStamp();
$arrayRepresentation = $ifStamp->toArray();
$this->assertIsArray($arrayRepresentation);
$this->assertArrayHasKey('id', $arrayRepresentation);
$this->assertSame($arrayRepresentation['id'], $ifStamp->getId());
}
-1
View File
@@ -34,7 +34,6 @@ final class PluginStampTest extends TestCase
$result = $pluginStamp->toArray();
$this->assertIsArray($result);
$this->assertCount(1, $result);
$this->assertArrayHasKey('plugin', $result);
$this->assertSame($plugin, $result['plugin']);
-1
View File
@@ -17,7 +17,6 @@ final class MessagesTest extends TestCase
public function testGet(string $language, bool $empty): void
{
$actual = Messages::get($language);
$this->assertIsArray($actual);
$this->assertSame($empty, empty($actual));
}
-2
View File
@@ -48,7 +48,6 @@ final class SessionBagTest extends TestCase
$result = $this->sessionBag->get();
$this->assertIsArray($result);
$this->assertInstanceOf(Envelope::class, $result[0]);
}
@@ -78,7 +77,6 @@ final class SessionBagTest extends TestCase
$result = $this->sessionBag->get();
$this->assertIsArray($result);
$this->assertInstanceOf(Envelope::class, $result[0]);
}
}
@@ -38,7 +38,6 @@ final class FlasherTwigExtensionTest extends MockeryTestCase
{
$functions = $this->extension->getFunctions();
$this->assertIsArray($functions);
$this->assertCount(1, $functions);
$this->assertInstanceOf(TwigFunction::class, $functions[0]);
$this->assertSame('flasher_render', $functions[0]->getName());