dep: package update

This commit is contained in:
2021-11-08 16:10:01 +09:00
parent 38208750e7
commit 2c533d2ab3
783 changed files with 4581 additions and 20980 deletions
+2 -3
View File
@@ -8,7 +8,7 @@
], ],
"config": { "config": {
"platform": { "platform": {
"php": "7.4" "php": "8.0"
} }
}, },
"require": { "require": {
@@ -16,7 +16,6 @@
"sergeytsalkov/meekrodb": "^2.3", "sergeytsalkov/meekrodb": "^2.3",
"league/plates": "^3.3", "league/plates": "^3.3",
"guzzlehttp/guzzle": "^6.3", "guzzlehttp/guzzle": "^6.3",
"scssphp/scssphp": "^1.0",
"monolog/monolog": "^1.23", "monolog/monolog": "^1.23",
"firephp/firephp-core": "^0.4.0", "firephp/firephp-core": "^0.4.0",
"vlucas/valitron": "^1.4", "vlucas/valitron": "^1.4",
@@ -51,5 +50,5 @@
"f_config/config.php" "f_config/config.php"
] ]
} }
} }
Generated
+214 -221
View File
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "317938cff7b30806f4e385a70f4943fc", "content-hash": "94cfbcb22b9f475e421ad5009391006f",
"packages": [ "packages": [
{ {
"name": "brandonwamboldt/utilphp", "name": "brandonwamboldt/utilphp",
@@ -122,16 +122,16 @@
}, },
{ {
"name": "composer/semver", "name": "composer/semver",
"version": "3.2.5", "version": "3.2.6",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/composer/semver.git", "url": "https://github.com/composer/semver.git",
"reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9" "reference": "83e511e247de329283478496f7a1e114c9517506"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/composer/semver/zipball/31f3ea725711245195f62e54ffa402d8ef2fdba9", "url": "https://api.github.com/repos/composer/semver/zipball/83e511e247de329283478496f7a1e114c9517506",
"reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9", "reference": "83e511e247de329283478496f7a1e114c9517506",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -183,7 +183,7 @@
"support": { "support": {
"irc": "irc://irc.freenode.org/composer", "irc": "irc://irc.freenode.org/composer",
"issues": "https://github.com/composer/semver/issues", "issues": "https://github.com/composer/semver/issues",
"source": "https://github.com/composer/semver/tree/3.2.5" "source": "https://github.com/composer/semver/tree/3.2.6"
}, },
"funding": [ "funding": [
{ {
@@ -199,7 +199,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-05-24T12:41:47+00:00" "time": "2021-10-25T11:34:17+00:00"
}, },
{ {
"name": "composer/xdebug-handler", "name": "composer/xdebug-handler",
@@ -267,34 +267,30 @@
}, },
{ {
"name": "doctrine/inflector", "name": "doctrine/inflector",
"version": "2.0.3", "version": "2.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/inflector.git", "url": "https://github.com/doctrine/inflector.git",
"reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210" "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210", "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89",
"reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210", "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.2 || ^8.0" "php": "^7.2 || ^8.0"
}, },
"require-dev": { "require-dev": {
"doctrine/coding-standard": "^7.0", "doctrine/coding-standard": "^8.2",
"phpstan/phpstan": "^0.11", "phpstan/phpstan": "^0.12",
"phpstan/phpstan-phpunit": "^0.11", "phpstan/phpstan-phpunit": "^0.12",
"phpstan/phpstan-strict-rules": "^0.11", "phpstan/phpstan-strict-rules": "^0.12",
"phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0",
"vimeo/psalm": "^4.10"
}, },
"type": "library", "type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0.x-dev"
}
},
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Doctrine\\Inflector\\": "lib/Doctrine/Inflector" "Doctrine\\Inflector\\": "lib/Doctrine/Inflector"
@@ -342,7 +338,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/doctrine/inflector/issues", "issues": "https://github.com/doctrine/inflector/issues",
"source": "https://github.com/doctrine/inflector/tree/2.0.x" "source": "https://github.com/doctrine/inflector/tree/2.0.4"
}, },
"funding": [ "funding": [
{ {
@@ -358,7 +354,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2020-05-29T15:13:26+00:00" "time": "2021-10-22T20:16:43+00:00"
}, },
{ {
"name": "erusev/parsedown", "name": "erusev/parsedown",
@@ -674,16 +670,16 @@
}, },
{ {
"name": "guzzlehttp/promises", "name": "guzzlehttp/promises",
"version": "1.4.1", "version": "1.5.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/guzzle/promises.git", "url": "https://github.com/guzzle/promises.git",
"reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d" "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/guzzle/promises/zipball/8e7d04f1f6450fef59366c399cfad4b9383aa30d", "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
"reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d", "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -695,7 +691,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.4-dev" "dev-master": "1.5-dev"
} }
}, },
"autoload": { "autoload": {
@@ -711,10 +707,25 @@
"MIT" "MIT"
], ],
"authors": [ "authors": [
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https://github.com/GrahamCampbell"
},
{ {
"name": "Michael Dowling", "name": "Michael Dowling",
"email": "mtdowling@gmail.com", "email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling" "homepage": "https://github.com/mtdowling"
},
{
"name": "Tobias Nyholm",
"email": "tobias.nyholm@gmail.com",
"homepage": "https://github.com/Nyholm"
},
{
"name": "Tobias Schultze",
"email": "webmaster@tubo-world.de",
"homepage": "https://github.com/Tobion"
} }
], ],
"description": "Guzzle promises library", "description": "Guzzle promises library",
@@ -723,22 +734,36 @@
], ],
"support": { "support": {
"issues": "https://github.com/guzzle/promises/issues", "issues": "https://github.com/guzzle/promises/issues",
"source": "https://github.com/guzzle/promises/tree/1.4.1" "source": "https://github.com/guzzle/promises/tree/1.5.1"
}, },
"time": "2021-03-07T09:25:29+00:00" "funding": [
{
"url": "https://github.com/GrahamCampbell",
"type": "github"
},
{
"url": "https://github.com/Nyholm",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
"type": "tidelift"
}
],
"time": "2021-10-22T20:56:57+00:00"
}, },
{ {
"name": "guzzlehttp/psr7", "name": "guzzlehttp/psr7",
"version": "1.8.2", "version": "1.8.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/guzzle/psr7.git", "url": "https://github.com/guzzle/psr7.git",
"reference": "dc960a912984efb74d0a90222870c72c87f10c91" "reference": "1afdd860a2566ed3c2b0b4a3de6e23434a79ec85"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/dc960a912984efb74d0a90222870c72c87f10c91", "url": "https://api.github.com/repos/guzzle/psr7/zipball/1afdd860a2566ed3c2b0b4a3de6e23434a79ec85",
"reference": "dc960a912984efb74d0a90222870c72c87f10c91", "reference": "1afdd860a2566ed3c2b0b4a3de6e23434a79ec85",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -775,13 +800,34 @@
"MIT" "MIT"
], ],
"authors": [ "authors": [
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https://github.com/GrahamCampbell"
},
{ {
"name": "Michael Dowling", "name": "Michael Dowling",
"email": "mtdowling@gmail.com", "email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling" "homepage": "https://github.com/mtdowling"
}, },
{
"name": "George Mponos",
"email": "gmponos@gmail.com",
"homepage": "https://github.com/gmponos"
},
{
"name": "Tobias Nyholm",
"email": "tobias.nyholm@gmail.com",
"homepage": "https://github.com/Nyholm"
},
{
"name": "Márk Sági-Kazár",
"email": "mark.sagikazar@gmail.com",
"homepage": "https://github.com/sagikazarmark"
},
{ {
"name": "Tobias Schultze", "name": "Tobias Schultze",
"email": "webmaster@tubo-world.de",
"homepage": "https://github.com/Tobion" "homepage": "https://github.com/Tobion"
} }
], ],
@@ -798,22 +844,36 @@
], ],
"support": { "support": {
"issues": "https://github.com/guzzle/psr7/issues", "issues": "https://github.com/guzzle/psr7/issues",
"source": "https://github.com/guzzle/psr7/tree/1.8.2" "source": "https://github.com/guzzle/psr7/tree/1.8.3"
}, },
"time": "2021-04-26T09:17:50+00:00" "funding": [
{
"url": "https://github.com/GrahamCampbell",
"type": "github"
},
{
"url": "https://github.com/Nyholm",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7",
"type": "tidelift"
}
],
"time": "2021-10-05T13:56:00+00:00"
}, },
{ {
"name": "illuminate/bus", "name": "illuminate/bus",
"version": "v8.61.0", "version": "v8.69.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/bus.git", "url": "https://github.com/illuminate/bus.git",
"reference": "808097c0dfd893309bd77b00139586c516b965c9" "reference": "be400399687b97d5558a224e970060fd5d5f2735"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/bus/zipball/808097c0dfd893309bd77b00139586c516b965c9", "url": "https://api.github.com/repos/illuminate/bus/zipball/be400399687b97d5558a224e970060fd5d5f2735",
"reference": "808097c0dfd893309bd77b00139586c516b965c9", "reference": "be400399687b97d5558a224e970060fd5d5f2735",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -853,20 +913,20 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2021-08-10T16:49:48+00:00" "time": "2021-10-21T19:19:36+00:00"
}, },
{ {
"name": "illuminate/collections", "name": "illuminate/collections",
"version": "v8.61.0", "version": "v8.69.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/collections.git", "url": "https://github.com/illuminate/collections.git",
"reference": "18fa841df912ec56849351dd6ca8928e8a98b69d" "reference": "05f286ec5fd2dd286e8384577047efc375c8954c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/collections/zipball/18fa841df912ec56849351dd6ca8928e8a98b69d", "url": "https://api.github.com/repos/illuminate/collections/zipball/05f286ec5fd2dd286e8384577047efc375c8954c",
"reference": "18fa841df912ec56849351dd6ca8928e8a98b69d", "reference": "05f286ec5fd2dd286e8384577047efc375c8954c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -907,20 +967,20 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2021-09-08T12:48:16+00:00" "time": "2021-10-22T18:01:46+00:00"
}, },
{ {
"name": "illuminate/container", "name": "illuminate/container",
"version": "v8.61.0", "version": "v8.69.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/container.git", "url": "https://github.com/illuminate/container.git",
"reference": "862b64ea4ab56e307a1676104a1b93295d347ad0" "reference": "ef73feb5216ef97ab7023cf59c0c8dbbd5505a9d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/container/zipball/862b64ea4ab56e307a1676104a1b93295d347ad0", "url": "https://api.github.com/repos/illuminate/container/zipball/ef73feb5216ef97ab7023cf59c0c8dbbd5505a9d",
"reference": "862b64ea4ab56e307a1676104a1b93295d347ad0", "reference": "ef73feb5216ef97ab7023cf59c0c8dbbd5505a9d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -958,20 +1018,20 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2021-09-09T13:55:23+00:00" "time": "2021-09-15T14:32:50+00:00"
}, },
{ {
"name": "illuminate/contracts", "name": "illuminate/contracts",
"version": "v8.61.0", "version": "v8.69.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/contracts.git", "url": "https://github.com/illuminate/contracts.git",
"reference": "ab4bb4ec3b36905ccf972c84f9aaa2bdd1153913" "reference": "e76f4bce73a2a1656add24bd5210ebc4b8af49c0"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/contracts/zipball/ab4bb4ec3b36905ccf972c84f9aaa2bdd1153913", "url": "https://api.github.com/repos/illuminate/contracts/zipball/e76f4bce73a2a1656add24bd5210ebc4b8af49c0",
"reference": "ab4bb4ec3b36905ccf972c84f9aaa2bdd1153913", "reference": "e76f4bce73a2a1656add24bd5210ebc4b8af49c0",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1006,20 +1066,20 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2021-09-08T12:09:40+00:00" "time": "2021-10-22T18:01:46+00:00"
}, },
{ {
"name": "illuminate/database", "name": "illuminate/database",
"version": "v8.61.0", "version": "v8.69.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/database.git", "url": "https://github.com/illuminate/database.git",
"reference": "acc11d6839ddb3b694bc6585177fa5141b70c693" "reference": "43c7ffb6299ae55b000b286cf1278afd268ef29f"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/database/zipball/acc11d6839ddb3b694bc6585177fa5141b70c693", "url": "https://api.github.com/repos/illuminate/database/zipball/43c7ffb6299ae55b000b286cf1278afd268ef29f",
"reference": "acc11d6839ddb3b694bc6585177fa5141b70c693", "reference": "43c7ffb6299ae55b000b286cf1278afd268ef29f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1033,7 +1093,7 @@
"symfony/console": "^5.1.4" "symfony/console": "^5.1.4"
}, },
"suggest": { "suggest": {
"doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6|^3.0).", "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.13.3|^3.1.2).",
"fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).",
"illuminate/console": "Required to use the database commands (^8.0).", "illuminate/console": "Required to use the database commands (^8.0).",
"illuminate/events": "Required to use the observers with Eloquent (^8.0).", "illuminate/events": "Required to use the observers with Eloquent (^8.0).",
@@ -1074,20 +1134,20 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2021-09-13T18:43:43+00:00" "time": "2021-10-29T19:46:53+00:00"
}, },
{ {
"name": "illuminate/events", "name": "illuminate/events",
"version": "v8.61.0", "version": "v8.69.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/events.git", "url": "https://github.com/illuminate/events.git",
"reference": "7def78033f29cd0c0383513b27c291d233a7f90e" "reference": "b7f06cafb6c09581617f2ca05d69e9b159e5a35d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/events/zipball/7def78033f29cd0c0383513b27c291d233a7f90e", "url": "https://api.github.com/repos/illuminate/events/zipball/b7f06cafb6c09581617f2ca05d69e9b159e5a35d",
"reference": "7def78033f29cd0c0383513b27c291d233a7f90e", "reference": "b7f06cafb6c09581617f2ca05d69e9b159e5a35d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1129,11 +1189,11 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2021-08-16T21:45:47+00:00" "time": "2021-09-15T14:32:50+00:00"
}, },
{ {
"name": "illuminate/macroable", "name": "illuminate/macroable",
"version": "v8.61.0", "version": "v8.69.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/macroable.git", "url": "https://github.com/illuminate/macroable.git",
@@ -1179,7 +1239,7 @@
}, },
{ {
"name": "illuminate/pipeline", "name": "illuminate/pipeline",
"version": "v8.61.0", "version": "v8.69.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/pipeline.git", "url": "https://github.com/illuminate/pipeline.git",
@@ -1227,16 +1287,16 @@
}, },
{ {
"name": "illuminate/support", "name": "illuminate/support",
"version": "v8.61.0", "version": "v8.69.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/support.git", "url": "https://github.com/illuminate/support.git",
"reference": "b0a21c41163381dd9a5abbd68fe85ed7b4247d30" "reference": "a8851b7001530d3c11626a81449ed9b63dd10db7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/support/zipball/b0a21c41163381dd9a5abbd68fe85ed7b4247d30", "url": "https://api.github.com/repos/illuminate/support/zipball/a8851b7001530d3c11626a81449ed9b63dd10db7",
"reference": "b0a21c41163381dd9a5abbd68fe85ed7b4247d30", "reference": "a8851b7001530d3c11626a81449ed9b63dd10db7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1246,7 +1306,7 @@
"illuminate/collections": "^8.0", "illuminate/collections": "^8.0",
"illuminate/contracts": "^8.0", "illuminate/contracts": "^8.0",
"illuminate/macroable": "^8.0", "illuminate/macroable": "^8.0",
"nesbot/carbon": "^2.31", "nesbot/carbon": "^2.53.1",
"php": "^7.3|^8.0", "php": "^7.3|^8.0",
"voku/portable-ascii": "^1.4.8" "voku/portable-ascii": "^1.4.8"
}, },
@@ -1255,8 +1315,8 @@
}, },
"suggest": { "suggest": {
"illuminate/filesystem": "Required to use the composer class (^8.0).", "illuminate/filesystem": "Required to use the composer class (^8.0).",
"league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^1.3|^2.0).", "league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^1.3|^2.0.2).",
"ramsey/uuid": "Required to use Str::uuid() (^4.0).", "ramsey/uuid": "Required to use Str::uuid() (^4.2.2).",
"symfony/process": "Required to use the composer class (^5.1.4).", "symfony/process": "Required to use the composer class (^5.1.4).",
"symfony/var-dumper": "Required to use the dd function (^5.1.4).", "symfony/var-dumper": "Required to use the dd function (^5.1.4).",
"vlucas/phpdotenv": "Required to use the Env class and env helper (^5.2)." "vlucas/phpdotenv": "Required to use the Env class and env helper (^5.2)."
@@ -1291,7 +1351,7 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2021-09-13T18:43:43+00:00" "time": "2021-10-29T13:34:03+00:00"
}, },
{ {
"name": "league/plates", "name": "league/plates",
@@ -1490,16 +1550,16 @@
}, },
{ {
"name": "nesbot/carbon", "name": "nesbot/carbon",
"version": "2.53.1", "version": "2.54.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/briannesbitt/Carbon.git", "url": "https://github.com/briannesbitt/Carbon.git",
"reference": "f4655858a784988f880c1b8c7feabbf02dfdf045" "reference": "eed83939f1aed3eee517d03a33f5ec587ac529b5"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/f4655858a784988f880c1b8c7feabbf02dfdf045", "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/eed83939f1aed3eee517d03a33f5ec587ac529b5",
"reference": "f4655858a784988f880c1b8c7feabbf02dfdf045", "reference": "eed83939f1aed3eee517d03a33f5ec587ac529b5",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1510,6 +1570,7 @@
"symfony/translation": "^3.4 || ^4.0 || ^5.0" "symfony/translation": "^3.4 || ^4.0 || ^5.0"
}, },
"require-dev": { "require-dev": {
"doctrine/dbal": "^2.0 || ^3.0",
"doctrine/orm": "^2.7", "doctrine/orm": "^2.7",
"friendsofphp/php-cs-fixer": "^3.0", "friendsofphp/php-cs-fixer": "^3.0",
"kylekatarnls/multi-tester": "^2.0", "kylekatarnls/multi-tester": "^2.0",
@@ -1580,7 +1641,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-09-06T09:29:23+00:00" "time": "2021-11-01T21:22:20+00:00"
}, },
{ {
"name": "netresearch/jsonmapper", "name": "netresearch/jsonmapper",
@@ -1773,20 +1834,20 @@
}, },
{ {
"name": "nette/utils", "name": "nette/utils",
"version": "v3.2.2", "version": "v3.2.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/nette/utils.git", "url": "https://github.com/nette/utils.git",
"reference": "967cfc4f9a1acd5f1058d76715a424c53343c20c" "reference": "9cd80396ca58d7969ab44fc7afcf03624dfa526e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/nette/utils/zipball/967cfc4f9a1acd5f1058d76715a424c53343c20c", "url": "https://api.github.com/repos/nette/utils/zipball/9cd80396ca58d7969ab44fc7afcf03624dfa526e",
"reference": "967cfc4f9a1acd5f1058d76715a424c53343c20c", "reference": "9cd80396ca58d7969ab44fc7afcf03624dfa526e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=7.2 <8.1" "php": ">=7.2 <8.2"
}, },
"conflict": { "conflict": {
"nette/di": "<3.0.6" "nette/di": "<3.0.6"
@@ -1852,9 +1913,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/nette/utils/issues", "issues": "https://github.com/nette/utils/issues",
"source": "https://github.com/nette/utils/tree/v3.2.2" "source": "https://github.com/nette/utils/tree/v3.2.5"
}, },
"time": "2021-03-03T22:53:25+00:00" "time": "2021-09-20T10:50:11+00:00"
}, },
{ {
"name": "pguardiario/phpuri", "name": "pguardiario/phpuri",
@@ -2110,16 +2171,16 @@
}, },
{ {
"name": "phpdocumentor/reflection-docblock", "name": "phpdocumentor/reflection-docblock",
"version": "5.2.2", "version": "5.3.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
"reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" "reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
"reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", "reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -2130,7 +2191,8 @@
"webmozart/assert": "^1.9.1" "webmozart/assert": "^1.9.1"
}, },
"require-dev": { "require-dev": {
"mockery/mockery": "~1.3.2" "mockery/mockery": "~1.3.2",
"psalm/phar": "^4.8"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@@ -2160,22 +2222,22 @@
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"support": { "support": {
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master" "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0"
}, },
"time": "2020-09-03T19:13:55+00:00" "time": "2021-10-19T17:43:47+00:00"
}, },
{ {
"name": "phpdocumentor/type-resolver", "name": "phpdocumentor/type-resolver",
"version": "1.4.0", "version": "1.5.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git", "url": "https://github.com/phpDocumentor/TypeResolver.git",
"reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/a12f7e301eb7258bb68acd89d4aefa05c2906cae",
"reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -2183,7 +2245,8 @@
"phpdocumentor/reflection-common": "^2.0" "phpdocumentor/reflection-common": "^2.0"
}, },
"require-dev": { "require-dev": {
"ext-tokenizer": "*" "ext-tokenizer": "*",
"psalm/phar": "^4.8"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@@ -2209,26 +2272,26 @@
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": { "support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues", "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0" "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.1"
}, },
"time": "2020-09-17T18:55:26+00:00" "time": "2021-10-02T14:08:47+00:00"
}, },
{ {
"name": "psr/container", "name": "psr/container",
"version": "1.1.1", "version": "1.1.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/php-fig/container.git", "url": "https://github.com/php-fig/container.git",
"reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
"reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=7.2.0" "php": ">=7.4.0"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@@ -2257,9 +2320,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/php-fig/container/issues", "issues": "https://github.com/php-fig/container/issues",
"source": "https://github.com/php-fig/container/tree/1.1.1" "source": "https://github.com/php-fig/container/tree/1.1.2"
}, },
"time": "2021-03-05T17:36:06+00:00" "time": "2021-11-05T16:50:12+00:00"
}, },
{ {
"name": "psr/http-message", "name": "psr/http-message",
@@ -2461,23 +2524,23 @@
}, },
{ {
"name": "sabre/event", "name": "sabre/event",
"version": "5.1.2", "version": "5.1.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sabre-io/event.git", "url": "https://github.com/sabre-io/event.git",
"reference": "c120bec57c17b6251a496efc82b732418b49d50a" "reference": "d7da22897125d34d7eddf7977758191c06a74497"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sabre-io/event/zipball/c120bec57c17b6251a496efc82b732418b49d50a", "url": "https://api.github.com/repos/sabre-io/event/zipball/d7da22897125d34d7eddf7977758191c06a74497",
"reference": "c120bec57c17b6251a496efc82b732418b49d50a", "reference": "d7da22897125d34d7eddf7977758191c06a74497",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1 || ^8.0" "php": "^7.1 || ^8.0"
}, },
"require-dev": { "require-dev": {
"friendsofphp/php-cs-fixer": "~2.16.1", "friendsofphp/php-cs-fixer": "~2.17.1",
"phpstan/phpstan": "^0.12", "phpstan/phpstan": "^0.12",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.0" "phpunit/phpunit": "^7.5 || ^8.5 || ^9.0"
}, },
@@ -2523,80 +2586,7 @@
"issues": "https://github.com/sabre-io/event/issues", "issues": "https://github.com/sabre-io/event/issues",
"source": "https://github.com/fruux/sabre-event" "source": "https://github.com/fruux/sabre-event"
}, },
"time": "2020-10-03T11:02:22+00:00" "time": "2021-11-04T06:51:17+00:00"
},
{
"name": "scssphp/scssphp",
"version": "v1.6.0",
"source": {
"type": "git",
"url": "https://github.com/scssphp/scssphp.git",
"reference": "b83594e2323c5d6e80785df3f91b9d1d32aad530"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/scssphp/scssphp/zipball/b83594e2323c5d6e80785df3f91b9d1d32aad530",
"reference": "b83594e2323c5d6e80785df3f91b9d1d32aad530",
"shasum": ""
},
"require": {
"ext-ctype": "*",
"ext-json": "*",
"php": ">=5.6.0"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.4",
"phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.3 || ^9.4",
"sass/sass-spec": "*",
"squizlabs/php_codesniffer": "~3.5",
"symfony/phpunit-bridge": "^5.1",
"twbs/bootstrap": "~5.0",
"twbs/bootstrap4": "4.6.0",
"zurb/foundation": "~6.5"
},
"suggest": {
"ext-iconv": "Can be used as fallback when ext-mbstring is not available",
"ext-mbstring": "For best performance, mbstring should be installed as it is faster than ext-iconv"
},
"bin": [
"bin/pscss"
],
"type": "library",
"autoload": {
"psr-4": {
"ScssPhp\\ScssPhp\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Anthon Pang",
"email": "apang@softwaredevelopment.ca",
"homepage": "https://github.com/robocoder"
},
{
"name": "Cédric Morin",
"email": "cedric@yterium.com",
"homepage": "https://github.com/Cerdic"
}
],
"description": "scssphp is a compiler for SCSS written in PHP.",
"homepage": "http://scssphp.github.io/scssphp/",
"keywords": [
"css",
"less",
"sass",
"scss",
"stylesheet"
],
"support": {
"issues": "https://github.com/scssphp/scssphp/issues",
"source": "https://github.com/scssphp/scssphp/tree/v1.6.0"
},
"time": "2021-07-02T16:28:10+00:00"
}, },
{ {
"name": "sergeytsalkov/meekrodb", "name": "sergeytsalkov/meekrodb",
@@ -2648,16 +2638,16 @@
}, },
{ {
"name": "symfony/console", "name": "symfony/console",
"version": "v5.3.6", "version": "v5.3.10",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/console.git", "url": "https://github.com/symfony/console.git",
"reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2" "reference": "d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/51b71afd6d2dc8f5063199357b9880cea8d8bfe2", "url": "https://api.github.com/repos/symfony/console/zipball/d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3",
"reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2", "reference": "d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -2727,7 +2717,7 @@
"terminal" "terminal"
], ],
"support": { "support": {
"source": "https://github.com/symfony/console/tree/v5.3.6" "source": "https://github.com/symfony/console/tree/v5.3.10"
}, },
"funding": [ "funding": [
{ {
@@ -2743,7 +2733,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-07-27T19:10:22+00:00" "time": "2021-10-26T09:30:15+00:00"
}, },
{ {
"name": "symfony/deprecation-contracts", "name": "symfony/deprecation-contracts",
@@ -2814,16 +2804,16 @@
}, },
{ {
"name": "symfony/lock", "name": "symfony/lock",
"version": "v4.4.27", "version": "v4.4.33",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/lock.git", "url": "https://github.com/symfony/lock.git",
"reference": "6ca476d4ac992802f2a4043929f68f1818449486" "reference": "567d29b1bc6e3937652054dafc069151d17824a9"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/lock/zipball/6ca476d4ac992802f2a4043929f68f1818449486", "url": "https://api.github.com/repos/symfony/lock/zipball/567d29b1bc6e3937652054dafc069151d17824a9",
"reference": "6ca476d4ac992802f2a4043929f68f1818449486", "reference": "567d29b1bc6e3937652054dafc069151d17824a9",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -2872,7 +2862,7 @@
"semaphore" "semaphore"
], ],
"support": { "support": {
"source": "https://github.com/symfony/lock/tree/v4.4.27" "source": "https://github.com/symfony/lock/tree/v4.4.33"
}, },
"funding": [ "funding": [
{ {
@@ -2888,7 +2878,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-07-23T15:41:52+00:00" "time": "2021-10-05T20:27:01+00:00"
}, },
{ {
"name": "symfony/polyfill-ctype", "name": "symfony/polyfill-ctype",
@@ -3620,16 +3610,16 @@
}, },
{ {
"name": "symfony/string", "name": "symfony/string",
"version": "v5.3.3", "version": "v5.3.10",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/string.git", "url": "https://github.com/symfony/string.git",
"reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1" "reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1", "url": "https://api.github.com/repos/symfony/string/zipball/d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c",
"reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1", "reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -3683,7 +3673,7 @@
"utf8" "utf8"
], ],
"support": { "support": {
"source": "https://github.com/symfony/string/tree/v5.3.3" "source": "https://github.com/symfony/string/tree/v5.3.10"
}, },
"funding": [ "funding": [
{ {
@@ -3699,20 +3689,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-06-27T11:44:38+00:00" "time": "2021-10-27T18:21:46+00:00"
}, },
{ {
"name": "symfony/translation", "name": "symfony/translation",
"version": "v5.3.7", "version": "v5.3.10",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/translation.git", "url": "https://github.com/symfony/translation.git",
"reference": "4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6" "reference": "6ef197aea2ac8b9cd63e0da7522b3771714035aa"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6", "url": "https://api.github.com/repos/symfony/translation/zipball/6ef197aea2ac8b9cd63e0da7522b3771714035aa",
"reference": "4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6", "reference": "6ef197aea2ac8b9cd63e0da7522b3771714035aa",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -3778,7 +3768,7 @@
"description": "Provides tools to internationalize your application", "description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/translation/tree/v5.3.7" "source": "https://github.com/symfony/translation/tree/v5.3.10"
}, },
"funding": [ "funding": [
{ {
@@ -3794,7 +3784,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-08-26T08:22:53+00:00" "time": "2021-10-10T06:43:24+00:00"
}, },
{ {
"name": "symfony/translation-contracts", "name": "symfony/translation-contracts",
@@ -3876,16 +3866,16 @@
}, },
{ {
"name": "tysonandre/var_representation_polyfill", "name": "tysonandre/var_representation_polyfill",
"version": "0.0.2", "version": "0.1.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/TysonAndre/var_representation_polyfill.git", "url": "https://github.com/TysonAndre/var_representation_polyfill.git",
"reference": "3f17999ee1f257319ddc6721dd26ebbc5d175f33" "reference": "0a942e74e18af5514749895507bc6ca7ab96399a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/TysonAndre/var_representation_polyfill/zipball/3f17999ee1f257319ddc6721dd26ebbc5d175f33", "url": "https://api.github.com/repos/TysonAndre/var_representation_polyfill/zipball/0a942e74e18af5514749895507bc6ca7ab96399a",
"reference": "3f17999ee1f257319ddc6721dd26ebbc5d175f33", "reference": "0a942e74e18af5514749895507bc6ca7ab96399a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -3896,6 +3886,9 @@
"phan/phan": "^4.0", "phan/phan": "^4.0",
"phpunit/phpunit": "^8.5.0" "phpunit/phpunit": "^8.5.0"
}, },
"suggest": {
"ext-var_representation": "*"
},
"type": "library", "type": "library",
"autoload": { "autoload": {
"psr-4": { "psr-4": {
@@ -3914,16 +3907,16 @@
"name": "Tyson Andre" "name": "Tyson Andre"
} }
], ],
"description": "Polyfill for var_representation", "description": "Polyfill for var_representation: convert a variable to a string in a way that fixes the shortcomings of var_export",
"keywords": [ "keywords": [
"var_export", "var_export",
"var_representation" "var_representation"
], ],
"support": { "support": {
"issues": "https://github.com/TysonAndre/var_representation_polyfill/issues", "issues": "https://github.com/TysonAndre/var_representation_polyfill/issues",
"source": "https://github.com/TysonAndre/var_representation_polyfill/tree/0.0.2" "source": "https://github.com/TysonAndre/var_representation_polyfill/tree/0.1.1"
}, },
"time": "2021-06-26T18:55:02+00:00" "time": "2021-08-16T00:12:50+00:00"
}, },
{ {
"name": "vlucas/valitron", "name": "vlucas/valitron",
@@ -4181,7 +4174,7 @@
"platform": [], "platform": [],
"platform-dev": [], "platform-dev": [],
"platform-overrides": { "platform-overrides": {
"php": "7.4" "php": "8.0"
}, },
"plugin-api-version": "2.0.0" "plugin-api-version": "2.0.0"
} }
-1
View File
@@ -1 +0,0 @@
../scssphp/scssphp/bin/pscss
+72 -81
View File
@@ -29,7 +29,7 @@ private static $installed = array (
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'cf3f40b5787b2a1aed9255775143108ef5b1f278', 'reference' => '872755e57f84720a9c4c63d5455441f83c41f6c6',
'name' => 'sammo-hid/sammo', 'name' => 'sammo-hid/sammo',
), ),
'versions' => 'versions' =>
@@ -54,12 +54,12 @@ private static $installed = array (
), ),
'composer/semver' => 'composer/semver' =>
array ( array (
'pretty_version' => '3.2.5', 'pretty_version' => '3.2.6',
'version' => '3.2.5.0', 'version' => '3.2.6.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '31f3ea725711245195f62e54ffa402d8ef2fdba9', 'reference' => '83e511e247de329283478496f7a1e114c9517506',
), ),
'composer/xdebug-handler' => 'composer/xdebug-handler' =>
array ( array (
@@ -72,12 +72,12 @@ private static $installed = array (
), ),
'doctrine/inflector' => 'doctrine/inflector' =>
array ( array (
'pretty_version' => '2.0.3', 'pretty_version' => '2.0.4',
'version' => '2.0.3.0', 'version' => '2.0.4.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '9cf661f4eb38f7c881cac67c75ea9b00bf97b210', 'reference' => '8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89',
), ),
'erusev/parsedown' => 'erusev/parsedown' =>
array ( array (
@@ -135,80 +135,80 @@ private static $installed = array (
), ),
'guzzlehttp/promises' => 'guzzlehttp/promises' =>
array ( array (
'pretty_version' => '1.4.1', 'pretty_version' => '1.5.1',
'version' => '1.4.1.0', 'version' => '1.5.1.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '8e7d04f1f6450fef59366c399cfad4b9383aa30d', 'reference' => 'fe752aedc9fd8fcca3fe7ad05d419d32998a06da',
), ),
'guzzlehttp/psr7' => 'guzzlehttp/psr7' =>
array ( array (
'pretty_version' => '1.8.2', 'pretty_version' => '1.8.3',
'version' => '1.8.2.0', 'version' => '1.8.3.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'dc960a912984efb74d0a90222870c72c87f10c91', 'reference' => '1afdd860a2566ed3c2b0b4a3de6e23434a79ec85',
), ),
'illuminate/bus' => 'illuminate/bus' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '808097c0dfd893309bd77b00139586c516b965c9', 'reference' => 'be400399687b97d5558a224e970060fd5d5f2735',
), ),
'illuminate/collections' => 'illuminate/collections' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '18fa841df912ec56849351dd6ca8928e8a98b69d', 'reference' => '05f286ec5fd2dd286e8384577047efc375c8954c',
), ),
'illuminate/container' => 'illuminate/container' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '862b64ea4ab56e307a1676104a1b93295d347ad0', 'reference' => 'ef73feb5216ef97ab7023cf59c0c8dbbd5505a9d',
), ),
'illuminate/contracts' => 'illuminate/contracts' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'ab4bb4ec3b36905ccf972c84f9aaa2bdd1153913', 'reference' => 'e76f4bce73a2a1656add24bd5210ebc4b8af49c0',
), ),
'illuminate/database' => 'illuminate/database' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'acc11d6839ddb3b694bc6585177fa5141b70c693', 'reference' => '43c7ffb6299ae55b000b286cf1278afd268ef29f',
), ),
'illuminate/events' => 'illuminate/events' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '7def78033f29cd0c0383513b27c291d233a7f90e', 'reference' => 'b7f06cafb6c09581617f2ca05d69e9b159e5a35d',
), ),
'illuminate/macroable' => 'illuminate/macroable' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
@@ -216,8 +216,8 @@ private static $installed = array (
), ),
'illuminate/pipeline' => 'illuminate/pipeline' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
@@ -225,12 +225,12 @@ private static $installed = array (
), ),
'illuminate/support' => 'illuminate/support' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'b0a21c41163381dd9a5abbd68fe85ed7b4247d30', 'reference' => 'a8851b7001530d3c11626a81449ed9b63dd10db7',
), ),
'league/plates' => 'league/plates' =>
array ( array (
@@ -261,12 +261,12 @@ private static $installed = array (
), ),
'nesbot/carbon' => 'nesbot/carbon' =>
array ( array (
'pretty_version' => '2.53.1', 'pretty_version' => '2.54.0',
'version' => '2.53.1.0', 'version' => '2.54.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'f4655858a784988f880c1b8c7feabbf02dfdf045', 'reference' => 'eed83939f1aed3eee517d03a33f5ec587ac529b5',
), ),
'netresearch/jsonmapper' => 'netresearch/jsonmapper' =>
array ( array (
@@ -297,12 +297,12 @@ private static $installed = array (
), ),
'nette/utils' => 'nette/utils' =>
array ( array (
'pretty_version' => 'v3.2.2', 'pretty_version' => 'v3.2.5',
'version' => '3.2.2.0', 'version' => '3.2.5.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '967cfc4f9a1acd5f1058d76715a424c53343c20c', 'reference' => '9cd80396ca58d7969ab44fc7afcf03624dfa526e',
), ),
'pguardiario/phpuri' => 'pguardiario/phpuri' =>
array ( array (
@@ -351,30 +351,30 @@ private static $installed = array (
), ),
'phpdocumentor/reflection-docblock' => 'phpdocumentor/reflection-docblock' =>
array ( array (
'pretty_version' => '5.2.2', 'pretty_version' => '5.3.0',
'version' => '5.2.2.0', 'version' => '5.3.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '069a785b2141f5bcf49f3e353548dc1cce6df556', 'reference' => '622548b623e81ca6d78b721c5e029f4ce664f170',
), ),
'phpdocumentor/type-resolver' => 'phpdocumentor/type-resolver' =>
array ( array (
'pretty_version' => '1.4.0', 'pretty_version' => '1.5.1',
'version' => '1.4.0.0', 'version' => '1.5.1.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0', 'reference' => 'a12f7e301eb7258bb68acd89d4aefa05c2906cae',
), ),
'psr/container' => 'psr/container' =>
array ( array (
'pretty_version' => '1.1.1', 'pretty_version' => '1.1.2',
'version' => '1.1.1.0', 'version' => '1.1.2.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '8622567409010282b7aeebe4bb841fe98b58dcaf', 'reference' => '513e0666f7216c7459170d56df27dfcefe1689ea',
), ),
'psr/container-implementation' => 'psr/container-implementation' =>
array ( array (
@@ -436,12 +436,12 @@ private static $installed = array (
), ),
'sabre/event' => 'sabre/event' =>
array ( array (
'pretty_version' => '5.1.2', 'pretty_version' => '5.1.4',
'version' => '5.1.2.0', 'version' => '5.1.4.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'c120bec57c17b6251a496efc82b732418b49d50a', 'reference' => 'd7da22897125d34d7eddf7977758191c06a74497',
), ),
'sammo-hid/sammo' => 'sammo-hid/sammo' =>
array ( array (
@@ -450,16 +450,7 @@ private static $installed = array (
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'cf3f40b5787b2a1aed9255775143108ef5b1f278', 'reference' => '872755e57f84720a9c4c63d5455441f83c41f6c6',
),
'scssphp/scssphp' =>
array (
'pretty_version' => 'v1.6.0',
'version' => '1.6.0.0',
'aliases' =>
array (
),
'reference' => 'b83594e2323c5d6e80785df3f91b9d1d32aad530',
), ),
'sergeytsalkov/meekrodb' => 'sergeytsalkov/meekrodb' =>
array ( array (
@@ -472,12 +463,12 @@ private static $installed = array (
), ),
'symfony/console' => 'symfony/console' =>
array ( array (
'pretty_version' => 'v5.3.6', 'pretty_version' => 'v5.3.10',
'version' => '5.3.6.0', 'version' => '5.3.10.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '51b71afd6d2dc8f5063199357b9880cea8d8bfe2', 'reference' => 'd4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3',
), ),
'symfony/deprecation-contracts' => 'symfony/deprecation-contracts' =>
array ( array (
@@ -490,12 +481,12 @@ private static $installed = array (
), ),
'symfony/lock' => 'symfony/lock' =>
array ( array (
'pretty_version' => 'v4.4.27', 'pretty_version' => 'v4.4.33',
'version' => '4.4.27.0', 'version' => '4.4.33.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '6ca476d4ac992802f2a4043929f68f1818449486', 'reference' => '567d29b1bc6e3937652054dafc069151d17824a9',
), ),
'symfony/polyfill-ctype' => 'symfony/polyfill-ctype' =>
array ( array (
@@ -580,21 +571,21 @@ private static $installed = array (
), ),
'symfony/string' => 'symfony/string' =>
array ( array (
'pretty_version' => 'v5.3.3', 'pretty_version' => 'v5.3.10',
'version' => '5.3.3.0', 'version' => '5.3.10.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1', 'reference' => 'd70c35bb20bbca71fc4ab7921e3c6bda1a82a60c',
), ),
'symfony/translation' => 'symfony/translation' =>
array ( array (
'pretty_version' => 'v5.3.7', 'pretty_version' => 'v5.3.10',
'version' => '5.3.7.0', 'version' => '5.3.10.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6', 'reference' => '6ef197aea2ac8b9cd63e0da7522b3771714035aa',
), ),
'symfony/translation-contracts' => 'symfony/translation-contracts' =>
array ( array (
@@ -614,12 +605,12 @@ private static $installed = array (
), ),
'tysonandre/var_representation_polyfill' => 'tysonandre/var_representation_polyfill' =>
array ( array (
'pretty_version' => '0.0.2', 'pretty_version' => '0.1.1',
'version' => '0.0.2.0', 'version' => '0.1.1.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '3f17999ee1f257319ddc6721dd26ebbc5d175f33', 'reference' => '0a942e74e18af5514749895507bc6ca7ab96399a',
), ),
'vlucas/valitron' => 'vlucas/valitron' =>
array ( array (
+1
View File
@@ -108,6 +108,7 @@ return array(
'Nette\\Utils\\Reflection' => $vendorDir . '/nette/utils/src/Utils/Reflection.php', 'Nette\\Utils\\Reflection' => $vendorDir . '/nette/utils/src/Utils/Reflection.php',
'Nette\\Utils\\RegexpException' => $vendorDir . '/nette/utils/src/Utils/exceptions.php', 'Nette\\Utils\\RegexpException' => $vendorDir . '/nette/utils/src/Utils/exceptions.php',
'Nette\\Utils\\Strings' => $vendorDir . '/nette/utils/src/Utils/Strings.php', 'Nette\\Utils\\Strings' => $vendorDir . '/nette/utils/src/Utils/Strings.php',
'Nette\\Utils\\Type' => $vendorDir . '/nette/utils/src/Utils/Type.php',
'Nette\\Utils\\UnknownImageFileException' => $vendorDir . '/nette/utils/src/Utils/exceptions.php', 'Nette\\Utils\\UnknownImageFileException' => $vendorDir . '/nette/utils/src/Utils/exceptions.php',
'Nette\\Utils\\Validators' => $vendorDir . '/nette/utils/src/Utils/Validators.php', 'Nette\\Utils\\Validators' => $vendorDir . '/nette/utils/src/Utils/Validators.php',
'Normalizer' => $vendorDir . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php', 'Normalizer' => $vendorDir . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php',
-1
View File
@@ -27,7 +27,6 @@ return array(
'Symfony\\Component\\String\\' => array($vendorDir . '/symfony/string'), 'Symfony\\Component\\String\\' => array($vendorDir . '/symfony/string'),
'Symfony\\Component\\Lock\\' => array($vendorDir . '/symfony/lock'), 'Symfony\\Component\\Lock\\' => array($vendorDir . '/symfony/lock'),
'Symfony\\Component\\Console\\' => array($vendorDir . '/symfony/console'), 'Symfony\\Component\\Console\\' => array($vendorDir . '/symfony/console'),
'ScssPhp\\ScssPhp\\' => array($vendorDir . '/scssphp/scssphp/src'),
'Sabre\\Event\\' => array($vendorDir . '/sabre/event/lib'), 'Sabre\\Event\\' => array($vendorDir . '/sabre/event/lib'),
'Psr\\SimpleCache\\' => array($vendorDir . '/psr/simple-cache/src'), 'Psr\\SimpleCache\\' => array($vendorDir . '/psr/simple-cache/src'),
'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'), 'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
+1 -5
View File
@@ -76,7 +76,6 @@ class ComposerStaticInit67b09c83b85c3bc0027caefe5bba171a
'Symfony\\Component\\String\\' => 25, 'Symfony\\Component\\String\\' => 25,
'Symfony\\Component\\Lock\\' => 23, 'Symfony\\Component\\Lock\\' => 23,
'Symfony\\Component\\Console\\' => 26, 'Symfony\\Component\\Console\\' => 26,
'ScssPhp\\ScssPhp\\' => 16,
'Sabre\\Event\\' => 12, 'Sabre\\Event\\' => 12,
), ),
'P' => 'P' =>
@@ -218,10 +217,6 @@ class ComposerStaticInit67b09c83b85c3bc0027caefe5bba171a
array ( array (
0 => __DIR__ . '/..' . '/symfony/console', 0 => __DIR__ . '/..' . '/symfony/console',
), ),
'ScssPhp\\ScssPhp\\' =>
array (
0 => __DIR__ . '/..' . '/scssphp/scssphp/src',
),
'Sabre\\Event\\' => 'Sabre\\Event\\' =>
array ( array (
0 => __DIR__ . '/..' . '/sabre/event/lib', 0 => __DIR__ . '/..' . '/sabre/event/lib',
@@ -472,6 +467,7 @@ class ComposerStaticInit67b09c83b85c3bc0027caefe5bba171a
'Nette\\Utils\\Reflection' => __DIR__ . '/..' . '/nette/utils/src/Utils/Reflection.php', 'Nette\\Utils\\Reflection' => __DIR__ . '/..' . '/nette/utils/src/Utils/Reflection.php',
'Nette\\Utils\\RegexpException' => __DIR__ . '/..' . '/nette/utils/src/Utils/exceptions.php', 'Nette\\Utils\\RegexpException' => __DIR__ . '/..' . '/nette/utils/src/Utils/exceptions.php',
'Nette\\Utils\\Strings' => __DIR__ . '/..' . '/nette/utils/src/Utils/Strings.php', 'Nette\\Utils\\Strings' => __DIR__ . '/..' . '/nette/utils/src/Utils/Strings.php',
'Nette\\Utils\\Type' => __DIR__ . '/..' . '/nette/utils/src/Utils/Type.php',
'Nette\\Utils\\UnknownImageFileException' => __DIR__ . '/..' . '/nette/utils/src/Utils/exceptions.php', 'Nette\\Utils\\UnknownImageFileException' => __DIR__ . '/..' . '/nette/utils/src/Utils/exceptions.php',
'Nette\\Utils\\Validators' => __DIR__ . '/..' . '/nette/utils/src/Utils/Validators.php', 'Nette\\Utils\\Validators' => __DIR__ . '/..' . '/nette/utils/src/Utils/Validators.php',
'Normalizer' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php', 'Normalizer' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php',
+236 -246
View File
@@ -118,17 +118,17 @@
}, },
{ {
"name": "composer/semver", "name": "composer/semver",
"version": "3.2.5", "version": "3.2.6",
"version_normalized": "3.2.5.0", "version_normalized": "3.2.6.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/composer/semver.git", "url": "https://github.com/composer/semver.git",
"reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9" "reference": "83e511e247de329283478496f7a1e114c9517506"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/composer/semver/zipball/31f3ea725711245195f62e54ffa402d8ef2fdba9", "url": "https://api.github.com/repos/composer/semver/zipball/83e511e247de329283478496f7a1e114c9517506",
"reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9", "reference": "83e511e247de329283478496f7a1e114c9517506",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -138,7 +138,7 @@
"phpstan/phpstan": "^0.12.54", "phpstan/phpstan": "^0.12.54",
"symfony/phpunit-bridge": "^4.2 || ^5" "symfony/phpunit-bridge": "^4.2 || ^5"
}, },
"time": "2021-05-24T12:41:47+00:00", "time": "2021-10-25T11:34:17+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -182,7 +182,7 @@
"support": { "support": {
"irc": "irc://irc.freenode.org/composer", "irc": "irc://irc.freenode.org/composer",
"issues": "https://github.com/composer/semver/issues", "issues": "https://github.com/composer/semver/issues",
"source": "https://github.com/composer/semver/tree/3.2.5" "source": "https://github.com/composer/semver/tree/3.2.6"
}, },
"funding": [ "funding": [
{ {
@@ -269,36 +269,32 @@
}, },
{ {
"name": "doctrine/inflector", "name": "doctrine/inflector",
"version": "2.0.3", "version": "2.0.4",
"version_normalized": "2.0.3.0", "version_normalized": "2.0.4.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/inflector.git", "url": "https://github.com/doctrine/inflector.git",
"reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210" "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210", "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89",
"reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210", "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.2 || ^8.0" "php": "^7.2 || ^8.0"
}, },
"require-dev": { "require-dev": {
"doctrine/coding-standard": "^7.0", "doctrine/coding-standard": "^8.2",
"phpstan/phpstan": "^0.11", "phpstan/phpstan": "^0.12",
"phpstan/phpstan-phpunit": "^0.11", "phpstan/phpstan-phpunit": "^0.12",
"phpstan/phpstan-strict-rules": "^0.11", "phpstan/phpstan-strict-rules": "^0.12",
"phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0",
"vimeo/psalm": "^4.10"
}, },
"time": "2020-05-29T15:13:26+00:00", "time": "2021-10-22T20:16:43+00:00",
"type": "library", "type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0.x-dev"
}
},
"installation-source": "dist", "installation-source": "dist",
"autoload": { "autoload": {
"psr-4": { "psr-4": {
@@ -347,7 +343,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/doctrine/inflector/issues", "issues": "https://github.com/doctrine/inflector/issues",
"source": "https://github.com/doctrine/inflector/tree/2.0.x" "source": "https://github.com/doctrine/inflector/tree/2.0.4"
}, },
"funding": [ "funding": [
{ {
@@ -684,17 +680,17 @@
}, },
{ {
"name": "guzzlehttp/promises", "name": "guzzlehttp/promises",
"version": "1.4.1", "version": "1.5.1",
"version_normalized": "1.4.1.0", "version_normalized": "1.5.1.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/guzzle/promises.git", "url": "https://github.com/guzzle/promises.git",
"reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d" "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/guzzle/promises/zipball/8e7d04f1f6450fef59366c399cfad4b9383aa30d", "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
"reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d", "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -703,11 +699,11 @@
"require-dev": { "require-dev": {
"symfony/phpunit-bridge": "^4.4 || ^5.1" "symfony/phpunit-bridge": "^4.4 || ^5.1"
}, },
"time": "2021-03-07T09:25:29+00:00", "time": "2021-10-22T20:56:57+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.4-dev" "dev-master": "1.5-dev"
} }
}, },
"installation-source": "dist", "installation-source": "dist",
@@ -724,10 +720,25 @@
"MIT" "MIT"
], ],
"authors": [ "authors": [
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https://github.com/GrahamCampbell"
},
{ {
"name": "Michael Dowling", "name": "Michael Dowling",
"email": "mtdowling@gmail.com", "email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling" "homepage": "https://github.com/mtdowling"
},
{
"name": "Tobias Nyholm",
"email": "tobias.nyholm@gmail.com",
"homepage": "https://github.com/Nyholm"
},
{
"name": "Tobias Schultze",
"email": "webmaster@tubo-world.de",
"homepage": "https://github.com/Tobion"
} }
], ],
"description": "Guzzle promises library", "description": "Guzzle promises library",
@@ -736,23 +747,37 @@
], ],
"support": { "support": {
"issues": "https://github.com/guzzle/promises/issues", "issues": "https://github.com/guzzle/promises/issues",
"source": "https://github.com/guzzle/promises/tree/1.4.1" "source": "https://github.com/guzzle/promises/tree/1.5.1"
}, },
"funding": [
{
"url": "https://github.com/GrahamCampbell",
"type": "github"
},
{
"url": "https://github.com/Nyholm",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
"type": "tidelift"
}
],
"install-path": "../guzzlehttp/promises" "install-path": "../guzzlehttp/promises"
}, },
{ {
"name": "guzzlehttp/psr7", "name": "guzzlehttp/psr7",
"version": "1.8.2", "version": "1.8.3",
"version_normalized": "1.8.2.0", "version_normalized": "1.8.3.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/guzzle/psr7.git", "url": "https://github.com/guzzle/psr7.git",
"reference": "dc960a912984efb74d0a90222870c72c87f10c91" "reference": "1afdd860a2566ed3c2b0b4a3de6e23434a79ec85"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/dc960a912984efb74d0a90222870c72c87f10c91", "url": "https://api.github.com/repos/guzzle/psr7/zipball/1afdd860a2566ed3c2b0b4a3de6e23434a79ec85",
"reference": "dc960a912984efb74d0a90222870c72c87f10c91", "reference": "1afdd860a2566ed3c2b0b4a3de6e23434a79ec85",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -770,7 +795,7 @@
"suggest": { "suggest": {
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
}, },
"time": "2021-04-26T09:17:50+00:00", "time": "2021-10-05T13:56:00+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -791,13 +816,34 @@
"MIT" "MIT"
], ],
"authors": [ "authors": [
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https://github.com/GrahamCampbell"
},
{ {
"name": "Michael Dowling", "name": "Michael Dowling",
"email": "mtdowling@gmail.com", "email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling" "homepage": "https://github.com/mtdowling"
}, },
{
"name": "George Mponos",
"email": "gmponos@gmail.com",
"homepage": "https://github.com/gmponos"
},
{
"name": "Tobias Nyholm",
"email": "tobias.nyholm@gmail.com",
"homepage": "https://github.com/Nyholm"
},
{
"name": "Márk Sági-Kazár",
"email": "mark.sagikazar@gmail.com",
"homepage": "https://github.com/sagikazarmark"
},
{ {
"name": "Tobias Schultze", "name": "Tobias Schultze",
"email": "webmaster@tubo-world.de",
"homepage": "https://github.com/Tobion" "homepage": "https://github.com/Tobion"
} }
], ],
@@ -814,23 +860,37 @@
], ],
"support": { "support": {
"issues": "https://github.com/guzzle/psr7/issues", "issues": "https://github.com/guzzle/psr7/issues",
"source": "https://github.com/guzzle/psr7/tree/1.8.2" "source": "https://github.com/guzzle/psr7/tree/1.8.3"
}, },
"funding": [
{
"url": "https://github.com/GrahamCampbell",
"type": "github"
},
{
"url": "https://github.com/Nyholm",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7",
"type": "tidelift"
}
],
"install-path": "../guzzlehttp/psr7" "install-path": "../guzzlehttp/psr7"
}, },
{ {
"name": "illuminate/bus", "name": "illuminate/bus",
"version": "v8.61.0", "version": "v8.69.0",
"version_normalized": "8.61.0.0", "version_normalized": "8.69.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/bus.git", "url": "https://github.com/illuminate/bus.git",
"reference": "808097c0dfd893309bd77b00139586c516b965c9" "reference": "be400399687b97d5558a224e970060fd5d5f2735"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/bus/zipball/808097c0dfd893309bd77b00139586c516b965c9", "url": "https://api.github.com/repos/illuminate/bus/zipball/be400399687b97d5558a224e970060fd5d5f2735",
"reference": "808097c0dfd893309bd77b00139586c516b965c9", "reference": "be400399687b97d5558a224e970060fd5d5f2735",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -843,7 +903,7 @@
"suggest": { "suggest": {
"illuminate/queue": "Required to use closures when chaining jobs (^7.0)." "illuminate/queue": "Required to use closures when chaining jobs (^7.0)."
}, },
"time": "2021-08-10T16:49:48+00:00", "time": "2021-10-21T19:19:36+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -876,17 +936,17 @@
}, },
{ {
"name": "illuminate/collections", "name": "illuminate/collections",
"version": "v8.61.0", "version": "v8.69.0",
"version_normalized": "8.61.0.0", "version_normalized": "8.69.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/collections.git", "url": "https://github.com/illuminate/collections.git",
"reference": "18fa841df912ec56849351dd6ca8928e8a98b69d" "reference": "05f286ec5fd2dd286e8384577047efc375c8954c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/collections/zipball/18fa841df912ec56849351dd6ca8928e8a98b69d", "url": "https://api.github.com/repos/illuminate/collections/zipball/05f286ec5fd2dd286e8384577047efc375c8954c",
"reference": "18fa841df912ec56849351dd6ca8928e8a98b69d", "reference": "05f286ec5fd2dd286e8384577047efc375c8954c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -897,7 +957,7 @@
"suggest": { "suggest": {
"symfony/var-dumper": "Required to use the dump method (^5.1.4)." "symfony/var-dumper": "Required to use the dump method (^5.1.4)."
}, },
"time": "2021-09-08T12:48:16+00:00", "time": "2021-10-22T18:01:46+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -933,17 +993,17 @@
}, },
{ {
"name": "illuminate/container", "name": "illuminate/container",
"version": "v8.61.0", "version": "v8.69.0",
"version_normalized": "8.61.0.0", "version_normalized": "8.69.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/container.git", "url": "https://github.com/illuminate/container.git",
"reference": "862b64ea4ab56e307a1676104a1b93295d347ad0" "reference": "ef73feb5216ef97ab7023cf59c0c8dbbd5505a9d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/container/zipball/862b64ea4ab56e307a1676104a1b93295d347ad0", "url": "https://api.github.com/repos/illuminate/container/zipball/ef73feb5216ef97ab7023cf59c0c8dbbd5505a9d",
"reference": "862b64ea4ab56e307a1676104a1b93295d347ad0", "reference": "ef73feb5216ef97ab7023cf59c0c8dbbd5505a9d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -954,7 +1014,7 @@
"provide": { "provide": {
"psr/container-implementation": "1.0" "psr/container-implementation": "1.0"
}, },
"time": "2021-09-09T13:55:23+00:00", "time": "2021-09-15T14:32:50+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -987,17 +1047,17 @@
}, },
{ {
"name": "illuminate/contracts", "name": "illuminate/contracts",
"version": "v8.61.0", "version": "v8.69.0",
"version_normalized": "8.61.0.0", "version_normalized": "8.69.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/contracts.git", "url": "https://github.com/illuminate/contracts.git",
"reference": "ab4bb4ec3b36905ccf972c84f9aaa2bdd1153913" "reference": "e76f4bce73a2a1656add24bd5210ebc4b8af49c0"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/contracts/zipball/ab4bb4ec3b36905ccf972c84f9aaa2bdd1153913", "url": "https://api.github.com/repos/illuminate/contracts/zipball/e76f4bce73a2a1656add24bd5210ebc4b8af49c0",
"reference": "ab4bb4ec3b36905ccf972c84f9aaa2bdd1153913", "reference": "e76f4bce73a2a1656add24bd5210ebc4b8af49c0",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1005,7 +1065,7 @@
"psr/container": "^1.0", "psr/container": "^1.0",
"psr/simple-cache": "^1.0" "psr/simple-cache": "^1.0"
}, },
"time": "2021-09-08T12:09:40+00:00", "time": "2021-10-22T18:01:46+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -1038,17 +1098,17 @@
}, },
{ {
"name": "illuminate/database", "name": "illuminate/database",
"version": "v8.61.0", "version": "v8.69.0",
"version_normalized": "8.61.0.0", "version_normalized": "8.69.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/database.git", "url": "https://github.com/illuminate/database.git",
"reference": "acc11d6839ddb3b694bc6585177fa5141b70c693" "reference": "43c7ffb6299ae55b000b286cf1278afd268ef29f"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/database/zipball/acc11d6839ddb3b694bc6585177fa5141b70c693", "url": "https://api.github.com/repos/illuminate/database/zipball/43c7ffb6299ae55b000b286cf1278afd268ef29f",
"reference": "acc11d6839ddb3b694bc6585177fa5141b70c693", "reference": "43c7ffb6299ae55b000b286cf1278afd268ef29f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1062,7 +1122,7 @@
"symfony/console": "^5.1.4" "symfony/console": "^5.1.4"
}, },
"suggest": { "suggest": {
"doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6|^3.0).", "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.13.3|^3.1.2).",
"fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).",
"illuminate/console": "Required to use the database commands (^8.0).", "illuminate/console": "Required to use the database commands (^8.0).",
"illuminate/events": "Required to use the observers with Eloquent (^8.0).", "illuminate/events": "Required to use the observers with Eloquent (^8.0).",
@@ -1070,7 +1130,7 @@
"illuminate/pagination": "Required to paginate the result set (^8.0).", "illuminate/pagination": "Required to paginate the result set (^8.0).",
"symfony/finder": "Required to use Eloquent model factories (^5.1.4)." "symfony/finder": "Required to use Eloquent model factories (^5.1.4)."
}, },
"time": "2021-09-13T18:43:43+00:00", "time": "2021-10-29T19:46:53+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -1109,17 +1169,17 @@
}, },
{ {
"name": "illuminate/events", "name": "illuminate/events",
"version": "v8.61.0", "version": "v8.69.0",
"version_normalized": "8.61.0.0", "version_normalized": "8.69.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/events.git", "url": "https://github.com/illuminate/events.git",
"reference": "7def78033f29cd0c0383513b27c291d233a7f90e" "reference": "b7f06cafb6c09581617f2ca05d69e9b159e5a35d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/events/zipball/7def78033f29cd0c0383513b27c291d233a7f90e", "url": "https://api.github.com/repos/illuminate/events/zipball/b7f06cafb6c09581617f2ca05d69e9b159e5a35d",
"reference": "7def78033f29cd0c0383513b27c291d233a7f90e", "reference": "b7f06cafb6c09581617f2ca05d69e9b159e5a35d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1131,7 +1191,7 @@
"illuminate/support": "^8.0", "illuminate/support": "^8.0",
"php": "^7.3|^8.0" "php": "^7.3|^8.0"
}, },
"time": "2021-08-16T21:45:47+00:00", "time": "2021-09-15T14:32:50+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -1167,8 +1227,8 @@
}, },
{ {
"name": "illuminate/macroable", "name": "illuminate/macroable",
"version": "v8.61.0", "version": "v8.69.0",
"version_normalized": "8.61.0.0", "version_normalized": "8.69.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/macroable.git", "url": "https://github.com/illuminate/macroable.git",
@@ -1216,8 +1276,8 @@
}, },
{ {
"name": "illuminate/pipeline", "name": "illuminate/pipeline",
"version": "v8.61.0", "version": "v8.69.0",
"version_normalized": "8.61.0.0", "version_normalized": "8.69.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/pipeline.git", "url": "https://github.com/illuminate/pipeline.git",
@@ -1267,17 +1327,17 @@
}, },
{ {
"name": "illuminate/support", "name": "illuminate/support",
"version": "v8.61.0", "version": "v8.69.0",
"version_normalized": "8.61.0.0", "version_normalized": "8.69.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/illuminate/support.git", "url": "https://github.com/illuminate/support.git",
"reference": "b0a21c41163381dd9a5abbd68fe85ed7b4247d30" "reference": "a8851b7001530d3c11626a81449ed9b63dd10db7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/illuminate/support/zipball/b0a21c41163381dd9a5abbd68fe85ed7b4247d30", "url": "https://api.github.com/repos/illuminate/support/zipball/a8851b7001530d3c11626a81449ed9b63dd10db7",
"reference": "b0a21c41163381dd9a5abbd68fe85ed7b4247d30", "reference": "a8851b7001530d3c11626a81449ed9b63dd10db7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1287,7 +1347,7 @@
"illuminate/collections": "^8.0", "illuminate/collections": "^8.0",
"illuminate/contracts": "^8.0", "illuminate/contracts": "^8.0",
"illuminate/macroable": "^8.0", "illuminate/macroable": "^8.0",
"nesbot/carbon": "^2.31", "nesbot/carbon": "^2.53.1",
"php": "^7.3|^8.0", "php": "^7.3|^8.0",
"voku/portable-ascii": "^1.4.8" "voku/portable-ascii": "^1.4.8"
}, },
@@ -1296,13 +1356,13 @@
}, },
"suggest": { "suggest": {
"illuminate/filesystem": "Required to use the composer class (^8.0).", "illuminate/filesystem": "Required to use the composer class (^8.0).",
"league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^1.3|^2.0).", "league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^1.3|^2.0.2).",
"ramsey/uuid": "Required to use Str::uuid() (^4.0).", "ramsey/uuid": "Required to use Str::uuid() (^4.2.2).",
"symfony/process": "Required to use the composer class (^5.1.4).", "symfony/process": "Required to use the composer class (^5.1.4).",
"symfony/var-dumper": "Required to use the dd function (^5.1.4).", "symfony/var-dumper": "Required to use the dd function (^5.1.4).",
"vlucas/phpdotenv": "Required to use the Env class and env helper (^5.2)." "vlucas/phpdotenv": "Required to use the Env class and env helper (^5.2)."
}, },
"time": "2021-09-13T18:43:43+00:00", "time": "2021-10-29T13:34:03+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -1542,17 +1602,17 @@
}, },
{ {
"name": "nesbot/carbon", "name": "nesbot/carbon",
"version": "2.53.1", "version": "2.54.0",
"version_normalized": "2.53.1.0", "version_normalized": "2.54.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/briannesbitt/Carbon.git", "url": "https://github.com/briannesbitt/Carbon.git",
"reference": "f4655858a784988f880c1b8c7feabbf02dfdf045" "reference": "eed83939f1aed3eee517d03a33f5ec587ac529b5"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/f4655858a784988f880c1b8c7feabbf02dfdf045", "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/eed83939f1aed3eee517d03a33f5ec587ac529b5",
"reference": "f4655858a784988f880c1b8c7feabbf02dfdf045", "reference": "eed83939f1aed3eee517d03a33f5ec587ac529b5",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1563,6 +1623,7 @@
"symfony/translation": "^3.4 || ^4.0 || ^5.0" "symfony/translation": "^3.4 || ^4.0 || ^5.0"
}, },
"require-dev": { "require-dev": {
"doctrine/dbal": "^2.0 || ^3.0",
"doctrine/orm": "^2.7", "doctrine/orm": "^2.7",
"friendsofphp/php-cs-fixer": "^3.0", "friendsofphp/php-cs-fixer": "^3.0",
"kylekatarnls/multi-tester": "^2.0", "kylekatarnls/multi-tester": "^2.0",
@@ -1572,7 +1633,7 @@
"phpunit/phpunit": "^7.5.20 || ^8.5.14", "phpunit/phpunit": "^7.5.20 || ^8.5.14",
"squizlabs/php_codesniffer": "^3.4" "squizlabs/php_codesniffer": "^3.4"
}, },
"time": "2021-09-06T09:29:23+00:00", "time": "2021-11-01T21:22:20+00:00",
"bin": [ "bin": [
"bin/carbon" "bin/carbon"
], ],
@@ -1833,21 +1894,21 @@
}, },
{ {
"name": "nette/utils", "name": "nette/utils",
"version": "v3.2.2", "version": "v3.2.5",
"version_normalized": "3.2.2.0", "version_normalized": "3.2.5.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/nette/utils.git", "url": "https://github.com/nette/utils.git",
"reference": "967cfc4f9a1acd5f1058d76715a424c53343c20c" "reference": "9cd80396ca58d7969ab44fc7afcf03624dfa526e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/nette/utils/zipball/967cfc4f9a1acd5f1058d76715a424c53343c20c", "url": "https://api.github.com/repos/nette/utils/zipball/9cd80396ca58d7969ab44fc7afcf03624dfa526e",
"reference": "967cfc4f9a1acd5f1058d76715a424c53343c20c", "reference": "9cd80396ca58d7969ab44fc7afcf03624dfa526e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=7.2 <8.1" "php": ">=7.2 <8.2"
}, },
"conflict": { "conflict": {
"nette/di": "<3.0.6" "nette/di": "<3.0.6"
@@ -1866,7 +1927,7 @@
"ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()", "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()",
"ext-xml": "to use Strings::length() etc. when mbstring is not available" "ext-xml": "to use Strings::length() etc. when mbstring is not available"
}, },
"time": "2021-03-03T22:53:25+00:00", "time": "2021-09-20T10:50:11+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -1915,7 +1976,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/nette/utils/issues", "issues": "https://github.com/nette/utils/issues",
"source": "https://github.com/nette/utils/tree/v3.2.2" "source": "https://github.com/nette/utils/tree/v3.2.5"
}, },
"install-path": "../nette/utils" "install-path": "../nette/utils"
}, },
@@ -2176,17 +2237,17 @@
}, },
{ {
"name": "phpdocumentor/reflection-docblock", "name": "phpdocumentor/reflection-docblock",
"version": "5.2.2", "version": "5.3.0",
"version_normalized": "5.2.2.0", "version_normalized": "5.3.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
"reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" "reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
"reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", "reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -2197,9 +2258,10 @@
"webmozart/assert": "^1.9.1" "webmozart/assert": "^1.9.1"
}, },
"require-dev": { "require-dev": {
"mockery/mockery": "~1.3.2" "mockery/mockery": "~1.3.2",
"psalm/phar": "^4.8"
}, },
"time": "2020-09-03T19:13:55+00:00", "time": "2021-10-19T17:43:47+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -2229,23 +2291,23 @@
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"support": { "support": {
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master" "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0"
}, },
"install-path": "../phpdocumentor/reflection-docblock" "install-path": "../phpdocumentor/reflection-docblock"
}, },
{ {
"name": "phpdocumentor/type-resolver", "name": "phpdocumentor/type-resolver",
"version": "1.4.0", "version": "1.5.1",
"version_normalized": "1.4.0.0", "version_normalized": "1.5.1.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git", "url": "https://github.com/phpDocumentor/TypeResolver.git",
"reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/a12f7e301eb7258bb68acd89d4aefa05c2906cae",
"reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -2253,9 +2315,10 @@
"phpdocumentor/reflection-common": "^2.0" "phpdocumentor/reflection-common": "^2.0"
}, },
"require-dev": { "require-dev": {
"ext-tokenizer": "*" "ext-tokenizer": "*",
"psalm/phar": "^4.8"
}, },
"time": "2020-09-17T18:55:26+00:00", "time": "2021-10-02T14:08:47+00:00",
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@@ -2281,29 +2344,29 @@
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": { "support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues", "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0" "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.1"
}, },
"install-path": "../phpdocumentor/type-resolver" "install-path": "../phpdocumentor/type-resolver"
}, },
{ {
"name": "psr/container", "name": "psr/container",
"version": "1.1.1", "version": "1.1.2",
"version_normalized": "1.1.1.0", "version_normalized": "1.1.2.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/php-fig/container.git", "url": "https://github.com/php-fig/container.git",
"reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
"reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=7.2.0" "php": ">=7.4.0"
}, },
"time": "2021-03-05T17:36:06+00:00", "time": "2021-11-05T16:50:12+00:00",
"type": "library", "type": "library",
"installation-source": "dist", "installation-source": "dist",
"autoload": { "autoload": {
@@ -2332,7 +2395,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/php-fig/container/issues", "issues": "https://github.com/php-fig/container/issues",
"source": "https://github.com/php-fig/container/tree/1.1.1" "source": "https://github.com/php-fig/container/tree/1.1.2"
}, },
"install-path": "../psr/container" "install-path": "../psr/container"
}, },
@@ -2541,28 +2604,28 @@
}, },
{ {
"name": "sabre/event", "name": "sabre/event",
"version": "5.1.2", "version": "5.1.4",
"version_normalized": "5.1.2.0", "version_normalized": "5.1.4.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sabre-io/event.git", "url": "https://github.com/sabre-io/event.git",
"reference": "c120bec57c17b6251a496efc82b732418b49d50a" "reference": "d7da22897125d34d7eddf7977758191c06a74497"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sabre-io/event/zipball/c120bec57c17b6251a496efc82b732418b49d50a", "url": "https://api.github.com/repos/sabre-io/event/zipball/d7da22897125d34d7eddf7977758191c06a74497",
"reference": "c120bec57c17b6251a496efc82b732418b49d50a", "reference": "d7da22897125d34d7eddf7977758191c06a74497",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1 || ^8.0" "php": "^7.1 || ^8.0"
}, },
"require-dev": { "require-dev": {
"friendsofphp/php-cs-fixer": "~2.16.1", "friendsofphp/php-cs-fixer": "~2.17.1",
"phpstan/phpstan": "^0.12", "phpstan/phpstan": "^0.12",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.0" "phpunit/phpunit": "^7.5 || ^8.5 || ^9.0"
}, },
"time": "2020-10-03T11:02:22+00:00", "time": "2021-11-04T06:51:17+00:00",
"type": "library", "type": "library",
"installation-source": "dist", "installation-source": "dist",
"autoload": { "autoload": {
@@ -2608,82 +2671,6 @@
}, },
"install-path": "../sabre/event" "install-path": "../sabre/event"
}, },
{
"name": "scssphp/scssphp",
"version": "v1.6.0",
"version_normalized": "1.6.0.0",
"source": {
"type": "git",
"url": "https://github.com/scssphp/scssphp.git",
"reference": "b83594e2323c5d6e80785df3f91b9d1d32aad530"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/scssphp/scssphp/zipball/b83594e2323c5d6e80785df3f91b9d1d32aad530",
"reference": "b83594e2323c5d6e80785df3f91b9d1d32aad530",
"shasum": ""
},
"require": {
"ext-ctype": "*",
"ext-json": "*",
"php": ">=5.6.0"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.4",
"phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.3 || ^9.4",
"sass/sass-spec": "*",
"squizlabs/php_codesniffer": "~3.5",
"symfony/phpunit-bridge": "^5.1",
"twbs/bootstrap": "~5.0",
"twbs/bootstrap4": "4.6.0",
"zurb/foundation": "~6.5"
},
"suggest": {
"ext-iconv": "Can be used as fallback when ext-mbstring is not available",
"ext-mbstring": "For best performance, mbstring should be installed as it is faster than ext-iconv"
},
"time": "2021-07-02T16:28:10+00:00",
"bin": [
"bin/pscss"
],
"type": "library",
"installation-source": "dist",
"autoload": {
"psr-4": {
"ScssPhp\\ScssPhp\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Anthon Pang",
"email": "apang@softwaredevelopment.ca",
"homepage": "https://github.com/robocoder"
},
{
"name": "Cédric Morin",
"email": "cedric@yterium.com",
"homepage": "https://github.com/Cerdic"
}
],
"description": "scssphp is a compiler for SCSS written in PHP.",
"homepage": "http://scssphp.github.io/scssphp/",
"keywords": [
"css",
"less",
"sass",
"scss",
"stylesheet"
],
"support": {
"issues": "https://github.com/scssphp/scssphp/issues",
"source": "https://github.com/scssphp/scssphp/tree/v1.6.0"
},
"install-path": "../scssphp/scssphp"
},
{ {
"name": "sergeytsalkov/meekrodb", "name": "sergeytsalkov/meekrodb",
"version": "v2.4", "version": "v2.4",
@@ -2737,17 +2724,17 @@
}, },
{ {
"name": "symfony/console", "name": "symfony/console",
"version": "v5.3.6", "version": "v5.3.10",
"version_normalized": "5.3.6.0", "version_normalized": "5.3.10.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/console.git", "url": "https://github.com/symfony/console.git",
"reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2" "reference": "d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/51b71afd6d2dc8f5063199357b9880cea8d8bfe2", "url": "https://api.github.com/repos/symfony/console/zipball/d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3",
"reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2", "reference": "d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -2785,7 +2772,7 @@
"symfony/lock": "", "symfony/lock": "",
"symfony/process": "" "symfony/process": ""
}, },
"time": "2021-07-27T19:10:22+00:00", "time": "2021-10-26T09:30:15+00:00",
"type": "library", "type": "library",
"installation-source": "dist", "installation-source": "dist",
"autoload": { "autoload": {
@@ -2819,7 +2806,7 @@
"terminal" "terminal"
], ],
"support": { "support": {
"source": "https://github.com/symfony/console/tree/v5.3.6" "source": "https://github.com/symfony/console/tree/v5.3.10"
}, },
"funding": [ "funding": [
{ {
@@ -2909,17 +2896,17 @@
}, },
{ {
"name": "symfony/lock", "name": "symfony/lock",
"version": "v4.4.27", "version": "v4.4.33",
"version_normalized": "4.4.27.0", "version_normalized": "4.4.33.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/lock.git", "url": "https://github.com/symfony/lock.git",
"reference": "6ca476d4ac992802f2a4043929f68f1818449486" "reference": "567d29b1bc6e3937652054dafc069151d17824a9"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/lock/zipball/6ca476d4ac992802f2a4043929f68f1818449486", "url": "https://api.github.com/repos/symfony/lock/zipball/567d29b1bc6e3937652054dafc069151d17824a9",
"reference": "6ca476d4ac992802f2a4043929f68f1818449486", "reference": "567d29b1bc6e3937652054dafc069151d17824a9",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -2934,7 +2921,7 @@
"doctrine/dbal": "^2.6|^3.0", "doctrine/dbal": "^2.6|^3.0",
"predis/predis": "~1.0" "predis/predis": "~1.0"
}, },
"time": "2021-07-23T15:41:52+00:00", "time": "2021-10-05T20:27:01+00:00",
"type": "library", "type": "library",
"installation-source": "dist", "installation-source": "dist",
"autoload": { "autoload": {
@@ -2970,7 +2957,7 @@
"semaphore" "semaphore"
], ],
"support": { "support": {
"source": "https://github.com/symfony/lock/tree/v4.4.27" "source": "https://github.com/symfony/lock/tree/v4.4.33"
}, },
"funding": [ "funding": [
{ {
@@ -3745,17 +3732,17 @@
}, },
{ {
"name": "symfony/string", "name": "symfony/string",
"version": "v5.3.3", "version": "v5.3.10",
"version_normalized": "5.3.3.0", "version_normalized": "5.3.10.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/string.git", "url": "https://github.com/symfony/string.git",
"reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1" "reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1", "url": "https://api.github.com/repos/symfony/string/zipball/d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c",
"reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1", "reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -3772,7 +3759,7 @@
"symfony/translation-contracts": "^1.1|^2", "symfony/translation-contracts": "^1.1|^2",
"symfony/var-exporter": "^4.4|^5.0" "symfony/var-exporter": "^4.4|^5.0"
}, },
"time": "2021-06-27T11:44:38+00:00", "time": "2021-10-27T18:21:46+00:00",
"type": "library", "type": "library",
"installation-source": "dist", "installation-source": "dist",
"autoload": { "autoload": {
@@ -3811,7 +3798,7 @@
"utf8" "utf8"
], ],
"support": { "support": {
"source": "https://github.com/symfony/string/tree/v5.3.3" "source": "https://github.com/symfony/string/tree/v5.3.10"
}, },
"funding": [ "funding": [
{ {
@@ -3831,17 +3818,17 @@
}, },
{ {
"name": "symfony/translation", "name": "symfony/translation",
"version": "v5.3.7", "version": "v5.3.10",
"version_normalized": "5.3.7.0", "version_normalized": "5.3.10.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/translation.git", "url": "https://github.com/symfony/translation.git",
"reference": "4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6" "reference": "6ef197aea2ac8b9cd63e0da7522b3771714035aa"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6", "url": "https://api.github.com/repos/symfony/translation/zipball/6ef197aea2ac8b9cd63e0da7522b3771714035aa",
"reference": "4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6", "reference": "6ef197aea2ac8b9cd63e0da7522b3771714035aa",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -3878,7 +3865,7 @@
"symfony/config": "", "symfony/config": "",
"symfony/yaml": "" "symfony/yaml": ""
}, },
"time": "2021-08-26T08:22:53+00:00", "time": "2021-10-10T06:43:24+00:00",
"type": "library", "type": "library",
"installation-source": "dist", "installation-source": "dist",
"autoload": { "autoload": {
@@ -3909,7 +3896,7 @@
"description": "Provides tools to internationalize your application", "description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/translation/tree/v5.3.7" "source": "https://github.com/symfony/translation/tree/v5.3.10"
}, },
"funding": [ "funding": [
{ {
@@ -4010,17 +3997,17 @@
}, },
{ {
"name": "tysonandre/var_representation_polyfill", "name": "tysonandre/var_representation_polyfill",
"version": "0.0.2", "version": "0.1.1",
"version_normalized": "0.0.2.0", "version_normalized": "0.1.1.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/TysonAndre/var_representation_polyfill.git", "url": "https://github.com/TysonAndre/var_representation_polyfill.git",
"reference": "3f17999ee1f257319ddc6721dd26ebbc5d175f33" "reference": "0a942e74e18af5514749895507bc6ca7ab96399a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/TysonAndre/var_representation_polyfill/zipball/3f17999ee1f257319ddc6721dd26ebbc5d175f33", "url": "https://api.github.com/repos/TysonAndre/var_representation_polyfill/zipball/0a942e74e18af5514749895507bc6ca7ab96399a",
"reference": "3f17999ee1f257319ddc6721dd26ebbc5d175f33", "reference": "0a942e74e18af5514749895507bc6ca7ab96399a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -4031,7 +4018,10 @@
"phan/phan": "^4.0", "phan/phan": "^4.0",
"phpunit/phpunit": "^8.5.0" "phpunit/phpunit": "^8.5.0"
}, },
"time": "2021-06-26T18:55:02+00:00", "suggest": {
"ext-var_representation": "*"
},
"time": "2021-08-16T00:12:50+00:00",
"type": "library", "type": "library",
"installation-source": "dist", "installation-source": "dist",
"autoload": { "autoload": {
@@ -4051,14 +4041,14 @@
"name": "Tyson Andre" "name": "Tyson Andre"
} }
], ],
"description": "Polyfill for var_representation", "description": "Polyfill for var_representation: convert a variable to a string in a way that fixes the shortcomings of var_export",
"keywords": [ "keywords": [
"var_export", "var_export",
"var_representation" "var_representation"
], ],
"support": { "support": {
"issues": "https://github.com/TysonAndre/var_representation_polyfill/issues", "issues": "https://github.com/TysonAndre/var_representation_polyfill/issues",
"source": "https://github.com/TysonAndre/var_representation_polyfill/tree/0.0.2" "source": "https://github.com/TysonAndre/var_representation_polyfill/tree/0.1.1"
}, },
"install-path": "../tysonandre/var_representation_polyfill" "install-path": "../tysonandre/var_representation_polyfill"
}, },
+72 -81
View File
@@ -6,7 +6,7 @@
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'cf3f40b5787b2a1aed9255775143108ef5b1f278', 'reference' => '872755e57f84720a9c4c63d5455441f83c41f6c6',
'name' => 'sammo-hid/sammo', 'name' => 'sammo-hid/sammo',
), ),
'versions' => 'versions' =>
@@ -31,12 +31,12 @@
), ),
'composer/semver' => 'composer/semver' =>
array ( array (
'pretty_version' => '3.2.5', 'pretty_version' => '3.2.6',
'version' => '3.2.5.0', 'version' => '3.2.6.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '31f3ea725711245195f62e54ffa402d8ef2fdba9', 'reference' => '83e511e247de329283478496f7a1e114c9517506',
), ),
'composer/xdebug-handler' => 'composer/xdebug-handler' =>
array ( array (
@@ -49,12 +49,12 @@
), ),
'doctrine/inflector' => 'doctrine/inflector' =>
array ( array (
'pretty_version' => '2.0.3', 'pretty_version' => '2.0.4',
'version' => '2.0.3.0', 'version' => '2.0.4.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '9cf661f4eb38f7c881cac67c75ea9b00bf97b210', 'reference' => '8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89',
), ),
'erusev/parsedown' => 'erusev/parsedown' =>
array ( array (
@@ -112,80 +112,80 @@
), ),
'guzzlehttp/promises' => 'guzzlehttp/promises' =>
array ( array (
'pretty_version' => '1.4.1', 'pretty_version' => '1.5.1',
'version' => '1.4.1.0', 'version' => '1.5.1.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '8e7d04f1f6450fef59366c399cfad4b9383aa30d', 'reference' => 'fe752aedc9fd8fcca3fe7ad05d419d32998a06da',
), ),
'guzzlehttp/psr7' => 'guzzlehttp/psr7' =>
array ( array (
'pretty_version' => '1.8.2', 'pretty_version' => '1.8.3',
'version' => '1.8.2.0', 'version' => '1.8.3.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'dc960a912984efb74d0a90222870c72c87f10c91', 'reference' => '1afdd860a2566ed3c2b0b4a3de6e23434a79ec85',
), ),
'illuminate/bus' => 'illuminate/bus' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '808097c0dfd893309bd77b00139586c516b965c9', 'reference' => 'be400399687b97d5558a224e970060fd5d5f2735',
), ),
'illuminate/collections' => 'illuminate/collections' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '18fa841df912ec56849351dd6ca8928e8a98b69d', 'reference' => '05f286ec5fd2dd286e8384577047efc375c8954c',
), ),
'illuminate/container' => 'illuminate/container' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '862b64ea4ab56e307a1676104a1b93295d347ad0', 'reference' => 'ef73feb5216ef97ab7023cf59c0c8dbbd5505a9d',
), ),
'illuminate/contracts' => 'illuminate/contracts' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'ab4bb4ec3b36905ccf972c84f9aaa2bdd1153913', 'reference' => 'e76f4bce73a2a1656add24bd5210ebc4b8af49c0',
), ),
'illuminate/database' => 'illuminate/database' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'acc11d6839ddb3b694bc6585177fa5141b70c693', 'reference' => '43c7ffb6299ae55b000b286cf1278afd268ef29f',
), ),
'illuminate/events' => 'illuminate/events' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '7def78033f29cd0c0383513b27c291d233a7f90e', 'reference' => 'b7f06cafb6c09581617f2ca05d69e9b159e5a35d',
), ),
'illuminate/macroable' => 'illuminate/macroable' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
@@ -193,8 +193,8 @@
), ),
'illuminate/pipeline' => 'illuminate/pipeline' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
@@ -202,12 +202,12 @@
), ),
'illuminate/support' => 'illuminate/support' =>
array ( array (
'pretty_version' => 'v8.61.0', 'pretty_version' => 'v8.69.0',
'version' => '8.61.0.0', 'version' => '8.69.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'b0a21c41163381dd9a5abbd68fe85ed7b4247d30', 'reference' => 'a8851b7001530d3c11626a81449ed9b63dd10db7',
), ),
'league/plates' => 'league/plates' =>
array ( array (
@@ -238,12 +238,12 @@
), ),
'nesbot/carbon' => 'nesbot/carbon' =>
array ( array (
'pretty_version' => '2.53.1', 'pretty_version' => '2.54.0',
'version' => '2.53.1.0', 'version' => '2.54.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'f4655858a784988f880c1b8c7feabbf02dfdf045', 'reference' => 'eed83939f1aed3eee517d03a33f5ec587ac529b5',
), ),
'netresearch/jsonmapper' => 'netresearch/jsonmapper' =>
array ( array (
@@ -274,12 +274,12 @@
), ),
'nette/utils' => 'nette/utils' =>
array ( array (
'pretty_version' => 'v3.2.2', 'pretty_version' => 'v3.2.5',
'version' => '3.2.2.0', 'version' => '3.2.5.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '967cfc4f9a1acd5f1058d76715a424c53343c20c', 'reference' => '9cd80396ca58d7969ab44fc7afcf03624dfa526e',
), ),
'pguardiario/phpuri' => 'pguardiario/phpuri' =>
array ( array (
@@ -328,30 +328,30 @@
), ),
'phpdocumentor/reflection-docblock' => 'phpdocumentor/reflection-docblock' =>
array ( array (
'pretty_version' => '5.2.2', 'pretty_version' => '5.3.0',
'version' => '5.2.2.0', 'version' => '5.3.0.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '069a785b2141f5bcf49f3e353548dc1cce6df556', 'reference' => '622548b623e81ca6d78b721c5e029f4ce664f170',
), ),
'phpdocumentor/type-resolver' => 'phpdocumentor/type-resolver' =>
array ( array (
'pretty_version' => '1.4.0', 'pretty_version' => '1.5.1',
'version' => '1.4.0.0', 'version' => '1.5.1.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0', 'reference' => 'a12f7e301eb7258bb68acd89d4aefa05c2906cae',
), ),
'psr/container' => 'psr/container' =>
array ( array (
'pretty_version' => '1.1.1', 'pretty_version' => '1.1.2',
'version' => '1.1.1.0', 'version' => '1.1.2.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '8622567409010282b7aeebe4bb841fe98b58dcaf', 'reference' => '513e0666f7216c7459170d56df27dfcefe1689ea',
), ),
'psr/container-implementation' => 'psr/container-implementation' =>
array ( array (
@@ -413,12 +413,12 @@
), ),
'sabre/event' => 'sabre/event' =>
array ( array (
'pretty_version' => '5.1.2', 'pretty_version' => '5.1.4',
'version' => '5.1.2.0', 'version' => '5.1.4.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'c120bec57c17b6251a496efc82b732418b49d50a', 'reference' => 'd7da22897125d34d7eddf7977758191c06a74497',
), ),
'sammo-hid/sammo' => 'sammo-hid/sammo' =>
array ( array (
@@ -427,16 +427,7 @@
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'cf3f40b5787b2a1aed9255775143108ef5b1f278', 'reference' => '872755e57f84720a9c4c63d5455441f83c41f6c6',
),
'scssphp/scssphp' =>
array (
'pretty_version' => 'v1.6.0',
'version' => '1.6.0.0',
'aliases' =>
array (
),
'reference' => 'b83594e2323c5d6e80785df3f91b9d1d32aad530',
), ),
'sergeytsalkov/meekrodb' => 'sergeytsalkov/meekrodb' =>
array ( array (
@@ -449,12 +440,12 @@
), ),
'symfony/console' => 'symfony/console' =>
array ( array (
'pretty_version' => 'v5.3.6', 'pretty_version' => 'v5.3.10',
'version' => '5.3.6.0', 'version' => '5.3.10.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '51b71afd6d2dc8f5063199357b9880cea8d8bfe2', 'reference' => 'd4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3',
), ),
'symfony/deprecation-contracts' => 'symfony/deprecation-contracts' =>
array ( array (
@@ -467,12 +458,12 @@
), ),
'symfony/lock' => 'symfony/lock' =>
array ( array (
'pretty_version' => 'v4.4.27', 'pretty_version' => 'v4.4.33',
'version' => '4.4.27.0', 'version' => '4.4.33.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '6ca476d4ac992802f2a4043929f68f1818449486', 'reference' => '567d29b1bc6e3937652054dafc069151d17824a9',
), ),
'symfony/polyfill-ctype' => 'symfony/polyfill-ctype' =>
array ( array (
@@ -557,21 +548,21 @@
), ),
'symfony/string' => 'symfony/string' =>
array ( array (
'pretty_version' => 'v5.3.3', 'pretty_version' => 'v5.3.10',
'version' => '5.3.3.0', 'version' => '5.3.10.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => 'bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1', 'reference' => 'd70c35bb20bbca71fc4ab7921e3c6bda1a82a60c',
), ),
'symfony/translation' => 'symfony/translation' =>
array ( array (
'pretty_version' => 'v5.3.7', 'pretty_version' => 'v5.3.10',
'version' => '5.3.7.0', 'version' => '5.3.10.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6', 'reference' => '6ef197aea2ac8b9cd63e0da7522b3771714035aa',
), ),
'symfony/translation-contracts' => 'symfony/translation-contracts' =>
array ( array (
@@ -591,12 +582,12 @@
), ),
'tysonandre/var_representation_polyfill' => 'tysonandre/var_representation_polyfill' =>
array ( array (
'pretty_version' => '0.0.2', 'pretty_version' => '0.1.1',
'version' => '0.0.2.0', 'version' => '0.1.1.0',
'aliases' => 'aliases' =>
array ( array (
), ),
'reference' => '3f17999ee1f257319ddc6721dd26ebbc5d175f33', 'reference' => '0a942e74e18af5514749895507bc6ca7ab96399a',
), ),
'vlucas/valitron' => 'vlucas/valitron' =>
array ( array (
+2 -2
View File
@@ -4,8 +4,8 @@
$issues = array(); $issues = array();
if (!(PHP_VERSION_ID >= 70300)) { if (!(PHP_VERSION_ID >= 70400)) {
$issues[] = 'Your Composer dependencies require a PHP version ">= 7.3.0". You are running ' . PHP_VERSION . '.'; $issues[] = 'Your Composer dependencies require a PHP version ">= 7.4.0". You are running ' . PHP_VERSION . '.';
} }
if ($issues) { if ($issues) {
+4
View File
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/). This project adheres to [Semantic Versioning](http://semver.org/).
### [3.2.6] 2021-10-25
* Fixed: type improvements to parseStability
### [3.2.5] 2021-05-24 ### [3.2.5] 2021-05-24
* Fixed: issue comparing disjunctive MultiConstraints to conjunctive ones (#127) * Fixed: issue comparing disjunctive MultiConstraints to conjunctive ones (#127)
+1
View File
@@ -47,6 +47,7 @@ class VersionParser
* @param string $version * @param string $version
* *
* @return string * @return string
* @phpstan-return 'stable'|'RC'|'beta'|'alpha'|'dev'
*/ */
public static function parseStability($version) public static function parseStability($version)
{ {
+2 -3
View File
@@ -3,6 +3,5 @@
Doctrine Inflector is a small library that can perform string manipulations Doctrine Inflector is a small library that can perform string manipulations
with regard to uppercase/lowercase and singular/plural forms of words. with regard to uppercase/lowercase and singular/plural forms of words.
[![Build Status](https://travis-ci.org/doctrine/inflector.svg)](https://travis-ci.org/doctrine/inflector) [![Build Status](https://github.com/doctrine/inflector/workflows/Continuous%20Integration/badge.svg)](https://github.com/doctrine/inflector/actions?query=workflow%3A%22Continuous+Integration%22+branch%3A4.0.x)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/doctrine/inflector/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/doctrine/inflector/?branch=master) [![Code Coverage](https://codecov.io/gh/doctrine/inflector/branch/2.0.x/graph/badge.svg)](https://codecov.io/gh/doctrine/inflector/branch/2.0.x)
[![Code Coverage](https://scrutinizer-ci.com/g/doctrine/inflector/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/doctrine/inflector/?branch=master)
+6 -10
View File
@@ -16,11 +16,12 @@
"php": "^7.2 || ^8.0" "php": "^7.2 || ^8.0"
}, },
"require-dev": { "require-dev": {
"doctrine/coding-standard": "^7.0", "doctrine/coding-standard": "^8.2",
"phpstan/phpstan": "^0.11", "phpstan/phpstan": "^0.12",
"phpstan/phpstan-phpunit": "^0.11", "phpstan/phpstan-phpunit": "^0.12",
"phpstan/phpstan-strict-rules": "^0.11", "phpstan/phpstan-strict-rules": "^0.12",
"phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0",
"vimeo/psalm": "^4.10"
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
@@ -31,10 +32,5 @@
"psr-4": { "psr-4": {
"Doctrine\\Tests\\Inflector\\": "tests/Doctrine/Tests/Inflector" "Doctrine\\Tests\\Inflector\\": "tests/Doctrine/Tests/Inflector"
} }
},
"extra": {
"branch-alias": {
"dev-master": "2.0.x-dev"
}
} }
} }
@@ -17,7 +17,7 @@ class CachedWordInflector implements WordInflector
$this->wordInflector = $wordInflector; $this->wordInflector = $wordInflector;
} }
public function inflect(string $word) : string public function inflect(string $word): string
{ {
return $this->cache[$word] ?? $this->cache[$word] = $this->wordInflector->inflect($word); return $this->cache[$word] ?? $this->cache[$word] = $this->wordInflector->inflect($word);
} }
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace Doctrine\Inflector; namespace Doctrine\Inflector;
use Doctrine\Inflector\Rules\Ruleset; use Doctrine\Inflector\Rules\Ruleset;
use function array_unshift; use function array_unshift;
abstract class GenericLanguageInflectorFactory implements LanguageInflectorFactory abstract class GenericLanguageInflectorFactory implements LanguageInflectorFactory
@@ -21,7 +22,7 @@ abstract class GenericLanguageInflectorFactory implements LanguageInflectorFacto
$this->pluralRulesets[] = $this->getPluralRuleset(); $this->pluralRulesets[] = $this->getPluralRuleset();
} }
final public function build() : Inflector final public function build(): Inflector
{ {
return new Inflector( return new Inflector(
new CachedWordInflector(new RulesetInflector( new CachedWordInflector(new RulesetInflector(
@@ -33,7 +34,7 @@ abstract class GenericLanguageInflectorFactory implements LanguageInflectorFacto
); );
} }
final public function withSingularRules(?Ruleset $singularRules, bool $reset = false) : LanguageInflectorFactory final public function withSingularRules(?Ruleset $singularRules, bool $reset = false): LanguageInflectorFactory
{ {
if ($reset) { if ($reset) {
$this->singularRulesets = []; $this->singularRulesets = [];
@@ -46,7 +47,7 @@ abstract class GenericLanguageInflectorFactory implements LanguageInflectorFacto
return $this; return $this;
} }
final public function withPluralRules(?Ruleset $pluralRules, bool $reset = false) : LanguageInflectorFactory final public function withPluralRules(?Ruleset $pluralRules, bool $reset = false): LanguageInflectorFactory
{ {
if ($reset) { if ($reset) {
$this->pluralRulesets = []; $this->pluralRulesets = [];
@@ -59,7 +60,7 @@ abstract class GenericLanguageInflectorFactory implements LanguageInflectorFacto
return $this; return $this;
} }
abstract protected function getSingularRuleset() : Ruleset; abstract protected function getSingularRuleset(): Ruleset;
abstract protected function getPluralRuleset() : Ruleset; abstract protected function getPluralRuleset(): Ruleset;
} }
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace Doctrine\Inflector; namespace Doctrine\Inflector;
use RuntimeException; use RuntimeException;
use function chr; use function chr;
use function function_exists; use function function_exists;
use function lcfirst; use function lcfirst;
@@ -228,7 +229,7 @@ class Inflector
/** /**
* Converts a word into the format for a Doctrine table name. Converts 'ModelName' to 'model_name'. * Converts a word into the format for a Doctrine table name. Converts 'ModelName' to 'model_name'.
*/ */
public function tableize(string $word) : string public function tableize(string $word): string
{ {
$tableized = preg_replace('~(?<=\\w)([A-Z])~u', '_$1', $word); $tableized = preg_replace('~(?<=\\w)([A-Z])~u', '_$1', $word);
@@ -245,7 +246,7 @@ class Inflector
/** /**
* Converts a word into the format for a Doctrine class name. Converts 'table_name' to 'TableName'. * Converts a word into the format for a Doctrine class name. Converts 'table_name' to 'TableName'.
*/ */
public function classify(string $word) : string public function classify(string $word): string
{ {
return str_replace([' ', '_', '-'], '', ucwords($word, ' _-')); return str_replace([' ', '_', '-'], '', ucwords($word, ' _-'));
} }
@@ -253,7 +254,7 @@ class Inflector
/** /**
* Camelizes a word. This uses the classify() method and turns the first character to lowercase. * Camelizes a word. This uses the classify() method and turns the first character to lowercase.
*/ */
public function camelize(string $word) : string public function camelize(string $word): string
{ {
return lcfirst($this->classify($word)); return lcfirst($this->classify($word));
} }
@@ -283,7 +284,7 @@ class Inflector
* *
* @return string The string with all delimiter-separated words capitalized. * @return string The string with all delimiter-separated words capitalized.
*/ */
public function capitalize(string $string, string $delimiters = " \n\t\r\0\x0B-") : string public function capitalize(string $string, string $delimiters = " \n\t\r\0\x0B-"): string
{ {
return ucwords($string, $delimiters); return ucwords($string, $delimiters);
} }
@@ -293,7 +294,7 @@ class Inflector
* *
* @param string $string The string to check for utf8 characters in. * @param string $string The string to check for utf8 characters in.
*/ */
public function seemsUtf8(string $string) : bool public function seemsUtf8(string $string): bool
{ {
for ($i = 0; $i < strlen($string); $i++) { for ($i = 0; $i < strlen($string); $i++) {
if (ord($string[$i]) < 0x80) { if (ord($string[$i]) < 0x80) {
@@ -331,7 +332,7 @@ class Inflector
* *
* @return string Unaccented string * @return string Unaccented string
*/ */
public function unaccent(string $string) : string public function unaccent(string $string): string
{ {
if (preg_match('/[\x80-\xff]/', $string) === false) { if (preg_match('/[\x80-\xff]/', $string) === false) {
return $string; return $string;
@@ -444,7 +445,7 @@ class Inflector
* *
* @return string Urlized string. * @return string Urlized string.
*/ */
public function urlize(string $string) : string public function urlize(string $string): string
{ {
// Remove all non url friendly characters with the unaccent function // Remove all non url friendly characters with the unaccent function
$unaccented = $this->unaccent($string); $unaccented = $this->unaccent($string);
@@ -487,7 +488,7 @@ class Inflector
* *
* @return string The word in singular form. * @return string The word in singular form.
*/ */
public function singularize(string $word) : string public function singularize(string $word): string
{ {
return $this->singularizer->inflect($word); return $this->singularizer->inflect($word);
} }
@@ -499,7 +500,7 @@ class Inflector
* *
* @return string The word in plural form. * @return string The word in plural form.
*/ */
public function pluralize(string $word) : string public function pluralize(string $word): string
{ {
return $this->pluralizer->inflect($word); return $this->pluralizer->inflect($word);
} }
@@ -11,30 +11,37 @@ use Doctrine\Inflector\Rules\Portuguese;
use Doctrine\Inflector\Rules\Spanish; use Doctrine\Inflector\Rules\Spanish;
use Doctrine\Inflector\Rules\Turkish; use Doctrine\Inflector\Rules\Turkish;
use InvalidArgumentException; use InvalidArgumentException;
use function sprintf; use function sprintf;
final class InflectorFactory final class InflectorFactory
{ {
public static function create() : LanguageInflectorFactory public static function create(): LanguageInflectorFactory
{ {
return self::createForLanguage(Language::ENGLISH); return self::createForLanguage(Language::ENGLISH);
} }
public static function createForLanguage(string $language) : LanguageInflectorFactory public static function createForLanguage(string $language): LanguageInflectorFactory
{ {
switch ($language) { switch ($language) {
case Language::ENGLISH: case Language::ENGLISH:
return new English\InflectorFactory(); return new English\InflectorFactory();
case Language::FRENCH: case Language::FRENCH:
return new French\InflectorFactory(); return new French\InflectorFactory();
case Language::NORWEGIAN_BOKMAL: case Language::NORWEGIAN_BOKMAL:
return new NorwegianBokmal\InflectorFactory(); return new NorwegianBokmal\InflectorFactory();
case Language::PORTUGUESE: case Language::PORTUGUESE:
return new Portuguese\InflectorFactory(); return new Portuguese\InflectorFactory();
case Language::SPANISH: case Language::SPANISH:
return new Spanish\InflectorFactory(); return new Spanish\InflectorFactory();
case Language::TURKISH: case Language::TURKISH:
return new Turkish\InflectorFactory(); return new Turkish\InflectorFactory();
default: default:
throw new InvalidArgumentException(sprintf( throw new InvalidArgumentException(sprintf(
'Language "%s" is not supported.', 'Language "%s" is not supported.',
@@ -15,7 +15,7 @@ interface LanguageInflectorFactory
* *
* @return $this * @return $this
*/ */
public function withSingularRules(?Ruleset $singularRules, bool $reset = false) : self; public function withSingularRules(?Ruleset $singularRules, bool $reset = false): self;
/** /**
* Applies custom rules for pluralisation * Applies custom rules for pluralisation
@@ -24,10 +24,10 @@ interface LanguageInflectorFactory
* *
* @return $this * @return $this
*/ */
public function withPluralRules(?Ruleset $pluralRules, bool $reset = false) : self; public function withPluralRules(?Ruleset $pluralRules, bool $reset = false): self;
/** /**
* Builds the inflector instance with all applicable rules * Builds the inflector instance with all applicable rules
*/ */
public function build() : Inflector; public function build(): Inflector;
} }
@@ -6,7 +6,7 @@ namespace Doctrine\Inflector;
class NoopWordInflector implements WordInflector class NoopWordInflector implements WordInflector
{ {
public function inflect(string $word) : string public function inflect(string $word): string
{ {
return $word; return $word;
} }
@@ -14,7 +14,7 @@ class Inflectible
/** /**
* @return Transformation[] * @return Transformation[]
*/ */
public static function getSingular() : iterable public static function getSingular(): iterable
{ {
yield new Transformation(new Pattern('(s)tatuses$'), '\1\2tatus'); yield new Transformation(new Pattern('(s)tatuses$'), '\1\2tatus');
yield new Transformation(new Pattern('(s)tatus$'), '\1\2tatus'); yield new Transformation(new Pattern('(s)tatus$'), '\1\2tatus');
@@ -62,7 +62,7 @@ class Inflectible
/** /**
* @return Transformation[] * @return Transformation[]
*/ */
public static function getPlural() : iterable public static function getPlural(): iterable
{ {
yield new Transformation(new Pattern('(s)tatus$'), '\1\2tatuses'); yield new Transformation(new Pattern('(s)tatus$'), '\1\2tatuses');
yield new Transformation(new Pattern('(quiz)$'), '\1zes'); yield new Transformation(new Pattern('(quiz)$'), '\1zes');
@@ -94,7 +94,7 @@ class Inflectible
/** /**
* @return Substitution[] * @return Substitution[]
*/ */
public static function getIrregular() : iterable public static function getIrregular(): iterable
{ {
yield new Substitution(new Word('atlas'), new Word('atlases')); yield new Substitution(new Word('atlas'), new Word('atlases'));
yield new Substitution(new Word('axe'), new Word('axes')); yield new Substitution(new Word('axe'), new Word('axes'));
@@ -9,12 +9,12 @@ use Doctrine\Inflector\Rules\Ruleset;
final class InflectorFactory extends GenericLanguageInflectorFactory final class InflectorFactory extends GenericLanguageInflectorFactory
{ {
protected function getSingularRuleset() : Ruleset protected function getSingularRuleset(): Ruleset
{ {
return Rules::getSingularRuleset(); return Rules::getSingularRuleset();
} }
protected function getPluralRuleset() : Ruleset protected function getPluralRuleset(): Ruleset
{ {
return Rules::getPluralRuleset(); return Rules::getPluralRuleset();
} }
@@ -11,7 +11,7 @@ use Doctrine\Inflector\Rules\Transformations;
final class Rules final class Rules
{ {
public static function getSingularRuleset() : Ruleset public static function getSingularRuleset(): Ruleset
{ {
return new Ruleset( return new Ruleset(
new Transformations(...Inflectible::getSingular()), new Transformations(...Inflectible::getSingular()),
@@ -20,7 +20,7 @@ final class Rules
); );
} }
public static function getPluralRuleset() : Ruleset public static function getPluralRuleset(): Ruleset
{ {
return new Ruleset( return new Ruleset(
new Transformations(...Inflectible::getPlural()), new Transformations(...Inflectible::getPlural()),
@@ -11,7 +11,7 @@ final class Uninflected
/** /**
* @return Pattern[] * @return Pattern[]
*/ */
public static function getSingular() : iterable public static function getSingular(): iterable
{ {
yield from self::getDefault(); yield from self::getDefault();
@@ -33,7 +33,7 @@ final class Uninflected
/** /**
* @return Pattern[] * @return Pattern[]
*/ */
public static function getPlural() : iterable public static function getPlural(): iterable
{ {
yield from self::getDefault(); yield from self::getDefault();
@@ -46,7 +46,7 @@ final class Uninflected
/** /**
* @return Pattern[] * @return Pattern[]
*/ */
private static function getDefault() : iterable private static function getDefault(): iterable
{ {
yield new Pattern('\w+media'); yield new Pattern('\w+media');
yield new Pattern('advice'); yield new Pattern('advice');
@@ -14,7 +14,7 @@ class Inflectible
/** /**
* @return Transformation[] * @return Transformation[]
*/ */
public static function getSingular() : iterable public static function getSingular(): iterable
{ {
yield new Transformation(new Pattern('/(b|cor|ém|gemm|soupir|trav|vant|vitr)aux$/'), '\1ail'); yield new Transformation(new Pattern('/(b|cor|ém|gemm|soupir|trav|vant|vitr)aux$/'), '\1ail');
yield new Transformation(new Pattern('/ails$/'), 'ail'); yield new Transformation(new Pattern('/ails$/'), 'ail');
@@ -26,21 +26,22 @@ class Inflectible
/** /**
* @return Transformation[] * @return Transformation[]
*/ */
public static function getPlural() : iterable public static function getPlural(): iterable
{ {
yield new Transformation(new Pattern('/(s|x|z)$/'), '\1'); yield new Transformation(new Pattern('/(s|x|z)$/'), '\1');
yield new Transformation(new Pattern('/(b|cor|ém|gemm|soupir|trav|vant|vitr)ail$/'), '\1aux'); yield new Transformation(new Pattern('/(b|cor|ém|gemm|soupir|trav|vant|vitr)ail$/'), '\1aux');
yield new Transformation(new Pattern('/ail$/'), 'ails'); yield new Transformation(new Pattern('/ail$/'), 'ails');
yield new Transformation(new Pattern('/(chacal|carnaval|festival|récital)$/'), '\1s');
yield new Transformation(new Pattern('/al$/'), 'aux'); yield new Transformation(new Pattern('/al$/'), 'aux');
yield new Transformation(new Pattern('/(bleu|émeu|landau|lieu|pneu|sarrau)$/'), '\1s'); yield new Transformation(new Pattern('/(bleu|émeu|landau|pneu|sarrau)$/'), '\1s');
yield new Transformation(new Pattern('/(bijou|caillou|chou|genou|hibou|joujou|pou|au|eu|eau)$/'), '\1x'); yield new Transformation(new Pattern('/(bijou|caillou|chou|genou|hibou|joujou|lieu|pou|au|eu|eau)$/'), '\1x');
yield new Transformation(new Pattern('/$/'), 's'); yield new Transformation(new Pattern('/$/'), 's');
} }
/** /**
* @return Substitution[] * @return Substitution[]
*/ */
public static function getIrregular() : iterable public static function getIrregular(): iterable
{ {
yield new Substitution(new Word('monsieur'), new Word('messieurs')); yield new Substitution(new Word('monsieur'), new Word('messieurs'));
yield new Substitution(new Word('madame'), new Word('mesdames')); yield new Substitution(new Word('madame'), new Word('mesdames'));
@@ -9,12 +9,12 @@ use Doctrine\Inflector\Rules\Ruleset;
final class InflectorFactory extends GenericLanguageInflectorFactory final class InflectorFactory extends GenericLanguageInflectorFactory
{ {
protected function getSingularRuleset() : Ruleset protected function getSingularRuleset(): Ruleset
{ {
return Rules::getSingularRuleset(); return Rules::getSingularRuleset();
} }
protected function getPluralRuleset() : Ruleset protected function getPluralRuleset(): Ruleset
{ {
return Rules::getPluralRuleset(); return Rules::getPluralRuleset();
} }
@@ -11,7 +11,7 @@ use Doctrine\Inflector\Rules\Transformations;
final class Rules final class Rules
{ {
public static function getSingularRuleset() : Ruleset public static function getSingularRuleset(): Ruleset
{ {
return new Ruleset( return new Ruleset(
new Transformations(...Inflectible::getSingular()), new Transformations(...Inflectible::getSingular()),
@@ -20,7 +20,7 @@ final class Rules
); );
} }
public static function getPluralRuleset() : Ruleset public static function getPluralRuleset(): Ruleset
{ {
return new Ruleset( return new Ruleset(
new Transformations(...Inflectible::getPlural()), new Transformations(...Inflectible::getPlural()),
@@ -11,7 +11,7 @@ final class Uninflected
/** /**
* @return Pattern[] * @return Pattern[]
*/ */
public static function getSingular() : iterable public static function getSingular(): iterable
{ {
yield from self::getDefault(); yield from self::getDefault();
} }
@@ -19,7 +19,7 @@ final class Uninflected
/** /**
* @return Pattern[] * @return Pattern[]
*/ */
public static function getPlural() : iterable public static function getPlural(): iterable
{ {
yield from self::getDefault(); yield from self::getDefault();
} }
@@ -27,7 +27,7 @@ final class Uninflected
/** /**
* @return Pattern[] * @return Pattern[]
*/ */
private static function getDefault() : iterable private static function getDefault(): iterable
{ {
yield new Pattern(''); yield new Pattern('');
} }
@@ -14,7 +14,7 @@ class Inflectible
/** /**
* @return Transformation[] * @return Transformation[]
*/ */
public static function getSingular() : iterable public static function getSingular(): iterable
{ {
yield new Transformation(new Pattern('/re$/i'), 'r'); yield new Transformation(new Pattern('/re$/i'), 'r');
yield new Transformation(new Pattern('/er$/i'), ''); yield new Transformation(new Pattern('/er$/i'), '');
@@ -23,7 +23,7 @@ class Inflectible
/** /**
* @return Transformation[] * @return Transformation[]
*/ */
public static function getPlural() : iterable public static function getPlural(): iterable
{ {
yield new Transformation(new Pattern('/e$/i'), 'er'); yield new Transformation(new Pattern('/e$/i'), 'er');
yield new Transformation(new Pattern('/r$/i'), 're'); yield new Transformation(new Pattern('/r$/i'), 're');
@@ -33,7 +33,7 @@ class Inflectible
/** /**
* @return Substitution[] * @return Substitution[]
*/ */
public static function getIrregular() : iterable public static function getIrregular(): iterable
{ {
yield new Substitution(new Word('konto'), new Word('konti')); yield new Substitution(new Word('konto'), new Word('konti'));
} }
@@ -9,12 +9,12 @@ use Doctrine\Inflector\Rules\Ruleset;
final class InflectorFactory extends GenericLanguageInflectorFactory final class InflectorFactory extends GenericLanguageInflectorFactory
{ {
protected function getSingularRuleset() : Ruleset protected function getSingularRuleset(): Ruleset
{ {
return Rules::getSingularRuleset(); return Rules::getSingularRuleset();
} }
protected function getPluralRuleset() : Ruleset protected function getPluralRuleset(): Ruleset
{ {
return Rules::getPluralRuleset(); return Rules::getPluralRuleset();
} }
@@ -11,7 +11,7 @@ use Doctrine\Inflector\Rules\Transformations;
final class Rules final class Rules
{ {
public static function getSingularRuleset() : Ruleset public static function getSingularRuleset(): Ruleset
{ {
return new Ruleset( return new Ruleset(
new Transformations(...Inflectible::getSingular()), new Transformations(...Inflectible::getSingular()),
@@ -20,7 +20,7 @@ final class Rules
); );
} }
public static function getPluralRuleset() : Ruleset public static function getPluralRuleset(): Ruleset
{ {
return new Ruleset( return new Ruleset(
new Transformations(...Inflectible::getPlural()), new Transformations(...Inflectible::getPlural()),
@@ -11,7 +11,7 @@ final class Uninflected
/** /**
* @return Pattern[] * @return Pattern[]
*/ */
public static function getSingular() : iterable public static function getSingular(): iterable
{ {
yield from self::getDefault(); yield from self::getDefault();
} }
@@ -19,7 +19,7 @@ final class Uninflected
/** /**
* @return Pattern[] * @return Pattern[]
*/ */
public static function getPlural() : iterable public static function getPlural(): iterable
{ {
yield from self::getDefault(); yield from self::getDefault();
} }
@@ -27,7 +27,7 @@ final class Uninflected
/** /**
* @return Pattern[] * @return Pattern[]
*/ */
private static function getDefault() : iterable private static function getDefault(): iterable
{ {
yield new Pattern('barn'); yield new Pattern('barn');
yield new Pattern('fjell'); yield new Pattern('fjell');
@@ -25,17 +25,17 @@ final class Pattern
} }
} }
public function getPattern() : string public function getPattern(): string
{ {
return $this->pattern; return $this->pattern;
} }
public function getRegex() : string public function getRegex(): string
{ {
return $this->regex; return $this->regex;
} }
public function matches(string $word) : bool public function matches(string $word): bool
{ {
return preg_match($this->getRegex(), $word) === 1; return preg_match($this->getRegex(), $word) === 1;
} }
@@ -20,14 +20,14 @@ class Patterns
{ {
$this->patterns = $patterns; $this->patterns = $patterns;
$patterns = array_map(static function (Pattern $pattern) : string { $patterns = array_map(static function (Pattern $pattern): string {
return $pattern->getPattern(); return $pattern->getPattern();
}, $this->patterns); }, $this->patterns);
$this->regex = '/^(?:' . implode('|', $patterns) . ')$/i'; $this->regex = '/^(?:' . implode('|', $patterns) . ')$/i';
} }
public function matches(string $word) : bool public function matches(string $word): bool
{ {
return preg_match($this->regex, $word, $regs) === 1; return preg_match($this->regex, $word, $regs) === 1;
} }
@@ -14,7 +14,7 @@ class Inflectible
/** /**
* @return Transformation[] * @return Transformation[]
*/ */
public static function getSingular() : iterable public static function getSingular(): iterable
{ {
yield new Transformation(new Pattern('/^(g|)ases$/i'), '\1ás'); yield new Transformation(new Pattern('/^(g|)ases$/i'), '\1ás');
yield new Transformation(new Pattern('/(japon|escoc|ingl|dinamarqu|fregu|portugu)eses$/i'), '\1ês'); yield new Transformation(new Pattern('/(japon|escoc|ingl|dinamarqu|fregu|portugu)eses$/i'), '\1ês');
@@ -37,7 +37,7 @@ class Inflectible
/** /**
* @return Transformation[] * @return Transformation[]
*/ */
public static function getPlural() : iterable public static function getPlural(): iterable
{ {
yield new Transformation(new Pattern('/^(alem|c|p)ao$/i'), '\1aes'); yield new Transformation(new Pattern('/^(alem|c|p)ao$/i'), '\1aes');
yield new Transformation(new Pattern('/^(irm|m)ao$/i'), '\1aos'); yield new Transformation(new Pattern('/^(irm|m)ao$/i'), '\1aos');
@@ -61,7 +61,7 @@ class Inflectible
/** /**
* @return Substitution[] * @return Substitution[]
*/ */
public static function getIrregular() : iterable public static function getIrregular(): iterable
{ {
yield new Substitution(new Word('abdomen'), new Word('abdomens')); yield new Substitution(new Word('abdomen'), new Word('abdomens'));
yield new Substitution(new Word('alemão'), new Word('alemães')); yield new Substitution(new Word('alemão'), new Word('alemães'));
@@ -9,12 +9,12 @@ use Doctrine\Inflector\Rules\Ruleset;
final class InflectorFactory extends GenericLanguageInflectorFactory final class InflectorFactory extends GenericLanguageInflectorFactory
{ {
protected function getSingularRuleset() : Ruleset protected function getSingularRuleset(): Ruleset
{ {
return Rules::getSingularRuleset(); return Rules::getSingularRuleset();
} }
protected function getPluralRuleset() : Ruleset protected function getPluralRuleset(): Ruleset
{ {
return Rules::getPluralRuleset(); return Rules::getPluralRuleset();
} }
@@ -11,7 +11,7 @@ use Doctrine\Inflector\Rules\Transformations;
final class Rules final class Rules
{ {
public static function getSingularRuleset() : Ruleset public static function getSingularRuleset(): Ruleset
{ {
return new Ruleset( return new Ruleset(
new Transformations(...Inflectible::getSingular()), new Transformations(...Inflectible::getSingular()),
@@ -20,7 +20,7 @@ final class Rules
); );
} }
public static function getPluralRuleset() : Ruleset public static function getPluralRuleset(): Ruleset
{ {
return new Ruleset( return new Ruleset(
new Transformations(...Inflectible::getPlural()), new Transformations(...Inflectible::getPlural()),
@@ -11,7 +11,7 @@ final class Uninflected
/** /**
* @return Pattern[] * @return Pattern[]
*/ */
public static function getSingular() : iterable public static function getSingular(): iterable
{ {
yield from self::getDefault(); yield from self::getDefault();
} }
@@ -19,7 +19,7 @@ final class Uninflected
/** /**
* @return Pattern[] * @return Pattern[]
*/ */
public static function getPlural() : iterable public static function getPlural(): iterable
{ {
yield from self::getDefault(); yield from self::getDefault();
} }
@@ -27,7 +27,7 @@ final class Uninflected
/** /**
* @return Pattern[] * @return Pattern[]
*/ */
private static function getDefault() : iterable private static function getDefault(): iterable
{ {
yield new Pattern('tórax'); yield new Pattern('tórax');
yield new Pattern('tênis'); yield new Pattern('tênis');
@@ -22,17 +22,17 @@ class Ruleset
$this->irregular = $irregular; $this->irregular = $irregular;
} }
public function getRegular() : Transformations public function getRegular(): Transformations
{ {
return $this->regular; return $this->regular;
} }
public function getUninflected() : Patterns public function getUninflected(): Patterns
{ {
return $this->uninflected; return $this->uninflected;
} }
public function getIrregular() : Substitutions public function getIrregular(): Substitutions
{ {
return $this->irregular; return $this->irregular;
} }
@@ -14,7 +14,7 @@ class Inflectible
/** /**
* @return Transformation[] * @return Transformation[]
*/ */
public static function getSingular() : iterable public static function getSingular(): iterable
{ {
yield new Transformation(new Pattern('/ereses$/'), 'erés'); yield new Transformation(new Pattern('/ereses$/'), 'erés');
yield new Transformation(new Pattern('/iones$/'), 'ión'); yield new Transformation(new Pattern('/iones$/'), 'ión');
@@ -26,7 +26,7 @@ class Inflectible
/** /**
* @return Transformation[] * @return Transformation[]
*/ */
public static function getPlural() : iterable public static function getPlural(): iterable
{ {
yield new Transformation(new Pattern('/ú([sn])$/i'), 'u\1es'); yield new Transformation(new Pattern('/ú([sn])$/i'), 'u\1es');
yield new Transformation(new Pattern('/ó([sn])$/i'), 'o\1es'); yield new Transformation(new Pattern('/ó([sn])$/i'), 'o\1es');
@@ -42,7 +42,7 @@ class Inflectible
/** /**
* @return Substitution[] * @return Substitution[]
*/ */
public static function getIrregular() : iterable public static function getIrregular(): iterable
{ {
yield new Substitution(new Word('el'), new Word('los')); yield new Substitution(new Word('el'), new Word('los'));
yield new Substitution(new Word('papá'), new Word('papás')); yield new Substitution(new Word('papá'), new Word('papás'));
@@ -9,12 +9,12 @@ use Doctrine\Inflector\Rules\Ruleset;
final class InflectorFactory extends GenericLanguageInflectorFactory final class InflectorFactory extends GenericLanguageInflectorFactory
{ {
protected function getSingularRuleset() : Ruleset protected function getSingularRuleset(): Ruleset
{ {
return Rules::getSingularRuleset(); return Rules::getSingularRuleset();
} }
protected function getPluralRuleset() : Ruleset protected function getPluralRuleset(): Ruleset
{ {
return Rules::getPluralRuleset(); return Rules::getPluralRuleset();
} }
@@ -11,7 +11,7 @@ use Doctrine\Inflector\Rules\Transformations;
final class Rules final class Rules
{ {
public static function getSingularRuleset() : Ruleset public static function getSingularRuleset(): Ruleset
{ {
return new Ruleset( return new Ruleset(
new Transformations(...Inflectible::getSingular()), new Transformations(...Inflectible::getSingular()),
@@ -20,7 +20,7 @@ final class Rules
); );
} }
public static function getPluralRuleset() : Ruleset public static function getPluralRuleset(): Ruleset
{ {
return new Ruleset( return new Ruleset(
new Transformations(...Inflectible::getPlural()), new Transformations(...Inflectible::getPlural()),
@@ -11,7 +11,7 @@ final class Uninflected
/** /**
* @return Pattern[] * @return Pattern[]
*/ */
public static function getSingular() : iterable public static function getSingular(): iterable
{ {
yield from self::getDefault(); yield from self::getDefault();
} }
@@ -19,7 +19,7 @@ final class Uninflected
/** /**
* @return Pattern[] * @return Pattern[]
*/ */
public static function getPlural() : iterable public static function getPlural(): iterable
{ {
yield from self::getDefault(); yield from self::getDefault();
} }
@@ -27,7 +27,7 @@ final class Uninflected
/** /**
* @return Pattern[] * @return Pattern[]
*/ */
private static function getDefault() : iterable private static function getDefault(): iterable
{ {
yield new Pattern('lunes'); yield new Pattern('lunes');
yield new Pattern('rompecabezas'); yield new Pattern('rompecabezas');
@@ -18,12 +18,12 @@ final class Substitution
$this->to = $to; $this->to = $to;
} }
public function getFrom() : Word public function getFrom(): Word
{ {
return $this->from; return $this->from;
} }
public function getTo() : Word public function getTo(): Word
{ {
return $this->to; return $this->to;
} }
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace Doctrine\Inflector\Rules; namespace Doctrine\Inflector\Rules;
use Doctrine\Inflector\WordInflector; use Doctrine\Inflector\WordInflector;
use function strtolower; use function strtolower;
use function strtoupper; use function strtoupper;
use function substr; use function substr;
@@ -21,7 +22,7 @@ class Substitutions implements WordInflector
} }
} }
public function getFlippedSubstitutions() : Substitutions public function getFlippedSubstitutions(): Substitutions
{ {
$substitutions = []; $substitutions = [];
@@ -35,7 +36,7 @@ class Substitutions implements WordInflector
return new Substitutions(...$substitutions); return new Substitutions(...$substitutions);
} }
public function inflect(string $word) : string public function inflect(string $word): string
{ {
$lowerWord = strtolower($word); $lowerWord = strtolower($word);
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace Doctrine\Inflector\Rules; namespace Doctrine\Inflector\Rules;
use Doctrine\Inflector\WordInflector; use Doctrine\Inflector\WordInflector;
use function preg_replace; use function preg_replace;
final class Transformation implements WordInflector final class Transformation implements WordInflector
@@ -21,17 +22,17 @@ final class Transformation implements WordInflector
$this->replacement = $replacement; $this->replacement = $replacement;
} }
public function getPattern() : Pattern public function getPattern(): Pattern
{ {
return $this->pattern; return $this->pattern;
} }
public function getReplacement() : string public function getReplacement(): string
{ {
return $this->replacement; return $this->replacement;
} }
public function inflect(string $word) : string public function inflect(string $word): string
{ {
return (string) preg_replace($this->pattern->getRegex(), $this->replacement, $word); return (string) preg_replace($this->pattern->getRegex(), $this->replacement, $word);
} }
@@ -16,7 +16,7 @@ class Transformations implements WordInflector
$this->transformations = $transformations; $this->transformations = $transformations;
} }
public function inflect(string $word) : string public function inflect(string $word): string
{ {
foreach ($this->transformations as $transformation) { foreach ($this->transformations as $transformation) {
if ($transformation->getPattern()->matches($word)) { if ($transformation->getPattern()->matches($word)) {
@@ -14,7 +14,7 @@ class Inflectible
/** /**
* @return Transformation[] * @return Transformation[]
*/ */
public static function getSingular() : iterable public static function getSingular(): iterable
{ {
yield new Transformation(new Pattern('/l[ae]r$/i'), ''); yield new Transformation(new Pattern('/l[ae]r$/i'), '');
} }
@@ -22,7 +22,7 @@ class Inflectible
/** /**
* @return Transformation[] * @return Transformation[]
*/ */
public static function getPlural() : iterable public static function getPlural(): iterable
{ {
yield new Transformation(new Pattern('/([eöiü][^aoıueöiü]{0,6})$/u'), '\1ler'); yield new Transformation(new Pattern('/([eöiü][^aoıueöiü]{0,6})$/u'), '\1ler');
yield new Transformation(new Pattern('/([aoıu][^aoıueöiü]{0,6})$/u'), '\1lar'); yield new Transformation(new Pattern('/([aoıu][^aoıueöiü]{0,6})$/u'), '\1lar');
@@ -31,7 +31,7 @@ class Inflectible
/** /**
* @return Substitution[] * @return Substitution[]
*/ */
public static function getIrregular() : iterable public static function getIrregular(): iterable
{ {
yield new Substitution(new Word('ben'), new Word('biz')); yield new Substitution(new Word('ben'), new Word('biz'));
yield new Substitution(new Word('sen'), new Word('siz')); yield new Substitution(new Word('sen'), new Word('siz'));
@@ -9,12 +9,12 @@ use Doctrine\Inflector\Rules\Ruleset;
final class InflectorFactory extends GenericLanguageInflectorFactory final class InflectorFactory extends GenericLanguageInflectorFactory
{ {
protected function getSingularRuleset() : Ruleset protected function getSingularRuleset(): Ruleset
{ {
return Rules::getSingularRuleset(); return Rules::getSingularRuleset();
} }
protected function getPluralRuleset() : Ruleset protected function getPluralRuleset(): Ruleset
{ {
return Rules::getPluralRuleset(); return Rules::getPluralRuleset();
} }
@@ -11,7 +11,7 @@ use Doctrine\Inflector\Rules\Transformations;
final class Rules final class Rules
{ {
public static function getSingularRuleset() : Ruleset public static function getSingularRuleset(): Ruleset
{ {
return new Ruleset( return new Ruleset(
new Transformations(...Inflectible::getSingular()), new Transformations(...Inflectible::getSingular()),
@@ -20,7 +20,7 @@ final class Rules
); );
} }
public static function getPluralRuleset() : Ruleset public static function getPluralRuleset(): Ruleset
{ {
return new Ruleset( return new Ruleset(
new Transformations(...Inflectible::getPlural()), new Transformations(...Inflectible::getPlural()),
@@ -11,7 +11,7 @@ final class Uninflected
/** /**
* @return Pattern[] * @return Pattern[]
*/ */
public static function getSingular() : iterable public static function getSingular(): iterable
{ {
yield from self::getDefault(); yield from self::getDefault();
} }
@@ -19,7 +19,7 @@ final class Uninflected
/** /**
* @return Pattern[] * @return Pattern[]
*/ */
public static function getPlural() : iterable public static function getPlural(): iterable
{ {
yield from self::getDefault(); yield from self::getDefault();
} }
@@ -27,7 +27,7 @@ final class Uninflected
/** /**
* @return Pattern[] * @return Pattern[]
*/ */
private static function getDefault() : iterable private static function getDefault(): iterable
{ {
yield new Pattern('lunes'); yield new Pattern('lunes');
yield new Pattern('rompecabezas'); yield new Pattern('rompecabezas');
@@ -14,7 +14,7 @@ class Word
$this->word = $word; $this->word = $word;
} }
public function getWord() : string public function getWord(): string
{ {
return $this->word; return $this->word;
} }
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace Doctrine\Inflector; namespace Doctrine\Inflector;
use Doctrine\Inflector\Rules\Ruleset; use Doctrine\Inflector\Rules\Ruleset;
use function array_merge; use function array_merge;
/** /**
@@ -26,7 +27,7 @@ class RulesetInflector implements WordInflector
$this->rulesets = array_merge([$ruleset], $rulesets); $this->rulesets = array_merge([$ruleset], $rulesets);
} }
public function inflect(string $word) : string public function inflect(string $word): string
{ {
if ($word === '') { if ($word === '') {
return ''; return '';
@@ -6,5 +6,5 @@ namespace Doctrine\Inflector;
interface WordInflector interface WordInflector
{ {
public function inflect(string $word) : string; public function inflect(string $word): string;
} }
+15
View File
@@ -0,0 +1,15 @@
<?xml version="1.0"?>
<psalm
errorLevel="7"
resolveFromConfigFile="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="https://getpsalm.org/schema/config"
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
>
<projectFiles>
<directory name="lib/Doctrine/Inflector" />
<ignoreFiles>
<directory name="vendor" />
</ignoreFiles>
</projectFiles>
</psalm>
+19
View File
@@ -1,7 +1,26 @@
# CHANGELOG # CHANGELOG
## 1.5.1 - 2021-10-22
### Fixed
- Revert "Call handler when waiting on fulfilled/rejected Promise"
- Fix pool memory leak when empty array of promises provided
## 1.5.0 - 2021-10-07
### Changed
- Call handler when waiting on fulfilled/rejected Promise
### Fixed
- Fix manually settle promises generated with Utils::task
## 1.4.1 - 2021-02-18 ## 1.4.1 - 2021-02-18
### Fixed
- Fixed `each_limit` skipping promises and failing - Fixed `each_limit` skipping promises and failing
## 1.4.0 - 2020-09-30 ## 1.4.0 - 2020-09-30
+6 -1
View File
@@ -1,4 +1,9 @@
Copyright (c) 2015-2016 Michael Dowling, https://github.com/mtdowling <mtdowling@gmail.com> The MIT License (MIT)
Copyright (c) 2015 Michael Dowling <mtdowling@gmail.com>
Copyright (c) 2015 Graham Campbell <hello@gjcampbell.co.uk>
Copyright (c) 2017 Tobias Schultze <webmaster@tubo-world.de>
Copyright (c) 2020 Tobias Nyholm <tobias.nyholm@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal
+15
View File
@@ -530,3 +530,18 @@ A static API was first introduced in 1.4.0, in order to mitigate problems with f
| `is_rejected` | `Is::rejected` | | `is_rejected` | `Is::rejected` |
| `is_settled` | `Is::settled` | | `is_settled` | `Is::settled` |
| `coroutine` | `Coroutine::of` | | `coroutine` | `Coroutine::of` |
## Security
If you discover a security vulnerability within this package, please send an email to security@tidelift.com. All security vulnerabilities will be promptly addressed. Please do not disclose security-related issues publicly until a fix has been announced. Please see [Security Policy](https://github.com/guzzle/promises/security/policy) for more information.
## License
Guzzle is made available under the MIT License (MIT). Please see [License File](LICENSE) for more information.
## For Enterprise
Available as part of the Tidelift Subscription
The maintainers of Guzzle and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/packagist-guzzlehttp-promises?utm_source=packagist-guzzlehttp-promises&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
+20 -1
View File
@@ -4,10 +4,25 @@
"keywords": ["promise"], "keywords": ["promise"],
"license": "MIT", "license": "MIT",
"authors": [ "authors": [
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https://github.com/GrahamCampbell"
},
{ {
"name": "Michael Dowling", "name": "Michael Dowling",
"email": "mtdowling@gmail.com", "email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling" "homepage": "https://github.com/mtdowling"
},
{
"name": "Tobias Nyholm",
"email": "tobias.nyholm@gmail.com",
"homepage": "https://github.com/Nyholm"
},
{
"name": "Tobias Schultze",
"email": "webmaster@tubo-world.de",
"homepage": "https://github.com/Tobion"
} }
], ],
"require": { "require": {
@@ -33,7 +48,11 @@
}, },
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.4-dev" "dev-master": "1.5-dev"
} }
},
"config": {
"preferred-install": "dist",
"sort-packages": true
} }
} }
+4 -3
View File
@@ -79,9 +79,7 @@ class EachPromise implements PromisorInterface
$this->createPromise(); $this->createPromise();
/** @psalm-assert Promise $this->aggregate */ /** @psalm-assert Promise $this->aggregate */
$this->iterable->rewind(); $this->iterable->rewind();
if (!$this->checkIfFinished()) { $this->refillPending();
$this->refillPending();
}
} catch (\Throwable $e) { } catch (\Throwable $e) {
/** /**
* @psalm-suppress NullReference * @psalm-suppress NullReference
@@ -107,6 +105,9 @@ class EachPromise implements PromisorInterface
{ {
$this->mutex = false; $this->mutex = false;
$this->aggregate = new Promise(function () { $this->aggregate = new Promise(function () {
if ($this->checkIfFinished()) {
return;
}
reset($this->pending); reset($this->pending);
// Consume a potentially fluctuating list of promises while // Consume a potentially fluctuating list of promises while
// ensuring that indexes are maintained (precluding array_shift). // ensuring that indexes are maintained (precluding array_shift).
+3 -1
View File
@@ -48,7 +48,9 @@ final class Utils
$promise = new Promise([$queue, 'run']); $promise = new Promise([$queue, 'run']);
$queue->add(function () use ($task, $promise) { $queue->add(function () use ($task, $promise) {
try { try {
$promise->resolve($task()); if (Is::pending($promise)) {
$promise->resolve($task());
}
} catch (\Throwable $e) { } catch (\Throwable $e) {
$promise->reject($e); $promise->reject($e);
} catch (\Exception $e) { } catch (\Exception $e) {
+2
View File
@@ -0,0 +1,2 @@
github: [Nyholm, GrahamCampbell]
tidelift: "packagist/guzzlehttp/psr7"
+14
View File
@@ -0,0 +1,14 @@
daysUntilStale: 120
daysUntilClose: 14
exemptLabels:
- lifecycle/keep-open
- lifecycle/ready-for-merge
# Label to use when marking an issue as stale
staleLabel: lifecycle/stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed after 2 weeks if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false
-16
View File
@@ -1,16 +0,0 @@
name: BC Check
on:
pull_request:
jobs:
roave-bc-check:
name: Roave BC Check
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Roave BC Check
uses: docker://nyholm/roave-bc-check-ga
+6 -2
View File
@@ -10,7 +10,7 @@ jobs:
strategy: strategy:
max-parallel: 10 max-parallel: 10
matrix: matrix:
php: ['5.6', '7.0', '7.1', '7.2', '7.3', '7.4'] php: ['5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1']
steps: steps:
- name: Set up PHP - name: Set up PHP
@@ -23,8 +23,12 @@ jobs:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v2 uses: actions/checkout@v2
- name: Mimic PHP 8.0
run: composer config platform.php 8.0.999
if: matrix.php > 8
- name: Install dependencies - name: Install dependencies
run: composer update --no-interaction --no-progress --prefer-dist run: composer update --no-interaction --no-progress
- name: Run tests - name: Run tests
run: make test run: make test
+1 -1
View File
@@ -26,7 +26,7 @@ jobs:
- name: Download dependencies - name: Download dependencies
uses: ramsey/composer-install@v1 uses: ramsey/composer-install@v1
with: with:
composer-options: --no-interaction --prefer-dist --optimize-autoloader composer-options: --no-interaction --optimize-autoloader
- name: Start server - name: Start server
run: php -S 127.0.0.1:10002 tests/Integration/server.php & run: php -S 127.0.0.1:10002 tests/Integration/server.php &
+6
View File
@@ -9,6 +9,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
## Unreleased ## Unreleased
## 1.8.3 - 2021-10-05
### Fixed
- Return `null` in caching stream size if remote size is `null`
## 1.8.2 - 2021-04-26 ## 1.8.2 - 2021-04-26
### Fixed ### Fixed
+8 -1
View File
@@ -1,4 +1,11 @@
Copyright (c) 2015 Michael Dowling, https://github.com/mtdowling <mtdowling@gmail.com> The MIT License (MIT)
Copyright (c) 2015 Michael Dowling <mtdowling@gmail.com>
Copyright (c) 2015 Márk Sági-Kazár <mark.sagikazar@gmail.com>
Copyright (c) 2015 Graham Campbell <hello@gjcampbell.co.uk>
Copyright (c) 2016 Tobias Schultze <webmaster@tubo-world.de>
Copyright (c) 2016 George Mponos <gmponos@gmail.com>
Copyright (c) 2018 Tobias Nyholm <tobias.nyholm@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal
+15
View File
@@ -807,3 +807,18 @@ Whether two URIs can be considered equivalent. Both URIs are normalized automati
`$normalizations` bitmask. The method also accepts relative URI references and returns true when they are equivalent. `$normalizations` bitmask. The method also accepts relative URI references and returns true when they are equivalent.
This of course assumes they will be resolved against the same base URI. If this is not the case, determination of This of course assumes they will be resolved against the same base URI. If this is not the case, determination of
equivalence or difference of relative references does not mean anything. equivalence or difference of relative references does not mean anything.
## Security
If you discover a security vulnerability within this package, please send an email to security@tidelift.com. All security vulnerabilities will be promptly addressed. Please do not disclose security-related issues publicly until a fix has been announced. Please see [Security Policy](https://github.com/guzzle/psr7/security/policy) for more information.
## License
Guzzle is made available under the MIT License (MIT). Please see [License File](LICENSE) for more information.
## For Enterprise
Available as part of the Tidelift Subscription
The maintainers of Guzzle and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/packagist-guzzlehttp-psr7?utm_source=packagist-guzzlehttp-psr7&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
+25 -1
View File
@@ -1,17 +1,37 @@
{ {
"name": "guzzlehttp/psr7", "name": "guzzlehttp/psr7",
"type": "library",
"description": "PSR-7 message implementation that also provides common utility methods", "description": "PSR-7 message implementation that also provides common utility methods",
"keywords": ["request", "response", "message", "stream", "http", "uri", "url", "psr-7"], "keywords": ["request", "response", "message", "stream", "http", "uri", "url", "psr-7"],
"license": "MIT", "license": "MIT",
"authors": [ "authors": [
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https://github.com/GrahamCampbell"
},
{ {
"name": "Michael Dowling", "name": "Michael Dowling",
"email": "mtdowling@gmail.com", "email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling" "homepage": "https://github.com/mtdowling"
}, },
{
"name": "George Mponos",
"email": "gmponos@gmail.com",
"homepage": "https://github.com/gmponos"
},
{
"name": "Tobias Nyholm",
"email": "tobias.nyholm@gmail.com",
"homepage": "https://github.com/Nyholm"
},
{
"name": "Márk Sági-Kazár",
"email": "mark.sagikazar@gmail.com",
"homepage": "https://github.com/sagikazarmark"
},
{ {
"name": "Tobias Schultze", "name": "Tobias Schultze",
"email": "webmaster@tubo-world.de",
"homepage": "https://github.com/Tobion" "homepage": "https://github.com/Tobion"
} }
], ],
@@ -45,5 +65,9 @@
"branch-alias": { "branch-alias": {
"dev-master": "1.7-dev" "dev-master": "1.7-dev"
} }
},
"config": {
"preferred-install": "dist",
"sort-packages": true
} }
} }
+7 -1
View File
@@ -36,7 +36,13 @@ class CachingStream implements StreamInterface
public function getSize() public function getSize()
{ {
return max($this->stream->getSize(), $this->remoteStream->getSize()); $remoteSize = $this->remoteStream->getSize();
if (null === $remoteSize) {
return null;
}
return max($this->stream->getSize(), $remoteSize);
} }
public function rewind() public function rewind()
+2 -5
View File
@@ -7,7 +7,6 @@ use Closure;
use Illuminate\Contracts\Queue\Factory as QueueFactory; use Illuminate\Contracts\Queue\Factory as QueueFactory;
use Illuminate\Contracts\Support\Arrayable; use Illuminate\Contracts\Support\Arrayable;
use Illuminate\Queue\CallQueuedClosure; use Illuminate\Queue\CallQueuedClosure;
use Illuminate\Queue\SerializableClosure;
use Illuminate\Support\Arr; use Illuminate\Support\Arr;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
use JsonSerializable; use JsonSerializable;
@@ -420,7 +419,7 @@ class Batch implements Arrayable, JsonSerializable
/** /**
* Invoke a batch callback handler. * Invoke a batch callback handler.
* *
* @param \Illuminate\Queue\SerializableClosure|callable $handler * @param callable $handler
* @param \Illuminate\Bus\Batch $batch * @param \Illuminate\Bus\Batch $batch
* @param \Throwable|null $e * @param \Throwable|null $e
* @return void * @return void
@@ -428,9 +427,7 @@ class Batch implements Arrayable, JsonSerializable
protected function invokeHandlerCallback($handler, Batch $batch, Throwable $e = null) protected function invokeHandlerCallback($handler, Batch $batch, Throwable $e = null)
{ {
try { try {
return $handler instanceof SerializableClosure return $handler($batch, $e);
? $handler->__invoke($batch, $e)
: call_user_func($handler, $batch, $e);
} catch (Throwable $e) { } catch (Throwable $e) {
if (function_exists('report')) { if (function_exists('report')) {
report($e); report($e);
+4 -4
View File
@@ -6,7 +6,7 @@ use Closure;
use Illuminate\Bus\Events\BatchDispatched; use Illuminate\Bus\Events\BatchDispatched;
use Illuminate\Contracts\Container\Container; use Illuminate\Contracts\Container\Container;
use Illuminate\Contracts\Events\Dispatcher as EventDispatcher; use Illuminate\Contracts\Events\Dispatcher as EventDispatcher;
use Illuminate\Queue\SerializableClosure; use Illuminate\Queue\SerializableClosureFactory;
use Illuminate\Support\Arr; use Illuminate\Support\Arr;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
use Throwable; use Throwable;
@@ -78,7 +78,7 @@ class PendingBatch
public function then($callback) public function then($callback)
{ {
$this->options['then'][] = $callback instanceof Closure $this->options['then'][] = $callback instanceof Closure
? new SerializableClosure($callback) ? SerializableClosureFactory::make($callback)
: $callback; : $callback;
return $this; return $this;
@@ -103,7 +103,7 @@ class PendingBatch
public function catch($callback) public function catch($callback)
{ {
$this->options['catch'][] = $callback instanceof Closure $this->options['catch'][] = $callback instanceof Closure
? new SerializableClosure($callback) ? SerializableClosureFactory::make($callback)
: $callback; : $callback;
return $this; return $this;
@@ -128,7 +128,7 @@ class PendingBatch
public function finally($callback) public function finally($callback)
{ {
$this->options['finally'][] = $callback instanceof Closure $this->options['finally'][] = $callback instanceof Closure
? new SerializableClosure($callback) ? SerializableClosureFactory::make($callback)
: $callback; : $callback;
return $this; return $this;
+1 -2
View File
@@ -4,7 +4,6 @@ namespace Illuminate\Bus;
use Closure; use Closure;
use Illuminate\Queue\CallQueuedClosure; use Illuminate\Queue\CallQueuedClosure;
use Illuminate\Queue\SerializableClosure;
use Illuminate\Support\Arr; use Illuminate\Support\Arr;
use RuntimeException; use RuntimeException;
@@ -245,7 +244,7 @@ trait Queueable
public function invokeChainCatchCallbacks($e) public function invokeChainCatchCallbacks($e)
{ {
collect($this->chainCatchCallbacks)->each(function ($callback) use ($e) { collect($this->chainCatchCallbacks)->each(function ($callback) use ($e) {
$callback instanceof SerializableClosure ? $callback->__invoke($e) : call_user_func($callback, $e); $callback($e);
}); });
} }
} }
+48
View File
@@ -0,0 +1,48 @@
<?php
namespace Illuminate\Bus;
use Illuminate\Contracts\Cache\Repository as Cache;
class UniqueLock
{
/**
* The cache repository implementation.
*
* @var \Illuminate\Contracts\Cache\Repository
*/
protected $cache;
/**
* Create a new unique lock manager instance.
*
* @param \Illuminate\Contracts\Cache\Repository $cache
* @return void
*/
public function __construct(Cache $cache)
{
$this->cache = $cache;
}
/**
* Attempt to acquire a lock for the given job.
*
* @param mixed $job
* @return bool
*/
public function acquire($job)
{
$uniqueId = method_exists($job, 'uniqueId')
? $job->uniqueId()
: ($job->uniqueId ?? '');
$cache = method_exists($job, 'uniqueVia')
? $job->uniqueVia()
: $this->cache;
return (bool) $cache->lock(
$key = 'laravel_unique_job:'.get_class($job).$uniqueId,
$job->uniqueFor ?? 0
)->get();
}
}
+13
View File
@@ -393,6 +393,19 @@ class Arr
return array_keys($keys) !== $keys; return array_keys($keys) !== $keys;
} }
/**
* Determines if an array is a list.
*
* An array is a "list" if all array keys are sequential integers starting from 0 with no gaps in between.
*
* @param array $array
* @return bool
*/
public static function isList($array)
{
return ! self::isAssoc($array);
}
/** /**
* Get a subset of the items from the given array. * Get a subset of the items from the given array.
* *
+47 -1
View File
@@ -4,11 +4,12 @@ namespace Illuminate\Support;
use ArrayAccess; use ArrayAccess;
use ArrayIterator; use ArrayIterator;
use Illuminate\Contracts\Support\CanBeEscapedWhenCastToString;
use Illuminate\Support\Traits\EnumeratesValues; use Illuminate\Support\Traits\EnumeratesValues;
use Illuminate\Support\Traits\Macroable; use Illuminate\Support\Traits\Macroable;
use stdClass; use stdClass;
class Collection implements ArrayAccess, Enumerable class Collection implements ArrayAccess, CanBeEscapedWhenCastToString, Enumerable
{ {
use EnumeratesValues, Macroable; use EnumeratesValues, Macroable;
@@ -501,6 +502,29 @@ class Collection implements ArrayAccess, Enumerable
return true; return true;
} }
/**
* Determine if any of the keys exist in the collection.
*
* @param mixed $key
* @return bool
*/
public function hasAny($key)
{
if ($this->isEmpty()) {
return false;
}
$keys = is_array($key) ? $key : func_get_args();
foreach ($keys as $value) {
if ($this->has($value)) {
return true;
}
}
return false;
}
/** /**
* Concatenate values of a given key as a string. * Concatenate values of a given key as a string.
* *
@@ -1411,6 +1435,28 @@ class Collection implements ArrayAccess, Enumerable
return $this; return $this;
} }
/**
* Return only unique items from the collection array.
*
* @param string|callable|null $key
* @param bool $strict
* @return static
*/
public function unique($key = null, $strict = false)
{
$callback = $this->valueRetriever($key);
$exists = [];
return $this->reject(function ($item, $key) use ($callback, $strict, &$exists) {
if (in_array($id = $callback($item, $key), $exists, $strict)) {
return true;
}
$exists[] = $id;
});
}
/** /**
* Reset the keys on the underlying array. * Reset the keys on the underlying array.
* *
+45 -1
View File
@@ -5,12 +5,13 @@ namespace Illuminate\Support;
use ArrayIterator; use ArrayIterator;
use Closure; use Closure;
use DateTimeInterface; use DateTimeInterface;
use Illuminate\Contracts\Support\CanBeEscapedWhenCastToString;
use Illuminate\Support\Traits\EnumeratesValues; use Illuminate\Support\Traits\EnumeratesValues;
use Illuminate\Support\Traits\Macroable; use Illuminate\Support\Traits\Macroable;
use IteratorAggregate; use IteratorAggregate;
use stdClass; use stdClass;
class LazyCollection implements Enumerable class LazyCollection implements CanBeEscapedWhenCastToString, Enumerable
{ {
use EnumeratesValues, Macroable; use EnumeratesValues, Macroable;
@@ -512,6 +513,25 @@ class LazyCollection implements Enumerable
return false; return false;
} }
/**
* Determine if any of the keys exist in the collection.
*
* @param mixed $key
* @return bool
*/
public function hasAny($key)
{
$keys = array_flip(is_array($key) ? $key : func_get_args());
foreach ($this as $key => $value) {
if (array_key_exists($key, $keys)) {
return true;
}
}
return false;
}
/** /**
* Concatenate values of a given key as a string. * Concatenate values of a given key as a string.
* *
@@ -1352,6 +1372,30 @@ class LazyCollection implements Enumerable
}); });
} }
/**
* Return only unique items from the collection array.
*
* @param string|callable|null $key
* @param bool $strict
* @return static
*/
public function unique($key = null, $strict = false)
{
$callback = $this->valueRetriever($key);
return new static(function () use ($callback, $strict) {
$exists = [];
foreach ($this as $key => $item) {
if (! in_array($id = $callback($item, $key), $exists, $strict)) {
yield $key => $item;
$exists[] = $id;
}
}
});
}
/** /**
* Reset the keys on the underlying array. * Reset the keys on the underlying array.
* *
+67 -23
View File
@@ -15,6 +15,7 @@ use Illuminate\Support\HigherOrderWhenProxy;
use JsonSerializable; use JsonSerializable;
use Symfony\Component\VarDumper\VarDumper; use Symfony\Component\VarDumper\VarDumper;
use Traversable; use Traversable;
use UnexpectedValueException;
/** /**
* @property-read HigherOrderCollectionProxy $average * @property-read HigherOrderCollectionProxy $average
@@ -45,6 +46,13 @@ use Traversable;
*/ */
trait EnumeratesValues trait EnumeratesValues
{ {
/**
* Indicates that the object's string representation should be escaped when __toString is invoked.
*
* @var bool
*/
protected $escapeWhenCastingToString = false;
/** /**
* The methods that can be proxied. * The methods that can be proxied.
* *
@@ -744,6 +752,49 @@ trait EnumeratesValues
return $result; return $result;
} }
/**
* Reduce the collection to multiple aggregate values.
*
* @param callable $callback
* @param mixed ...$initial
* @return array
*
* @deprecated Use "reduceSpread" instead
*
* @throws \UnexpectedValueException
*/
public function reduceMany(callable $callback, ...$initial)
{
return $this->reduceSpread($callback, ...$initial);
}
/**
* Reduce the collection to multiple aggregate values.
*
* @param callable $callback
* @param mixed ...$initial
* @return array
*
* @throws \UnexpectedValueException
*/
public function reduceSpread(callable $callback, ...$initial)
{
$result = $initial;
foreach ($this as $key => $value) {
$result = call_user_func_array($callback, array_merge($result, [$value, $key]));
if (! is_array($result)) {
throw new UnexpectedValueException(sprintf(
"%s::reduceMany expects reducer to return an array, but got a '%s' instead.",
class_basename(static::class), gettype($result)
));
}
}
return $result;
}
/** /**
* Reduce an associative collection to a single value. * Reduce an associative collection to a single value.
* *
@@ -773,28 +824,6 @@ trait EnumeratesValues
}); });
} }
/**
* Return only unique items from the collection array.
*
* @param string|callable|null $key
* @param bool $strict
* @return static
*/
public function unique($key = null, $strict = false)
{
$callback = $this->valueRetriever($key);
$exists = [];
return $this->reject(function ($item, $key) use ($callback, $strict, &$exists) {
if (in_array($id = $callback($item, $key), $exists, $strict)) {
return true;
}
$exists[] = $id;
});
}
/** /**
* Return only unique items from the collection array using strict comparison. * Return only unique items from the collection array using strict comparison.
* *
@@ -878,7 +907,22 @@ trait EnumeratesValues
*/ */
public function __toString() public function __toString()
{ {
return $this->toJson(); return $this->escapeWhenCastingToString
? e($this->toJson())
: $this->toJson();
}
/**
* Indicate that the model's string representation should be escaped when __toString is invoked.
*
* @param bool $escape
* @return $this
*/
public function escapeWhenCastingToString($escape = true)
{
$this->escapeWhenCastingToString = $escape;
return $this;
} }
/** /**
+6 -2
View File
@@ -187,7 +187,9 @@ class Container implements ArrayAccess, ContainerContract
} }
/** /**
* {@inheritdoc} * {@inheritdoc}
*
* @return bool
*/ */
public function has($id) public function has($id)
{ {
@@ -693,7 +695,9 @@ class Container implements ArrayAccess, ContainerContract
} }
/** /**
* {@inheritdoc} * {@inheritdoc}
*
* @return mixed
*/ */
public function get($id) public function get($id)
{ {
+1 -1
View File
@@ -53,7 +53,7 @@ class Util
$type = $parameter->getType(); $type = $parameter->getType();
if (! $type instanceof ReflectionNamedType || $type->isBuiltin()) { if (! $type instanceof ReflectionNamedType || $type->isBuiltin()) {
return; return null;
} }
$name = $type->getName(); $name = $type->getName();
@@ -0,0 +1,14 @@
<?php
namespace Illuminate\Contracts\Support;
interface CanBeEscapedWhenCastToString
{
/**
* Indicate that the object's string representation should be escaped when __toString is invoked.
*
* @param bool $escape
* @return $this
*/
public function escapeWhenCastingToString($escape = true);
}
+24
View File
@@ -161,6 +161,13 @@ class Connection implements ConnectionInterface
*/ */
protected $pretending = false; protected $pretending = false;
/**
* All of the callbacks that should be invoked before a query is executed.
*
* @var array
*/
protected $beforeExecutingCallbacks = [];
/** /**
* The instance of Doctrine connection. * The instance of Doctrine connection.
* *
@@ -641,6 +648,10 @@ class Connection implements ConnectionInterface
*/ */
protected function run($query, $bindings, Closure $callback) protected function run($query, $bindings, Closure $callback)
{ {
foreach ($this->beforeExecutingCallbacks as $beforeExecutingCallback) {
$beforeExecutingCallback($query, $bindings, $this);
}
$this->reconnectIfMissingConnection(); $this->reconnectIfMissingConnection();
$start = microtime(true); $start = microtime(true);
@@ -807,6 +818,19 @@ class Connection implements ConnectionInterface
$this->setPdo(null)->setReadPdo(null); $this->setPdo(null)->setReadPdo(null);
} }
/**
* Register a hook to be run just before a database query is executed.
*
* @param \Closure $callback
* @return $this
*/
public function beforeExecuting(Closure $callback)
{
$this->beforeExecutingCallbacks[] = $callback;
return $this;
}
/** /**
* Register a database query listener with the connection. * Register a database query listener with the connection.
* *
@@ -3,17 +3,9 @@
namespace {{ factoryNamespace }}; namespace {{ factoryNamespace }};
use Illuminate\Database\Eloquent\Factories\Factory; use Illuminate\Database\Eloquent\Factories\Factory;
use {{ namespacedModel }};
class {{ factory }}Factory extends Factory class {{ factory }}Factory extends Factory
{ {
/**
* The name of the factory's corresponding model.
*
* @var string
*/
protected $model = {{ model }}::class;
/** /**
* Define the model's default state. * Define the model's default state.
* *
+33 -2
View File
@@ -19,7 +19,8 @@ class PruneCommand extends Command
*/ */
protected $signature = 'model:prune protected $signature = 'model:prune
{--model=* : Class names of the models to be pruned} {--model=* : Class names of the models to be pruned}
{--chunk=1000 : The number of models to retrieve per chunk of models to be deleted}'; {--chunk=1000 : The number of models to retrieve per chunk of models to be deleted}
{--pretend : Display the number of prunable records found instead of deleting them}';
/** /**
* The console command description. * The console command description.
@@ -44,6 +45,14 @@ class PruneCommand extends Command
return; return;
} }
if ($this->option('pretend')) {
$models->each(function ($model) {
$this->pretendToPrune($model);
});
return;
}
$events->listen(ModelsPruned::class, function ($event) { $events->listen(ModelsPruned::class, function ($event) {
$this->info("{$event->count} [{$event->model}] records have been pruned."); $this->info("{$event->count} [{$event->model}] records have been pruned.");
}); });
@@ -78,7 +87,7 @@ class PruneCommand extends Command
return collect($models); return collect($models);
} }
return collect((new Finder)->in(app_path('Models'))->files()) return collect((new Finder)->in(app_path('Models'))->files()->name('*.php'))
->map(function ($model) { ->map(function ($model) {
$namespace = $this->laravel->getNamespace(); $namespace = $this->laravel->getNamespace();
@@ -104,4 +113,26 @@ class PruneCommand extends Command
return in_array(Prunable::class, $uses) || in_array(MassPrunable::class, $uses); return in_array(Prunable::class, $uses) || in_array(MassPrunable::class, $uses);
} }
/**
* Display how many models will be pruned.
*
* @param string $model
* @return void
*/
protected function pretendToPrune($model)
{
$instance = new $model;
$count = $instance->prunable()
->when(in_array(SoftDeletes::class, class_uses_recursive(get_class($instance))), function ($query) {
$query->withTrashed();
})->count();
if ($count === 0) {
$this->info("No prunable [$model] records found.");
} else {
$this->info("{$count} [{$model}] records will be pruned.");
}
}
} }
+6 -1
View File
@@ -4,12 +4,15 @@ namespace Illuminate\Database\DBAL;
use Doctrine\DBAL\DBALException; use Doctrine\DBAL\DBALException;
use Doctrine\DBAL\Platforms\AbstractPlatform; use Doctrine\DBAL\Platforms\AbstractPlatform;
use Doctrine\DBAL\Types\PhpDateTimeMappingType;
use Doctrine\DBAL\Types\Type; use Doctrine\DBAL\Types\Type;
class TimestampType extends Type class TimestampType extends Type implements PhpDateTimeMappingType
{ {
/** /**
* {@inheritdoc} * {@inheritdoc}
*
* @return string
*/ */
public function getSQLDeclaration(array $fieldDeclaration, AbstractPlatform $platform) public function getSQLDeclaration(array $fieldDeclaration, AbstractPlatform $platform)
{ {
@@ -97,6 +100,8 @@ class TimestampType extends Type
/** /**
* {@inheritdoc} * {@inheritdoc}
*
* @return string
*/ */
public function getName() public function getName()
{ {
+1 -1
View File
@@ -16,7 +16,7 @@ trait DetectsConcurrencyErrors
*/ */
protected function causedByConcurrencyError(Throwable $e) protected function causedByConcurrencyError(Throwable $e)
{ {
if ($e instanceof PDOException && $e->getCode() === '40001') { if ($e instanceof PDOException && ($e->getCode() === 40001 || $e->getCode() === '40001')) {
return true; return true;
} }
+2
View File
@@ -54,6 +54,8 @@ trait DetectsLostConnections
'SQLSTATE[08S01]: Communication link failure', 'SQLSTATE[08S01]: Communication link failure',
'SQLSTATE[08006] [7] could not connect to server: Connection refused Is the server running on host', 'SQLSTATE[08006] [7] could not connect to server: Connection refused Is the server running on host',
'SQLSTATE[HY000]: General error: 7 SSL SYSCALL error: No route to host', 'SQLSTATE[HY000]: General error: 7 SSL SYSCALL error: No route to host',
'The client was disconnected by the server because of inactivity. See wait_timeout and interactive_timeout for configuring this behavior.',
'SQLSTATE[08006] [7] could not translate host name',
]); ]);
} }
} }
@@ -0,0 +1,32 @@
<?php
namespace Illuminate\Database\Eloquent\Casts;
use Illuminate\Contracts\Database\Eloquent\Castable;
use Illuminate\Contracts\Database\Eloquent\CastsAttributes;
use Illuminate\Support\Str;
class AsStringable implements Castable
{
/**
* Get the caster class to use when casting from / to this cast target.
*
* @param array $arguments
* @return object|string
*/
public static function castUsing(array $arguments)
{
return new class implements CastsAttributes
{
public function get($model, $key, $value, $attributes)
{
return isset($value) ? Str::of($value) : null;
}
public function set($model, $key, $value, $attributes)
{
return isset($value) ? (string) $value : null;
}
};
}
}
@@ -8,6 +8,8 @@ use DateTimeInterface;
use Illuminate\Contracts\Database\Eloquent\Castable; use Illuminate\Contracts\Database\Eloquent\Castable;
use Illuminate\Contracts\Database\Eloquent\CastsInboundAttributes; use Illuminate\Contracts\Database\Eloquent\CastsInboundAttributes;
use Illuminate\Contracts\Support\Arrayable; use Illuminate\Contracts\Support\Arrayable;
use Illuminate\Database\Eloquent\Casts\AsArrayObject;
use Illuminate\Database\Eloquent\Casts\AsCollection;
use Illuminate\Database\Eloquent\InvalidCastException; use Illuminate\Database\Eloquent\InvalidCastException;
use Illuminate\Database\Eloquent\JsonEncodingException; use Illuminate\Database\Eloquent\JsonEncodingException;
use Illuminate\Database\Eloquent\Relations\Relation; use Illuminate\Database\Eloquent\Relations\Relation;
@@ -262,6 +264,10 @@ trait HasAttributes
$attributes[$key] = $this->serializeClassCastableAttribute($key, $attributes[$key]); $attributes[$key] = $this->serializeClassCastableAttribute($key, $attributes[$key]);
} }
if ($this->isEnumCastable($key)) {
$attributes[$key] = isset($attributes[$key]) ? $attributes[$key]->value : null;
}
if ($attributes[$key] instanceof Arrayable) { if ($attributes[$key] instanceof Arrayable) {
$attributes[$key] = $attributes[$key]->toArray(); $attributes[$key] = $attributes[$key]->toArray();
} }
@@ -620,6 +626,10 @@ trait HasAttributes
return $this->asTimestamp($value); return $this->asTimestamp($value);
} }
if ($this->isEnumCastable($key)) {
return $this->getEnumCastableAttributeValue($key, $value);
}
if ($this->isClassCastable($key)) { if ($this->isClassCastable($key)) {
return $this->getClassCastableAttributeValue($key, $value); return $this->getClassCastableAttributeValue($key, $value);
} }
@@ -655,6 +665,24 @@ trait HasAttributes
} }
} }
/**
* Cast the given attribute to an enum.
*
* @param string $key
* @param mixed $value
* @return mixed
*/
protected function getEnumCastableAttributeValue($key, $value)
{
if (is_null($value)) {
return;
}
$castType = $this->getCasts()[$key];
return $castType::from($value);
}
/** /**
* Get the type of cast for a model attribute. * Get the type of cast for a model attribute.
* *
@@ -765,6 +793,12 @@ trait HasAttributes
$value = $this->fromDateTime($value); $value = $this->fromDateTime($value);
} }
if ($this->isEnumCastable($key)) {
$this->setEnumCastableAttribute($key, $value);
return $this;
}
if ($this->isClassCastable($key)) { if ($this->isClassCastable($key)) {
$this->setClassCastableAttribute($key, $value); $this->setClassCastableAttribute($key, $value);
@@ -883,6 +917,18 @@ trait HasAttributes
} }
} }
/**
* Set the value of an enum castable attribute.
*
* @param string $key
* @param \BackedEnum $value
* @return void
*/
protected function setEnumCastableAttribute($key, $value)
{
$this->attributes[$key] = isset($value) ? $value->value : null;
}
/** /**
* Get an array attribute with the given key and value set. * Get an array attribute with the given key and value set.
* *
@@ -1217,7 +1263,18 @@ trait HasAttributes
*/ */
protected function isDateCastable($key) protected function isDateCastable($key)
{ {
return $this->hasCast($key, ['date', 'datetime', 'custom_datetime', 'immutable_date', 'immutable_datetime', 'immutable_custom_datetime']); return $this->hasCast($key, ['date', 'datetime', 'immutable_date', 'immutable_datetime']);
}
/**
* Determine whether a value is Date / DateTime custom-castable for inbound manipulation.
*
* @param string $key
* @return bool
*/
protected function isDateCastableWithCustomFormat($key)
{
return $this->hasCast($key, ['custom_datetime', 'immutable_custom_datetime']);
} }
/** /**
@@ -1269,6 +1326,29 @@ trait HasAttributes
throw new InvalidCastException($this->getModel(), $key, $castType); throw new InvalidCastException($this->getModel(), $key, $castType);
} }
/**
* Determine if the given key is cast using an enum.
*
* @param string $key
* @return bool
*/
protected function isEnumCastable($key)
{
if (! array_key_exists($key, $this->getCasts())) {
return false;
}
$castType = $this->getCasts()[$key];
if (in_array($castType, static::$primitiveCastTypes)) {
return false;
}
if (function_exists('enum_exists') && enum_exists($castType)) {
return true;
}
}
/** /**
* Determine if the key is deviable using a custom class. * Determine if the key is deviable using a custom class.
* *
@@ -1294,8 +1374,9 @@ trait HasAttributes
*/ */
protected function isClassSerializable($key) protected function isClassSerializable($key)
{ {
return $this->isClassCastable($key) && return ! $this->isEnumCastable($key) &&
method_exists($this->parseCasterClass($this->getCasts()[$key]), 'serialize'); $this->isClassCastable($key) &&
method_exists($this->resolveCasterClass($key), 'serialize');
} }
/** /**
@@ -1643,7 +1724,7 @@ trait HasAttributes
return true; return true;
} elseif (is_null($attribute)) { } elseif (is_null($attribute)) {
return false; return false;
} elseif ($this->isDateAttribute($key) || $this->isDateCastable($key)) { } elseif ($this->isDateAttribute($key) || $this->isDateCastableWithCustomFormat($key)) {
return $this->fromDateTime($attribute) === return $this->fromDateTime($attribute) ===
$this->fromDateTime($original); $this->fromDateTime($original);
} elseif ($this->hasCast($key, ['object', 'collection'])) { } elseif ($this->hasCast($key, ['object', 'collection'])) {
@@ -1658,6 +1739,8 @@ trait HasAttributes
} elseif ($this->hasCast($key, static::$primitiveCastTypes)) { } elseif ($this->hasCast($key, static::$primitiveCastTypes)) {
return $this->castAttribute($key, $attribute) === return $this->castAttribute($key, $attribute) ===
$this->castAttribute($key, $original); $this->castAttribute($key, $original);
} elseif ($this->isClassCastable($key) && in_array($this->getCasts()[$key], [AsArrayObject::class, AsCollection::class])) {
return $this->fromJson($attribute) === $this->fromJson($original);
} }
return is_numeric($attribute) && is_numeric($original) return is_numeric($attribute) && is_numeric($original)
@@ -2,8 +2,11 @@
namespace Illuminate\Database\Eloquent\Concerns; namespace Illuminate\Database\Eloquent\Concerns;
use BadMethodCallException;
use Closure; use Closure;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\RelationNotFoundException;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\MorphTo; use Illuminate\Database\Eloquent\Relations\MorphTo;
use Illuminate\Database\Eloquent\Relations\Relation; use Illuminate\Database\Eloquent\Relations\Relation;
use Illuminate\Database\Query\Builder as QueryBuilder; use Illuminate\Database\Query\Builder as QueryBuilder;
@@ -455,6 +458,56 @@ trait QueriesRelationships
return $this->whereMorphedTo($relation, $model, 'or'); return $this->whereMorphedTo($relation, $model, 'or');
} }
/**
* Add a "belongs to" relationship where clause to the query.
*
* @param \Illuminate\Database\Eloquent\Model $related
* @param string $relationship
* @param string $boolean
* @return $this
*
* @throws \Exception
*/
public function whereBelongsTo($related, $relationshipName = null, $boolean = 'and')
{
if ($relationshipName === null) {
$relationshipName = Str::camel(class_basename($related));
}
try {
$relationship = $this->model->{$relationshipName}();
} catch (BadMethodCallException $exception) {
throw RelationNotFoundException::make($this->model, $relationshipName);
}
if (! $relationship instanceof BelongsTo) {
throw RelationNotFoundException::make($this->model, $relationshipName, BelongsTo::class);
}
$this->where(
$relationship->getQualifiedForeignKeyName(),
'=',
$related->getAttributeValue($relationship->getOwnerKeyName()),
$boolean,
);
return $this;
}
/**
* Add an "BelongsTo" relationship with an "or where" clause to the query.
*
* @param \Illuminate\Database\Eloquent\Model $related
* @param string $relationship
* @return $this
*
* @throws \Exception
*/
public function orWhereBelongsTo($related, $relationshipName = null)
{
return $this->whereBelongsTo($related, $relationshipName, 'or');
}
/** /**
* Add subselect queries to include an aggregate value for a relationship. * Add subselect queries to include an aggregate value for a relationship.
* *
+3 -2
View File
@@ -10,20 +10,21 @@ use Illuminate\Database\Eloquent\Collection as EloquentCollection;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
use Illuminate\Support\Str; use Illuminate\Support\Str;
use Illuminate\Support\Traits\Conditionable;
use Illuminate\Support\Traits\ForwardsCalls; use Illuminate\Support\Traits\ForwardsCalls;
use Illuminate\Support\Traits\Macroable; use Illuminate\Support\Traits\Macroable;
use Throwable; use Throwable;
abstract class Factory abstract class Factory
{ {
use ForwardsCalls, Macroable { use Conditionable, ForwardsCalls, Macroable {
__call as macroCall; __call as macroCall;
} }
/** /**
* The name of the factory's corresponding model. * The name of the factory's corresponding model.
* *
* @var string * @var string|null
*/ */
protected $model; protected $model;
+25 -2
View File
@@ -8,6 +8,7 @@ use Illuminate\Contracts\Queue\QueueableCollection;
use Illuminate\Contracts\Queue\QueueableEntity; use Illuminate\Contracts\Queue\QueueableEntity;
use Illuminate\Contracts\Routing\UrlRoutable; use Illuminate\Contracts\Routing\UrlRoutable;
use Illuminate\Contracts\Support\Arrayable; use Illuminate\Contracts\Support\Arrayable;
use Illuminate\Contracts\Support\CanBeEscapedWhenCastToString;
use Illuminate\Contracts\Support\Jsonable; use Illuminate\Contracts\Support\Jsonable;
use Illuminate\Database\ConnectionResolverInterface as Resolver; use Illuminate\Database\ConnectionResolverInterface as Resolver;
use Illuminate\Database\Eloquent\Collection as EloquentCollection; use Illuminate\Database\Eloquent\Collection as EloquentCollection;
@@ -22,7 +23,7 @@ use Illuminate\Support\Traits\ForwardsCalls;
use JsonSerializable; use JsonSerializable;
use LogicException; use LogicException;
abstract class Model implements Arrayable, ArrayAccess, HasBroadcastChannel, Jsonable, JsonSerializable, QueueableEntity, UrlRoutable abstract class Model implements Arrayable, ArrayAccess, CanBeEscapedWhenCastToString, HasBroadcastChannel, Jsonable, JsonSerializable, QueueableEntity, UrlRoutable
{ {
use Concerns\HasAttributes, use Concerns\HasAttributes,
Concerns\HasEvents, Concerns\HasEvents,
@@ -110,6 +111,13 @@ abstract class Model implements Arrayable, ArrayAccess, HasBroadcastChannel, Jso
*/ */
public $wasRecentlyCreated = false; public $wasRecentlyCreated = false;
/**
* Indicates that the object's string representation should be escaped when __toString is invoked.
*
* @var bool
*/
protected $escapeWhenCastingToString = false;
/** /**
* The connection resolver instance. * The connection resolver instance.
* *
@@ -2128,7 +2136,22 @@ abstract class Model implements Arrayable, ArrayAccess, HasBroadcastChannel, Jso
*/ */
public function __toString() public function __toString()
{ {
return $this->toJson(); return $this->escapeWhenCastingToString
? e($this->toJson())
: $this->toJson();
}
/**
* Indicate that the object's string representation should be escaped when __toString is invoked.
*
* @param bool $escape
* @return $this
*/
public function escapeWhenCastingToString($escape = true)
{
$this->escapeWhenCastingToString = $escape;
return $this;
} }
/** /**
@@ -25,13 +25,18 @@ class RelationNotFoundException extends RuntimeException
* *
* @param object $model * @param object $model
* @param string $relation * @param string $relation
* @param string|null $type
* @return static * @return static
*/ */
public static function make($model, $relation) public static function make($model, $relation, $type = null)
{ {
$class = get_class($model); $class = get_class($model);
$instance = new static("Call to undefined relationship [{$relation}] on model [{$class}]."); $instance = new static(
is_null($type)
? "Call to undefined relationship [{$relation}] on model [{$class}]."
: "Call to undefined relationship [{$relation}] on model [{$class}] of type [{$type}].",
);
$instance->model = $class; $instance->model = $class;
$instance->relation = $relation; $instance->relation = $relation;
@@ -277,7 +277,7 @@ class BelongsToMany extends Relation
// Once we have an array dictionary of child objects we can easily match the // Once we have an array dictionary of child objects we can easily match the
// children back to their parent using the dictionary and the keys on the // children back to their parent using the dictionary and the keys on the
// the parent models. Then we will return the hydrated models back out. // parent models. Then we should return these hydrated models back out.
foreach ($models as $model) { foreach ($models as $model) {
$key = $this->getDictionaryKey($model->{$this->parentKey}); $key = $this->getDictionaryKey($model->{$this->parentKey});
@@ -102,7 +102,9 @@ trait CanBeOneOfMany
if (isset($previous)) { if (isset($previous)) {
$this->addOneOfManyJoinSubQuery($subQuery, $previous['subQuery'], $previous['column']); $this->addOneOfManyJoinSubQuery($subQuery, $previous['subQuery'], $previous['column']);
} elseif (isset($closure)) { }
if (isset($closure)) {
$closure($subQuery); $closure($subQuery);
} }
@@ -122,6 +124,12 @@ trait CanBeOneOfMany
$this->addConstraints(); $this->addConstraints();
$columns = $this->query->getQuery()->columns;
if (is_null($columns) || $columns === ['*']) {
$this->select([$this->qualifyColumn('*')]);
}
return $this; return $this;
} }
@@ -137,7 +145,7 @@ trait CanBeOneOfMany
{ {
return $this->ofMany(collect(Arr::wrap($column))->mapWithKeys(function ($column) { return $this->ofMany(collect(Arr::wrap($column))->mapWithKeys(function ($column) {
return [$column => 'MAX']; return [$column => 'MAX'];
})->all(), 'MAX', $relation ?: $this->guessRelationship()); })->all(), 'MAX', $relation);
} }
/** /**
@@ -152,7 +160,7 @@ trait CanBeOneOfMany
{ {
return $this->ofMany(collect(Arr::wrap($column))->mapWithKeys(function ($column) { return $this->ofMany(collect(Arr::wrap($column))->mapWithKeys(function ($column) {
return [$column => 'MIN']; return [$column => 'MIN'];
})->all(), 'MIN', $relation ?: $this->guessRelationship()); })->all(), 'MIN', $relation);
} }
/** /**
@@ -179,14 +187,15 @@ trait CanBeOneOfMany
protected function newOneOfManySubQuery($groupBy, $column = null, $aggregate = null) protected function newOneOfManySubQuery($groupBy, $column = null, $aggregate = null)
{ {
$subQuery = $this->query->getModel() $subQuery = $this->query->getModel()
->newQuery(); ->newQuery()
->withoutGlobalScopes($this->removedScopes());
foreach (Arr::wrap($groupBy) as $group) { foreach (Arr::wrap($groupBy) as $group) {
$subQuery->groupBy($this->qualifyRelatedColumn($group)); $subQuery->groupBy($this->qualifyRelatedColumn($group));
} }
if (! is_null($column)) { if (! is_null($column)) {
$subQuery->selectRaw($aggregate.'('.$subQuery->getQuery()->grammar->wrap($column).') as '.$subQuery->getQuery()->grammar->wrap($column)); $subQuery->selectRaw($aggregate.'('.$subQuery->getQuery()->grammar->wrap($subQuery->qualifyColumn($column)).') as '.$subQuery->getQuery()->grammar->wrap($column.'_aggregate'));
} }
$this->addOneOfManySubQueryConstraints($subQuery, $groupBy, $column, $aggregate); $this->addOneOfManySubQueryConstraints($subQuery, $groupBy, $column, $aggregate);
@@ -208,7 +217,7 @@ trait CanBeOneOfMany
$subQuery->applyBeforeQueryCallbacks(); $subQuery->applyBeforeQueryCallbacks();
$parent->joinSub($subQuery, $this->relationName, function ($join) use ($on) { $parent->joinSub($subQuery, $this->relationName, function ($join) use ($on) {
$join->on($this->qualifySubSelectColumn($on), '=', $this->qualifyRelatedColumn($on)); $join->on($this->qualifySubSelectColumn($on.'_aggregate'), '=', $this->qualifyRelatedColumn($on));
$this->addOneOfManyJoinSubQueryConstraints($join, $on); $this->addOneOfManyJoinSubQueryConstraints($join, $on);
}); });
+1 -1
View File
@@ -407,7 +407,7 @@ abstract class Relation
/** /**
* Define the morph map for polymorphic relations and require all morphed models to be explicitly mapped. * Define the morph map for polymorphic relations and require all morphed models to be explicitly mapped.
* *
* @param array|null $map * @param array $map
* @param bool $merge * @param bool $merge
* @return array * @return array
*/ */
+3
View File
@@ -6,6 +6,9 @@ use Doctrine\DBAL\Driver\AbstractSQLServerDriver;
class SqlServerDriver extends AbstractSQLServerDriver class SqlServerDriver extends AbstractSQLServerDriver
{ {
/**
* @return \Doctrine\DBAL\Driver\Connection
*/
public function connect(array $params) public function connect(array $params)
{ {
return new SqlServerConnection( return new SqlServerConnection(
+27 -5
View File
@@ -20,6 +20,7 @@ use Illuminate\Support\Str;
use Illuminate\Support\Traits\ForwardsCalls; use Illuminate\Support\Traits\ForwardsCalls;
use Illuminate\Support\Traits\Macroable; use Illuminate\Support\Traits\Macroable;
use InvalidArgumentException; use InvalidArgumentException;
use LogicException;
use RuntimeException; use RuntimeException;
class Builder class Builder
@@ -1960,7 +1961,7 @@ class Builder
/** /**
* Add an "order by" clause to the query. * Add an "order by" clause to the query.
* *
* @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Query\Expression|string $column * @param \Closure|\Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Query\Builder|\Illuminate\Database\Query\Expression|string $column
* @param string $direction * @param string $direction
* @return $this * @return $this
* *
@@ -1993,7 +1994,7 @@ class Builder
/** /**
* Add a descending "order by" clause to the query. * Add a descending "order by" clause to the query.
* *
* @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Query\Expression|string $column * @param \Closure|\Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Query\Builder|\Illuminate\Database\Query\Expression|string $column
* @return $this * @return $this
*/ */
public function orderByDesc($column) public function orderByDesc($column)
@@ -2004,7 +2005,7 @@ class Builder
/** /**
* Add an "order by" clause for a timestamp to the query. * Add an "order by" clause for a timestamp to the query.
* *
* @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Query\Expression|string $column * @param \Closure|\Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Query\Builder|\Illuminate\Database\Query\Expression|string $column
* @return $this * @return $this
*/ */
public function latest($column = 'created_at') public function latest($column = 'created_at')
@@ -2015,7 +2016,7 @@ class Builder
/** /**
* Add an "order by" clause for a timestamp to the query. * Add an "order by" clause for a timestamp to the query.
* *
* @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Query\Expression|string $column * @param \Closure|\Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Query\Builder|\Illuminate\Database\Query\Expression|string $column
* @return $this * @return $this
*/ */
public function oldest($column = 'created_at') public function oldest($column = 'created_at')
@@ -3000,6 +3001,27 @@ class Builder
)); ));
} }
/**
* Update records in a PostgreSQL database using the update from syntax.
*
* @param array $values
* @return int
*/
public function updateFrom(array $values)
{
if (! method_exists($this->grammar, 'compileUpdateFrom')) {
throw new LogicException('This database engine does not support the updateFrom method.');
}
$this->applyBeforeQueryCallbacks();
$sql = $this->grammar->compileUpdateFrom($this, $values);
return $this->connection->update($sql, $this->cleanBindings(
$this->grammar->prepareBindingsForUpdateFrom($this->bindings, $values)
));
}
/** /**
* Insert or update a record matching the attributes, and fill it with values. * Insert or update a record matching the attributes, and fill it with values.
* *
@@ -3402,7 +3424,7 @@ class Builder
/** /**
* Die and dump the current SQL and bindings. * Die and dump the current SQL and bindings.
* *
* @return void * @return never
*/ */
public function dd() public function dd()
{ {
@@ -260,6 +260,114 @@ class PostgresGrammar extends Grammar
return "{$field} = jsonb_set({$field}::jsonb, {$path}, {$this->parameter($value)})"; return "{$field} = jsonb_set({$field}::jsonb, {$path}, {$this->parameter($value)})";
} }
/**
* Compile an update from statement into SQL.
*
* @param \Illuminate\Database\Query\Builder $query
* @param array $values
* @return string
*/
public function compileUpdateFrom(Builder $query, $values)
{
$table = $this->wrapTable($query->from);
// Each one of the columns in the update statements needs to be wrapped in the
// keyword identifiers, also a place-holder needs to be created for each of
// the values in the list of bindings so we can make the sets statements.
$columns = $this->compileUpdateColumns($query, $values);
$from = '';
if (isset($query->joins)) {
// When using Postgres, updates with joins list the joined tables in the from
// clause, which is different than other systems like MySQL. Here, we will
// compile out the tables that are joined and add them to a from clause.
$froms = collect($query->joins)->map(function ($join) {
return $this->wrapTable($join->table);
})->all();
if (count($froms) > 0) {
$from = ' from '.implode(', ', $froms);
}
}
$where = $this->compileUpdateWheres($query);
return trim("update {$table} set {$columns}{$from} {$where}");
}
/**
* Compile the additional where clauses for updates with joins.
*
* @param \Illuminate\Database\Query\Builder $query
* @return string
*/
protected function compileUpdateWheres(Builder $query)
{
$baseWheres = $this->compileWheres($query);
if (! isset($query->joins)) {
return $baseWheres;
}
// Once we compile the join constraints, we will either use them as the where
// clause or append them to the existing base where clauses. If we need to
// strip the leading boolean we will do so when using as the only where.
$joinWheres = $this->compileUpdateJoinWheres($query);
if (trim($baseWheres) == '') {
return 'where '.$this->removeLeadingBoolean($joinWheres);
}
return $baseWheres.' '.$joinWheres;
}
/**
* Compile the "join" clause where clauses for an update.
*
* @param \Illuminate\Database\Query\Builder $query
* @return string
*/
protected function compileUpdateJoinWheres(Builder $query)
{
$joinWheres = [];
// Here we will just loop through all of the join constraints and compile them
// all out then implode them. This should give us "where" like syntax after
// everything has been built and then we will join it to the real wheres.
foreach ($query->joins as $join) {
foreach ($join->wheres as $where) {
$method = "where{$where['type']}";
$joinWheres[] = $where['boolean'].' '.$this->$method($query, $where);
}
}
return implode(' ', $joinWheres);
}
/**
* Prepare the bindings for an update statement.
*
* @param array $bindings
* @param array $values
* @return array
*/
public function prepareBindingsForUpdateFrom(array $bindings, array $values)
{
$values = collect($values)->map(function ($value, $column) {
return is_array($value) || ($this->isJsonSelector($column) && ! $this->isExpression($value))
? json_encode($value)
: $value;
})->all();
$bindingsWithoutWhere = Arr::except($bindings, ['select', 'where']);
return array_values(
array_merge($values, $bindings['where'], Arr::flatten($bindingsWithoutWhere))
);
}
/** /**
* Compile an update statement with joins or limit into SQL. * Compile an update statement with joins or limit into SQL.
* *

Some files were not shown because too many files have changed in this diff Show More