diff --git a/composer.json b/composer.json
index c85c46c..32c4c70 100644
--- a/composer.json
+++ b/composer.json
@@ -11,15 +11,17 @@
}
],
"require": {
- "php": ">=5.3.0",
+ "php": ">=8.0.0",
"ext-tokenizer": "*"
},
"require-dev": {
- "phpunit/phpunit": "<6.0",
- "satooshi/php-coveralls": "*"
+ "phpunit/phpunit": "9.*"
},
"autoload": {
- "psr-0": { "Fenom\\": "src/" },
+ "psr-4": { "Fenom\\": "src/Fenom" },
"classmap": [ "src/Fenom.php" ]
+ },
+ "autoload-dev": {
+ "classmap": [ "tests/cases" ]
}
}
diff --git a/composer.lock b/composer.lock
index a4beafb..4c4c155 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,41 +4,37 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "5d9cc53199d5c45a0eaf758f5a5b9288",
+ "content-hash": "dc6a664578936c2f2259ba8657569d9d",
"packages": [],
"packages-dev": [
{
"name": "doctrine/instantiator",
- "version": "1.3.1",
+ "version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/instantiator.git",
- "reference": "f350df0268e904597e3bd9c4685c53e0e333feea"
+ "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f350df0268e904597e3bd9c4685c53e0e333feea",
- "reference": "f350df0268e904597e3bd9c4685c53e0e333feea",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
+ "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
"shasum": ""
},
"require": {
- "php": "^7.1 || ^8.0"
+ "php": "^8.1"
},
"require-dev": {
- "doctrine/coding-standard": "^6.0",
+ "doctrine/coding-standard": "^11",
"ext-pdo": "*",
"ext-phar": "*",
- "phpbench/phpbench": "^0.13",
- "phpstan/phpstan-phpunit": "^0.11",
- "phpstan/phpstan-shim": "^0.11",
- "phpunit/phpunit": "^7.0"
+ "phpbench/phpbench": "^1.2",
+ "phpstan/phpstan": "^1.9.4",
+ "phpstan/phpstan-phpunit": "^1.3",
+ "phpunit/phpunit": "^9.5.27",
+ "vimeo/psalm": "^5.4"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.2.x-dev"
- }
- },
"autoload": {
"psr-4": {
"Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
@@ -52,7 +48,7 @@
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com",
- "homepage": "http://ocramius.github.com/"
+ "homepage": "https://ocramius.github.io/"
}
],
"description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
@@ -61,6 +57,10 @@
"constructor",
"instantiate"
],
+ "support": {
+ "issues": "https://github.com/doctrine/instantiator/issues",
+ "source": "https://github.com/doctrine/instantiator/tree/2.0.0"
+ },
"funding": [
{
"url": "https://www.doctrine-project.org/sponsorship.html",
@@ -75,50 +75,74 @@
"type": "tidelift"
}
],
- "time": "2020-05-29T17:27:14+00:00"
+ "time": "2022-12-30T00:23:10+00:00"
},
{
- "name": "guzzlehttp/guzzle",
- "version": "6.5.5",
+ "name": "guzzle/guzzle",
+ "version": "v3.9.3",
"source": {
"type": "git",
- "url": "https://github.com/guzzle/guzzle.git",
- "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e"
+ "url": "https://github.com/guzzle/guzzle3.git",
+ "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/9d4290de1cfd701f38099ef7e183b64b4b7b0c5e",
- "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e",
+ "url": "https://api.github.com/repos/guzzle/guzzle3/zipball/0645b70d953bc1c067bbc8d5bc53194706b628d9",
+ "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9",
"shasum": ""
},
"require": {
- "ext-json": "*",
- "guzzlehttp/promises": "^1.0",
- "guzzlehttp/psr7": "^1.6.1",
- "php": ">=5.5",
- "symfony/polyfill-intl-idn": "^1.17.0"
+ "ext-curl": "*",
+ "php": ">=5.3.3",
+ "symfony/event-dispatcher": "~2.1"
+ },
+ "replace": {
+ "guzzle/batch": "self.version",
+ "guzzle/cache": "self.version",
+ "guzzle/common": "self.version",
+ "guzzle/http": "self.version",
+ "guzzle/inflection": "self.version",
+ "guzzle/iterator": "self.version",
+ "guzzle/log": "self.version",
+ "guzzle/parser": "self.version",
+ "guzzle/plugin": "self.version",
+ "guzzle/plugin-async": "self.version",
+ "guzzle/plugin-backoff": "self.version",
+ "guzzle/plugin-cache": "self.version",
+ "guzzle/plugin-cookie": "self.version",
+ "guzzle/plugin-curlauth": "self.version",
+ "guzzle/plugin-error-response": "self.version",
+ "guzzle/plugin-history": "self.version",
+ "guzzle/plugin-log": "self.version",
+ "guzzle/plugin-md5": "self.version",
+ "guzzle/plugin-mock": "self.version",
+ "guzzle/plugin-oauth": "self.version",
+ "guzzle/service": "self.version",
+ "guzzle/stream": "self.version"
},
"require-dev": {
- "ext-curl": "*",
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0",
- "psr/log": "^1.1"
+ "doctrine/cache": "~1.3",
+ "monolog/monolog": "~1.0",
+ "phpunit/phpunit": "3.7.*",
+ "psr/log": "~1.0",
+ "symfony/class-loader": "~2.1",
+ "zendframework/zend-cache": "2.*,<2.3",
+ "zendframework/zend-log": "2.*,<2.3"
},
"suggest": {
- "psr/log": "Required for using the Log middleware"
+ "guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated."
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "6.5-dev"
+ "dev-master": "3.9-dev"
}
},
"autoload": {
- "psr-4": {
- "GuzzleHttp\\": "src/"
- },
- "files": [
- "src/functions_include.php"
- ]
+ "psr-0": {
+ "Guzzle": "src/",
+ "Guzzle\\Tests": "tests/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -129,9 +153,13 @@
"name": "Michael Dowling",
"email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling"
+ },
+ {
+ "name": "Guzzle Community",
+ "homepage": "https://github.com/guzzle/guzzle/contributors"
}
],
- "description": "Guzzle is a PHP HTTP client library",
+ "description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle",
"homepage": "http://guzzlephp.org/",
"keywords": [
"client",
@@ -142,163 +170,47 @@
"rest",
"web service"
],
- "time": "2020-06-16T21:01:06+00:00"
- },
- {
- "name": "guzzlehttp/promises",
- "version": "v1.3.1",
- "source": {
- "type": "git",
- "url": "https://github.com/guzzle/promises.git",
- "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646"
+ "support": {
+ "issues": "https://github.com/guzzle/guzzle3/issues",
+ "source": "https://github.com/guzzle/guzzle3/tree/master"
},
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646",
- "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646",
- "shasum": ""
- },
- "require": {
- "php": ">=5.5.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.4-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "GuzzleHttp\\Promise\\": "src/"
- },
- "files": [
- "src/functions_include.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
- }
- ],
- "description": "Guzzle promises library",
- "keywords": [
- "promise"
- ],
- "time": "2016-12-20T10:07:11+00:00"
- },
- {
- "name": "guzzlehttp/psr7",
- "version": "1.6.1",
- "source": {
- "type": "git",
- "url": "https://github.com/guzzle/psr7.git",
- "reference": "239400de7a173fe9901b9ac7c06497751f00727a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/239400de7a173fe9901b9ac7c06497751f00727a",
- "reference": "239400de7a173fe9901b9ac7c06497751f00727a",
- "shasum": ""
- },
- "require": {
- "php": ">=5.4.0",
- "psr/http-message": "~1.0",
- "ralouphie/getallheaders": "^2.0.5 || ^3.0.0"
- },
- "provide": {
- "psr/http-message-implementation": "1.0"
- },
- "require-dev": {
- "ext-zlib": "*",
- "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8"
- },
- "suggest": {
- "zendframework/zend-httphandlerrunner": "Emit PSR-7 responses"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.6-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "GuzzleHttp\\Psr7\\": "src/"
- },
- "files": [
- "src/functions_include.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
- },
- {
- "name": "Tobias Schultze",
- "homepage": "https://github.com/Tobion"
- }
- ],
- "description": "PSR-7 message implementation that also provides common utility methods",
- "keywords": [
- "http",
- "message",
- "psr-7",
- "request",
- "response",
- "stream",
- "uri",
- "url"
- ],
- "time": "2019-07-01T23:21:34+00:00"
+ "abandoned": "guzzlehttp/guzzle",
+ "time": "2015-03-18T18:23:50+00:00"
},
{
"name": "myclabs/deep-copy",
- "version": "1.10.1",
+ "version": "1.11.0",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5"
+ "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/969b211f9a51aa1f6c01d1d2aef56d3bd91598e5",
- "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614",
+ "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
- "replace": {
- "myclabs/deep-copy": "self.version"
+ "conflict": {
+ "doctrine/collections": "<1.6.8",
+ "doctrine/common": "<2.13.3 || >=3,<3.2.2"
},
"require-dev": {
- "doctrine/collections": "^1.0",
- "doctrine/common": "^2.6",
- "phpunit/phpunit": "^7.1"
+ "doctrine/collections": "^1.6.8",
+ "doctrine/common": "^2.13.3 || ^3.2.2",
+ "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
},
"type": "library",
"autoload": {
- "psr-4": {
- "DeepCopy\\": "src/DeepCopy/"
- },
"files": [
"src/DeepCopy/deep_copy.php"
- ]
+ ],
+ "psr-4": {
+ "DeepCopy\\": "src/DeepCopy/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -312,260 +224,225 @@
"object",
"object graph"
],
+ "support": {
+ "issues": "https://github.com/myclabs/DeepCopy/issues",
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.11.0"
+ },
"funding": [
{
"url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
"type": "tidelift"
}
],
- "time": "2020-06-29T13:22:24+00:00"
+ "time": "2022-03-03T13:19:32+00:00"
},
{
- "name": "phpdocumentor/reflection-common",
- "version": "2.2.0",
+ "name": "nikic/php-parser",
+ "version": "v4.15.3",
"source": {
"type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
- "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
+ "url": "https://github.com/nikic/PHP-Parser.git",
+ "reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
- "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/570e980a201d8ed0236b0a62ddf2c9cbb2034039",
+ "reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039",
+ "shasum": ""
+ },
+ "require": {
+ "ext-tokenizer": "*",
+ "php": ">=7.0"
+ },
+ "require-dev": {
+ "ircmaxell/php-yacc": "^0.0.7",
+ "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
+ },
+ "bin": [
+ "bin/php-parse"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.9-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PhpParser\\": "lib/PhpParser"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Nikita Popov"
+ }
+ ],
+ "description": "A PHP parser written in PHP",
+ "keywords": [
+ "parser",
+ "php"
+ ],
+ "support": {
+ "issues": "https://github.com/nikic/PHP-Parser/issues",
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.3"
+ },
+ "time": "2023-01-16T22:05:37+00:00"
+ },
+ {
+ "name": "phar-io/manifest",
+ "version": "2.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/manifest.git",
+ "reference": "97803eca37d319dfa7826cc2437fc020857acb53"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
+ "reference": "97803eca37d319dfa7826cc2437fc020857acb53",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-phar": "*",
+ "ext-xmlwriter": "*",
+ "phar-io/version": "^3.0.1",
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Heuer",
+ "email": "sebastian@phpeople.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
+ "support": {
+ "issues": "https://github.com/phar-io/manifest/issues",
+ "source": "https://github.com/phar-io/manifest/tree/2.0.3"
+ },
+ "time": "2021-07-20T11:28:43+00:00"
+ },
+ {
+ "name": "phar-io/version",
+ "version": "3.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/version.git",
+ "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
+ "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-2.x": "2.x-dev"
- }
- },
"autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": "src/"
- }
+ "classmap": [
+ "src/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
],
"authors": [
{
- "name": "Jaap van Otterdijk",
- "email": "opensource@ijaap.nl"
- }
- ],
- "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
- "homepage": "http://www.phpdoc.org",
- "keywords": [
- "FQSEN",
- "phpDocumentor",
- "phpdoc",
- "reflection",
- "static analysis"
- ],
- "time": "2020-06-27T09:03:43+00:00"
- },
- {
- "name": "phpdocumentor/reflection-docblock",
- "version": "5.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e",
- "reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e",
- "shasum": ""
- },
- "require": {
- "ext-filter": "^7.1",
- "php": "^7.2",
- "phpdocumentor/reflection-common": "^2.0",
- "phpdocumentor/type-resolver": "^1.0",
- "webmozart/assert": "^1"
- },
- "require-dev": {
- "doctrine/instantiator": "^1",
- "mockery/mockery": "^1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
},
{
- "name": "Jaap van Otterdijk",
- "email": "account@ijaap.nl"
- }
- ],
- "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
- "time": "2020-02-22T12:28:44+00:00"
- },
- {
- "name": "phpdocumentor/type-resolver",
- "version": "1.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "e878a14a65245fbe78f8080eba03b47c3b705651"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e878a14a65245fbe78f8080eba03b47c3b705651",
- "reference": "e878a14a65245fbe78f8080eba03b47c3b705651",
- "shasum": ""
- },
- "require": {
- "php": "^7.2 || ^8.0",
- "phpdocumentor/reflection-common": "^2.0"
- },
- "require-dev": {
- "ext-tokenizer": "*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-1.x": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
- }
- ],
- "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
- "time": "2020-06-27T10:12:23+00:00"
- },
- {
- "name": "phpspec/prophecy",
- "version": "v1.10.3",
- "source": {
- "type": "git",
- "url": "https://github.com/phpspec/prophecy.git",
- "reference": "451c3cd1418cf640de218914901e51b064abb093"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/451c3cd1418cf640de218914901e51b064abb093",
- "reference": "451c3cd1418cf640de218914901e51b064abb093",
- "shasum": ""
- },
- "require": {
- "doctrine/instantiator": "^1.0.2",
- "php": "^5.3|^7.0",
- "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0",
- "sebastian/comparator": "^1.2.3|^2.0|^3.0|^4.0",
- "sebastian/recursion-context": "^1.0|^2.0|^3.0|^4.0"
- },
- "require-dev": {
- "phpspec/phpspec": "^2.5 || ^3.2",
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.10.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Prophecy\\": "src/Prophecy"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Konstantin Kudryashov",
- "email": "ever.zet@gmail.com",
- "homepage": "http://everzet.com"
+ "name": "Sebastian Heuer",
+ "email": "sebastian@phpeople.de",
+ "role": "Developer"
},
{
- "name": "Marcello Duarte",
- "email": "marcello.duarte@gmail.com"
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "Developer"
}
],
- "description": "Highly opinionated mocking framework for PHP 5.3+",
- "homepage": "https://github.com/phpspec/prophecy",
- "keywords": [
- "Double",
- "Dummy",
- "fake",
- "mock",
- "spy",
- "stub"
- ],
- "time": "2020-03-05T15:02:03+00:00"
+ "description": "Library for handling version information and constraints",
+ "support": {
+ "issues": "https://github.com/phar-io/version/issues",
+ "source": "https://github.com/phar-io/version/tree/3.2.1"
+ },
+ "time": "2022-02-21T01:04:05+00:00"
},
{
"name": "phpunit/php-code-coverage",
- "version": "4.0.8",
+ "version": "9.2.24",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d"
+ "reference": "2cf940ebc6355a9d430462811b5aaa308b174bed"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d",
- "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2cf940ebc6355a9d430462811b5aaa308b174bed",
+ "reference": "2cf940ebc6355a9d430462811b5aaa308b174bed",
"shasum": ""
},
"require": {
"ext-dom": "*",
+ "ext-libxml": "*",
"ext-xmlwriter": "*",
- "php": "^5.6 || ^7.0",
- "phpunit/php-file-iterator": "^1.3",
- "phpunit/php-text-template": "^1.2",
- "phpunit/php-token-stream": "^1.4.2 || ^2.0",
- "sebastian/code-unit-reverse-lookup": "^1.0",
- "sebastian/environment": "^1.3.2 || ^2.0",
- "sebastian/version": "^1.0 || ^2.0"
+ "nikic/php-parser": "^4.14",
+ "php": ">=7.3",
+ "phpunit/php-file-iterator": "^3.0.3",
+ "phpunit/php-text-template": "^2.0.2",
+ "sebastian/code-unit-reverse-lookup": "^2.0.2",
+ "sebastian/complexity": "^2.0",
+ "sebastian/environment": "^5.1.2",
+ "sebastian/lines-of-code": "^1.0.3",
+ "sebastian/version": "^3.0.1",
+ "theseer/tokenizer": "^1.2.0"
},
"require-dev": {
- "ext-xdebug": "^2.1.4",
- "phpunit/phpunit": "^5.7"
+ "phpunit/phpunit": "^9.3"
},
"suggest": {
- "ext-xdebug": "^2.5.1"
+ "ext-pcov": "*",
+ "ext-xdebug": "*"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0.x-dev"
+ "dev-master": "9.2-dev"
}
},
"autoload": {
@@ -580,7 +457,7 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sb@sebastian-bergmann.de",
+ "email": "sebastian@phpunit.de",
"role": "lead"
}
],
@@ -591,29 +468,42 @@
"testing",
"xunit"
],
- "time": "2017-04-02T07:44:40+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.24"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2023-01-26T08:26:55+00:00"
},
{
"name": "phpunit/php-file-iterator",
- "version": "1.4.5",
+ "version": "3.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4"
+ "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4",
- "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
+ "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.4.x-dev"
+ "dev-master": "3.0-dev"
}
},
"autoload": {
@@ -628,7 +518,7 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sb@sebastian-bergmann.de",
+ "email": "sebastian@phpunit.de",
"role": "lead"
}
],
@@ -638,26 +528,107 @@
"filesystem",
"iterator"
],
- "time": "2017-11-27T13:52:08+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2021-12-02T12:48:52+00:00"
},
{
- "name": "phpunit/php-text-template",
- "version": "1.2.1",
+ "name": "phpunit/php-invoker",
+ "version": "3.1.1",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
+ "url": "https://github.com/sebastianbergmann/php-invoker.git",
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
- "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "ext-pcntl": "*",
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-pcntl": "*"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.1-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Invoke callables with a timeout",
+ "homepage": "https://github.com/sebastianbergmann/php-invoker/",
+ "keywords": [
+ "process"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-invoker/issues",
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:58:55+00:00"
+ },
+ {
+ "name": "phpunit/php-text-template",
+ "version": "2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-text-template.git",
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
"autoload": {
"classmap": [
"src/"
@@ -679,32 +650,42 @@
"keywords": [
"template"
],
- "time": "2015-06-21T13:50:34+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T05:33:50+00:00"
},
{
"name": "phpunit/php-timer",
- "version": "1.0.9",
+ "version": "5.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f"
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
- "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
"shasum": ""
},
"require": {
- "php": "^5.3.3 || ^7.0"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-master": "5.0-dev"
}
},
"autoload": {
@@ -719,7 +700,7 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sb@sebastian-bergmann.de",
+ "email": "sebastian@phpunit.de",
"role": "lead"
}
],
@@ -728,104 +709,64 @@
"keywords": [
"timer"
],
- "time": "2017-02-26T11:10:40+00:00"
- },
- {
- "name": "phpunit/php-token-stream",
- "version": "2.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-token-stream.git",
- "reference": "791198a2c6254db10131eecfe8c06670700904db"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-timer/issues",
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
},
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/791198a2c6254db10131eecfe8c06670700904db",
- "reference": "791198a2c6254db10131eecfe8c06670700904db",
- "shasum": ""
- },
- "require": {
- "ext-tokenizer": "*",
- "php": "^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.2.4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
+ "funding": [
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
}
],
- "description": "Wrapper around PHP's tokenizer extension.",
- "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
- "keywords": [
- "tokenizer"
- ],
- "time": "2017-11-27T05:48:46+00:00"
+ "time": "2020-10-26T13:16:10+00:00"
},
{
"name": "phpunit/phpunit",
- "version": "5.7.27",
+ "version": "9.6.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c"
+ "reference": "e7b1615e3e887d6c719121c6d4a44b0ab9645555"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c",
- "reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e7b1615e3e887d6c719121c6d4a44b0ab9645555",
+ "reference": "e7b1615e3e887d6c719121c6d4a44b0ab9645555",
"shasum": ""
},
"require": {
+ "doctrine/instantiator": "^1.3.1 || ^2",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
"ext-mbstring": "*",
"ext-xml": "*",
- "myclabs/deep-copy": "~1.3",
- "php": "^5.6 || ^7.0",
- "phpspec/prophecy": "^1.6.2",
- "phpunit/php-code-coverage": "^4.0.4",
- "phpunit/php-file-iterator": "~1.4",
- "phpunit/php-text-template": "~1.2",
- "phpunit/php-timer": "^1.0.6",
- "phpunit/phpunit-mock-objects": "^3.2",
- "sebastian/comparator": "^1.2.4",
- "sebastian/diff": "^1.4.3",
- "sebastian/environment": "^1.3.4 || ^2.0",
- "sebastian/exporter": "~2.0",
- "sebastian/global-state": "^1.1",
- "sebastian/object-enumerator": "~2.0",
- "sebastian/resource-operations": "~1.0",
- "sebastian/version": "^1.0.6|^2.0.1",
- "symfony/yaml": "~2.1|~3.0|~4.0"
- },
- "conflict": {
- "phpdocumentor/reflection-docblock": "3.0.2"
- },
- "require-dev": {
- "ext-pdo": "*"
+ "ext-xmlwriter": "*",
+ "myclabs/deep-copy": "^1.10.1",
+ "phar-io/manifest": "^2.0.3",
+ "phar-io/version": "^3.0.2",
+ "php": ">=7.3",
+ "phpunit/php-code-coverage": "^9.2.13",
+ "phpunit/php-file-iterator": "^3.0.5",
+ "phpunit/php-invoker": "^3.1.1",
+ "phpunit/php-text-template": "^2.0.3",
+ "phpunit/php-timer": "^5.0.2",
+ "sebastian/cli-parser": "^1.0.1",
+ "sebastian/code-unit": "^1.0.6",
+ "sebastian/comparator": "^4.0.8",
+ "sebastian/diff": "^4.0.3",
+ "sebastian/environment": "^5.1.3",
+ "sebastian/exporter": "^4.0.5",
+ "sebastian/global-state": "^5.0.1",
+ "sebastian/object-enumerator": "^4.0.3",
+ "sebastian/resource-operations": "^3.0.3",
+ "sebastian/type": "^3.2",
+ "sebastian/version": "^3.0.2"
},
"suggest": {
- "ext-xdebug": "*",
- "phpunit/php-invoker": "~1.1"
+ "ext-soap": "*",
+ "ext-xdebug": "*"
},
"bin": [
"phpunit"
@@ -833,10 +774,13 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.7.x-dev"
+ "dev-master": "9.6-dev"
}
},
"autoload": {
+ "files": [
+ "src/Framework/Assert/Functions.php"
+ ],
"classmap": [
"src/"
]
@@ -859,179 +803,38 @@
"testing",
"xunit"
],
- "time": "2018-02-01T05:50:59+00:00"
- },
- {
- "name": "phpunit/phpunit-mock-objects",
- "version": "3.4.4",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
- "reference": "a23b761686d50a560cc56233b9ecf49597cc9118"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/phpunit/issues",
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.3"
},
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/a23b761686d50a560cc56233b9ecf49597cc9118",
- "reference": "a23b761686d50a560cc56233b9ecf49597cc9118",
- "shasum": ""
- },
- "require": {
- "doctrine/instantiator": "^1.0.2",
- "php": "^5.6 || ^7.0",
- "phpunit/php-text-template": "^1.2",
- "sebastian/exporter": "^1.2 || ^2.0"
- },
- "conflict": {
- "phpunit/phpunit": "<5.4.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^5.4"
- },
- "suggest": {
- "ext-soap": "*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.2.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
+ "funding": [
{
- "name": "Sebastian Bergmann",
- "email": "sb@sebastian-bergmann.de",
- "role": "lead"
- }
- ],
- "description": "Mock Object library for PHPUnit",
- "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
- "keywords": [
- "mock",
- "xunit"
- ],
- "abandoned": true,
- "time": "2017-06-30T09:13:00+00:00"
- },
- {
- "name": "psr/container",
- "version": "1.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/container.git",
- "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
- "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Container\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
+ "url": "https://phpunit.de/sponsors.html",
+ "type": "custom"
+ },
{
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Common Container Interface (PHP FIG PSR-11)",
- "homepage": "https://github.com/php-fig/container",
- "keywords": [
- "PSR-11",
- "container",
- "container-interface",
- "container-interop",
- "psr"
- ],
- "time": "2017-02-14T16:28:37+00:00"
- },
- {
- "name": "psr/http-message",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/http-message.git",
- "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
- "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Http\\Message\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ },
{
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit",
+ "type": "tidelift"
}
],
- "description": "Common interface for HTTP messages",
- "homepage": "https://github.com/php-fig/http-message",
- "keywords": [
- "http",
- "http-message",
- "psr",
- "psr-7",
- "request",
- "response"
- ],
- "time": "2016-08-06T14:39:51+00:00"
+ "time": "2023-02-04T13:37:15+00:00"
},
{
"name": "psr/log",
- "version": "1.1.3",
+ "version": "1.1.4",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
- "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
- "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
"shasum": ""
},
"require": {
@@ -1055,7 +858,7 @@
"authors": [
{
"name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "homepage": "https://www.php-fig.org/"
}
],
"description": "Common interface for logging libraries",
@@ -1065,91 +868,46 @@
"psr",
"psr-3"
],
- "time": "2020-03-23T09:12:05+00:00"
- },
- {
- "name": "ralouphie/getallheaders",
- "version": "3.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/ralouphie/getallheaders.git",
- "reference": "120b605dfeb996808c31b6477290a714d356e822"
+ "support": {
+ "source": "https://github.com/php-fig/log/tree/1.1.4"
},
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
- "reference": "120b605dfeb996808c31b6477290a714d356e822",
- "shasum": ""
- },
- "require": {
- "php": ">=5.6"
- },
- "require-dev": {
- "php-coveralls/php-coveralls": "^2.1",
- "phpunit/phpunit": "^5 || ^6.5"
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/getallheaders.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ralph Khattar",
- "email": "ralph.khattar@gmail.com"
- }
- ],
- "description": "A polyfill for getallheaders.",
- "time": "2019-03-08T08:55:37+00:00"
+ "time": "2021-05-03T11:20:27+00:00"
},
{
"name": "satooshi/php-coveralls",
- "version": "v2.2.0",
+ "version": "v1.0.1",
"source": {
"type": "git",
- "url": "https://github.com/php-coveralls/php-coveralls.git",
- "reference": "3e6420fa666ef7bae5e750ddeac903153e193bae"
+ "url": "https://github.com/satooshi/php-coveralls.git",
+ "reference": "da51d304fe8622bf9a6da39a8446e7afd432115c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-coveralls/php-coveralls/zipball/3e6420fa666ef7bae5e750ddeac903153e193bae",
- "reference": "3e6420fa666ef7bae5e750ddeac903153e193bae",
+ "url": "https://api.github.com/repos/satooshi/php-coveralls/zipball/da51d304fe8622bf9a6da39a8446e7afd432115c",
+ "reference": "da51d304fe8622bf9a6da39a8446e7afd432115c",
"shasum": ""
},
"require": {
"ext-json": "*",
"ext-simplexml": "*",
- "guzzlehttp/guzzle": "^6.0",
- "php": "^5.5 || ^7.0",
+ "guzzle/guzzle": "^2.8|^3.0",
+ "php": ">=5.3.3",
"psr/log": "^1.0",
- "symfony/config": "^2.1 || ^3.0 || ^4.0 || ^5.0",
- "symfony/console": "^2.1 || ^3.0 || ^4.0 || ^5.0",
- "symfony/stopwatch": "^2.0 || ^3.0 || ^4.0 || ^5.0",
- "symfony/yaml": "^2.0.5 || ^3.0 || ^4.0 || ^5.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.8.35 || ^5.4.3 || ^6.0"
+ "symfony/config": "^2.1|^3.0",
+ "symfony/console": "^2.1|^3.0",
+ "symfony/stopwatch": "^2.0|^3.0",
+ "symfony/yaml": "^2.0|^3.0"
},
"suggest": {
"symfony/http-kernel": "Allows Symfony integration"
},
"bin": [
- "bin/php-coveralls"
+ "bin/coveralls"
],
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.2-dev"
- }
- },
"autoload": {
"psr-4": {
- "PhpCoveralls\\": "src/"
+ "Satooshi\\": "src/Satooshi/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -1160,61 +918,160 @@
{
"name": "Kitamura Satoshi",
"email": "with.no.parachute@gmail.com",
- "homepage": "https://www.facebook.com/satooshi.jp",
- "role": "Original creator"
- },
- {
- "name": "Takashi Matsuo",
- "email": "tmatsuo@google.com"
- },
- {
- "name": "Google Inc"
- },
- {
- "name": "Dariusz Ruminski",
- "email": "dariusz.ruminski@gmail.com",
- "homepage": "https://github.com/keradus"
- },
- {
- "name": "Contributors",
- "homepage": "https://github.com/php-coveralls/php-coveralls/graphs/contributors"
+ "homepage": "https://www.facebook.com/satooshi.jp"
}
],
"description": "PHP client library for Coveralls API",
- "homepage": "https://github.com/php-coveralls/php-coveralls",
+ "homepage": "https://github.com/satooshi/php-coveralls",
"keywords": [
"ci",
"coverage",
"github",
"test"
],
+ "support": {
+ "issues": "https://github.com/satooshi/php-coveralls/issues",
+ "source": "https://github.com/satooshi/php-coveralls/tree/1.0"
+ },
"abandoned": "php-coveralls/php-coveralls",
- "time": "2019-11-20T16:29:20+00:00"
+ "time": "2016-01-20T17:35:46+00:00"
},
{
- "name": "sebastian/code-unit-reverse-lookup",
+ "name": "sebastian/cli-parser",
"version": "1.0.1",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18"
+ "url": "https://github.com/sebastianbergmann/cli-parser.git",
+ "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
- "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+ "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2",
"shasum": ""
},
"require": {
- "php": "^5.6 || ^7.0"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^5.7 || ^6.0"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for parsing CLI options",
+ "homepage": "https://github.com/sebastianbergmann/cli-parser",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/cli-parser/issues",
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T06:08:49+00:00"
+ },
+ {
+ "name": "sebastian/code-unit",
+ "version": "1.0.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/code-unit.git",
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Collection of value objects that represent the PHP code units",
+ "homepage": "https://github.com/sebastianbergmann/code-unit",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/code-unit/issues",
+ "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:08:54+00:00"
+ },
+ {
+ "name": "sebastian/code-unit-reverse-lookup",
+ "version": "2.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
}
},
"autoload": {
@@ -1234,34 +1091,44 @@
],
"description": "Looks up which function or method a line of code belongs to",
"homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
- "time": "2017-03-04T06:30:41+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:30:19+00:00"
},
{
"name": "sebastian/comparator",
- "version": "1.2.4",
+ "version": "4.0.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be"
+ "reference": "fa0f136dd2334583309d32b62544682ee972b51a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
- "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a",
+ "reference": "fa0f136dd2334583309d32b62544682ee972b51a",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
- "sebastian/diff": "~1.2",
- "sebastian/exporter": "~1.2 || ~2.0"
+ "php": ">=7.3",
+ "sebastian/diff": "^4.0",
+ "sebastian/exporter": "^4.0"
},
"require-dev": {
- "phpunit/phpunit": "~4.4"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.2.x-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -1274,6 +1141,10 @@
"BSD-3-Clause"
],
"authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
{
"name": "Jeff Welch",
"email": "whatthejeff@gmail.com"
@@ -1285,45 +1156,52 @@
{
"name": "Bernhard Schussek",
"email": "bschussek@2bepublished.at"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
}
],
"description": "Provides the functionality to compare PHP values for equality",
- "homepage": "http://www.github.com/sebastianbergmann/comparator",
+ "homepage": "https://github.com/sebastianbergmann/comparator",
"keywords": [
"comparator",
"compare",
"equality"
],
- "time": "2017-01-29T09:50:25+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/comparator/issues",
+ "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2022-09-14T12:41:17+00:00"
},
{
- "name": "sebastian/diff",
- "version": "1.4.3",
+ "name": "sebastian/complexity",
+ "version": "2.0.2",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4"
+ "url": "https://github.com/sebastianbergmann/complexity.git",
+ "reference": "739b35e53379900cc9ac327b2147867b8b6efd88"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4",
- "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88",
+ "reference": "739b35e53379900cc9ac327b2147867b8b6efd88",
"shasum": ""
},
"require": {
- "php": "^5.3.3 || ^7.0"
+ "nikic/php-parser": "^4.7",
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.4-dev"
+ "dev-master": "2.0-dev"
}
},
"autoload": {
@@ -1337,45 +1215,118 @@
],
"authors": [
{
- "name": "Kore Nordmann",
- "email": "mail@kore-nordmann.de"
- },
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for calculating the complexity of PHP code units",
+ "homepage": "https://github.com/sebastianbergmann/complexity",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/complexity/issues",
+ "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T15:52:27+00:00"
+ },
+ {
+ "name": "sebastian/diff",
+ "version": "4.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/diff.git",
+ "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
+ "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3",
+ "symfony/process": "^4.2 || ^5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Kore Nordmann",
+ "email": "mail@kore-nordmann.de"
}
],
"description": "Diff implementation",
"homepage": "https://github.com/sebastianbergmann/diff",
"keywords": [
- "diff"
+ "diff",
+ "udiff",
+ "unidiff",
+ "unified diff"
],
- "time": "2017-05-22T07:24:03+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/diff/issues",
+ "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:10:38+00:00"
},
{
"name": "sebastian/environment",
- "version": "2.0.0",
+ "version": "5.1.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac"
+ "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac",
- "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
+ "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
"shasum": ""
},
"require": {
- "php": "^5.6 || ^7.0"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^5.0"
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-posix": "*"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0.x-dev"
+ "dev-master": "5.1-dev"
}
},
"autoload": {
@@ -1400,34 +1351,44 @@
"environment",
"hhvm"
],
- "time": "2016-11-26T07:53:53+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/environment/issues",
+ "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2023-02-03T06:03:51+00:00"
},
{
"name": "sebastian/exporter",
- "version": "2.0.0",
+ "version": "4.0.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4"
+ "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4",
- "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
+ "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
- "sebastian/recursion-context": "~2.0"
+ "php": ">=7.3",
+ "sebastian/recursion-context": "^4.0"
},
"require-dev": {
"ext-mbstring": "*",
- "phpunit/phpunit": "~4.4"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0.x-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -1440,6 +1401,10 @@
"BSD-3-Clause"
],
"authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
{
"name": "Jeff Welch",
"email": "whatthejeff@gmail.com"
@@ -1448,46 +1413,55 @@
"name": "Volker Dusch",
"email": "github@wallbash.com"
},
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@2bepublished.at"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
{
"name": "Adam Harvey",
"email": "aharvey@php.net"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
}
],
"description": "Provides the functionality to export PHP variables for visualization",
- "homepage": "http://www.github.com/sebastianbergmann/exporter",
+ "homepage": "https://www.github.com/sebastianbergmann/exporter",
"keywords": [
"export",
"exporter"
],
- "time": "2016-11-19T08:54:04+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/exporter/issues",
+ "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2022-09-14T06:03:37+00:00"
},
{
"name": "sebastian/global-state",
- "version": "1.1.1",
+ "version": "5.0.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4"
+ "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4",
- "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2",
+ "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.3",
+ "sebastian/object-reflector": "^2.0",
+ "sebastian/recursion-context": "^4.0"
},
"require-dev": {
- "phpunit/phpunit": "~4.2"
+ "ext-dom": "*",
+ "phpunit/phpunit": "^9.3"
},
"suggest": {
"ext-uopz": "*"
@@ -1495,7 +1469,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-master": "5.0-dev"
}
},
"autoload": {
@@ -1518,33 +1492,101 @@
"keywords": [
"global state"
],
- "time": "2015-10-12T03:26:01+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/global-state/issues",
+ "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2022-02-14T08:28:10+00:00"
},
{
- "name": "sebastian/object-enumerator",
- "version": "2.0.1",
+ "name": "sebastian/lines-of-code",
+ "version": "1.0.3",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7"
+ "url": "https://github.com/sebastianbergmann/lines-of-code.git",
+ "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7",
- "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc",
+ "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc",
"shasum": ""
},
"require": {
- "php": ">=5.6",
- "sebastian/recursion-context": "~2.0"
+ "nikic/php-parser": "^4.6",
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "~5"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0.x-dev"
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for counting the lines of code in PHP source code",
+ "homepage": "https://github.com/sebastianbergmann/lines-of-code",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-28T06:42:11+00:00"
+ },
+ {
+ "name": "sebastian/object-enumerator",
+ "version": "4.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/object-enumerator.git",
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3",
+ "sebastian/object-reflector": "^2.0",
+ "sebastian/recursion-context": "^4.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -1564,32 +1606,42 @@
],
"description": "Traverses array structures and object graphs to enumerate all referenced objects",
"homepage": "https://github.com/sebastianbergmann/object-enumerator/",
- "time": "2017-02-18T15:18:39+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:12:34+00:00"
},
{
- "name": "sebastian/recursion-context",
- "version": "2.0.0",
+ "name": "sebastian/object-reflector",
+ "version": "2.0.4",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a"
+ "url": "https://github.com/sebastianbergmann/object-reflector.git",
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a",
- "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "~4.4"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0.x-dev"
+ "dev-master": "2.0-dev"
}
},
"autoload": {
@@ -1603,43 +1655,111 @@
],
"authors": [
{
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Allows reflection of object attributes, including inherited and non-public ones",
+ "homepage": "https://github.com/sebastianbergmann/object-reflector/",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:14:26+00:00"
+ },
+ {
+ "name": "sebastian/recursion-context",
+ "version": "4.0.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/recursion-context.git",
+ "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
+ "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
},
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
{
"name": "Adam Harvey",
"email": "aharvey@php.net"
}
],
"description": "Provides functionality to recursively process PHP variables",
- "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
- "time": "2016-11-19T07:33:16+00:00"
+ "homepage": "https://github.com/sebastianbergmann/recursion-context",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2023-02-03T06:07:39+00:00"
},
{
"name": "sebastian/resource-operations",
- "version": "1.0.0",
+ "version": "3.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/resource-operations.git",
- "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52"
+ "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
- "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
+ "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
+ "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
"shasum": ""
},
"require": {
- "php": ">=5.6.0"
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "3.0-dev"
}
},
"autoload": {
@@ -1659,29 +1779,95 @@
],
"description": "Provides a list of PHP built-in functions that operate on resources",
"homepage": "https://www.github.com/sebastianbergmann/resource-operations",
- "time": "2015-07-28T20:34:47+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
+ "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T06:45:17+00:00"
},
{
- "name": "sebastian/version",
- "version": "2.0.1",
+ "name": "sebastian/type",
+ "version": "3.2.1",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/version.git",
- "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019"
+ "url": "https://github.com/sebastianbergmann/type.git",
+ "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019",
- "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
+ "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
"shasum": ""
},
"require": {
- "php": ">=5.6"
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.5"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0.x-dev"
+ "dev-master": "3.2-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Collection of value objects that represent the types of the PHP type system",
+ "homepage": "https://github.com/sebastianbergmann/type",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/type/issues",
+ "source": "https://github.com/sebastianbergmann/type/tree/3.2.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2023-02-03T06:13:03+00:00"
+ },
+ {
+ "name": "sebastian/version",
+ "version": "3.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/version.git",
+ "reference": "c6c1022351a901512170118436c764e473f6de8c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
+ "reference": "c6c1022351a901512170118436c764e473f6de8c",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
}
},
"autoload": {
@@ -1702,48 +1888,51 @@
],
"description": "Library that helps with managing the version number of Git-hosted PHP projects",
"homepage": "https://github.com/sebastianbergmann/version",
- "time": "2016-10-03T07:35:21+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/version/issues",
+ "source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T06:39:44+00:00"
},
{
"name": "symfony/config",
- "version": "v5.1.2",
+ "version": "v3.4.47",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "b8623ef3d99fe62a34baf7a111b576216965f880"
+ "reference": "bc6b3fd3930d4b53a60b42fe2ed6fc466b75f03f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/b8623ef3d99fe62a34baf7a111b576216965f880",
- "reference": "b8623ef3d99fe62a34baf7a111b576216965f880",
+ "url": "https://api.github.com/repos/symfony/config/zipball/bc6b3fd3930d4b53a60b42fe2ed6fc466b75f03f",
+ "reference": "bc6b3fd3930d4b53a60b42fe2ed6fc466b75f03f",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1",
- "symfony/filesystem": "^4.4|^5.0",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-php80": "^1.15"
+ "php": "^5.5.9|>=7.0.8",
+ "symfony/filesystem": "~2.8|~3.0|~4.0",
+ "symfony/polyfill-ctype": "~1.8"
},
"conflict": {
- "symfony/finder": "<4.4"
+ "symfony/dependency-injection": "<3.3",
+ "symfony/finder": "<3.3"
},
"require-dev": {
- "symfony/event-dispatcher": "^4.4|^5.0",
- "symfony/finder": "^4.4|^5.0",
- "symfony/messenger": "^4.4|^5.0",
- "symfony/service-contracts": "^1.1|^2",
- "symfony/yaml": "^4.4|^5.0"
+ "symfony/dependency-injection": "~3.3|~4.0",
+ "symfony/event-dispatcher": "~3.3|~4.0",
+ "symfony/finder": "~3.3|~4.0",
+ "symfony/yaml": "~3.0|~4.0"
},
"suggest": {
"symfony/yaml": "To use the yaml reference dumper"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Config\\": ""
@@ -1768,6 +1957,9 @@
],
"description": "Symfony Config Component",
"homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/config/tree/v3.4.47"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -1782,48 +1974,41 @@
"type": "tidelift"
}
],
- "time": "2020-05-23T13:08:13+00:00"
+ "time": "2020-10-24T10:57:07+00:00"
},
{
"name": "symfony/console",
- "version": "v5.1.2",
+ "version": "v3.4.47",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "34ac555a3627e324b660e318daa07572e1140123"
+ "reference": "a10b1da6fc93080c180bba7219b5ff5b7518fe81"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/34ac555a3627e324b660e318daa07572e1140123",
- "reference": "34ac555a3627e324b660e318daa07572e1140123",
+ "url": "https://api.github.com/repos/symfony/console/zipball/a10b1da6fc93080c180bba7219b5ff5b7518fe81",
+ "reference": "a10b1da6fc93080c180bba7219b5ff5b7518fe81",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php73": "^1.8",
- "symfony/polyfill-php80": "^1.15",
- "symfony/service-contracts": "^1.1|^2",
- "symfony/string": "^5.1"
+ "php": "^5.5.9|>=7.0.8",
+ "symfony/debug": "~2.8|~3.0|~4.0",
+ "symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
- "symfony/dependency-injection": "<4.4",
- "symfony/dotenv": "<5.1",
- "symfony/event-dispatcher": "<4.4",
- "symfony/lock": "<4.4",
- "symfony/process": "<4.4"
+ "symfony/dependency-injection": "<3.4",
+ "symfony/process": "<3.3"
},
"provide": {
"psr/log-implementation": "1.0"
},
"require-dev": {
"psr/log": "~1.0",
- "symfony/config": "^4.4|^5.0",
- "symfony/dependency-injection": "^4.4|^5.0",
- "symfony/event-dispatcher": "^4.4|^5.0",
- "symfony/lock": "^4.4|^5.0",
- "symfony/process": "^4.4|^5.0",
- "symfony/var-dumper": "^4.4|^5.0"
+ "symfony/config": "~3.3|~4.0",
+ "symfony/dependency-injection": "~3.4|~4.0",
+ "symfony/event-dispatcher": "~2.8|~3.0|~4.0",
+ "symfony/lock": "~3.4|~4.0",
+ "symfony/process": "~3.3|~4.0"
},
"suggest": {
"psr/log": "For using the console logger",
@@ -1832,11 +2017,6 @@
"symfony/process": ""
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Console\\": ""
@@ -1861,6 +2041,9 @@
],
"description": "Symfony Console Component",
"homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/console/tree/v3.4.47"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -1875,34 +2058,39 @@
"type": "tidelift"
}
],
- "time": "2020-06-15T12:59:21+00:00"
+ "time": "2020-10-24T10:57:07+00:00"
},
{
- "name": "symfony/deprecation-contracts",
- "version": "v2.1.2",
+ "name": "symfony/debug",
+ "version": "v4.4.44",
"source": {
"type": "git",
- "url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "dd99cb3a0aff6cadd2a8d7d7ed72c2161e218337"
+ "url": "https://github.com/symfony/debug.git",
+ "reference": "1a692492190773c5310bc7877cb590c04c2f05be"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/dd99cb3a0aff6cadd2a8d7d7ed72c2161e218337",
- "reference": "dd99cb3a0aff6cadd2a8d7d7ed72c2161e218337",
+ "url": "https://api.github.com/repos/symfony/debug/zipball/1a692492190773c5310bc7877cb590c04c2f05be",
+ "reference": "1a692492190773c5310bc7877cb590c04c2f05be",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.1.3",
+ "psr/log": "^1|^2|^3"
+ },
+ "conflict": {
+ "symfony/http-kernel": "<3.4"
+ },
+ "require-dev": {
+ "symfony/http-kernel": "^3.4|^4.0|^5.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.1-dev"
- }
- },
"autoload": {
- "files": [
- "function.php"
+ "psr-4": {
+ "Symfony\\Component\\Debug\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -1911,16 +2099,19 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "A generic function and convention to trigger deprecation notices",
+ "description": "Provides tools to ease debugging PHP code",
"homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/debug/tree/v4.4.44"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -1935,32 +2126,92 @@
"type": "tidelift"
}
],
- "time": "2020-05-27T08:34:37+00:00"
+ "abandoned": "symfony/error-handler",
+ "time": "2022-07-28T16:29:46+00:00"
},
{
- "name": "symfony/filesystem",
- "version": "v5.1.2",
+ "name": "symfony/event-dispatcher",
+ "version": "v2.8.52",
"source": {
"type": "git",
- "url": "https://github.com/symfony/filesystem.git",
- "reference": "6e4320f06d5f2cce0d96530162491f4465179157"
+ "url": "https://github.com/symfony/event-dispatcher.git",
+ "reference": "a77e974a5fecb4398833b0709210e3d5e334ffb0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/6e4320f06d5f2cce0d96530162491f4465179157",
- "reference": "6e4320f06d5f2cce0d96530162491f4465179157",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a77e974a5fecb4398833b0709210e3d5e334ffb0",
+ "reference": "a77e974a5fecb4398833b0709210e3d5e334ffb0",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-ctype": "~1.8"
+ "php": ">=5.3.9"
+ },
+ "require-dev": {
+ "psr/log": "~1.0",
+ "symfony/config": "^2.0.5|~3.0.0",
+ "symfony/dependency-injection": "~2.6|~3.0.0",
+ "symfony/expression-language": "~2.6|~3.0.0",
+ "symfony/stopwatch": "~2.3|~3.0.0"
+ },
+ "suggest": {
+ "symfony/dependency-injection": "",
+ "symfony/http-kernel": ""
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.1-dev"
+ "dev-master": "2.8-dev"
}
},
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\EventDispatcher\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony EventDispatcher Component",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/event-dispatcher/tree/v2.8.50"
+ },
+ "time": "2018-11-21T14:20:20+00:00"
+ },
+ {
+ "name": "symfony/filesystem",
+ "version": "v4.4.42",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/filesystem.git",
+ "reference": "815412ee8971209bd4c1eecd5f4f481eacd44bf5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/815412ee8971209bd4c1eecd5f4f481eacd44bf5",
+ "reference": "815412ee8971209bd4c1eecd5f4f481eacd44bf5",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1.3",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-php80": "^1.16"
+ },
+ "type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\Filesystem\\": ""
@@ -1983,8 +2234,11 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Filesystem Component",
+ "description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/filesystem/tree/v4.4.42"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -1999,24 +2253,27 @@
"type": "tidelift"
}
],
- "time": "2020-05-30T20:35:19+00:00"
+ "time": "2022-05-20T08:49:14+00:00"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.17.1",
+ "version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "2edd75b8b35d62fd3eeabba73b26b8f1f60ce13d"
+ "reference": "5bbc823adecdae860bb64756d639ecfec17b050a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/2edd75b8b35d62fd3eeabba73b26b8f1f60ce13d",
- "reference": "2edd75b8b35d62fd3eeabba73b26b8f1f60ce13d",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a",
+ "reference": "5bbc823adecdae860bb64756d639ecfec17b050a",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.1"
+ },
+ "provide": {
+ "ext-ctype": "*"
},
"suggest": {
"ext-ctype": "For best performance"
@@ -2024,7 +2281,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.17-dev"
+ "dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -2032,12 +2289,12 @@
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Ctype\\": ""
- },
"files": [
"bootstrap.php"
- ]
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Ctype\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -2061,6 +2318,9 @@
"polyfill",
"portable"
],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -2075,263 +2335,27 @@
"type": "tidelift"
}
],
- "time": "2020-06-06T08:46:27+00:00"
- },
- {
- "name": "symfony/polyfill-intl-grapheme",
- "version": "v1.17.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "6e4dbcf5e81eba86e36731f94fe56b1726835846"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/6e4dbcf5e81eba86e36731f94fe56b1726835846",
- "reference": "6e4dbcf5e81eba86e36731f94fe56b1726835846",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "suggest": {
- "ext-intl": "For best performance"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.17-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
- },
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for intl's grapheme_* functions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "grapheme",
- "intl",
- "polyfill",
- "portable",
- "shim"
- ],
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-06-06T08:46:27+00:00"
- },
- {
- "name": "symfony/polyfill-intl-idn",
- "version": "v1.17.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-intl-idn.git",
- "reference": "a57f8161502549a742a63c09f0a604997bf47027"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a57f8161502549a742a63c09f0a604997bf47027",
- "reference": "a57f8161502549a742a63c09f0a604997bf47027",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3",
- "symfony/polyfill-mbstring": "^1.3",
- "symfony/polyfill-php72": "^1.10"
- },
- "suggest": {
- "ext-intl": "For best performance"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.17-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Intl\\Idn\\": ""
- },
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Laurent Bassin",
- "email": "laurent@bassin.info"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "idn",
- "intl",
- "polyfill",
- "portable",
- "shim"
- ],
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-06-06T08:46:27+00:00"
- },
- {
- "name": "symfony/polyfill-intl-normalizer",
- "version": "v1.17.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "40309d1700e8f72447bb9e7b54af756eeea35620"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/40309d1700e8f72447bb9e7b54af756eeea35620",
- "reference": "40309d1700e8f72447bb9e7b54af756eeea35620",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "suggest": {
- "ext-intl": "For best performance"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.17-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
- },
- "files": [
- "bootstrap.php"
- ],
- "classmap": [
- "Resources/stubs"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for intl's Normalizer class and related functions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "intl",
- "normalizer",
- "polyfill",
- "portable",
- "shim"
- ],
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-06-14T14:40:37+00:00"
+ "time": "2022-11-03T14:55:06+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.17.1",
+ "version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "7110338d81ce1cbc3e273136e4574663627037a7"
+ "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7110338d81ce1cbc3e273136e4574663627037a7",
- "reference": "7110338d81ce1cbc3e273136e4574663627037a7",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
+ "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.1"
+ },
+ "provide": {
+ "ext-mbstring": "*"
},
"suggest": {
"ext-mbstring": "For best performance"
@@ -2339,7 +2363,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.17-dev"
+ "dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -2347,12 +2371,12 @@
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Mbstring\\": ""
- },
"files": [
"bootstrap.php"
- ]
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Mbstring\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -2377,6 +2401,9 @@
"portable",
"shim"
],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -2391,174 +2418,29 @@
"type": "tidelift"
}
],
- "time": "2020-06-06T08:46:27+00:00"
- },
- {
- "name": "symfony/polyfill-php72",
- "version": "v1.17.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php72.git",
- "reference": "f048e612a3905f34931127360bdd2def19a5e582"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/f048e612a3905f34931127360bdd2def19a5e582",
- "reference": "f048e612a3905f34931127360bdd2def19a5e582",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.17-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Php72\\": ""
- },
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-05-12T16:47:27+00:00"
- },
- {
- "name": "symfony/polyfill-php73",
- "version": "v1.17.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php73.git",
- "reference": "fa0837fe02d617d31fbb25f990655861bb27bd1a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fa0837fe02d617d31fbb25f990655861bb27bd1a",
- "reference": "fa0837fe02d617d31fbb25f990655861bb27bd1a",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.17-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Php73\\": ""
- },
- "files": [
- "bootstrap.php"
- ],
- "classmap": [
- "Resources/stubs"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-06-06T08:46:27+00:00"
+ "time": "2022-11-03T14:55:06+00:00"
},
{
"name": "symfony/polyfill-php80",
- "version": "v1.17.1",
+ "version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "4a5b6bba3259902e386eb80dd1956181ee90b5b2"
+ "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/4a5b6bba3259902e386eb80dd1956181ee90b5b2",
- "reference": "4a5b6bba3259902e386eb80dd1956181ee90b5b2",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
+ "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
"shasum": ""
},
"require": {
- "php": ">=7.0.8"
+ "php": ">=7.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.17-dev"
+ "dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -2566,12 +2448,12 @@
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Php80\\": ""
- },
"files": [
"bootstrap.php"
],
+ "psr-4": {
+ "Symfony\\Polyfill\\Php80\\": ""
+ },
"classmap": [
"Resources/stubs"
]
@@ -2602,6 +2484,9 @@
"portable",
"shim"
],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -2616,104 +2501,26 @@
"type": "tidelift"
}
],
- "time": "2020-06-06T08:46:27+00:00"
- },
- {
- "name": "symfony/service-contracts",
- "version": "v2.1.2",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/service-contracts.git",
- "reference": "66a8f0957a3ca54e4f724e49028ab19d75a8918b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/66a8f0957a3ca54e4f724e49028ab19d75a8918b",
- "reference": "66a8f0957a3ca54e4f724e49028ab19d75a8918b",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "psr/container": "^1.0"
- },
- "suggest": {
- "symfony/service-implementation": ""
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.1-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Contracts\\Service\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Generic abstractions related to writing services",
- "homepage": "https://symfony.com",
- "keywords": [
- "abstractions",
- "contracts",
- "decoupling",
- "interfaces",
- "interoperability",
- "standards"
- ],
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-05-20T17:43:50+00:00"
+ "time": "2022-11-03T14:55:06+00:00"
},
{
"name": "symfony/stopwatch",
- "version": "v5.1.2",
+ "version": "v3.4.47",
"source": {
"type": "git",
"url": "https://github.com/symfony/stopwatch.git",
- "reference": "0f7c58cf81dbb5dd67d423a89d577524a2ec0323"
+ "reference": "298b81faad4ce60e94466226b2abbb8c9bca7462"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/stopwatch/zipball/0f7c58cf81dbb5dd67d423a89d577524a2ec0323",
- "reference": "0f7c58cf81dbb5dd67d423a89d577524a2ec0323",
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/298b81faad4ce60e94466226b2abbb8c9bca7462",
+ "reference": "298b81faad4ce60e94466226b2abbb8c9bca7462",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/service-contracts": "^1.0|^2"
+ "php": "^5.5.9|>=7.0.8"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Stopwatch\\": ""
@@ -2738,6 +2545,9 @@
],
"description": "Symfony Stopwatch Component",
"homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/stopwatch/tree/v3.4.47"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -2752,126 +2562,36 @@
"type": "tidelift"
}
],
- "time": "2020-05-20T17:43:50+00:00"
- },
- {
- "name": "symfony/string",
- "version": "v5.1.2",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/string.git",
- "reference": "ac70459db781108db7c6d8981dd31ce0e29e3298"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/ac70459db781108db7c6d8981dd31ce0e29e3298",
- "reference": "ac70459db781108db7c6d8981dd31ce0e29e3298",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-intl-grapheme": "~1.0",
- "symfony/polyfill-intl-normalizer": "~1.0",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "~1.15"
- },
- "require-dev": {
- "symfony/error-handler": "^4.4|^5.0",
- "symfony/http-client": "^4.4|^5.0",
- "symfony/translation-contracts": "^1.1|^2",
- "symfony/var-exporter": "^4.4|^5.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\String\\": ""
- },
- "files": [
- "Resources/functions.php"
- ],
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony String component",
- "homepage": "https://symfony.com",
- "keywords": [
- "grapheme",
- "i18n",
- "string",
- "unicode",
- "utf-8",
- "utf8"
- ],
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-06-11T12:16:36+00:00"
+ "time": "2020-10-24T10:57:07+00:00"
},
{
"name": "symfony/yaml",
- "version": "v4.4.10",
+ "version": "v3.4.47",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "c2d2cc66e892322cfcc03f8f12f8340dbd7a3f8a"
+ "reference": "88289caa3c166321883f67fe5130188ebbb47094"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/c2d2cc66e892322cfcc03f8f12f8340dbd7a3f8a",
- "reference": "c2d2cc66e892322cfcc03f8f12f8340dbd7a3f8a",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/88289caa3c166321883f67fe5130188ebbb47094",
+ "reference": "88289caa3c166321883f67fe5130188ebbb47094",
"shasum": ""
},
"require": {
- "php": ">=7.1.3",
+ "php": "^5.5.9|>=7.0.8",
"symfony/polyfill-ctype": "~1.8"
},
"conflict": {
"symfony/console": "<3.4"
},
"require-dev": {
- "symfony/console": "^3.4|^4.0|^5.0"
+ "symfony/console": "~3.4|~4.0"
},
"suggest": {
"symfony/console": "For validating YAML files using the lint command"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.4-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Yaml\\": ""
@@ -2896,6 +2616,9 @@
],
"description": "Symfony Yaml Component",
"homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/yaml/tree/v3.4.47"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -2910,56 +2633,57 @@
"type": "tidelift"
}
],
- "time": "2020-05-20T08:37:50+00:00"
+ "time": "2020-10-24T10:57:07+00:00"
},
{
- "name": "webmozart/assert",
- "version": "1.9.0",
+ "name": "theseer/tokenizer",
+ "version": "1.2.1",
"source": {
"type": "git",
- "url": "https://github.com/webmozart/assert.git",
- "reference": "9dc4f203e36f2b486149058bade43c851dd97451"
+ "url": "https://github.com/theseer/tokenizer.git",
+ "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/webmozart/assert/zipball/9dc4f203e36f2b486149058bade43c851dd97451",
- "reference": "9dc4f203e36f2b486149058bade43c851dd97451",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
+ "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
"shasum": ""
},
"require": {
- "php": "^5.3.3 || ^7.0",
- "symfony/polyfill-ctype": "^1.8"
- },
- "conflict": {
- "phpstan/phpstan": "<0.12.20",
- "vimeo/psalm": "<3.9.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.8.36 || ^7.5.13"
+ "ext-dom": "*",
+ "ext-tokenizer": "*",
+ "ext-xmlwriter": "*",
+ "php": "^7.2 || ^8.0"
},
"type": "library",
"autoload": {
- "psr-4": {
- "Webmozart\\Assert\\": "src/"
- }
+ "classmap": [
+ "src/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
],
"authors": [
{
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
}
],
- "description": "Assertions to validate method input/output with nice error messages.",
- "keywords": [
- "assert",
- "check",
- "validate"
+ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
+ "support": {
+ "issues": "https://github.com/theseer/tokenizer/issues",
+ "source": "https://github.com/theseer/tokenizer/tree/1.2.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/theseer",
+ "type": "github"
+ }
],
- "time": "2020-06-16T10:16:42+00:00"
+ "time": "2021-07-28T10:34:58+00:00"
}
],
"aliases": [],
@@ -2968,9 +2692,9 @@
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
- "php": ">=5.3.0",
+ "php": ">=8.0.0",
"ext-tokenizer": "*"
},
"platform-dev": [],
- "plugin-api-version": "1.1.0"
+ "plugin-api-version": "2.3.0"
}
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index 9365857..e933133 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -8,7 +8,6 @@
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
- syntaxCheck="false"
bootstrap="tests/autoload.php"
>
@@ -18,7 +17,7 @@
-
+
./tests/
@@ -29,14 +28,6 @@
-
-
- ./src/
-
-
- ./tests/
-
-
diff --git a/src/Fenom.php b/src/Fenom.php
index f8603ad..80cb8da 100644
--- a/src/Fenom.php
+++ b/src/Fenom.php
@@ -8,7 +8,9 @@
* file that was distributed with this source code.
*/
use Fenom\Error\CompileException;
+use Fenom\Provider;
use Fenom\ProviderInterface;
+use Fenom\Render;
use Fenom\Template;
/**
@@ -73,7 +75,7 @@ class Fenom
* @var int[] of possible options, as associative array
* @see setOptions
*/
- private static $_options_list = array(
+ private static $_options_list = [
"disable_accessor" => self::DENY_ACCESSOR,
"disable_methods" => self::DENY_METHODS,
"disable_native_funcs" => self::DENY_NATIVE_FUNCS,
@@ -87,71 +89,71 @@ class Fenom
"disable_php_calls" => self::DENY_PHP_CALLS,
"disable_statics" => self::DENY_STATICS,
"strip" => self::AUTO_STRIP,
- );
+ ];
/**
* @var callable[]
*/
- public $pre_filters = array();
+ public array $pre_filters = [];
/**
* @var callable[]
*/
- public $filters = array();
+ public array $filters = [];
/**
* @var callable[]
*/
- public $tag_filters = array();
+ public array $tag_filters = [];
/**
* @var string[]
*/
- public $call_filters = array();
+ public array $call_filters = [];
/**
* @var callable[]
*/
- public $post_filters = array();
+ public array $post_filters = [];
/**
* @var Fenom\Render[] Templates storage
*/
- protected $_storage = array();
+ protected array $_storage = [];
/**
* @var string compile directory
*/
- protected $_compile_dir = "/tmp";
+ protected string $_compile_dir = "/tmp";
/**
* @var string compile prefix ID template
*/
- protected $_compile_id;
+ protected string $_compile_id;
/**
* @var string[] compile directory for custom provider
*/
- protected $_compiles = array();
+ protected array $_compiles = [];
/**
* @var int masked options
*/
- protected $_options = 0;
+ protected int $_options = 0;
/**
* @var ProviderInterface
*/
- private $_provider;
+ private ProviderInterface $_provider;
/**
* @var Fenom\ProviderInterface[]
*/
- protected $_providers = array();
+ protected array $_providers = [];
/**
* @var string[] list of modifiers [modifier_name => callable]
*/
- protected $_modifiers = array(
+ protected array $_modifiers = [
"upper" => 'strtoupper',
"up" => 'strtoupper',
"lower" => 'strtolower',
@@ -174,12 +176,12 @@ class Fenom
"join" => 'Fenom\Modifier::join',
"in" => 'Fenom\Modifier::in',
"range" => 'Fenom\Modifier::range',
- );
+ ];
/**
* @var array of allowed PHP functions
*/
- protected $_allowed_funcs = array(
+ protected array $_allowed_funcs = [
"count" => 1,
"is_string" => 1,
"is_array" => 1,
@@ -198,168 +200,168 @@ class Fenom
"nl2br" => 1,
"explode" => 1,
"implode" => 1
- );
+ ];
/**
* @var string[] the disabled functions by `disable_functions` PHP's option
*/
- protected $_disabled_funcs;
+ protected array $_disabled_funcs = [];
/**
* @var array[] of compilers and functions
*/
- protected $_actions = array(
- 'foreach' => array( // {foreach ...} {break} {continue} {foreachelse} {/foreach}
+ protected array $_actions = [
+ 'foreach' => [ // {foreach ...} {break} {continue} {foreachelse} {/foreach}
'type' => self::BLOCK_COMPILER,
'open' => 'Fenom\Compiler::foreachOpen',
'close' => 'Fenom\Compiler::foreachClose',
- 'tags' => array(
+ 'tags' => [
'foreachelse' => 'Fenom\Compiler::foreachElse',
'break' => 'Fenom\Compiler::tagBreak',
'continue' => 'Fenom\Compiler::tagContinue',
- ),
- 'float_tags' => array('break' => 1, 'continue' => 1)
- ),
- 'if' => array( // {if ...} {elseif ...} {else} {/if}
+ ],
+ 'float_tags' => ['break' => 1, 'continue' => 1]
+ ],
+ 'if' => [ // {if ...} {elseif ...} {else} {/if}
'type' => self::BLOCK_COMPILER,
'open' => 'Fenom\Compiler::ifOpen',
'close' => 'Fenom\Compiler::stdClose',
- 'tags' => array(
+ 'tags' => [
'elseif' => 'Fenom\Compiler::tagElseIf',
'else' => 'Fenom\Compiler::tagElse'
- )
- ),
- 'switch' => array( // {switch ...} {case ..., ...} {default} {/switch}
+ ]
+ ],
+ 'switch' => [ // {switch ...} {case ..., ...} {default} {/switch}
'type' => self::BLOCK_COMPILER,
'open' => 'Fenom\Compiler::switchOpen',
'close' => 'Fenom\Compiler::switchClose',
- 'tags' => array(
+ 'tags' => [
'case' => 'Fenom\Compiler::tagCase',
'default' => 'Fenom\Compiler::tagDefault'
- ),
- 'float_tags' => array('break' => 1)
- ),
- 'for' => array( // {for ...} {break} {continue} {/for}
+ ],
+ 'float_tags' => ['break' => 1]
+ ],
+ 'for' => [ // {for ...} {break} {continue} {/for}
'type' => self::BLOCK_COMPILER,
'open' => 'Fenom\Compiler::forOpen',
'close' => 'Fenom\Compiler::forClose',
- 'tags' => array(
+ 'tags' => [
'forelse' => 'Fenom\Compiler::forElse',
'break' => 'Fenom\Compiler::tagBreak',
'continue' => 'Fenom\Compiler::tagContinue',
- ),
- 'float_tags' => array('break' => 1, 'continue' => 1)
- ),
- 'while' => array( // {while ...} {break} {continue} {/while}
+ ],
+ 'float_tags' => ['break' => 1, 'continue' => 1]
+ ],
+ 'while' => [ // {while ...} {break} {continue} {/while}
'type' => self::BLOCK_COMPILER,
'open' => 'Fenom\Compiler::whileOpen',
'close' => 'Fenom\Compiler::stdClose',
- 'tags' => array(
+ 'tags' => [
'break' => 'Fenom\Compiler::tagBreak',
'continue' => 'Fenom\Compiler::tagContinue',
- ),
- 'float_tags' => array('break' => 1, 'continue' => 1)
- ),
- 'include' => array( // {include ...}
+ ],
+ 'float_tags' => ['break' => 1, 'continue' => 1]
+ ],
+ 'include' => [ // {include ...}
'type' => self::INLINE_COMPILER,
'parser' => 'Fenom\Compiler::tagInclude'
- ),
- 'insert' => array( // {include ...}
+ ],
+ 'insert' => [ // {include ...}
'type' => self::INLINE_COMPILER,
'parser' => 'Fenom\Compiler::tagInsert'
- ),
- 'var' => array( // {var ...}
+ ],
+ 'var' => [ // {var ...}
'type' => self::BLOCK_COMPILER,
'open' => 'Fenom\Compiler::setOpen',
'close' => 'Fenom\Compiler::setClose'
- ),
- 'set' => array( // {set ...}
+ ],
+ 'set' => [ // {set ...}
'type' => self::BLOCK_COMPILER,
'open' => 'Fenom\Compiler::setOpen',
'close' => 'Fenom\Compiler::setClose'
- ),
- 'add' => array( // {add ...}
+ ],
+ 'add' => [ // {add ...}
'type' => self::BLOCK_COMPILER,
'open' => 'Fenom\Compiler::setOpen',
'close' => 'Fenom\Compiler::setClose'
- ),
- 'do' => array( // {do ...}
+ ],
+ 'do' => [ // {do ...}
'type' => self::INLINE_COMPILER,
'parser' => 'Fenom\Compiler::tagDo'
- ),
- 'block' => array( // {block ...} {parent} {/block}
+ ],
+ 'block' => [ // {block ...} {parent} {/block}
'type' => self::BLOCK_COMPILER,
'open' => 'Fenom\Compiler::tagBlockOpen',
'close' => 'Fenom\Compiler::tagBlockClose',
- 'tags' => array('parent' => 'Fenom\Compiler::tagParent'),
- 'float_tags' => array('parent' => 1)
- ),
- 'extends' => array( // {extends ...}
+ 'tags' => ['parent' => 'Fenom\Compiler::tagParent'],
+ 'float_tags' => ['parent' => 1]
+ ],
+ 'extends' => [ // {extends ...}
'type' => self::INLINE_COMPILER,
'parser' => 'Fenom\Compiler::tagExtends'
- ),
- 'use' => array( // {use}
+ ],
+ 'use' => [ // {use}
'type' => self::INLINE_COMPILER,
'parser' => 'Fenom\Compiler::tagUse'
- ),
- 'filter' => array( // {filter} ... {/filter}
+ ],
+ 'filter' => [ // {filter} ... {/filter}
'type' => self::BLOCK_COMPILER,
'open' => 'Fenom\Compiler::filterOpen',
'close' => 'Fenom\Compiler::filterClose'
- ),
- 'macro' => array(
+ ],
+ 'macro' => [
'type' => self::BLOCK_COMPILER,
'open' => 'Fenom\Compiler::macroOpen',
'close' => 'Fenom\Compiler::macroClose'
- ),
- 'import' => array(
+ ],
+ 'import' => [
'type' => self::INLINE_COMPILER,
'parser' => 'Fenom\Compiler::tagImport'
- ),
- 'cycle' => array(
+ ],
+ 'cycle' => [
'type' => self::INLINE_COMPILER,
'parser' => 'Fenom\Compiler::tagCycle'
- ),
- 'raw' => array(
+ ],
+ 'raw' => [
'type' => self::INLINE_COMPILER,
'parser' => 'Fenom\Compiler::tagRaw'
- ),
- 'autoescape' => array( // deprecated
+ ],
+ 'autoescape' => [ // deprecated
'type' => self::BLOCK_COMPILER,
'open' => 'Fenom\Compiler::escapeOpen',
'close' => 'Fenom\Compiler::nope'
- ),
- 'escape' => array(
+ ],
+ 'escape' => [
'type' => self::BLOCK_COMPILER,
'open' => 'Fenom\Compiler::escapeOpen',
'close' => 'Fenom\Compiler::nope'
- ),
- 'strip' => array(
+ ],
+ 'strip' => [
'type' => self::BLOCK_COMPILER,
'open' => 'Fenom\Compiler::stripOpen',
'close' => 'Fenom\Compiler::nope'
- ),
- 'ignore' => array(
+ ],
+ 'ignore' => [
'type' => self::BLOCK_COMPILER,
'open' => 'Fenom\Compiler::ignoreOpen',
'close' => 'Fenom\Compiler::nope'
- ),
- 'unset' => array(
+ ],
+ 'unset' => [
'type' => self::INLINE_COMPILER,
'parser' => 'Fenom\Compiler::tagUnset'
- ),
- 'paste' => array( // {include ...}
+ ],
+ 'paste' => [ // {include ...}
'type' => self::INLINE_COMPILER,
'parser' => 'Fenom\Compiler::tagPaste'
- ),
- );
+ ],
+ ];
/**
* List of tests
* @see https://github.com/bzick/fenom/blob/develop/docs/operators.md#test-operator
* @var array
*/
- protected $_tests = array(
+ protected array $_tests = [
'integer' => 'is_int(%s)',
'int' => 'is_int(%s)',
'float' => 'is_float(%s)',
@@ -385,9 +387,9 @@ class Fenom
'odd' => '(%s & 1)',
'even' => '!(%s %% 2)',
'third' => '!(%s %% 3)'
- );
+ ];
- protected $_accessors = array(
+ protected array $_accessors = [
'get' => 'Fenom\Accessor::getVar',
'env' => 'Fenom\Accessor::getVar',
'post' => 'Fenom\Accessor::getVar',
@@ -405,7 +407,7 @@ class Fenom
'tag' => 'Fenom\Accessor::Tag',
'fetch' => 'Fenom\Accessor::fetch',
'block' => 'Fenom\Accessor::block',
- );
+ ];
/**
* Just factory
@@ -416,7 +418,11 @@ class Fenom
* @throws InvalidArgumentException
* @return Fenom
*/
- public static function factory($source, $compile_dir = '/tmp', $options = 0)
+ public static function factory(
+ string|Fenom\ProviderInterface $source,
+ string $compile_dir = '/tmp',
+ int|array $options = 0
+ ): Fenom
{
if (is_string($source)) {
$provider = new Fenom\Provider($source);
@@ -426,7 +432,6 @@ class Fenom
throw new InvalidArgumentException("Source must be a valid path or provider object");
}
$fenom = new static($provider);
- /* @var Fenom $fenom */
$fenom->setCompileDir($compile_dir);
if ($options) {
$fenom->setOptions($options);
@@ -447,9 +452,9 @@ class Fenom
*
* @param string $dir directory to store compiled templates in
* @throws LogicException
- * @return Fenom
+ * @return $this
*/
- public function setCompileDir($dir)
+ public function setCompileDir(string $dir): static
{
if (!is_writable($dir)) {
throw new LogicException("Cache directory $dir is not writable");
@@ -462,9 +467,9 @@ class Fenom
* Set compile prefix ID template
*
* @param string $id prefix ID to store compiled templates
- * @return Fenom
+ * @return $this
*/
- public function setCompileId($id)
+ public function setCompileId(string $id): static
{
$this->_compile_id = $id;
return $this;
@@ -473,15 +478,18 @@ class Fenom
/**
*
* @param callable $cb
- * @return self
+ * @return $this
*/
- public function addPreFilter($cb)
+ public function addPreFilter(callable $cb): static
{
$this->pre_filters[] = $cb;
return $this;
}
- public function getPreFilters()
+ /**
+ * @return callable[]
+ */
+ public function getPreFilters(): array
{
return $this->pre_filters;
}
@@ -489,16 +497,18 @@ class Fenom
/**
*
* @param callable $cb
- * @return self
+ * @return $this
*/
- public function addPostFilter($cb)
+ public function addPostFilter(callable $cb): static
{
$this->post_filters[] = $cb;
return $this;
}
-
- public function getPostFilters()
+ /**
+ * @return callable[]
+ */
+ public function getPostFilters(): array
{
return $this->post_filters;
}
@@ -507,14 +517,14 @@ class Fenom
* @param callable $cb
* @return self
*/
- public function addFilter($cb)
+ public function addFilter(callable $cb): static
{
$this->filters[] = $cb;
return $this;
}
- public function getFilters()
+ public function getFilters(): array
{
return $this->filters;
}
@@ -523,14 +533,14 @@ class Fenom
* @param callable $cb
* @return self
*/
- public function addTagFilter($cb)
+ public function addTagFilter(callable $cb): static
{
$this->tag_filters[] = $cb;
return $this;
}
- public function getTagFilters()
+ public function getTagFilters(): array
{
return $this->tag_filters;
}
@@ -542,7 +552,7 @@ class Fenom
* @param callable $callback the modifier callback
* @return Fenom
*/
- public function addModifier($modifier, $callback)
+ public function addModifier(string $modifier, callable $callback): static
{
$this->_modifiers[$modifier] = $callback;
return $this;
@@ -555,7 +565,7 @@ class Fenom
* @param callable $parser
* @return Fenom
*/
- public function addCompiler($compiler, $parser)
+ public function addCompiler(string $compiler, callable $parser): static
{
$this->_actions[$compiler] = array(
'type' => self::INLINE_COMPILER,
@@ -569,7 +579,7 @@ class Fenom
* @param string|object $storage
* @return $this
*/
- public function addCompilerSmart($compiler, $storage)
+ public function addCompilerSmart(string $compiler, string|object $storage): static
{
if (method_exists($storage, "tag" . $compiler)) {
$this->_actions[$compiler] = array(
@@ -585,11 +595,17 @@ class Fenom
*
* @param string $compiler
* @param callable $open_parser
- * @param callable|string $close_parser
+ * @param callable $close_parser
* @param array $tags
* @return Fenom
*/
- public function addBlockCompiler($compiler, $open_parser, $close_parser = self::DEFAULT_CLOSE_COMPILER, array $tags = array()) {
+ public function addBlockCompiler(
+ string $compiler,
+ callable $open_parser,
+ callable $close_parser = self::DEFAULT_CLOSE_COMPILER,
+ array $tags = []
+ ): static
+ {
$this->_actions[$compiler] = array(
'type' => self::BLOCK_COMPILER,
'open' => $open_parser,
@@ -600,14 +616,19 @@ class Fenom
}
/**
- * @param $compiler
- * @param $storage
+ * @param string $compiler
+ * @param string|object $storage
* @param array $tags
* @param array $floats
* @throws LogicException
* @return Fenom
*/
- public function addBlockCompilerSmart($compiler, $storage, array $tags, array $floats = array())
+ public function addBlockCompilerSmart(
+ string $compiler,
+ string|object $storage,
+ array $tags,
+ array $floats = []
+ ): static
{
$c = array(
'type' => self::BLOCK_COMPILER,
@@ -641,10 +662,10 @@ class Fenom
/**
* @param string $function
* @param callable $callback
- * @param callable|string $parser
+ * @param callable $parser
* @return Fenom
*/
- public function addFunction($function, $callback, $parser = self::DEFAULT_FUNC_PARSER)
+ public function addFunction(string $function, callable $callback, callable $parser = self::DEFAULT_FUNC_PARSER): static
{
$this->_actions[$function] = array(
'type' => self::INLINE_FUNCTION,
@@ -659,7 +680,7 @@ class Fenom
* @param callable $callback
* @return Fenom
*/
- public function addFunctionSmart($function, $callback)
+ public function addFunctionSmart(string $function, callable $callback): static
{
$this->_actions[$function] = array(
'type' => self::INLINE_FUNCTION,
@@ -672,11 +693,16 @@ class Fenom
/**
* @param string $function
* @param callable $callback
- * @param callable|string $parser_open
- * @param callable|string $parser_close
+ * @param callable $parser_open
+ * @param callable $parser_close
* @return Fenom
*/
- public function addBlockFunction($function, $callback, $parser_open = self::DEFAULT_FUNC_OPEN, $parser_close = self::DEFAULT_FUNC_CLOSE)
+ public function addBlockFunction(
+ string $function,
+ callable $callback,
+ callable $parser_open = self::DEFAULT_FUNC_OPEN,
+ callable $parser_close = self::DEFAULT_FUNC_CLOSE
+ ): static
{
$this->_actions[$function] = array(
'type' => self::BLOCK_FUNCTION,
@@ -691,7 +717,7 @@ class Fenom
* @param array $funcs
* @return Fenom
*/
- public function addAllowedFunctions(array $funcs)
+ public function addAllowedFunctions(array $funcs): static
{
$this->_allowed_funcs = $this->_allowed_funcs + array_flip($funcs);
return $this;
@@ -700,31 +726,32 @@ class Fenom
/**
* Add custom test
* @param string $name test name
- * @param string $code test PHP code. Code may contains placeholder %s, which will be replaced by test-value. For example: is_callable(%s)
+ * @param string $code test PHP code. Code may contain placeholder %s, which will be replaced by test-value. For example: is_callable(%s)
*/
- public function addTest($name, $code)
+ public function addTest(string $name, string $code): static
{
$this->_tests[$name] = $code;
+ return $this;
}
/**
* Get test code by name
* @param string $name
- * @return string|bool
+ * @return string
*/
- public function getTest($name)
+ public function getTest(string $name): string
{
- return isset($this->_tests[$name]) ? $this->_tests[$name] : false;
+ return $this->_tests[$name] ?? "";
}
/**
* Return modifier function
*
* @param string $modifier
- * @param Fenom\Template $template
+ * @param Template|null $template
* @return mixed
*/
- public function getModifier($modifier, Template $template = null)
+ public function getModifier(string $modifier, Fenom\Template $template = null): static
{
if (isset($this->_modifiers[$modifier])) {
return $this->_modifiers[$modifier];
@@ -741,7 +768,7 @@ class Fenom
* @param Fenom\Template $template
* @return bool
*/
- protected function _loadModifier($modifier, $template)
+ protected function _loadModifier(string $modifier, Fenom\Template $template): bool
{
return false;
}
@@ -750,10 +777,10 @@ class Fenom
* Returns tag info
*
* @param string $tag
- * @param Fenom\Template $template
- * @return string|bool
+ * @param Template|null $template
+ * @return array|null
*/
- public function getTag($tag, Template $template = null)
+ public function getTag(string $tag, Template $template = null): ?array
{
if (isset($this->_actions[$tag])) {
return $this->_actions[$tag];
@@ -766,11 +793,11 @@ class Fenom
* Tags autoloader
* @param string $tag
* @param Fenom\Template $template
- * @return bool
+ * @return array|null
*/
- protected function _loadTag($tag, $template)
+ protected function _loadTag(string $tag, Template $template): ?array
{
- return false;
+ return null;
}
/**
@@ -779,13 +806,12 @@ class Fenom
* @param string $function the function name
* @return bool
*/
- public function isAllowedFunction($function)
+ public function isAllowedFunction(string $function): bool
{
- $function = (string) $function;
$allow = ($this->_options & self::DENY_NATIVE_FUNCS)
? isset($this->_allowed_funcs[$function])
: function_exists($function);
- return $allow && !in_array($function, $this->getDisabledFuncs(), true);
+ return $allow && !in_array($function, $this->_getDisabledFuncs(), true);
}
/**
@@ -793,18 +819,8 @@ class Fenom
*
* @return string[]
*/
- protected function _getDisabledFuncs()
+ protected function _getDisabledFuncs(): array
{
- if (!is_array($this->_disabled_funcs)) {
- $disabled = ini_get('disable_functions');
- // adds execution functions to disabled for security
- $this->_disabled_funcs = array_merge(
- empty($disabled) ? [] : explode(',', $disabled),
- array('exec', 'system', 'passthru', 'shell_exec', 'pcntl_exec', 'proc_open', 'popen'),
- array('call_user_func', 'call_user_func_array')
- );
- }
-
return $this->_disabled_funcs;
}
@@ -812,9 +828,9 @@ class Fenom
* @param string $tag
* @return array
*/
- public function getTagOwners($tag)
+ public function getTagOwners(string $tag): array
{
- $tags = array();
+ $tags = [];
foreach ($this->_actions as $owner => $params) {
if (isset($params["tags"][$tag])) {
$tags[] = $owner;
@@ -828,10 +844,10 @@ class Fenom
*
* @param string $scm scheme name
* @param Fenom\ProviderInterface $provider provider object
- * @param string $compile_path
+ * @param string|null $compile_path
* @return $this
*/
- public function addProvider($scm, \Fenom\ProviderInterface $provider, $compile_path = null)
+ public function addProvider(string $scm, ProviderInterface $provider, string $compile_path = null): static
{
$this->_providers[$scm] = $provider;
if ($compile_path) {
@@ -845,7 +861,7 @@ class Fenom
* @param int|array $options
* @return $this
*/
- public function setOptions($options)
+ public function setOptions(int|array $options): static
{
if (is_array($options)) {
$options = self::_makeMask($options, self::$_options_list, $this->_options);
@@ -859,7 +875,7 @@ class Fenom
* Get options as bits
* @return int
*/
- public function getOptions()
+ public function getOptions(): int
{
return $this->_options;
}
@@ -870,7 +886,7 @@ class Fenom
* @param callable $parser
* @return Fenom
*/
- public function addAccessor($name, $parser)
+ public function addAccessor(string $name, callable $parser): static
{
$this->_accessors[$name] = $parser;
return $this;
@@ -883,7 +899,7 @@ class Fenom
* @param string $parser
* @return Fenom
*/
- public function addAccessorSmart($name, $accessor, $parser = self::ACCESSOR_VAR)
+ public function addAccessorSmart(string $name, mixed $accessor, string $parser = self::ACCESSOR_VAR): static
{
$this->_accessors[$name] = array(
"accessor" => $accessor,
@@ -898,7 +914,7 @@ class Fenom
* @param callable $callback
* @return Fenom
*/
- public function addAccessorCallback($name, $callback)
+ public function addAccessorCallback(string $name, callable $callback): static
{
$this->_accessors[$name] = array(
"callback" => $callback
@@ -911,7 +927,7 @@ class Fenom
* @param string $name
* @return Fenom
*/
- public function removeAccessor($name)
+ public function removeAccessor(string $name): static
{
unset($this->_accessors[$name]);
return $this;
@@ -920,10 +936,10 @@ class Fenom
/**
* Get an accessor
* @param string $name
- * @param string $key
- * @return callable
+ * @param string|null $key
+ * @return callable|null
*/
- public function getAccessor($name, $key = null)
+ public function getAccessor(string $name,string $key = null): ?callable
{
if(isset($this->_accessors[$name])) {
if($key) {
@@ -932,7 +948,7 @@ class Fenom
return $this->_accessors[$name];
}
} else {
- return false;
+ return null;
}
}
@@ -942,18 +958,18 @@ class Fenom
* @param string $pattern
* @return $this
*/
- public function addCallFilter($pattern)
+ public function addCallFilter(string $pattern): static
{
$this->call_filters[] = $pattern;
return $this;
}
/**
- * @param bool|string $scm
- * @return Fenom\ProviderInterface
+ * @param string|null $scm
+ * @return ProviderInterface
* @throws InvalidArgumentException
*/
- public function getProvider($scm = false)
+ public function getProvider(string $scm = null): Fenom\ProviderInterface
{
if ($scm) {
if (isset($this->_providers[$scm])) {
@@ -971,7 +987,7 @@ class Fenom
*
* @return Fenom\Template
*/
- public function getRawTemplate(Template $parent = null)
+ public function getRawTemplate(Template $parent = null): Template
{
return new Template($this, $this->_options, $parent);
}
@@ -983,20 +999,22 @@ class Fenom
* If it is array of names of templates they will be extended from left to right.
* @param array $vars array of data for template
* @return Fenom\Render
+ * @throws CompileException
*/
- public function display($template, array $vars = array())
+ public function display(string|array $template, array $vars = array()): Fenom\Render
{
return $this->getTemplate($template)->display($vars);
}
/**
*
- * @param string|array $template name of template.
+ * @param array|string $template name of template.
* If it is array of names of templates they will be extended from left to right.
* @param array $vars array of data for template
* @return mixed
+ * @throws Exception
*/
- public function fetch($template, array $vars = array())
+ public function fetch(array|string $template, array $vars = array()): mixed
{
return $this->getTemplate($template)->fetch($vars);
}
@@ -1004,14 +1022,15 @@ class Fenom
/**
* Creates pipe-line of template's data to callback
* @note Method not works correctly in old PHP 5.3.*
- * @param string|array $template name of the template.
+ * @param array|string $template name of the template.
* If it is array of names of templates they will be extended from left to right.
* @param callable $callback template's data handler
* @param array $vars
- * @param float $chunk amount of bytes of chunk
+ * @param int $chunk amount of bytes of chunk
* @return array
+ * @throws CompileException
*/
- public function pipe($template, $callback, array $vars = array(), $chunk = 1e6)
+ public function pipe(array|string $template, callable $callback, array $vars = array(), int $chunk = 1_000_000): array
{
ob_start($callback, $chunk, PHP_OUTPUT_HANDLER_STDFLAGS);
$data = $this->getTemplate($template)->display($vars);
@@ -1022,11 +1041,12 @@ class Fenom
/**
* Get template by name
*
- * @param string $template template name with schema
+ * @param string|array $template template name with schema
* @param int $options additional options and flags
- * @return Fenom\Template
+ * @return Fenom\Render
+ * @throws CompileException
*/
- public function getTemplate($template, $options = 0)
+ public function getTemplate(string|array $template, int $options = 0): Render
{
$options |= $this->_options;
if (is_array($template)) {
@@ -1054,7 +1074,7 @@ class Fenom
* @param string $template
* @return bool
*/
- public function templateExists($template)
+ public function templateExists(string $template): bool
{
$key = $this->_options . "@" . $template;
if (isset($this->_storage[$key])) { // already loaded
@@ -1076,8 +1096,9 @@ class Fenom
* @param string $template
* @param int $opts
* @return Fenom\Render
+ * @throws CompileException
*/
- protected function _load($template, $opts)
+ protected function _load(string $template, int $opts): Render
{
$file_name = $this->getCompileName($template, $opts);
if (is_file($this->_compile_dir . "/" . $file_name)) {
@@ -1101,7 +1122,7 @@ class Fenom
* @param int $options additional options
* @return string
*/
- public function getCompileName($tpl, $options = 0)
+ public function getCompileName(array|string $tpl, int $options = 0): string
{
$options = $this->_options | $options;
if (is_array($tpl)) {
@@ -1123,13 +1144,13 @@ class Fenom
/**
* Compile and save template
*
- * @param string|array $tpl
+ * @param array|string $tpl
* @param bool $store store template on disk
* @param int $options
+ * @return Template
* @throws CompileException
- * @return \Fenom\Template
*/
- public function compile($tpl, $store = true, $options = 0)
+ public function compile(array|string $tpl, bool $store = true, int $options = 0): Template
{
if (is_string($tpl)) {
$template = $this->getRawTemplate()->load($tpl);
@@ -1157,17 +1178,17 @@ class Fenom
/**
* Flush internal template in-memory-cache
*/
- public function flush()
+ public function flush(): void
{
- $this->_storage = array();
+ $this->_storage = [];
}
/**
* Remove all compiled templates
*/
- public function clearAllCompiles()
+ public function clearAllCompiles(): void
{
- \Fenom\Provider::clean($this->_compile_dir);
+ Provider::clean($this->_compile_dir);
$this->flush();
}
@@ -1178,7 +1199,7 @@ class Fenom
* @param string $name
* @return Fenom\Template
*/
- public function compileCode($code, $name = 'Runtime compile')
+ public function compileCode(string $code, string $name = 'Runtime compile'): Template
{
return $this->getRawTemplate()->source($name, $code);
}
@@ -1191,9 +1212,9 @@ class Fenom
* @param array $options possible values, ["a" => 0b001, "b" => 0b010, "c" => 0b100]
* @param int $mask the initial value of the mask
* @return int result, ( $mask | a ) & ~b
- * @throws \RuntimeException if key from custom assoc doesn't exists into possible values
+ * @throws \RuntimeException if key from custom assoc doesn't exist into possible values
*/
- private static function _makeMask(array $values, array $options, $mask = 0)
+ private static function _makeMask(array $values, array $options, int $mask = 0): int
{
foreach ($values as $key => $value) {
if (isset($options[$key])) {
@@ -1208,24 +1229,4 @@ class Fenom
}
return $mask;
}
-
- /**
- * Register PSR-0 autoload
- * @param string $dir custom directory for autoloading, if NULL — autoload itself
- * @return bool
- */
- public static function registerAutoload($dir = null)
- {
- if (!$dir) {
- $dir = __DIR__;
- }
- return spl_autoload_register(
- function ($classname) use ($dir) {
- $file = $dir . DIRECTORY_SEPARATOR . str_replace('\\', DIRECTORY_SEPARATOR, $classname) . '.php';
- if (is_file($file)) {
- require_once $file;
- }
- }
- );
- }
}
diff --git a/src/Fenom/Accessor.php b/src/Fenom/Accessor.php
index 32bcf91..7635253 100644
--- a/src/Fenom/Accessor.php
+++ b/src/Fenom/Accessor.php
@@ -84,7 +84,7 @@ class Accessor {
*/
public static function getVar(Tokenizer $tokens, Template $tpl)
{
- $name = $tokens->prev[Tokenizer::TEXT];
+ $name = $tokens->prevToken()[Tokenizer::TEXT];
if(isset(self::$vars[$name])) {
$var = $tpl->parseVariable($tokens, self::$vars[$name]);
return "(isset($var) ? $var : null)";
diff --git a/src/Fenom/Error/UnexpectedTokenException.php b/src/Fenom/Error/UnexpectedTokenException.php
index a31557b..3db32d7 100644
--- a/src/Fenom/Error/UnexpectedTokenException.php
+++ b/src/Fenom/Error/UnexpectedTokenException.php
@@ -24,7 +24,7 @@ class UnexpectedTokenException extends \RuntimeException
} else {
$expect = "";
}
- if (!$tokens->curr) {
+ if (!$tokens->currToken()) {
$this->message = "Unexpected end of " . ($where ? : "expression") . "$expect";
} else {
$this->message = "Unexpected token '" . $tokens->current() . "' in " . ($where ? : "expression") . "$expect";
diff --git a/src/Fenom/Template.php b/src/Fenom/Template.php
index 0e060a4..714773d 100644
--- a/src/Fenom/Template.php
+++ b/src/Fenom/Template.php
@@ -951,8 +951,8 @@ class Template extends Render
$code .= '->' . $tokens->next()->getAndNext();
}
if ($tokens->current() === "." || $tokens->current() === "[") {
- $code = substr($code, 0, -strlen($tokens->prev[1]));
- $code .= $this->parseVariable($tokens, $tokens->prev[1]);
+ $code = substr($code, 0, -strlen($tokens->prevToken()[1]));
+ $code .= $this->parseVariable($tokens, $tokens->prevToken()[1]);
}
} while ($tokens->is('(', T_OBJECT_OPERATOR));
diff --git a/src/Fenom/Tokenizer.php b/src/Fenom/Tokenizer.php
index 6273e43..834dcdf 100644
--- a/src/Fenom/Tokenizer.php
+++ b/src/Fenom/Tokenizer.php
@@ -19,9 +19,6 @@ use Fenom\Error\UnexpectedTokenException;
* - Line number of the token
*
* @see http://php.net/tokenizer
- * @property array $prev the previous token
- * @property array $curr the current token
- * @property array $next the next token
*
* @package Fenom
* @author Ivan Shalganov
@@ -70,18 +67,18 @@ class Tokenizer
*/
const MACRO_COND = 1008;
- public $tokens;
- public $p = 0;
- public $quotes = 0;
- private $_max = 0;
- private $_last_no = 0;
+ public array $tokens;
+ public int $p = 0;
+ public int $quotes = 0;
+ private int $_max;
+ private mixed $_last_no;
/**
* @see http://docs.php.net/manual/en/tokens.php
* @var array groups of tokens
*/
- public static $macros = array(
- self::MACRO_STRING => array(
+ public static array $macros = [
+ self::MACRO_STRING => [
\T_ABSTRACT => 1, \T_ARRAY => 1, \T_AS => 1, \T_BREAK => 1,
\T_CASE => 1, \T_CATCH => 1, \T_CLASS => 1,
\T_CLASS_C => 1, \T_CLONE => 1, \T_CONST => 1, \T_CONTINUE => 1,
@@ -92,23 +89,23 @@ class Tokenizer
\T_EXTENDS => 1, \T_FILE => 1, \T_FINAL => 1, \T_FOR => 1,
\T_FOREACH => 1, \T_FUNCTION => 1, \T_FUNC_C => 1, \T_GLOBAL => 1,
\T_GOTO => 1, \T_HALT_COMPILER => 1, \T_IF => 1, \T_IMPLEMENTS => 1,
- \T_INCLUDE => 1, \T_INCLUDE_ONCE => 1, \T_INSTANCEOF => 1, 341 /* T_INSTEADOF */ => 1,
+ \T_INCLUDE => 1, \T_INCLUDE_ONCE => 1, \T_INSTANCEOF => 1, \T_INSTEADOF => 1,
\T_INTERFACE => 1, \T_ISSET => 1, \T_LINE => 1, \T_LIST => 1,
\T_LOGICAL_AND => 1, \T_LOGICAL_OR => 1, \T_LOGICAL_XOR => 1, \T_METHOD_C => 1,
\T_NAMESPACE => 1, \T_NS_C => 1, \T_NEW => 1, \T_PRINT => 1,
\T_PRIVATE => 1, \T_PUBLIC => 1, \T_PROTECTED => 1, \T_REQUIRE => 1,
- \T_REQUIRE_ONCE => 1, \T_RETURN => 1, \T_RETURN => 1, \T_STRING => 1,
- \T_SWITCH => 1, \T_THROW => 1, 355 /* T_TRAIT */ => 1, 365 /* T_TRAIT_C */ => 1,
+ \T_REQUIRE_ONCE => 1, \T_RETURN => 1, \T_STRING => 1,
+ \T_SWITCH => 1, \T_THROW => 1, \T_TRAIT => 1, \T_TRAIT_C => 1,
\T_TRY => 1, \T_UNSET => 1, \T_USE => 1, \T_VAR => 1,
- \T_WHILE => 1, 267 /* T_YIELD */ => 1
- ),
- self::MACRO_INCDEC => array(
+ \T_WHILE => 1, \T_YIELD => 1, \T_YIELD_FROM => 1
+ ],
+ self::MACRO_INCDEC => [
\T_INC => 1, \T_DEC => 1
- ),
- self::MACRO_UNARY => array(
+ ],
+ self::MACRO_UNARY => [
"!" => 1, "~" => 1, "-" => 1
- ),
- self::MACRO_BINARY => array(
+ ],
+ self::MACRO_BINARY => [
\T_BOOLEAN_AND => 1, \T_BOOLEAN_OR => 1, \T_IS_GREATER_OR_EQUAL => 1,
\T_IS_EQUAL => 1, \T_IS_IDENTICAL => 1, \T_IS_NOT_EQUAL => 1,
\T_IS_NOT_IDENTICAL => 1, \T_IS_SMALLER_OR_EQUAL => 1, \T_LOGICAL_AND => 1,
@@ -117,36 +114,36 @@ class Tokenizer
"*" => 1, "/" => 1, ">" => 1,
"<" => 1, "^" => 1, "%" => 1,
"&" => 1
- ),
- self::MACRO_BOOLEAN => array(
+ ],
+ self::MACRO_BOOLEAN => [
\T_LOGICAL_OR => 1, \T_LOGICAL_XOR => 1,
\T_BOOLEAN_AND => 1, \T_BOOLEAN_OR => 1,
\T_LOGICAL_AND => 1
- ),
- self::MACRO_MATH => array(
+ ],
+ self::MACRO_MATH => [
"+" => 1, "-" => 1, "*" => 1,
"/" => 1, "^" => 1, "%" => 1,
"&" => 1, "|" => 1
- ),
- self::MACRO_COND => array(
+ ],
+ self::MACRO_COND => [
\T_IS_EQUAL => 1, \T_IS_IDENTICAL => 1, ">" => 1,
"<" => 1, \T_SL => 1, \T_SR => 1,
\T_IS_NOT_EQUAL => 1, \T_IS_NOT_IDENTICAL => 1, \T_IS_SMALLER_OR_EQUAL => 1,
- ),
- self::MACRO_EQUALS => array(
+ ],
+ self::MACRO_EQUALS => [
\T_AND_EQUAL => 1, \T_DIV_EQUAL => 1, \T_MINUS_EQUAL => 1,
\T_MOD_EQUAL => 1, \T_MUL_EQUAL => 1, \T_OR_EQUAL => 1,
\T_PLUS_EQUAL => 1, \T_SL_EQUAL => 1, \T_SR_EQUAL => 1,
\T_XOR_EQUAL => 1, '=' => 1,
- ),
- self::MACRO_SCALAR => array(
+ ],
+ self::MACRO_SCALAR => [
\T_LNUMBER => 1,
\T_DNUMBER => 1,
\T_CONSTANT_ENCAPSED_STRING => 1
- )
- );
+ ]
+ ];
- public static $description = array(
+ public static array $description = [
self::MACRO_STRING => 'string',
self::MACRO_INCDEC => 'increment/decrement operator',
self::MACRO_UNARY => 'unary operator',
@@ -156,26 +153,33 @@ class Tokenizer
self::MACRO_COND => 'conditional operator',
self::MACRO_EQUALS => 'equal operator',
self::MACRO_SCALAR => 'scalar value'
- );
+ ];
/**
* Special tokens
* @var array
*/
- private static $spec = array(
+ private static array $spec = [
'true' => 1,
'false' => 1,
'null' => 1,
'TRUE' => 1,
'FALSE' => 1,
'NULL' => 1
- );
+ ];
+
+ private ?array $_next;
+ private ?array $_prev;
+ private ?array $_curr;
/**
- * @param $query
+ * @param string $query
*/
- public function __construct($query)
+ public function __construct(string $query)
{
+ $this->_curr = null;
+ $this->_next = null;
+ $this->_prev = null;
$tokens = array(-1 => array(\T_WHITESPACE, '', '', 1));
$_tokens = token_get_all("quotes % 2) || ($this->tokens[$this->_max][0] === T_ENCAPSED_AND_WHITESPACE);
}
@@ -252,9 +256,10 @@ class Tokenizer
* @link http://php.net/manual/en/iterator.current.php
* @return mixed Can return any type.
*/
- public function current()
+ public function current(): mixed
{
- return $this->curr ? $this->curr[1] : null;
+ $curr = $this->currToken();
+ return $curr ? $curr[1] : null;
}
/**
@@ -263,13 +268,13 @@ class Tokenizer
* @link http://php.net/manual/en/iterator.next.php
* @return Tokenizer
*/
- public function next()
+ public function next(): static
{
if ($this->p > $this->_max) {
return $this;
}
$this->p++;
- unset($this->prev, $this->curr, $this->next);
+ $this->cleanTokenCache();
return $this;
}
@@ -277,10 +282,10 @@ class Tokenizer
* Check token type. If token type is one of expected types return true. Otherwise return false
*
* @param array $expects
- * @param string|int $token
+ * @param int|string $token
* @return bool
*/
- private function _valid($expects, $token)
+ private function _valid(array $expects, int|string $token): bool
{
foreach ($expects as $expect) {
if (is_string($expect) || $expect < 1000) {
@@ -300,13 +305,13 @@ class Tokenizer
/**
* If the next token is a valid one, move the position of cursor one step forward. Otherwise throws an exception.
* @param array $tokens
- * @throws UnexpectedTokenException
* @return mixed
+ * @throws UnexpectedTokenException
*/
- public function _next($tokens)
+ public function _next(array $tokens): void
{
$this->next();
- if (!$this->curr) {
+ if (!$this->currToken()) {
throw new UnexpectedTokenException($this, $tokens);
}
if ($tokens) {
@@ -323,7 +328,7 @@ class Tokenizer
* Fetch next specified token or throw an exception
* @return mixed
*/
- public function getNext( /*int|string $token1, int|string $token2, ... */)
+ public function getNext( /*int|string $token1, int|string $token2, ... */): mixed
{
$this->_next(func_get_args());
return $this->current();
@@ -333,9 +338,10 @@ class Tokenizer
* @param $token
* @return bool
*/
- public function isNextToken($token)
+ public function isNextToken($token): bool
{
- return $this->next ? $this->next[1] == $token : false;
+ $next = $this->nextToken();
+ return $next && $next[1] == $token;
}
/**
@@ -343,10 +349,11 @@ class Tokenizer
* @return mixed
* @throws UnexpectedTokenException
*/
- public function getAndNext( /* $token1, ... */)
+ public function getAndNext( /* $token1, ... */): mixed
{
- if ($this->curr) {
- $cur = $this->curr[1];
+ $curr = $this->currToken();
+ if ($curr) {
+ $cur = $curr[1];
$this->next();
return $cur;
} else {
@@ -359,9 +366,10 @@ class Tokenizer
* @param $token1
* @return bool
*/
- public function isNext($token1 /*, ...*/)
+ public function isNext($token1 /*, ...*/): bool
{
- return $this->next && $this->_valid(func_get_args(), $this->next[0]);
+ $next = $this->nextToken();
+ return $next && $this->_valid(func_get_args(), $next[0]);
}
/**
@@ -369,9 +377,10 @@ class Tokenizer
* @param $token1
* @return bool
*/
- public function is($token1 /*, ...*/)
+ public function is($token1 /*, ...*/): bool
{
- return $this->curr && $this->_valid(func_get_args(), $this->curr[0]);
+ $curr = $this->currToken();
+ return $curr && $this->_valid(func_get_args(), $curr[0]);
}
/**
@@ -379,22 +388,24 @@ class Tokenizer
* @param $token1
* @return bool
*/
- public function isPrev($token1 /*, ...*/)
+ public function isPrev($token1 /*, ...*/): bool
{
- return $this->prev && $this->_valid(func_get_args(), $this->prev[0]);
+ $prev = $this->prevToken();
+ return $prev && $this->_valid(func_get_args(), $prev[0]);
}
/**
* Get specified token
*
- * @param string|int $token1
- * @throws UnexpectedTokenException
+ * @param int|string $token1
* @return mixed
+ *@throws UnexpectedTokenException
*/
- public function get($token1 /*, $token2 ...*/)
+ public function get(int|string $token1 /*, $token2 ...*/): mixed
{
- if ($this->curr && $this->_valid(func_get_args(), $this->curr[0])) {
- return $this->curr[1];
+ $curr = $this->currToken();
+ if ($curr && $this->_valid(func_get_args(), $curr[0])) {
+ return $curr[1];
} else {
throw new UnexpectedTokenException($this, func_get_args());
}
@@ -404,21 +415,21 @@ class Tokenizer
* Step back
* @return Tokenizer
*/
- public function back()
+ public function back(): static
{
if ($this->p === 0) {
return $this;
}
$this->p--;
- unset($this->prev, $this->curr, $this->next);
+ $this->cleanTokenCache();
return $this;
}
/**
- * @param $token1
+ * @param int|string $token1
* @return bool
*/
- public function hasBackList($token1 /*, $token2 ...*/)
+ public function hasBackList(int|string $token1 /*, $token2 ...*/): bool
{
$tokens = func_get_args();
$c = $this->p;
@@ -431,27 +442,38 @@ class Tokenizer
return true;
}
- /**
- * Lazy load properties
- *
- * @param string $key
- * @return mixed
- */
- public function __get($key)
+ public function prevToken(): mixed
{
- switch ($key) {
- case 'curr':
- return $this->curr = ($this->p <= $this->_max) ? $this->tokens[$this->p] : null;
- case 'next':
- return $this->next = ($this->p + 1 <= $this->_max) ? $this->tokens[$this->p + 1] : null;
- case 'prev':
- return $this->prev = $this->p ? $this->tokens[$this->p - 1] : null;
- default:
- return $this->$key = null;
+ if ($this->_prev) {
+ return $this->_prev;
}
+ return $this->_prev = $this->p ? $this->tokens[$this->p - 1] : null;
}
- public function count()
+ public function currToken(): mixed
+ {
+ if ($this->_curr !== null) {
+ return $this->_curr;
+ }
+ return $this->_curr = ($this->p <= $this->_max) ? $this->tokens[$this->p] : null;
+ }
+
+ public function nextToken(): mixed
+ {
+ if ($this->_next) {
+ return $this->_next;
+ }
+ return $this->_next = ($this->p + 1 <= $this->_max) ? $this->tokens[$this->p + 1] : null;
+ }
+
+ protected function cleanTokenCache(): void
+ {
+ $this->_prev = null;
+ $this->_curr = null;
+ $this->_next = null;
+ }
+
+ public function count(): int
{
return $this->_max;
}
@@ -460,9 +482,10 @@ class Tokenizer
* Return the key of the current element
* @return mixed scalar on success, or null on failure.
*/
- public function key()
+ public function key(): mixed
{
- return $this->curr ? $this->curr[0] : null;
+ $curr = $this->currToken();
+ return $curr ? $curr[0] : null;
}
/**
@@ -470,18 +493,18 @@ class Tokenizer
* @return boolean The return value will be casted to boolean and then evaluated.
* Returns true on success or false on failure.
*/
- public function valid()
+ public function valid(): bool
{
- return (bool)$this->curr;
+ return (bool)$this->currToken();
}
/**
* Get token name
* @static
- * @param int|string $token
- * @return string
+ * @param mixed $token
+ * @return string|null
*/
- public static function getName($token)
+ public static function getName(mixed $token): ?string
{
if (is_string($token)) {
return $token;
@@ -500,10 +523,11 @@ class Tokenizer
* @throws UnexpectedTokenException
* @return Tokenizer
*/
- public function skip( /*$token1, $token2, ...*/)
+ public function skip( /*$token1, $token2, ...*/): static
{
if (func_num_args()) {
- if ($this->curr && $this->_valid(func_get_args(), $this->curr[0])) {
+ $curr = $this->currToken();
+ if ($curr && $this->_valid(func_get_args(), $curr[0])) {
$this->next();
return $this;
} else {
@@ -521,9 +545,10 @@ class Tokenizer
* @param int|string $token1
* @return Tokenizer
*/
- public function skipIf($token1 /*, $token2, ...*/)
+ public function skipIf(int|string $token1 /*, $token2, ...*/): static
{
- if ($this->curr && $this->_valid(func_get_args(), $this->curr[0])) {
+ $curr = $this->currToken();
+ if ($curr && $this->_valid(func_get_args(), $curr[0])) {
$this->next();
}
return $this;
@@ -536,9 +561,10 @@ class Tokenizer
* @return Tokenizer
* @throws UnexpectedTokenException
*/
- public function need($token1 /*, $token2, ...*/)
+ public function need(int|string $token1 /*, $token2, ...*/): static
{
- if ($this->curr && $this->_valid(func_get_args(), $this->curr[0])) {
+ $curr = $this->currToken();
+ if ($curr && $this->_valid(func_get_args(), $curr[0])) {
return $this;
} else {
throw new UnexpectedTokenException($this, func_get_args());
@@ -551,7 +577,7 @@ class Tokenizer
* @param int $after count tokens after current token
* @return array
*/
- public function getSnippet($before = 0, $after = 0)
+ public function getSnippet(int $before = 0, int $after = 0): array
{
$from = 0;
$to = $this->p;
@@ -594,7 +620,7 @@ class Tokenizer
* @param int $after
* @return string
*/
- public function getSnippetAsString($before = 0, $after = 0)
+ public function getSnippetAsString(int $before = 0, int $after = 0): string
{
$str = "";
foreach ($this->getSnippet($before, $after) as $token) {
@@ -607,7 +633,7 @@ class Tokenizer
* Check if current is special value: true, TRUE, false, FALSE, null, NULL
* @return bool
*/
- public function isSpecialVal()
+ public function isSpecialVal(): bool
{
return isset(self::$spec[$this->current()]);
}
@@ -616,7 +642,7 @@ class Tokenizer
* Check if the token is last
* @return bool
*/
- public function isLast()
+ public function isLast(): bool
{
return $this->p === $this->_max;
}
@@ -624,10 +650,10 @@ class Tokenizer
/**
* Move pointer to the end
*/
- public function end()
+ public function end(): static
{
$this->p = $this->_max;
- unset($this->prev, $this->curr, $this->next);
+ $this->cleanTokenCache();
return $this;
}
@@ -635,23 +661,26 @@ class Tokenizer
* Return line number of the current token
* @return mixed
*/
- public function getLine()
+ public function getLine(): mixed
{
- return $this->curr ? $this->curr[3] : $this->_last_no;
+ $curr = $this->currToken();
+ return $curr ? $curr[3] : $this->_last_no;
}
/**
* Is current token whitespaced, means previous token has whitespace characters
* @return bool
*/
- public function isWhiteSpaced()
+ public function isWhiteSpaced(): bool
{
- return $this->prev ? (bool)$this->prev[2] : false;
+ $prev = $this->prevToken();
+ return $prev && $prev[2];
}
public function getWhitespace()
{
- return $this->curr ? $this->curr[2] : false;
+ $curr = $this->currToken();
+ return $curr ? $curr[2] : false;
}
/**
@@ -659,10 +688,10 @@ class Tokenizer
* @param int $p
* @return $this
*/
- public function seek($p)
+ public function seek(int $p): static
{
$this->p = $p;
- unset($this->prev, $this->curr, $this->next);
+ $this->cleanTokenCache();
return $this;
}
}
diff --git a/tests/TestCase.php b/tests/TestCase.php
index 55dcf59..7c04289 100644
--- a/tests/TestCase.php
+++ b/tests/TestCase.php
@@ -53,7 +53,7 @@ class TestCase extends \PHPUnit\Framework\TestCase
return FENOM_RESOURCES . '/compile';
}
- public function setUp()
+ public function setUp(): void
{
if (!file_exists($this->getCompilePath())) {
mkdir($this->getCompilePath(), 0777, true);
@@ -89,7 +89,7 @@ class TestCase extends \PHPUnit\Framework\TestCase
public static function inlineFunction($params)
{
- return isset($params["text"]) ? $params["text"] : "";
+ return $params["text"] ?? "";
}
public static function blockFunction($params, $text)
@@ -97,7 +97,7 @@ class TestCase extends \PHPUnit\Framework\TestCase
return $text;
}
- public static function setUpBeforeClass()
+ public static function setUpBeforeClass(): void
{
if (!file_exists(FENOM_RESOURCES . '/template')) {
mkdir(FENOM_RESOURCES . '/template', 0777, true);
diff --git a/tests/autoload.php b/tests/autoload.php
index 6672ece..9d71ebb 100644
--- a/tests/autoload.php
+++ b/tests/autoload.php
@@ -1,11 +1,7 @@
curr
+ $tokens->currToken()
);
$this->assertSame("resolve", $tokens->getNext($tokens::MACRO_UNARY, T_STRING));
@@ -106,7 +106,6 @@ class TokenizerTest extends TestCase
$this->assertSame($tokens, $tokens->next());
$tokens->p = -1000;
$this->assertSame($tokens, $tokens->back());
- $this->assertNull($tokens->undef);
}
public function testFixFloats() {