├── .github └── workflows │ ├── lint.yml │ ├── phpstan.yml │ └── test.yml ├── .gitignore ├── README.md ├── codeception.yml ├── composer.json ├── composer.lock ├── src ├── .gitkeep └── index.php └── tests ├── ApiCest.php ├── _data └── .gitkeep ├── _output └── .gitignore └── _support ├── ApiTester.php ├── Helper └── Api.php └── _generated └── .gitignore /.github/workflows/lint.yml: -------------------------------------------------------------------------------- 1 | name: PHP Lint 2 | 3 | on: 4 | pull_request: 5 | types: [opened, reopened] 6 | 7 | permissions: 8 | contents: read 9 | 10 | jobs: 11 | build: 12 | 13 | runs-on: ubuntu-latest 14 | 15 | steps: 16 | - uses: actions/checkout@v3 17 | 18 | - name: Validate composer.json and composer.lock 19 | run: composer validate --strict 20 | 21 | - name: Cache Composer packages 22 | id: composer-cache 23 | uses: actions/cache@v3 24 | with: 25 | path: vendor 26 | key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }} 27 | restore-keys: | 28 | ${{ runner.os }}-php- 29 | 30 | - name: Install dependencies 31 | run: composer install --prefer-dist --no-progress 32 | 33 | - name: Run lint suite 34 | run: composer lint 35 | -------------------------------------------------------------------------------- /.github/workflows/phpstan.yml: -------------------------------------------------------------------------------- 1 | name: PHP Stan 2 | 3 | on: 4 | pull_request: 5 | types: [opened, reopened] 6 | 7 | jobs: 8 | phpstan: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v2 12 | - uses: php-actions/composer@v5 13 | 14 | - name: PHPStan Static Analysis 15 | uses: php-actions/phpstan@master 16 | with: 17 | level: 9 18 | path: src/ 19 | -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | name: PHP Test 2 | 3 | on: 4 | pull_request: 5 | types: [opened, reopened] 6 | 7 | permissions: 8 | contents: read 9 | 10 | jobs: 11 | build: 12 | 13 | runs-on: ubuntu-latest 14 | 15 | steps: 16 | - uses: actions/checkout@v3 17 | 18 | - name: Validate composer.json and composer.lock 19 | run: composer validate --strict 20 | 21 | - name: Cache Composer packages 22 | id: composer-cache 23 | uses: actions/cache@v3 24 | with: 25 | path: vendor 26 | key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }} 27 | restore-keys: | 28 | ${{ runner.os }}-php- 29 | 30 | - name: Install dependencies 31 | run: composer install --prefer-dist --no-progress 32 | 33 | - name: Run test suite 34 | run: php -S localhost:8000 src/index.php & composer test 35 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /vendor/ 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Back-end Challenge 2 | 3 | Desafio para os futuros programadores back-end da Apiki. 4 | 5 | ## Introdução 6 | 7 | Desenvolva uma **REST API** que faça conversão de moedas. 8 | 9 | **Especifícações**: 10 | 11 | * A URL da requisição deve seguir o seguinte formato: 12 | * http://localhost:8000/exchange/{amount}/{from}/{to}/{rate} 13 | * http://localhost:8000/exchange/10/BRL/USD/4.50 14 | * A resposta deve seguir o seguinte formato: 15 | ```json 16 | { 17 | "valorConvertido": 45, 18 | "simboloMoeda": "$" 19 | } 20 | ``` 21 | * Conversões: 22 | * De Real para Dólar; 23 | * De Dólar para Real; 24 | * De Real para Euro; 25 | * De Euro para Real; 26 | * Serão executados testes automatizados para validação dos requisitos: 27 | * Levantar servidor embutido do PHP: `php -S localhost:8000 src/index.php`; 28 | * Executando testes: `composer test`; 29 | * Executando lint: `composer lint`; 30 | 31 | ## Instruções 32 | 33 | 1. Efetue o fork deste repositório e crie um branch com o seu nome e sobrenome. (exemplo: fulano-dasilva) 34 | 2. Após finalizar o desafio, crie um Pull Request. 35 | 3. Aguarde algum contribuidor realizar o code review. 36 | 37 | *Obs.: Não esqueça de executar o `composer test` e `composer lint` localmente.* 38 | 39 | ## Pré-requisitos 40 | 41 | * PHP => 7.4 42 | * Orientado a objetos 43 | 44 | ## Dúvidas 45 | 46 | Em caso de dúvidas, crie uma issue. 47 | -------------------------------------------------------------------------------- /codeception.yml: -------------------------------------------------------------------------------- 1 | # suite config 2 | suites: 3 | api: 4 | actor: ApiTester 5 | path: . 6 | modules: 7 | enabled: 8 | - REST: 9 | url: http://localhost:8000/exchange 10 | depends: PhpBrowser 11 | 12 | paths: 13 | tests: tests 14 | output: tests/_output 15 | data: tests/_data 16 | support: tests/_support 17 | 18 | settings: 19 | shuffle: false 20 | lint: true -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "apiki/back-end-challenge", 3 | "description": "Desafio para candidatos a back-end.", 4 | "type": "project", 5 | "require": { 6 | "php": ">= 7.4" 7 | }, 8 | "require-dev": { 9 | "squizlabs/php_codesniffer": "^3.4", 10 | "codeception/codeception": "^4.1", 11 | "codeception/module-phpbrowser": "^1.0.0", 12 | "codeception/module-rest": "^1.0.0" 13 | }, 14 | "license": "MIT", 15 | "scripts": { 16 | "test": "./vendor/bin/codecept run", 17 | "lint": "./vendor/bin/phpcs src/", 18 | "lint:fix": "./vendor/bin/phpcbf src/" 19 | }, 20 | "autoload": { 21 | "psr-4": { 22 | "App\\": "src/" 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /composer.lock: -------------------------------------------------------------------------------- 1 | { 2 | "_readme": [ 3 | "This file locks the dependencies of your project to a known state", 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", 5 | "This file is @generated automatically" 6 | ], 7 | "content-hash": "6936b33e616ca23e3f8d0517244d7829", 8 | "packages": [], 9 | "packages-dev": [ 10 | { 11 | "name": "behat/gherkin", 12 | "version": "v4.9.0", 13 | "source": { 14 | "type": "git", 15 | "url": "https://github.com/Behat/Gherkin.git", 16 | "reference": "0bc8d1e30e96183e4f36db9dc79caead300beff4" 17 | }, 18 | "dist": { 19 | "type": "zip", 20 | "url": "https://api.github.com/repos/Behat/Gherkin/zipball/0bc8d1e30e96183e4f36db9dc79caead300beff4", 21 | "reference": "0bc8d1e30e96183e4f36db9dc79caead300beff4", 22 | "shasum": "" 23 | }, 24 | "require": { 25 | "php": "~7.2|~8.0" 26 | }, 27 | "require-dev": { 28 | "cucumber/cucumber": "dev-gherkin-22.0.0", 29 | "phpunit/phpunit": "~8|~9", 30 | "symfony/yaml": "~3|~4|~5" 31 | }, 32 | "suggest": { 33 | "symfony/yaml": "If you want to parse features, represented in YAML files" 34 | }, 35 | "type": "library", 36 | "extra": { 37 | "branch-alias": { 38 | "dev-master": "4.x-dev" 39 | } 40 | }, 41 | "autoload": { 42 | "psr-0": { 43 | "Behat\\Gherkin": "src/" 44 | } 45 | }, 46 | "notification-url": "https://packagist.org/downloads/", 47 | "license": [ 48 | "MIT" 49 | ], 50 | "authors": [ 51 | { 52 | "name": "Konstantin Kudryashov", 53 | "email": "ever.zet@gmail.com", 54 | "homepage": "http://everzet.com" 55 | } 56 | ], 57 | "description": "Gherkin DSL parser for PHP", 58 | "homepage": "http://behat.org/", 59 | "keywords": [ 60 | "BDD", 61 | "Behat", 62 | "Cucumber", 63 | "DSL", 64 | "gherkin", 65 | "parser" 66 | ], 67 | "support": { 68 | "issues": "https://github.com/Behat/Gherkin/issues", 69 | "source": "https://github.com/Behat/Gherkin/tree/v4.9.0" 70 | }, 71 | "time": "2021-10-12T13:05:09+00:00" 72 | }, 73 | { 74 | "name": "codeception/codeception", 75 | "version": "4.2.0", 76 | "source": { 77 | "type": "git", 78 | "url": "https://github.com/Codeception/Codeception.git", 79 | "reference": "e646d160bf1223d3595b227b69d903777fbcfb5f" 80 | }, 81 | "dist": { 82 | "type": "zip", 83 | "url": "https://api.github.com/repos/Codeception/Codeception/zipball/e646d160bf1223d3595b227b69d903777fbcfb5f", 84 | "reference": "e646d160bf1223d3595b227b69d903777fbcfb5f", 85 | "shasum": "" 86 | }, 87 | "require": { 88 | "behat/gherkin": "^4.4.0", 89 | "codeception/lib-asserts": "^1.0 | 2.0.*@dev", 90 | "codeception/phpunit-wrapper": ">6.0.15 <6.1.0 | ^6.6.1 | ^7.7.1 | ^8.1.1 | ^9.0", 91 | "codeception/stub": "^2.0 | ^3.0 | ^4.0", 92 | "ext-curl": "*", 93 | "ext-json": "*", 94 | "ext-mbstring": "*", 95 | "guzzlehttp/psr7": "^1.4 | ^2.0", 96 | "php": ">=5.6.0 <9.0", 97 | "symfony/console": ">=2.7 <6.0", 98 | "symfony/css-selector": ">=2.7 <6.0", 99 | "symfony/event-dispatcher": ">=2.7 <6.0", 100 | "symfony/finder": ">=2.7 <6.0", 101 | "symfony/yaml": ">=2.7 <6.0" 102 | }, 103 | "require-dev": { 104 | "codeception/module-asserts": "^1.0 | 2.0.*@dev", 105 | "codeception/module-cli": "^1.0 | 2.0.*@dev", 106 | "codeception/module-db": "^1.0 | 2.0.*@dev", 107 | "codeception/module-filesystem": "^1.0 | 2.0.*@dev", 108 | "codeception/module-phpbrowser": "^1.0 | 2.0.*@dev", 109 | "codeception/specify": "~0.3", 110 | "codeception/util-universalframework": "*@dev", 111 | "monolog/monolog": "~1.8", 112 | "squizlabs/php_codesniffer": "~2.0", 113 | "symfony/process": ">=2.7 <6.0", 114 | "vlucas/phpdotenv": "^2.0 | ^3.0 | ^4.0 | ^5.0" 115 | }, 116 | "suggest": { 117 | "codeception/specify": "BDD-style code blocks", 118 | "codeception/verify": "BDD-style assertions", 119 | "hoa/console": "For interactive console functionality", 120 | "stecman/symfony-console-completion": "For BASH autocompletion", 121 | "symfony/phpunit-bridge": "For phpunit-bridge support" 122 | }, 123 | "bin": [ 124 | "codecept" 125 | ], 126 | "type": "library", 127 | "extra": { 128 | "branch-alias": [] 129 | }, 130 | "autoload": { 131 | "files": [ 132 | "functions.php" 133 | ], 134 | "psr-4": { 135 | "Codeception\\": "src/Codeception", 136 | "Codeception\\Extension\\": "ext" 137 | } 138 | }, 139 | "notification-url": "https://packagist.org/downloads/", 140 | "license": [ 141 | "MIT" 142 | ], 143 | "authors": [ 144 | { 145 | "name": "Michael Bodnarchuk", 146 | "email": "davert@mail.ua", 147 | "homepage": "https://codegyre.com" 148 | } 149 | ], 150 | "description": "BDD-style testing framework", 151 | "homepage": "https://codeception.com/", 152 | "keywords": [ 153 | "BDD", 154 | "TDD", 155 | "acceptance testing", 156 | "functional testing", 157 | "unit testing" 158 | ], 159 | "support": { 160 | "issues": "https://github.com/Codeception/Codeception/issues", 161 | "source": "https://github.com/Codeception/Codeception/tree/4.2.0" 162 | }, 163 | "funding": [ 164 | { 165 | "url": "https://opencollective.com/codeception", 166 | "type": "open_collective" 167 | } 168 | ], 169 | "time": "2022-06-16T05:33:39+00:00" 170 | }, 171 | { 172 | "name": "codeception/lib-asserts", 173 | "version": "2.0.0", 174 | "source": { 175 | "type": "git", 176 | "url": "https://github.com/Codeception/lib-asserts.git", 177 | "reference": "df9c8346722ddde4a20e6372073c09c8df87c296" 178 | }, 179 | "dist": { 180 | "type": "zip", 181 | "url": "https://api.github.com/repos/Codeception/lib-asserts/zipball/df9c8346722ddde4a20e6372073c09c8df87c296", 182 | "reference": "df9c8346722ddde4a20e6372073c09c8df87c296", 183 | "shasum": "" 184 | }, 185 | "require": { 186 | "codeception/phpunit-wrapper": "^7.7.1 | ^8.0.3 | ^9.0", 187 | "ext-dom": "*", 188 | "php": "^7.4 | ^8.0" 189 | }, 190 | "type": "library", 191 | "autoload": { 192 | "classmap": [ 193 | "src/" 194 | ] 195 | }, 196 | "notification-url": "https://packagist.org/downloads/", 197 | "license": [ 198 | "MIT" 199 | ], 200 | "authors": [ 201 | { 202 | "name": "Michael Bodnarchuk", 203 | "email": "davert@mail.ua", 204 | "homepage": "http://codegyre.com" 205 | }, 206 | { 207 | "name": "Gintautas Miselis" 208 | }, 209 | { 210 | "name": "Gustavo Nieves", 211 | "homepage": "https://medium.com/@ganieves" 212 | } 213 | ], 214 | "description": "Assertion methods used by Codeception core and Asserts module", 215 | "homepage": "https://codeception.com/", 216 | "keywords": [ 217 | "codeception" 218 | ], 219 | "support": { 220 | "issues": "https://github.com/Codeception/lib-asserts/issues", 221 | "source": "https://github.com/Codeception/lib-asserts/tree/2.0.0" 222 | }, 223 | "time": "2021-12-03T12:40:37+00:00" 224 | }, 225 | { 226 | "name": "codeception/lib-innerbrowser", 227 | "version": "1.5.1", 228 | "source": { 229 | "type": "git", 230 | "url": "https://github.com/Codeception/lib-innerbrowser.git", 231 | "reference": "31b4b56ad53c3464fcb2c0a14d55a51a201bd3c2" 232 | }, 233 | "dist": { 234 | "type": "zip", 235 | "url": "https://api.github.com/repos/Codeception/lib-innerbrowser/zipball/31b4b56ad53c3464fcb2c0a14d55a51a201bd3c2", 236 | "reference": "31b4b56ad53c3464fcb2c0a14d55a51a201bd3c2", 237 | "shasum": "" 238 | }, 239 | "require": { 240 | "codeception/codeception": "4.*@dev", 241 | "ext-dom": "*", 242 | "ext-json": "*", 243 | "ext-mbstring": "*", 244 | "php": ">=5.6.0 <9.0", 245 | "symfony/browser-kit": ">=2.7 <6.0", 246 | "symfony/dom-crawler": ">=2.7 <6.0" 247 | }, 248 | "conflict": { 249 | "codeception/codeception": "<4.0" 250 | }, 251 | "require-dev": { 252 | "codeception/util-universalframework": "dev-master" 253 | }, 254 | "type": "library", 255 | "autoload": { 256 | "classmap": [ 257 | "src/" 258 | ] 259 | }, 260 | "notification-url": "https://packagist.org/downloads/", 261 | "license": [ 262 | "MIT" 263 | ], 264 | "authors": [ 265 | { 266 | "name": "Michael Bodnarchuk", 267 | "email": "davert@mail.ua", 268 | "homepage": "http://codegyre.com" 269 | }, 270 | { 271 | "name": "Gintautas Miselis" 272 | } 273 | ], 274 | "description": "Parent library for all Codeception framework modules and PhpBrowser", 275 | "homepage": "https://codeception.com/", 276 | "keywords": [ 277 | "codeception" 278 | ], 279 | "support": { 280 | "issues": "https://github.com/Codeception/lib-innerbrowser/issues", 281 | "source": "https://github.com/Codeception/lib-innerbrowser/tree/1.5.1" 282 | }, 283 | "time": "2021-08-30T15:21:42+00:00" 284 | }, 285 | { 286 | "name": "codeception/module-phpbrowser", 287 | "version": "1.0.3", 288 | "source": { 289 | "type": "git", 290 | "url": "https://github.com/Codeception/module-phpbrowser.git", 291 | "reference": "8ba6bede11d0914e74d98691f427fd8f397f192e" 292 | }, 293 | "dist": { 294 | "type": "zip", 295 | "url": "https://api.github.com/repos/Codeception/module-phpbrowser/zipball/8ba6bede11d0914e74d98691f427fd8f397f192e", 296 | "reference": "8ba6bede11d0914e74d98691f427fd8f397f192e", 297 | "shasum": "" 298 | }, 299 | "require": { 300 | "codeception/codeception": "^4.1", 301 | "codeception/lib-innerbrowser": "^1.3", 302 | "guzzlehttp/guzzle": "^6.3|^7.0", 303 | "php": ">=5.6.0 <9.0" 304 | }, 305 | "conflict": { 306 | "codeception/codeception": "<4.0" 307 | }, 308 | "require-dev": { 309 | "codeception/module-rest": "^1.0" 310 | }, 311 | "suggest": { 312 | "codeception/phpbuiltinserver": "Start and stop PHP built-in web server for your tests" 313 | }, 314 | "type": "library", 315 | "autoload": { 316 | "classmap": [ 317 | "src/" 318 | ] 319 | }, 320 | "notification-url": "https://packagist.org/downloads/", 321 | "license": [ 322 | "MIT" 323 | ], 324 | "authors": [ 325 | { 326 | "name": "Michael Bodnarchuk" 327 | }, 328 | { 329 | "name": "Gintautas Miselis" 330 | } 331 | ], 332 | "description": "Codeception module for testing web application over HTTP", 333 | "homepage": "http://codeception.com/", 334 | "keywords": [ 335 | "codeception", 336 | "functional-testing", 337 | "http" 338 | ], 339 | "support": { 340 | "issues": "https://github.com/Codeception/module-phpbrowser/issues", 341 | "source": "https://github.com/Codeception/module-phpbrowser/tree/1.0.3" 342 | }, 343 | "time": "2022-05-21T13:50:41+00:00" 344 | }, 345 | { 346 | "name": "codeception/module-rest", 347 | "version": "1.4.2", 348 | "source": { 349 | "type": "git", 350 | "url": "https://github.com/Codeception/module-rest.git", 351 | "reference": "9cd7a87fd9343494e7782f7bdb51687c25046917" 352 | }, 353 | "dist": { 354 | "type": "zip", 355 | "url": "https://api.github.com/repos/Codeception/module-rest/zipball/9cd7a87fd9343494e7782f7bdb51687c25046917", 356 | "reference": "9cd7a87fd9343494e7782f7bdb51687c25046917", 357 | "shasum": "" 358 | }, 359 | "require": { 360 | "codeception/codeception": "^4.0", 361 | "justinrainbow/json-schema": "~5.2.9", 362 | "php": ">=5.6.6 <9.0", 363 | "softcreatr/jsonpath": "^0.5 || ^0.7" 364 | }, 365 | "require-dev": { 366 | "codeception/lib-innerbrowser": "^1.0", 367 | "codeception/util-universalframework": "^1.0" 368 | }, 369 | "suggest": { 370 | "aws/aws-sdk-php": "For using AWS Auth" 371 | }, 372 | "type": "library", 373 | "autoload": { 374 | "classmap": [ 375 | "src/" 376 | ] 377 | }, 378 | "notification-url": "https://packagist.org/downloads/", 379 | "license": [ 380 | "MIT" 381 | ], 382 | "authors": [ 383 | { 384 | "name": "Gintautas Miselis" 385 | } 386 | ], 387 | "description": "REST module for Codeception", 388 | "homepage": "http://codeception.com/", 389 | "keywords": [ 390 | "codeception", 391 | "rest" 392 | ], 393 | "support": { 394 | "issues": "https://github.com/Codeception/module-rest/issues", 395 | "source": "https://github.com/Codeception/module-rest/tree/1.4.2" 396 | }, 397 | "time": "2021-11-18T18:58:15+00:00" 398 | }, 399 | { 400 | "name": "codeception/phpunit-wrapper", 401 | "version": "9.0.9", 402 | "source": { 403 | "type": "git", 404 | "url": "https://github.com/Codeception/phpunit-wrapper.git", 405 | "reference": "7439a53ae367986e9c22b2ac00f9d7376bb2f8cf" 406 | }, 407 | "dist": { 408 | "type": "zip", 409 | "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/7439a53ae367986e9c22b2ac00f9d7376bb2f8cf", 410 | "reference": "7439a53ae367986e9c22b2ac00f9d7376bb2f8cf", 411 | "shasum": "" 412 | }, 413 | "require": { 414 | "php": ">=7.2", 415 | "phpunit/phpunit": "^9.0" 416 | }, 417 | "require-dev": { 418 | "codeception/specify": "*", 419 | "consolidation/robo": "^3.0.0-alpha3", 420 | "vlucas/phpdotenv": "^3.0" 421 | }, 422 | "type": "library", 423 | "autoload": { 424 | "psr-4": { 425 | "Codeception\\PHPUnit\\": "src/" 426 | } 427 | }, 428 | "notification-url": "https://packagist.org/downloads/", 429 | "license": [ 430 | "MIT" 431 | ], 432 | "authors": [ 433 | { 434 | "name": "Davert", 435 | "email": "davert.php@resend.cc" 436 | }, 437 | { 438 | "name": "Naktibalda" 439 | } 440 | ], 441 | "description": "PHPUnit classes used by Codeception", 442 | "support": { 443 | "issues": "https://github.com/Codeception/phpunit-wrapper/issues", 444 | "source": "https://github.com/Codeception/phpunit-wrapper/tree/9.0.9" 445 | }, 446 | "time": "2022-05-23T06:24:11+00:00" 447 | }, 448 | { 449 | "name": "codeception/stub", 450 | "version": "4.0.2", 451 | "source": { 452 | "type": "git", 453 | "url": "https://github.com/Codeception/Stub.git", 454 | "reference": "18a148dacd293fc7b044042f5aa63a82b08bff5d" 455 | }, 456 | "dist": { 457 | "type": "zip", 458 | "url": "https://api.github.com/repos/Codeception/Stub/zipball/18a148dacd293fc7b044042f5aa63a82b08bff5d", 459 | "reference": "18a148dacd293fc7b044042f5aa63a82b08bff5d", 460 | "shasum": "" 461 | }, 462 | "require": { 463 | "php": "^7.4 | ^8.0", 464 | "phpunit/phpunit": "^8.4 | ^9.0 | ^10.0 | 10.0.x-dev" 465 | }, 466 | "require-dev": { 467 | "consolidation/robo": "^3.0" 468 | }, 469 | "type": "library", 470 | "autoload": { 471 | "psr-4": { 472 | "Codeception\\": "src/" 473 | } 474 | }, 475 | "notification-url": "https://packagist.org/downloads/", 476 | "license": [ 477 | "MIT" 478 | ], 479 | "description": "Flexible Stub wrapper for PHPUnit's Mock Builder", 480 | "support": { 481 | "issues": "https://github.com/Codeception/Stub/issues", 482 | "source": "https://github.com/Codeception/Stub/tree/4.0.2" 483 | }, 484 | "time": "2022-01-31T19:25:15+00:00" 485 | }, 486 | { 487 | "name": "doctrine/instantiator", 488 | "version": "1.4.1", 489 | "source": { 490 | "type": "git", 491 | "url": "https://github.com/doctrine/instantiator.git", 492 | "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc" 493 | }, 494 | "dist": { 495 | "type": "zip", 496 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/10dcfce151b967d20fde1b34ae6640712c3891bc", 497 | "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc", 498 | "shasum": "" 499 | }, 500 | "require": { 501 | "php": "^7.1 || ^8.0" 502 | }, 503 | "require-dev": { 504 | "doctrine/coding-standard": "^9", 505 | "ext-pdo": "*", 506 | "ext-phar": "*", 507 | "phpbench/phpbench": "^0.16 || ^1", 508 | "phpstan/phpstan": "^1.4", 509 | "phpstan/phpstan-phpunit": "^1", 510 | "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", 511 | "vimeo/psalm": "^4.22" 512 | }, 513 | "type": "library", 514 | "autoload": { 515 | "psr-4": { 516 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" 517 | } 518 | }, 519 | "notification-url": "https://packagist.org/downloads/", 520 | "license": [ 521 | "MIT" 522 | ], 523 | "authors": [ 524 | { 525 | "name": "Marco Pivetta", 526 | "email": "ocramius@gmail.com", 527 | "homepage": "https://ocramius.github.io/" 528 | } 529 | ], 530 | "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", 531 | "homepage": "https://www.doctrine-project.org/projects/instantiator.html", 532 | "keywords": [ 533 | "constructor", 534 | "instantiate" 535 | ], 536 | "support": { 537 | "issues": "https://github.com/doctrine/instantiator/issues", 538 | "source": "https://github.com/doctrine/instantiator/tree/1.4.1" 539 | }, 540 | "funding": [ 541 | { 542 | "url": "https://www.doctrine-project.org/sponsorship.html", 543 | "type": "custom" 544 | }, 545 | { 546 | "url": "https://www.patreon.com/phpdoctrine", 547 | "type": "patreon" 548 | }, 549 | { 550 | "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", 551 | "type": "tidelift" 552 | } 553 | ], 554 | "time": "2022-03-03T08:28:38+00:00" 555 | }, 556 | { 557 | "name": "guzzlehttp/guzzle", 558 | "version": "7.4.5", 559 | "source": { 560 | "type": "git", 561 | "url": "https://github.com/guzzle/guzzle.git", 562 | "reference": "1dd98b0564cb3f6bd16ce683cb755f94c10fbd82" 563 | }, 564 | "dist": { 565 | "type": "zip", 566 | "url": "https://api.github.com/repos/guzzle/guzzle/zipball/1dd98b0564cb3f6bd16ce683cb755f94c10fbd82", 567 | "reference": "1dd98b0564cb3f6bd16ce683cb755f94c10fbd82", 568 | "shasum": "" 569 | }, 570 | "require": { 571 | "ext-json": "*", 572 | "guzzlehttp/promises": "^1.5", 573 | "guzzlehttp/psr7": "^1.9 || ^2.4", 574 | "php": "^7.2.5 || ^8.0", 575 | "psr/http-client": "^1.0", 576 | "symfony/deprecation-contracts": "^2.2 || ^3.0" 577 | }, 578 | "provide": { 579 | "psr/http-client-implementation": "1.0" 580 | }, 581 | "require-dev": { 582 | "bamarni/composer-bin-plugin": "^1.4.1", 583 | "ext-curl": "*", 584 | "php-http/client-integration-tests": "^3.0", 585 | "phpunit/phpunit": "^8.5.5 || ^9.3.5", 586 | "psr/log": "^1.1 || ^2.0 || ^3.0" 587 | }, 588 | "suggest": { 589 | "ext-curl": "Required for CURL handler support", 590 | "ext-intl": "Required for Internationalized Domain Name (IDN) support", 591 | "psr/log": "Required for using the Log middleware" 592 | }, 593 | "type": "library", 594 | "extra": { 595 | "branch-alias": { 596 | "dev-master": "7.4-dev" 597 | } 598 | }, 599 | "autoload": { 600 | "files": [ 601 | "src/functions_include.php" 602 | ], 603 | "psr-4": { 604 | "GuzzleHttp\\": "src/" 605 | } 606 | }, 607 | "notification-url": "https://packagist.org/downloads/", 608 | "license": [ 609 | "MIT" 610 | ], 611 | "authors": [ 612 | { 613 | "name": "Graham Campbell", 614 | "email": "hello@gjcampbell.co.uk", 615 | "homepage": "https://github.com/GrahamCampbell" 616 | }, 617 | { 618 | "name": "Michael Dowling", 619 | "email": "mtdowling@gmail.com", 620 | "homepage": "https://github.com/mtdowling" 621 | }, 622 | { 623 | "name": "Jeremy Lindblom", 624 | "email": "jeremeamia@gmail.com", 625 | "homepage": "https://github.com/jeremeamia" 626 | }, 627 | { 628 | "name": "George Mponos", 629 | "email": "gmponos@gmail.com", 630 | "homepage": "https://github.com/gmponos" 631 | }, 632 | { 633 | "name": "Tobias Nyholm", 634 | "email": "tobias.nyholm@gmail.com", 635 | "homepage": "https://github.com/Nyholm" 636 | }, 637 | { 638 | "name": "Márk Sági-Kazár", 639 | "email": "mark.sagikazar@gmail.com", 640 | "homepage": "https://github.com/sagikazarmark" 641 | }, 642 | { 643 | "name": "Tobias Schultze", 644 | "email": "webmaster@tubo-world.de", 645 | "homepage": "https://github.com/Tobion" 646 | } 647 | ], 648 | "description": "Guzzle is a PHP HTTP client library", 649 | "keywords": [ 650 | "client", 651 | "curl", 652 | "framework", 653 | "http", 654 | "http client", 655 | "psr-18", 656 | "psr-7", 657 | "rest", 658 | "web service" 659 | ], 660 | "support": { 661 | "issues": "https://github.com/guzzle/guzzle/issues", 662 | "source": "https://github.com/guzzle/guzzle/tree/7.4.5" 663 | }, 664 | "funding": [ 665 | { 666 | "url": "https://github.com/GrahamCampbell", 667 | "type": "github" 668 | }, 669 | { 670 | "url": "https://github.com/Nyholm", 671 | "type": "github" 672 | }, 673 | { 674 | "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", 675 | "type": "tidelift" 676 | } 677 | ], 678 | "time": "2022-06-20T22:16:13+00:00" 679 | }, 680 | { 681 | "name": "guzzlehttp/promises", 682 | "version": "1.5.1", 683 | "source": { 684 | "type": "git", 685 | "url": "https://github.com/guzzle/promises.git", 686 | "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da" 687 | }, 688 | "dist": { 689 | "type": "zip", 690 | "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da", 691 | "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da", 692 | "shasum": "" 693 | }, 694 | "require": { 695 | "php": ">=5.5" 696 | }, 697 | "require-dev": { 698 | "symfony/phpunit-bridge": "^4.4 || ^5.1" 699 | }, 700 | "type": "library", 701 | "extra": { 702 | "branch-alias": { 703 | "dev-master": "1.5-dev" 704 | } 705 | }, 706 | "autoload": { 707 | "files": [ 708 | "src/functions_include.php" 709 | ], 710 | "psr-4": { 711 | "GuzzleHttp\\Promise\\": "src/" 712 | } 713 | }, 714 | "notification-url": "https://packagist.org/downloads/", 715 | "license": [ 716 | "MIT" 717 | ], 718 | "authors": [ 719 | { 720 | "name": "Graham Campbell", 721 | "email": "hello@gjcampbell.co.uk", 722 | "homepage": "https://github.com/GrahamCampbell" 723 | }, 724 | { 725 | "name": "Michael Dowling", 726 | "email": "mtdowling@gmail.com", 727 | "homepage": "https://github.com/mtdowling" 728 | }, 729 | { 730 | "name": "Tobias Nyholm", 731 | "email": "tobias.nyholm@gmail.com", 732 | "homepage": "https://github.com/Nyholm" 733 | }, 734 | { 735 | "name": "Tobias Schultze", 736 | "email": "webmaster@tubo-world.de", 737 | "homepage": "https://github.com/Tobion" 738 | } 739 | ], 740 | "description": "Guzzle promises library", 741 | "keywords": [ 742 | "promise" 743 | ], 744 | "support": { 745 | "issues": "https://github.com/guzzle/promises/issues", 746 | "source": "https://github.com/guzzle/promises/tree/1.5.1" 747 | }, 748 | "funding": [ 749 | { 750 | "url": "https://github.com/GrahamCampbell", 751 | "type": "github" 752 | }, 753 | { 754 | "url": "https://github.com/Nyholm", 755 | "type": "github" 756 | }, 757 | { 758 | "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", 759 | "type": "tidelift" 760 | } 761 | ], 762 | "time": "2021-10-22T20:56:57+00:00" 763 | }, 764 | { 765 | "name": "guzzlehttp/psr7", 766 | "version": "2.4.0", 767 | "source": { 768 | "type": "git", 769 | "url": "https://github.com/guzzle/psr7.git", 770 | "reference": "13388f00956b1503577598873fffb5ae994b5737" 771 | }, 772 | "dist": { 773 | "type": "zip", 774 | "url": "https://api.github.com/repos/guzzle/psr7/zipball/13388f00956b1503577598873fffb5ae994b5737", 775 | "reference": "13388f00956b1503577598873fffb5ae994b5737", 776 | "shasum": "" 777 | }, 778 | "require": { 779 | "php": "^7.2.5 || ^8.0", 780 | "psr/http-factory": "^1.0", 781 | "psr/http-message": "^1.0", 782 | "ralouphie/getallheaders": "^3.0" 783 | }, 784 | "provide": { 785 | "psr/http-factory-implementation": "1.0", 786 | "psr/http-message-implementation": "1.0" 787 | }, 788 | "require-dev": { 789 | "bamarni/composer-bin-plugin": "^1.4.1", 790 | "http-interop/http-factory-tests": "^0.9", 791 | "phpunit/phpunit": "^8.5.8 || ^9.3.10" 792 | }, 793 | "suggest": { 794 | "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" 795 | }, 796 | "type": "library", 797 | "extra": { 798 | "branch-alias": { 799 | "dev-master": "2.4-dev" 800 | } 801 | }, 802 | "autoload": { 803 | "psr-4": { 804 | "GuzzleHttp\\Psr7\\": "src/" 805 | } 806 | }, 807 | "notification-url": "https://packagist.org/downloads/", 808 | "license": [ 809 | "MIT" 810 | ], 811 | "authors": [ 812 | { 813 | "name": "Graham Campbell", 814 | "email": "hello@gjcampbell.co.uk", 815 | "homepage": "https://github.com/GrahamCampbell" 816 | }, 817 | { 818 | "name": "Michael Dowling", 819 | "email": "mtdowling@gmail.com", 820 | "homepage": "https://github.com/mtdowling" 821 | }, 822 | { 823 | "name": "George Mponos", 824 | "email": "gmponos@gmail.com", 825 | "homepage": "https://github.com/gmponos" 826 | }, 827 | { 828 | "name": "Tobias Nyholm", 829 | "email": "tobias.nyholm@gmail.com", 830 | "homepage": "https://github.com/Nyholm" 831 | }, 832 | { 833 | "name": "Márk Sági-Kazár", 834 | "email": "mark.sagikazar@gmail.com", 835 | "homepage": "https://github.com/sagikazarmark" 836 | }, 837 | { 838 | "name": "Tobias Schultze", 839 | "email": "webmaster@tubo-world.de", 840 | "homepage": "https://github.com/Tobion" 841 | }, 842 | { 843 | "name": "Márk Sági-Kazár", 844 | "email": "mark.sagikazar@gmail.com", 845 | "homepage": "https://sagikazarmark.hu" 846 | } 847 | ], 848 | "description": "PSR-7 message implementation that also provides common utility methods", 849 | "keywords": [ 850 | "http", 851 | "message", 852 | "psr-7", 853 | "request", 854 | "response", 855 | "stream", 856 | "uri", 857 | "url" 858 | ], 859 | "support": { 860 | "issues": "https://github.com/guzzle/psr7/issues", 861 | "source": "https://github.com/guzzle/psr7/tree/2.4.0" 862 | }, 863 | "funding": [ 864 | { 865 | "url": "https://github.com/GrahamCampbell", 866 | "type": "github" 867 | }, 868 | { 869 | "url": "https://github.com/Nyholm", 870 | "type": "github" 871 | }, 872 | { 873 | "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", 874 | "type": "tidelift" 875 | } 876 | ], 877 | "time": "2022-06-20T21:43:11+00:00" 878 | }, 879 | { 880 | "name": "justinrainbow/json-schema", 881 | "version": "5.2.12", 882 | "source": { 883 | "type": "git", 884 | "url": "https://github.com/justinrainbow/json-schema.git", 885 | "reference": "ad87d5a5ca981228e0e205c2bc7dfb8e24559b60" 886 | }, 887 | "dist": { 888 | "type": "zip", 889 | "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/ad87d5a5ca981228e0e205c2bc7dfb8e24559b60", 890 | "reference": "ad87d5a5ca981228e0e205c2bc7dfb8e24559b60", 891 | "shasum": "" 892 | }, 893 | "require": { 894 | "php": ">=5.3.3" 895 | }, 896 | "require-dev": { 897 | "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1", 898 | "json-schema/json-schema-test-suite": "1.2.0", 899 | "phpunit/phpunit": "^4.8.35" 900 | }, 901 | "bin": [ 902 | "bin/validate-json" 903 | ], 904 | "type": "library", 905 | "extra": { 906 | "branch-alias": { 907 | "dev-master": "5.0.x-dev" 908 | } 909 | }, 910 | "autoload": { 911 | "psr-4": { 912 | "JsonSchema\\": "src/JsonSchema/" 913 | } 914 | }, 915 | "notification-url": "https://packagist.org/downloads/", 916 | "license": [ 917 | "MIT" 918 | ], 919 | "authors": [ 920 | { 921 | "name": "Bruno Prieto Reis", 922 | "email": "bruno.p.reis@gmail.com" 923 | }, 924 | { 925 | "name": "Justin Rainbow", 926 | "email": "justin.rainbow@gmail.com" 927 | }, 928 | { 929 | "name": "Igor Wiedler", 930 | "email": "igor@wiedler.ch" 931 | }, 932 | { 933 | "name": "Robert Schönthal", 934 | "email": "seroscho@googlemail.com" 935 | } 936 | ], 937 | "description": "A library to validate a json schema.", 938 | "homepage": "https://github.com/justinrainbow/json-schema", 939 | "keywords": [ 940 | "json", 941 | "schema" 942 | ], 943 | "support": { 944 | "issues": "https://github.com/justinrainbow/json-schema/issues", 945 | "source": "https://github.com/justinrainbow/json-schema/tree/5.2.12" 946 | }, 947 | "time": "2022-04-13T08:02:27+00:00" 948 | }, 949 | { 950 | "name": "myclabs/deep-copy", 951 | "version": "1.11.0", 952 | "source": { 953 | "type": "git", 954 | "url": "https://github.com/myclabs/DeepCopy.git", 955 | "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614" 956 | }, 957 | "dist": { 958 | "type": "zip", 959 | "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614", 960 | "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614", 961 | "shasum": "" 962 | }, 963 | "require": { 964 | "php": "^7.1 || ^8.0" 965 | }, 966 | "conflict": { 967 | "doctrine/collections": "<1.6.8", 968 | "doctrine/common": "<2.13.3 || >=3,<3.2.2" 969 | }, 970 | "require-dev": { 971 | "doctrine/collections": "^1.6.8", 972 | "doctrine/common": "^2.13.3 || ^3.2.2", 973 | "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" 974 | }, 975 | "type": "library", 976 | "autoload": { 977 | "files": [ 978 | "src/DeepCopy/deep_copy.php" 979 | ], 980 | "psr-4": { 981 | "DeepCopy\\": "src/DeepCopy/" 982 | } 983 | }, 984 | "notification-url": "https://packagist.org/downloads/", 985 | "license": [ 986 | "MIT" 987 | ], 988 | "description": "Create deep copies (clones) of your objects", 989 | "keywords": [ 990 | "clone", 991 | "copy", 992 | "duplicate", 993 | "object", 994 | "object graph" 995 | ], 996 | "support": { 997 | "issues": "https://github.com/myclabs/DeepCopy/issues", 998 | "source": "https://github.com/myclabs/DeepCopy/tree/1.11.0" 999 | }, 1000 | "funding": [ 1001 | { 1002 | "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", 1003 | "type": "tidelift" 1004 | } 1005 | ], 1006 | "time": "2022-03-03T13:19:32+00:00" 1007 | }, 1008 | { 1009 | "name": "nikic/php-parser", 1010 | "version": "v4.14.0", 1011 | "source": { 1012 | "type": "git", 1013 | "url": "https://github.com/nikic/PHP-Parser.git", 1014 | "reference": "34bea19b6e03d8153165d8f30bba4c3be86184c1" 1015 | }, 1016 | "dist": { 1017 | "type": "zip", 1018 | "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/34bea19b6e03d8153165d8f30bba4c3be86184c1", 1019 | "reference": "34bea19b6e03d8153165d8f30bba4c3be86184c1", 1020 | "shasum": "" 1021 | }, 1022 | "require": { 1023 | "ext-tokenizer": "*", 1024 | "php": ">=7.0" 1025 | }, 1026 | "require-dev": { 1027 | "ircmaxell/php-yacc": "^0.0.7", 1028 | "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" 1029 | }, 1030 | "bin": [ 1031 | "bin/php-parse" 1032 | ], 1033 | "type": "library", 1034 | "extra": { 1035 | "branch-alias": { 1036 | "dev-master": "4.9-dev" 1037 | } 1038 | }, 1039 | "autoload": { 1040 | "psr-4": { 1041 | "PhpParser\\": "lib/PhpParser" 1042 | } 1043 | }, 1044 | "notification-url": "https://packagist.org/downloads/", 1045 | "license": [ 1046 | "BSD-3-Clause" 1047 | ], 1048 | "authors": [ 1049 | { 1050 | "name": "Nikita Popov" 1051 | } 1052 | ], 1053 | "description": "A PHP parser written in PHP", 1054 | "keywords": [ 1055 | "parser", 1056 | "php" 1057 | ], 1058 | "support": { 1059 | "issues": "https://github.com/nikic/PHP-Parser/issues", 1060 | "source": "https://github.com/nikic/PHP-Parser/tree/v4.14.0" 1061 | }, 1062 | "time": "2022-05-31T20:59:12+00:00" 1063 | }, 1064 | { 1065 | "name": "phar-io/manifest", 1066 | "version": "2.0.3", 1067 | "source": { 1068 | "type": "git", 1069 | "url": "https://github.com/phar-io/manifest.git", 1070 | "reference": "97803eca37d319dfa7826cc2437fc020857acb53" 1071 | }, 1072 | "dist": { 1073 | "type": "zip", 1074 | "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", 1075 | "reference": "97803eca37d319dfa7826cc2437fc020857acb53", 1076 | "shasum": "" 1077 | }, 1078 | "require": { 1079 | "ext-dom": "*", 1080 | "ext-phar": "*", 1081 | "ext-xmlwriter": "*", 1082 | "phar-io/version": "^3.0.1", 1083 | "php": "^7.2 || ^8.0" 1084 | }, 1085 | "type": "library", 1086 | "extra": { 1087 | "branch-alias": { 1088 | "dev-master": "2.0.x-dev" 1089 | } 1090 | }, 1091 | "autoload": { 1092 | "classmap": [ 1093 | "src/" 1094 | ] 1095 | }, 1096 | "notification-url": "https://packagist.org/downloads/", 1097 | "license": [ 1098 | "BSD-3-Clause" 1099 | ], 1100 | "authors": [ 1101 | { 1102 | "name": "Arne Blankerts", 1103 | "email": "arne@blankerts.de", 1104 | "role": "Developer" 1105 | }, 1106 | { 1107 | "name": "Sebastian Heuer", 1108 | "email": "sebastian@phpeople.de", 1109 | "role": "Developer" 1110 | }, 1111 | { 1112 | "name": "Sebastian Bergmann", 1113 | "email": "sebastian@phpunit.de", 1114 | "role": "Developer" 1115 | } 1116 | ], 1117 | "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", 1118 | "support": { 1119 | "issues": "https://github.com/phar-io/manifest/issues", 1120 | "source": "https://github.com/phar-io/manifest/tree/2.0.3" 1121 | }, 1122 | "time": "2021-07-20T11:28:43+00:00" 1123 | }, 1124 | { 1125 | "name": "phar-io/version", 1126 | "version": "3.2.1", 1127 | "source": { 1128 | "type": "git", 1129 | "url": "https://github.com/phar-io/version.git", 1130 | "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" 1131 | }, 1132 | "dist": { 1133 | "type": "zip", 1134 | "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", 1135 | "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", 1136 | "shasum": "" 1137 | }, 1138 | "require": { 1139 | "php": "^7.2 || ^8.0" 1140 | }, 1141 | "type": "library", 1142 | "autoload": { 1143 | "classmap": [ 1144 | "src/" 1145 | ] 1146 | }, 1147 | "notification-url": "https://packagist.org/downloads/", 1148 | "license": [ 1149 | "BSD-3-Clause" 1150 | ], 1151 | "authors": [ 1152 | { 1153 | "name": "Arne Blankerts", 1154 | "email": "arne@blankerts.de", 1155 | "role": "Developer" 1156 | }, 1157 | { 1158 | "name": "Sebastian Heuer", 1159 | "email": "sebastian@phpeople.de", 1160 | "role": "Developer" 1161 | }, 1162 | { 1163 | "name": "Sebastian Bergmann", 1164 | "email": "sebastian@phpunit.de", 1165 | "role": "Developer" 1166 | } 1167 | ], 1168 | "description": "Library for handling version information and constraints", 1169 | "support": { 1170 | "issues": "https://github.com/phar-io/version/issues", 1171 | "source": "https://github.com/phar-io/version/tree/3.2.1" 1172 | }, 1173 | "time": "2022-02-21T01:04:05+00:00" 1174 | }, 1175 | { 1176 | "name": "phpdocumentor/reflection-common", 1177 | "version": "2.2.0", 1178 | "source": { 1179 | "type": "git", 1180 | "url": "https://github.com/phpDocumentor/ReflectionCommon.git", 1181 | "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" 1182 | }, 1183 | "dist": { 1184 | "type": "zip", 1185 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", 1186 | "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", 1187 | "shasum": "" 1188 | }, 1189 | "require": { 1190 | "php": "^7.2 || ^8.0" 1191 | }, 1192 | "type": "library", 1193 | "extra": { 1194 | "branch-alias": { 1195 | "dev-2.x": "2.x-dev" 1196 | } 1197 | }, 1198 | "autoload": { 1199 | "psr-4": { 1200 | "phpDocumentor\\Reflection\\": "src/" 1201 | } 1202 | }, 1203 | "notification-url": "https://packagist.org/downloads/", 1204 | "license": [ 1205 | "MIT" 1206 | ], 1207 | "authors": [ 1208 | { 1209 | "name": "Jaap van Otterdijk", 1210 | "email": "opensource@ijaap.nl" 1211 | } 1212 | ], 1213 | "description": "Common reflection classes used by phpdocumentor to reflect the code structure", 1214 | "homepage": "http://www.phpdoc.org", 1215 | "keywords": [ 1216 | "FQSEN", 1217 | "phpDocumentor", 1218 | "phpdoc", 1219 | "reflection", 1220 | "static analysis" 1221 | ], 1222 | "support": { 1223 | "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", 1224 | "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" 1225 | }, 1226 | "time": "2020-06-27T09:03:43+00:00" 1227 | }, 1228 | { 1229 | "name": "phpdocumentor/reflection-docblock", 1230 | "version": "5.3.0", 1231 | "source": { 1232 | "type": "git", 1233 | "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", 1234 | "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" 1235 | }, 1236 | "dist": { 1237 | "type": "zip", 1238 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", 1239 | "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", 1240 | "shasum": "" 1241 | }, 1242 | "require": { 1243 | "ext-filter": "*", 1244 | "php": "^7.2 || ^8.0", 1245 | "phpdocumentor/reflection-common": "^2.2", 1246 | "phpdocumentor/type-resolver": "^1.3", 1247 | "webmozart/assert": "^1.9.1" 1248 | }, 1249 | "require-dev": { 1250 | "mockery/mockery": "~1.3.2", 1251 | "psalm/phar": "^4.8" 1252 | }, 1253 | "type": "library", 1254 | "extra": { 1255 | "branch-alias": { 1256 | "dev-master": "5.x-dev" 1257 | } 1258 | }, 1259 | "autoload": { 1260 | "psr-4": { 1261 | "phpDocumentor\\Reflection\\": "src" 1262 | } 1263 | }, 1264 | "notification-url": "https://packagist.org/downloads/", 1265 | "license": [ 1266 | "MIT" 1267 | ], 1268 | "authors": [ 1269 | { 1270 | "name": "Mike van Riel", 1271 | "email": "me@mikevanriel.com" 1272 | }, 1273 | { 1274 | "name": "Jaap van Otterdijk", 1275 | "email": "account@ijaap.nl" 1276 | } 1277 | ], 1278 | "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", 1279 | "support": { 1280 | "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", 1281 | "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0" 1282 | }, 1283 | "time": "2021-10-19T17:43:47+00:00" 1284 | }, 1285 | { 1286 | "name": "phpdocumentor/type-resolver", 1287 | "version": "1.6.1", 1288 | "source": { 1289 | "type": "git", 1290 | "url": "https://github.com/phpDocumentor/TypeResolver.git", 1291 | "reference": "77a32518733312af16a44300404e945338981de3" 1292 | }, 1293 | "dist": { 1294 | "type": "zip", 1295 | "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/77a32518733312af16a44300404e945338981de3", 1296 | "reference": "77a32518733312af16a44300404e945338981de3", 1297 | "shasum": "" 1298 | }, 1299 | "require": { 1300 | "php": "^7.2 || ^8.0", 1301 | "phpdocumentor/reflection-common": "^2.0" 1302 | }, 1303 | "require-dev": { 1304 | "ext-tokenizer": "*", 1305 | "psalm/phar": "^4.8" 1306 | }, 1307 | "type": "library", 1308 | "extra": { 1309 | "branch-alias": { 1310 | "dev-1.x": "1.x-dev" 1311 | } 1312 | }, 1313 | "autoload": { 1314 | "psr-4": { 1315 | "phpDocumentor\\Reflection\\": "src" 1316 | } 1317 | }, 1318 | "notification-url": "https://packagist.org/downloads/", 1319 | "license": [ 1320 | "MIT" 1321 | ], 1322 | "authors": [ 1323 | { 1324 | "name": "Mike van Riel", 1325 | "email": "me@mikevanriel.com" 1326 | } 1327 | ], 1328 | "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", 1329 | "support": { 1330 | "issues": "https://github.com/phpDocumentor/TypeResolver/issues", 1331 | "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.1" 1332 | }, 1333 | "time": "2022-03-15T21:29:03+00:00" 1334 | }, 1335 | { 1336 | "name": "phpspec/prophecy", 1337 | "version": "v1.15.0", 1338 | "source": { 1339 | "type": "git", 1340 | "url": "https://github.com/phpspec/prophecy.git", 1341 | "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13" 1342 | }, 1343 | "dist": { 1344 | "type": "zip", 1345 | "url": "https://api.github.com/repos/phpspec/prophecy/zipball/bbcd7380b0ebf3961ee21409db7b38bc31d69a13", 1346 | "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13", 1347 | "shasum": "" 1348 | }, 1349 | "require": { 1350 | "doctrine/instantiator": "^1.2", 1351 | "php": "^7.2 || ~8.0, <8.2", 1352 | "phpdocumentor/reflection-docblock": "^5.2", 1353 | "sebastian/comparator": "^3.0 || ^4.0", 1354 | "sebastian/recursion-context": "^3.0 || ^4.0" 1355 | }, 1356 | "require-dev": { 1357 | "phpspec/phpspec": "^6.0 || ^7.0", 1358 | "phpunit/phpunit": "^8.0 || ^9.0" 1359 | }, 1360 | "type": "library", 1361 | "extra": { 1362 | "branch-alias": { 1363 | "dev-master": "1.x-dev" 1364 | } 1365 | }, 1366 | "autoload": { 1367 | "psr-4": { 1368 | "Prophecy\\": "src/Prophecy" 1369 | } 1370 | }, 1371 | "notification-url": "https://packagist.org/downloads/", 1372 | "license": [ 1373 | "MIT" 1374 | ], 1375 | "authors": [ 1376 | { 1377 | "name": "Konstantin Kudryashov", 1378 | "email": "ever.zet@gmail.com", 1379 | "homepage": "http://everzet.com" 1380 | }, 1381 | { 1382 | "name": "Marcello Duarte", 1383 | "email": "marcello.duarte@gmail.com" 1384 | } 1385 | ], 1386 | "description": "Highly opinionated mocking framework for PHP 5.3+", 1387 | "homepage": "https://github.com/phpspec/prophecy", 1388 | "keywords": [ 1389 | "Double", 1390 | "Dummy", 1391 | "fake", 1392 | "mock", 1393 | "spy", 1394 | "stub" 1395 | ], 1396 | "support": { 1397 | "issues": "https://github.com/phpspec/prophecy/issues", 1398 | "source": "https://github.com/phpspec/prophecy/tree/v1.15.0" 1399 | }, 1400 | "time": "2021-12-08T12:19:24+00:00" 1401 | }, 1402 | { 1403 | "name": "phpunit/php-code-coverage", 1404 | "version": "9.2.15", 1405 | "source": { 1406 | "type": "git", 1407 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git", 1408 | "reference": "2e9da11878c4202f97915c1cb4bb1ca318a63f5f" 1409 | }, 1410 | "dist": { 1411 | "type": "zip", 1412 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2e9da11878c4202f97915c1cb4bb1ca318a63f5f", 1413 | "reference": "2e9da11878c4202f97915c1cb4bb1ca318a63f5f", 1414 | "shasum": "" 1415 | }, 1416 | "require": { 1417 | "ext-dom": "*", 1418 | "ext-libxml": "*", 1419 | "ext-xmlwriter": "*", 1420 | "nikic/php-parser": "^4.13.0", 1421 | "php": ">=7.3", 1422 | "phpunit/php-file-iterator": "^3.0.3", 1423 | "phpunit/php-text-template": "^2.0.2", 1424 | "sebastian/code-unit-reverse-lookup": "^2.0.2", 1425 | "sebastian/complexity": "^2.0", 1426 | "sebastian/environment": "^5.1.2", 1427 | "sebastian/lines-of-code": "^1.0.3", 1428 | "sebastian/version": "^3.0.1", 1429 | "theseer/tokenizer": "^1.2.0" 1430 | }, 1431 | "require-dev": { 1432 | "phpunit/phpunit": "^9.3" 1433 | }, 1434 | "suggest": { 1435 | "ext-pcov": "*", 1436 | "ext-xdebug": "*" 1437 | }, 1438 | "type": "library", 1439 | "extra": { 1440 | "branch-alias": { 1441 | "dev-master": "9.2-dev" 1442 | } 1443 | }, 1444 | "autoload": { 1445 | "classmap": [ 1446 | "src/" 1447 | ] 1448 | }, 1449 | "notification-url": "https://packagist.org/downloads/", 1450 | "license": [ 1451 | "BSD-3-Clause" 1452 | ], 1453 | "authors": [ 1454 | { 1455 | "name": "Sebastian Bergmann", 1456 | "email": "sebastian@phpunit.de", 1457 | "role": "lead" 1458 | } 1459 | ], 1460 | "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", 1461 | "homepage": "https://github.com/sebastianbergmann/php-code-coverage", 1462 | "keywords": [ 1463 | "coverage", 1464 | "testing", 1465 | "xunit" 1466 | ], 1467 | "support": { 1468 | "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", 1469 | "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.15" 1470 | }, 1471 | "funding": [ 1472 | { 1473 | "url": "https://github.com/sebastianbergmann", 1474 | "type": "github" 1475 | } 1476 | ], 1477 | "time": "2022-03-07T09:28:20+00:00" 1478 | }, 1479 | { 1480 | "name": "phpunit/php-file-iterator", 1481 | "version": "3.0.6", 1482 | "source": { 1483 | "type": "git", 1484 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git", 1485 | "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" 1486 | }, 1487 | "dist": { 1488 | "type": "zip", 1489 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", 1490 | "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", 1491 | "shasum": "" 1492 | }, 1493 | "require": { 1494 | "php": ">=7.3" 1495 | }, 1496 | "require-dev": { 1497 | "phpunit/phpunit": "^9.3" 1498 | }, 1499 | "type": "library", 1500 | "extra": { 1501 | "branch-alias": { 1502 | "dev-master": "3.0-dev" 1503 | } 1504 | }, 1505 | "autoload": { 1506 | "classmap": [ 1507 | "src/" 1508 | ] 1509 | }, 1510 | "notification-url": "https://packagist.org/downloads/", 1511 | "license": [ 1512 | "BSD-3-Clause" 1513 | ], 1514 | "authors": [ 1515 | { 1516 | "name": "Sebastian Bergmann", 1517 | "email": "sebastian@phpunit.de", 1518 | "role": "lead" 1519 | } 1520 | ], 1521 | "description": "FilterIterator implementation that filters files based on a list of suffixes.", 1522 | "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", 1523 | "keywords": [ 1524 | "filesystem", 1525 | "iterator" 1526 | ], 1527 | "support": { 1528 | "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", 1529 | "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" 1530 | }, 1531 | "funding": [ 1532 | { 1533 | "url": "https://github.com/sebastianbergmann", 1534 | "type": "github" 1535 | } 1536 | ], 1537 | "time": "2021-12-02T12:48:52+00:00" 1538 | }, 1539 | { 1540 | "name": "phpunit/php-invoker", 1541 | "version": "3.1.1", 1542 | "source": { 1543 | "type": "git", 1544 | "url": "https://github.com/sebastianbergmann/php-invoker.git", 1545 | "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" 1546 | }, 1547 | "dist": { 1548 | "type": "zip", 1549 | "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", 1550 | "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", 1551 | "shasum": "" 1552 | }, 1553 | "require": { 1554 | "php": ">=7.3" 1555 | }, 1556 | "require-dev": { 1557 | "ext-pcntl": "*", 1558 | "phpunit/phpunit": "^9.3" 1559 | }, 1560 | "suggest": { 1561 | "ext-pcntl": "*" 1562 | }, 1563 | "type": "library", 1564 | "extra": { 1565 | "branch-alias": { 1566 | "dev-master": "3.1-dev" 1567 | } 1568 | }, 1569 | "autoload": { 1570 | "classmap": [ 1571 | "src/" 1572 | ] 1573 | }, 1574 | "notification-url": "https://packagist.org/downloads/", 1575 | "license": [ 1576 | "BSD-3-Clause" 1577 | ], 1578 | "authors": [ 1579 | { 1580 | "name": "Sebastian Bergmann", 1581 | "email": "sebastian@phpunit.de", 1582 | "role": "lead" 1583 | } 1584 | ], 1585 | "description": "Invoke callables with a timeout", 1586 | "homepage": "https://github.com/sebastianbergmann/php-invoker/", 1587 | "keywords": [ 1588 | "process" 1589 | ], 1590 | "support": { 1591 | "issues": "https://github.com/sebastianbergmann/php-invoker/issues", 1592 | "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" 1593 | }, 1594 | "funding": [ 1595 | { 1596 | "url": "https://github.com/sebastianbergmann", 1597 | "type": "github" 1598 | } 1599 | ], 1600 | "time": "2020-09-28T05:58:55+00:00" 1601 | }, 1602 | { 1603 | "name": "phpunit/php-text-template", 1604 | "version": "2.0.4", 1605 | "source": { 1606 | "type": "git", 1607 | "url": "https://github.com/sebastianbergmann/php-text-template.git", 1608 | "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" 1609 | }, 1610 | "dist": { 1611 | "type": "zip", 1612 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", 1613 | "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", 1614 | "shasum": "" 1615 | }, 1616 | "require": { 1617 | "php": ">=7.3" 1618 | }, 1619 | "require-dev": { 1620 | "phpunit/phpunit": "^9.3" 1621 | }, 1622 | "type": "library", 1623 | "extra": { 1624 | "branch-alias": { 1625 | "dev-master": "2.0-dev" 1626 | } 1627 | }, 1628 | "autoload": { 1629 | "classmap": [ 1630 | "src/" 1631 | ] 1632 | }, 1633 | "notification-url": "https://packagist.org/downloads/", 1634 | "license": [ 1635 | "BSD-3-Clause" 1636 | ], 1637 | "authors": [ 1638 | { 1639 | "name": "Sebastian Bergmann", 1640 | "email": "sebastian@phpunit.de", 1641 | "role": "lead" 1642 | } 1643 | ], 1644 | "description": "Simple template engine.", 1645 | "homepage": "https://github.com/sebastianbergmann/php-text-template/", 1646 | "keywords": [ 1647 | "template" 1648 | ], 1649 | "support": { 1650 | "issues": "https://github.com/sebastianbergmann/php-text-template/issues", 1651 | "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" 1652 | }, 1653 | "funding": [ 1654 | { 1655 | "url": "https://github.com/sebastianbergmann", 1656 | "type": "github" 1657 | } 1658 | ], 1659 | "time": "2020-10-26T05:33:50+00:00" 1660 | }, 1661 | { 1662 | "name": "phpunit/php-timer", 1663 | "version": "5.0.3", 1664 | "source": { 1665 | "type": "git", 1666 | "url": "https://github.com/sebastianbergmann/php-timer.git", 1667 | "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" 1668 | }, 1669 | "dist": { 1670 | "type": "zip", 1671 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", 1672 | "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", 1673 | "shasum": "" 1674 | }, 1675 | "require": { 1676 | "php": ">=7.3" 1677 | }, 1678 | "require-dev": { 1679 | "phpunit/phpunit": "^9.3" 1680 | }, 1681 | "type": "library", 1682 | "extra": { 1683 | "branch-alias": { 1684 | "dev-master": "5.0-dev" 1685 | } 1686 | }, 1687 | "autoload": { 1688 | "classmap": [ 1689 | "src/" 1690 | ] 1691 | }, 1692 | "notification-url": "https://packagist.org/downloads/", 1693 | "license": [ 1694 | "BSD-3-Clause" 1695 | ], 1696 | "authors": [ 1697 | { 1698 | "name": "Sebastian Bergmann", 1699 | "email": "sebastian@phpunit.de", 1700 | "role": "lead" 1701 | } 1702 | ], 1703 | "description": "Utility class for timing", 1704 | "homepage": "https://github.com/sebastianbergmann/php-timer/", 1705 | "keywords": [ 1706 | "timer" 1707 | ], 1708 | "support": { 1709 | "issues": "https://github.com/sebastianbergmann/php-timer/issues", 1710 | "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" 1711 | }, 1712 | "funding": [ 1713 | { 1714 | "url": "https://github.com/sebastianbergmann", 1715 | "type": "github" 1716 | } 1717 | ], 1718 | "time": "2020-10-26T13:16:10+00:00" 1719 | }, 1720 | { 1721 | "name": "phpunit/phpunit", 1722 | "version": "9.5.21", 1723 | "source": { 1724 | "type": "git", 1725 | "url": "https://github.com/sebastianbergmann/phpunit.git", 1726 | "reference": "0e32b76be457de00e83213528f6bb37e2a38fcb1" 1727 | }, 1728 | "dist": { 1729 | "type": "zip", 1730 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/0e32b76be457de00e83213528f6bb37e2a38fcb1", 1731 | "reference": "0e32b76be457de00e83213528f6bb37e2a38fcb1", 1732 | "shasum": "" 1733 | }, 1734 | "require": { 1735 | "doctrine/instantiator": "^1.3.1", 1736 | "ext-dom": "*", 1737 | "ext-json": "*", 1738 | "ext-libxml": "*", 1739 | "ext-mbstring": "*", 1740 | "ext-xml": "*", 1741 | "ext-xmlwriter": "*", 1742 | "myclabs/deep-copy": "^1.10.1", 1743 | "phar-io/manifest": "^2.0.3", 1744 | "phar-io/version": "^3.0.2", 1745 | "php": ">=7.3", 1746 | "phpspec/prophecy": "^1.12.1", 1747 | "phpunit/php-code-coverage": "^9.2.13", 1748 | "phpunit/php-file-iterator": "^3.0.5", 1749 | "phpunit/php-invoker": "^3.1.1", 1750 | "phpunit/php-text-template": "^2.0.3", 1751 | "phpunit/php-timer": "^5.0.2", 1752 | "sebastian/cli-parser": "^1.0.1", 1753 | "sebastian/code-unit": "^1.0.6", 1754 | "sebastian/comparator": "^4.0.5", 1755 | "sebastian/diff": "^4.0.3", 1756 | "sebastian/environment": "^5.1.3", 1757 | "sebastian/exporter": "^4.0.3", 1758 | "sebastian/global-state": "^5.0.1", 1759 | "sebastian/object-enumerator": "^4.0.3", 1760 | "sebastian/resource-operations": "^3.0.3", 1761 | "sebastian/type": "^3.0", 1762 | "sebastian/version": "^3.0.2" 1763 | }, 1764 | "require-dev": { 1765 | "phpspec/prophecy-phpunit": "^2.0.1" 1766 | }, 1767 | "suggest": { 1768 | "ext-soap": "*", 1769 | "ext-xdebug": "*" 1770 | }, 1771 | "bin": [ 1772 | "phpunit" 1773 | ], 1774 | "type": "library", 1775 | "extra": { 1776 | "branch-alias": { 1777 | "dev-master": "9.5-dev" 1778 | } 1779 | }, 1780 | "autoload": { 1781 | "files": [ 1782 | "src/Framework/Assert/Functions.php" 1783 | ], 1784 | "classmap": [ 1785 | "src/" 1786 | ] 1787 | }, 1788 | "notification-url": "https://packagist.org/downloads/", 1789 | "license": [ 1790 | "BSD-3-Clause" 1791 | ], 1792 | "authors": [ 1793 | { 1794 | "name": "Sebastian Bergmann", 1795 | "email": "sebastian@phpunit.de", 1796 | "role": "lead" 1797 | } 1798 | ], 1799 | "description": "The PHP Unit Testing framework.", 1800 | "homepage": "https://phpunit.de/", 1801 | "keywords": [ 1802 | "phpunit", 1803 | "testing", 1804 | "xunit" 1805 | ], 1806 | "support": { 1807 | "issues": "https://github.com/sebastianbergmann/phpunit/issues", 1808 | "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.21" 1809 | }, 1810 | "funding": [ 1811 | { 1812 | "url": "https://phpunit.de/sponsors.html", 1813 | "type": "custom" 1814 | }, 1815 | { 1816 | "url": "https://github.com/sebastianbergmann", 1817 | "type": "github" 1818 | } 1819 | ], 1820 | "time": "2022-06-19T12:14:25+00:00" 1821 | }, 1822 | { 1823 | "name": "psr/container", 1824 | "version": "1.1.2", 1825 | "source": { 1826 | "type": "git", 1827 | "url": "https://github.com/php-fig/container.git", 1828 | "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" 1829 | }, 1830 | "dist": { 1831 | "type": "zip", 1832 | "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", 1833 | "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", 1834 | "shasum": "" 1835 | }, 1836 | "require": { 1837 | "php": ">=7.4.0" 1838 | }, 1839 | "type": "library", 1840 | "autoload": { 1841 | "psr-4": { 1842 | "Psr\\Container\\": "src/" 1843 | } 1844 | }, 1845 | "notification-url": "https://packagist.org/downloads/", 1846 | "license": [ 1847 | "MIT" 1848 | ], 1849 | "authors": [ 1850 | { 1851 | "name": "PHP-FIG", 1852 | "homepage": "https://www.php-fig.org/" 1853 | } 1854 | ], 1855 | "description": "Common Container Interface (PHP FIG PSR-11)", 1856 | "homepage": "https://github.com/php-fig/container", 1857 | "keywords": [ 1858 | "PSR-11", 1859 | "container", 1860 | "container-interface", 1861 | "container-interop", 1862 | "psr" 1863 | ], 1864 | "support": { 1865 | "issues": "https://github.com/php-fig/container/issues", 1866 | "source": "https://github.com/php-fig/container/tree/1.1.2" 1867 | }, 1868 | "time": "2021-11-05T16:50:12+00:00" 1869 | }, 1870 | { 1871 | "name": "psr/event-dispatcher", 1872 | "version": "1.0.0", 1873 | "source": { 1874 | "type": "git", 1875 | "url": "https://github.com/php-fig/event-dispatcher.git", 1876 | "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" 1877 | }, 1878 | "dist": { 1879 | "type": "zip", 1880 | "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", 1881 | "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", 1882 | "shasum": "" 1883 | }, 1884 | "require": { 1885 | "php": ">=7.2.0" 1886 | }, 1887 | "type": "library", 1888 | "extra": { 1889 | "branch-alias": { 1890 | "dev-master": "1.0.x-dev" 1891 | } 1892 | }, 1893 | "autoload": { 1894 | "psr-4": { 1895 | "Psr\\EventDispatcher\\": "src/" 1896 | } 1897 | }, 1898 | "notification-url": "https://packagist.org/downloads/", 1899 | "license": [ 1900 | "MIT" 1901 | ], 1902 | "authors": [ 1903 | { 1904 | "name": "PHP-FIG", 1905 | "homepage": "http://www.php-fig.org/" 1906 | } 1907 | ], 1908 | "description": "Standard interfaces for event handling.", 1909 | "keywords": [ 1910 | "events", 1911 | "psr", 1912 | "psr-14" 1913 | ], 1914 | "support": { 1915 | "issues": "https://github.com/php-fig/event-dispatcher/issues", 1916 | "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" 1917 | }, 1918 | "time": "2019-01-08T18:20:26+00:00" 1919 | }, 1920 | { 1921 | "name": "psr/http-client", 1922 | "version": "1.0.1", 1923 | "source": { 1924 | "type": "git", 1925 | "url": "https://github.com/php-fig/http-client.git", 1926 | "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" 1927 | }, 1928 | "dist": { 1929 | "type": "zip", 1930 | "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", 1931 | "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", 1932 | "shasum": "" 1933 | }, 1934 | "require": { 1935 | "php": "^7.0 || ^8.0", 1936 | "psr/http-message": "^1.0" 1937 | }, 1938 | "type": "library", 1939 | "extra": { 1940 | "branch-alias": { 1941 | "dev-master": "1.0.x-dev" 1942 | } 1943 | }, 1944 | "autoload": { 1945 | "psr-4": { 1946 | "Psr\\Http\\Client\\": "src/" 1947 | } 1948 | }, 1949 | "notification-url": "https://packagist.org/downloads/", 1950 | "license": [ 1951 | "MIT" 1952 | ], 1953 | "authors": [ 1954 | { 1955 | "name": "PHP-FIG", 1956 | "homepage": "http://www.php-fig.org/" 1957 | } 1958 | ], 1959 | "description": "Common interface for HTTP clients", 1960 | "homepage": "https://github.com/php-fig/http-client", 1961 | "keywords": [ 1962 | "http", 1963 | "http-client", 1964 | "psr", 1965 | "psr-18" 1966 | ], 1967 | "support": { 1968 | "source": "https://github.com/php-fig/http-client/tree/master" 1969 | }, 1970 | "time": "2020-06-29T06:28:15+00:00" 1971 | }, 1972 | { 1973 | "name": "psr/http-factory", 1974 | "version": "1.0.1", 1975 | "source": { 1976 | "type": "git", 1977 | "url": "https://github.com/php-fig/http-factory.git", 1978 | "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" 1979 | }, 1980 | "dist": { 1981 | "type": "zip", 1982 | "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", 1983 | "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", 1984 | "shasum": "" 1985 | }, 1986 | "require": { 1987 | "php": ">=7.0.0", 1988 | "psr/http-message": "^1.0" 1989 | }, 1990 | "type": "library", 1991 | "extra": { 1992 | "branch-alias": { 1993 | "dev-master": "1.0.x-dev" 1994 | } 1995 | }, 1996 | "autoload": { 1997 | "psr-4": { 1998 | "Psr\\Http\\Message\\": "src/" 1999 | } 2000 | }, 2001 | "notification-url": "https://packagist.org/downloads/", 2002 | "license": [ 2003 | "MIT" 2004 | ], 2005 | "authors": [ 2006 | { 2007 | "name": "PHP-FIG", 2008 | "homepage": "http://www.php-fig.org/" 2009 | } 2010 | ], 2011 | "description": "Common interfaces for PSR-7 HTTP message factories", 2012 | "keywords": [ 2013 | "factory", 2014 | "http", 2015 | "message", 2016 | "psr", 2017 | "psr-17", 2018 | "psr-7", 2019 | "request", 2020 | "response" 2021 | ], 2022 | "support": { 2023 | "source": "https://github.com/php-fig/http-factory/tree/master" 2024 | }, 2025 | "time": "2019-04-30T12:38:16+00:00" 2026 | }, 2027 | { 2028 | "name": "psr/http-message", 2029 | "version": "1.0.1", 2030 | "source": { 2031 | "type": "git", 2032 | "url": "https://github.com/php-fig/http-message.git", 2033 | "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" 2034 | }, 2035 | "dist": { 2036 | "type": "zip", 2037 | "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", 2038 | "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", 2039 | "shasum": "" 2040 | }, 2041 | "require": { 2042 | "php": ">=5.3.0" 2043 | }, 2044 | "type": "library", 2045 | "extra": { 2046 | "branch-alias": { 2047 | "dev-master": "1.0.x-dev" 2048 | } 2049 | }, 2050 | "autoload": { 2051 | "psr-4": { 2052 | "Psr\\Http\\Message\\": "src/" 2053 | } 2054 | }, 2055 | "notification-url": "https://packagist.org/downloads/", 2056 | "license": [ 2057 | "MIT" 2058 | ], 2059 | "authors": [ 2060 | { 2061 | "name": "PHP-FIG", 2062 | "homepage": "http://www.php-fig.org/" 2063 | } 2064 | ], 2065 | "description": "Common interface for HTTP messages", 2066 | "homepage": "https://github.com/php-fig/http-message", 2067 | "keywords": [ 2068 | "http", 2069 | "http-message", 2070 | "psr", 2071 | "psr-7", 2072 | "request", 2073 | "response" 2074 | ], 2075 | "support": { 2076 | "source": "https://github.com/php-fig/http-message/tree/master" 2077 | }, 2078 | "time": "2016-08-06T14:39:51+00:00" 2079 | }, 2080 | { 2081 | "name": "ralouphie/getallheaders", 2082 | "version": "3.0.3", 2083 | "source": { 2084 | "type": "git", 2085 | "url": "https://github.com/ralouphie/getallheaders.git", 2086 | "reference": "120b605dfeb996808c31b6477290a714d356e822" 2087 | }, 2088 | "dist": { 2089 | "type": "zip", 2090 | "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", 2091 | "reference": "120b605dfeb996808c31b6477290a714d356e822", 2092 | "shasum": "" 2093 | }, 2094 | "require": { 2095 | "php": ">=5.6" 2096 | }, 2097 | "require-dev": { 2098 | "php-coveralls/php-coveralls": "^2.1", 2099 | "phpunit/phpunit": "^5 || ^6.5" 2100 | }, 2101 | "type": "library", 2102 | "autoload": { 2103 | "files": [ 2104 | "src/getallheaders.php" 2105 | ] 2106 | }, 2107 | "notification-url": "https://packagist.org/downloads/", 2108 | "license": [ 2109 | "MIT" 2110 | ], 2111 | "authors": [ 2112 | { 2113 | "name": "Ralph Khattar", 2114 | "email": "ralph.khattar@gmail.com" 2115 | } 2116 | ], 2117 | "description": "A polyfill for getallheaders.", 2118 | "support": { 2119 | "issues": "https://github.com/ralouphie/getallheaders/issues", 2120 | "source": "https://github.com/ralouphie/getallheaders/tree/develop" 2121 | }, 2122 | "time": "2019-03-08T08:55:37+00:00" 2123 | }, 2124 | { 2125 | "name": "sebastian/cli-parser", 2126 | "version": "1.0.1", 2127 | "source": { 2128 | "type": "git", 2129 | "url": "https://github.com/sebastianbergmann/cli-parser.git", 2130 | "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" 2131 | }, 2132 | "dist": { 2133 | "type": "zip", 2134 | "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", 2135 | "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", 2136 | "shasum": "" 2137 | }, 2138 | "require": { 2139 | "php": ">=7.3" 2140 | }, 2141 | "require-dev": { 2142 | "phpunit/phpunit": "^9.3" 2143 | }, 2144 | "type": "library", 2145 | "extra": { 2146 | "branch-alias": { 2147 | "dev-master": "1.0-dev" 2148 | } 2149 | }, 2150 | "autoload": { 2151 | "classmap": [ 2152 | "src/" 2153 | ] 2154 | }, 2155 | "notification-url": "https://packagist.org/downloads/", 2156 | "license": [ 2157 | "BSD-3-Clause" 2158 | ], 2159 | "authors": [ 2160 | { 2161 | "name": "Sebastian Bergmann", 2162 | "email": "sebastian@phpunit.de", 2163 | "role": "lead" 2164 | } 2165 | ], 2166 | "description": "Library for parsing CLI options", 2167 | "homepage": "https://github.com/sebastianbergmann/cli-parser", 2168 | "support": { 2169 | "issues": "https://github.com/sebastianbergmann/cli-parser/issues", 2170 | "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" 2171 | }, 2172 | "funding": [ 2173 | { 2174 | "url": "https://github.com/sebastianbergmann", 2175 | "type": "github" 2176 | } 2177 | ], 2178 | "time": "2020-09-28T06:08:49+00:00" 2179 | }, 2180 | { 2181 | "name": "sebastian/code-unit", 2182 | "version": "1.0.8", 2183 | "source": { 2184 | "type": "git", 2185 | "url": "https://github.com/sebastianbergmann/code-unit.git", 2186 | "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" 2187 | }, 2188 | "dist": { 2189 | "type": "zip", 2190 | "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", 2191 | "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", 2192 | "shasum": "" 2193 | }, 2194 | "require": { 2195 | "php": ">=7.3" 2196 | }, 2197 | "require-dev": { 2198 | "phpunit/phpunit": "^9.3" 2199 | }, 2200 | "type": "library", 2201 | "extra": { 2202 | "branch-alias": { 2203 | "dev-master": "1.0-dev" 2204 | } 2205 | }, 2206 | "autoload": { 2207 | "classmap": [ 2208 | "src/" 2209 | ] 2210 | }, 2211 | "notification-url": "https://packagist.org/downloads/", 2212 | "license": [ 2213 | "BSD-3-Clause" 2214 | ], 2215 | "authors": [ 2216 | { 2217 | "name": "Sebastian Bergmann", 2218 | "email": "sebastian@phpunit.de", 2219 | "role": "lead" 2220 | } 2221 | ], 2222 | "description": "Collection of value objects that represent the PHP code units", 2223 | "homepage": "https://github.com/sebastianbergmann/code-unit", 2224 | "support": { 2225 | "issues": "https://github.com/sebastianbergmann/code-unit/issues", 2226 | "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" 2227 | }, 2228 | "funding": [ 2229 | { 2230 | "url": "https://github.com/sebastianbergmann", 2231 | "type": "github" 2232 | } 2233 | ], 2234 | "time": "2020-10-26T13:08:54+00:00" 2235 | }, 2236 | { 2237 | "name": "sebastian/code-unit-reverse-lookup", 2238 | "version": "2.0.3", 2239 | "source": { 2240 | "type": "git", 2241 | "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", 2242 | "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" 2243 | }, 2244 | "dist": { 2245 | "type": "zip", 2246 | "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", 2247 | "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", 2248 | "shasum": "" 2249 | }, 2250 | "require": { 2251 | "php": ">=7.3" 2252 | }, 2253 | "require-dev": { 2254 | "phpunit/phpunit": "^9.3" 2255 | }, 2256 | "type": "library", 2257 | "extra": { 2258 | "branch-alias": { 2259 | "dev-master": "2.0-dev" 2260 | } 2261 | }, 2262 | "autoload": { 2263 | "classmap": [ 2264 | "src/" 2265 | ] 2266 | }, 2267 | "notification-url": "https://packagist.org/downloads/", 2268 | "license": [ 2269 | "BSD-3-Clause" 2270 | ], 2271 | "authors": [ 2272 | { 2273 | "name": "Sebastian Bergmann", 2274 | "email": "sebastian@phpunit.de" 2275 | } 2276 | ], 2277 | "description": "Looks up which function or method a line of code belongs to", 2278 | "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", 2279 | "support": { 2280 | "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", 2281 | "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" 2282 | }, 2283 | "funding": [ 2284 | { 2285 | "url": "https://github.com/sebastianbergmann", 2286 | "type": "github" 2287 | } 2288 | ], 2289 | "time": "2020-09-28T05:30:19+00:00" 2290 | }, 2291 | { 2292 | "name": "sebastian/comparator", 2293 | "version": "4.0.6", 2294 | "source": { 2295 | "type": "git", 2296 | "url": "https://github.com/sebastianbergmann/comparator.git", 2297 | "reference": "55f4261989e546dc112258c7a75935a81a7ce382" 2298 | }, 2299 | "dist": { 2300 | "type": "zip", 2301 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382", 2302 | "reference": "55f4261989e546dc112258c7a75935a81a7ce382", 2303 | "shasum": "" 2304 | }, 2305 | "require": { 2306 | "php": ">=7.3", 2307 | "sebastian/diff": "^4.0", 2308 | "sebastian/exporter": "^4.0" 2309 | }, 2310 | "require-dev": { 2311 | "phpunit/phpunit": "^9.3" 2312 | }, 2313 | "type": "library", 2314 | "extra": { 2315 | "branch-alias": { 2316 | "dev-master": "4.0-dev" 2317 | } 2318 | }, 2319 | "autoload": { 2320 | "classmap": [ 2321 | "src/" 2322 | ] 2323 | }, 2324 | "notification-url": "https://packagist.org/downloads/", 2325 | "license": [ 2326 | "BSD-3-Clause" 2327 | ], 2328 | "authors": [ 2329 | { 2330 | "name": "Sebastian Bergmann", 2331 | "email": "sebastian@phpunit.de" 2332 | }, 2333 | { 2334 | "name": "Jeff Welch", 2335 | "email": "whatthejeff@gmail.com" 2336 | }, 2337 | { 2338 | "name": "Volker Dusch", 2339 | "email": "github@wallbash.com" 2340 | }, 2341 | { 2342 | "name": "Bernhard Schussek", 2343 | "email": "bschussek@2bepublished.at" 2344 | } 2345 | ], 2346 | "description": "Provides the functionality to compare PHP values for equality", 2347 | "homepage": "https://github.com/sebastianbergmann/comparator", 2348 | "keywords": [ 2349 | "comparator", 2350 | "compare", 2351 | "equality" 2352 | ], 2353 | "support": { 2354 | "issues": "https://github.com/sebastianbergmann/comparator/issues", 2355 | "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6" 2356 | }, 2357 | "funding": [ 2358 | { 2359 | "url": "https://github.com/sebastianbergmann", 2360 | "type": "github" 2361 | } 2362 | ], 2363 | "time": "2020-10-26T15:49:45+00:00" 2364 | }, 2365 | { 2366 | "name": "sebastian/complexity", 2367 | "version": "2.0.2", 2368 | "source": { 2369 | "type": "git", 2370 | "url": "https://github.com/sebastianbergmann/complexity.git", 2371 | "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" 2372 | }, 2373 | "dist": { 2374 | "type": "zip", 2375 | "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", 2376 | "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", 2377 | "shasum": "" 2378 | }, 2379 | "require": { 2380 | "nikic/php-parser": "^4.7", 2381 | "php": ">=7.3" 2382 | }, 2383 | "require-dev": { 2384 | "phpunit/phpunit": "^9.3" 2385 | }, 2386 | "type": "library", 2387 | "extra": { 2388 | "branch-alias": { 2389 | "dev-master": "2.0-dev" 2390 | } 2391 | }, 2392 | "autoload": { 2393 | "classmap": [ 2394 | "src/" 2395 | ] 2396 | }, 2397 | "notification-url": "https://packagist.org/downloads/", 2398 | "license": [ 2399 | "BSD-3-Clause" 2400 | ], 2401 | "authors": [ 2402 | { 2403 | "name": "Sebastian Bergmann", 2404 | "email": "sebastian@phpunit.de", 2405 | "role": "lead" 2406 | } 2407 | ], 2408 | "description": "Library for calculating the complexity of PHP code units", 2409 | "homepage": "https://github.com/sebastianbergmann/complexity", 2410 | "support": { 2411 | "issues": "https://github.com/sebastianbergmann/complexity/issues", 2412 | "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" 2413 | }, 2414 | "funding": [ 2415 | { 2416 | "url": "https://github.com/sebastianbergmann", 2417 | "type": "github" 2418 | } 2419 | ], 2420 | "time": "2020-10-26T15:52:27+00:00" 2421 | }, 2422 | { 2423 | "name": "sebastian/diff", 2424 | "version": "4.0.4", 2425 | "source": { 2426 | "type": "git", 2427 | "url": "https://github.com/sebastianbergmann/diff.git", 2428 | "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" 2429 | }, 2430 | "dist": { 2431 | "type": "zip", 2432 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", 2433 | "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", 2434 | "shasum": "" 2435 | }, 2436 | "require": { 2437 | "php": ">=7.3" 2438 | }, 2439 | "require-dev": { 2440 | "phpunit/phpunit": "^9.3", 2441 | "symfony/process": "^4.2 || ^5" 2442 | }, 2443 | "type": "library", 2444 | "extra": { 2445 | "branch-alias": { 2446 | "dev-master": "4.0-dev" 2447 | } 2448 | }, 2449 | "autoload": { 2450 | "classmap": [ 2451 | "src/" 2452 | ] 2453 | }, 2454 | "notification-url": "https://packagist.org/downloads/", 2455 | "license": [ 2456 | "BSD-3-Clause" 2457 | ], 2458 | "authors": [ 2459 | { 2460 | "name": "Sebastian Bergmann", 2461 | "email": "sebastian@phpunit.de" 2462 | }, 2463 | { 2464 | "name": "Kore Nordmann", 2465 | "email": "mail@kore-nordmann.de" 2466 | } 2467 | ], 2468 | "description": "Diff implementation", 2469 | "homepage": "https://github.com/sebastianbergmann/diff", 2470 | "keywords": [ 2471 | "diff", 2472 | "udiff", 2473 | "unidiff", 2474 | "unified diff" 2475 | ], 2476 | "support": { 2477 | "issues": "https://github.com/sebastianbergmann/diff/issues", 2478 | "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" 2479 | }, 2480 | "funding": [ 2481 | { 2482 | "url": "https://github.com/sebastianbergmann", 2483 | "type": "github" 2484 | } 2485 | ], 2486 | "time": "2020-10-26T13:10:38+00:00" 2487 | }, 2488 | { 2489 | "name": "sebastian/environment", 2490 | "version": "5.1.4", 2491 | "source": { 2492 | "type": "git", 2493 | "url": "https://github.com/sebastianbergmann/environment.git", 2494 | "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7" 2495 | }, 2496 | "dist": { 2497 | "type": "zip", 2498 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/1b5dff7bb151a4db11d49d90e5408e4e938270f7", 2499 | "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7", 2500 | "shasum": "" 2501 | }, 2502 | "require": { 2503 | "php": ">=7.3" 2504 | }, 2505 | "require-dev": { 2506 | "phpunit/phpunit": "^9.3" 2507 | }, 2508 | "suggest": { 2509 | "ext-posix": "*" 2510 | }, 2511 | "type": "library", 2512 | "extra": { 2513 | "branch-alias": { 2514 | "dev-master": "5.1-dev" 2515 | } 2516 | }, 2517 | "autoload": { 2518 | "classmap": [ 2519 | "src/" 2520 | ] 2521 | }, 2522 | "notification-url": "https://packagist.org/downloads/", 2523 | "license": [ 2524 | "BSD-3-Clause" 2525 | ], 2526 | "authors": [ 2527 | { 2528 | "name": "Sebastian Bergmann", 2529 | "email": "sebastian@phpunit.de" 2530 | } 2531 | ], 2532 | "description": "Provides functionality to handle HHVM/PHP environments", 2533 | "homepage": "http://www.github.com/sebastianbergmann/environment", 2534 | "keywords": [ 2535 | "Xdebug", 2536 | "environment", 2537 | "hhvm" 2538 | ], 2539 | "support": { 2540 | "issues": "https://github.com/sebastianbergmann/environment/issues", 2541 | "source": "https://github.com/sebastianbergmann/environment/tree/5.1.4" 2542 | }, 2543 | "funding": [ 2544 | { 2545 | "url": "https://github.com/sebastianbergmann", 2546 | "type": "github" 2547 | } 2548 | ], 2549 | "time": "2022-04-03T09:37:03+00:00" 2550 | }, 2551 | { 2552 | "name": "sebastian/exporter", 2553 | "version": "4.0.4", 2554 | "source": { 2555 | "type": "git", 2556 | "url": "https://github.com/sebastianbergmann/exporter.git", 2557 | "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9" 2558 | }, 2559 | "dist": { 2560 | "type": "zip", 2561 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/65e8b7db476c5dd267e65eea9cab77584d3cfff9", 2562 | "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9", 2563 | "shasum": "" 2564 | }, 2565 | "require": { 2566 | "php": ">=7.3", 2567 | "sebastian/recursion-context": "^4.0" 2568 | }, 2569 | "require-dev": { 2570 | "ext-mbstring": "*", 2571 | "phpunit/phpunit": "^9.3" 2572 | }, 2573 | "type": "library", 2574 | "extra": { 2575 | "branch-alias": { 2576 | "dev-master": "4.0-dev" 2577 | } 2578 | }, 2579 | "autoload": { 2580 | "classmap": [ 2581 | "src/" 2582 | ] 2583 | }, 2584 | "notification-url": "https://packagist.org/downloads/", 2585 | "license": [ 2586 | "BSD-3-Clause" 2587 | ], 2588 | "authors": [ 2589 | { 2590 | "name": "Sebastian Bergmann", 2591 | "email": "sebastian@phpunit.de" 2592 | }, 2593 | { 2594 | "name": "Jeff Welch", 2595 | "email": "whatthejeff@gmail.com" 2596 | }, 2597 | { 2598 | "name": "Volker Dusch", 2599 | "email": "github@wallbash.com" 2600 | }, 2601 | { 2602 | "name": "Adam Harvey", 2603 | "email": "aharvey@php.net" 2604 | }, 2605 | { 2606 | "name": "Bernhard Schussek", 2607 | "email": "bschussek@gmail.com" 2608 | } 2609 | ], 2610 | "description": "Provides the functionality to export PHP variables for visualization", 2611 | "homepage": "https://www.github.com/sebastianbergmann/exporter", 2612 | "keywords": [ 2613 | "export", 2614 | "exporter" 2615 | ], 2616 | "support": { 2617 | "issues": "https://github.com/sebastianbergmann/exporter/issues", 2618 | "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.4" 2619 | }, 2620 | "funding": [ 2621 | { 2622 | "url": "https://github.com/sebastianbergmann", 2623 | "type": "github" 2624 | } 2625 | ], 2626 | "time": "2021-11-11T14:18:36+00:00" 2627 | }, 2628 | { 2629 | "name": "sebastian/global-state", 2630 | "version": "5.0.5", 2631 | "source": { 2632 | "type": "git", 2633 | "url": "https://github.com/sebastianbergmann/global-state.git", 2634 | "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2" 2635 | }, 2636 | "dist": { 2637 | "type": "zip", 2638 | "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2", 2639 | "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2", 2640 | "shasum": "" 2641 | }, 2642 | "require": { 2643 | "php": ">=7.3", 2644 | "sebastian/object-reflector": "^2.0", 2645 | "sebastian/recursion-context": "^4.0" 2646 | }, 2647 | "require-dev": { 2648 | "ext-dom": "*", 2649 | "phpunit/phpunit": "^9.3" 2650 | }, 2651 | "suggest": { 2652 | "ext-uopz": "*" 2653 | }, 2654 | "type": "library", 2655 | "extra": { 2656 | "branch-alias": { 2657 | "dev-master": "5.0-dev" 2658 | } 2659 | }, 2660 | "autoload": { 2661 | "classmap": [ 2662 | "src/" 2663 | ] 2664 | }, 2665 | "notification-url": "https://packagist.org/downloads/", 2666 | "license": [ 2667 | "BSD-3-Clause" 2668 | ], 2669 | "authors": [ 2670 | { 2671 | "name": "Sebastian Bergmann", 2672 | "email": "sebastian@phpunit.de" 2673 | } 2674 | ], 2675 | "description": "Snapshotting of global state", 2676 | "homepage": "http://www.github.com/sebastianbergmann/global-state", 2677 | "keywords": [ 2678 | "global state" 2679 | ], 2680 | "support": { 2681 | "issues": "https://github.com/sebastianbergmann/global-state/issues", 2682 | "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5" 2683 | }, 2684 | "funding": [ 2685 | { 2686 | "url": "https://github.com/sebastianbergmann", 2687 | "type": "github" 2688 | } 2689 | ], 2690 | "time": "2022-02-14T08:28:10+00:00" 2691 | }, 2692 | { 2693 | "name": "sebastian/lines-of-code", 2694 | "version": "1.0.3", 2695 | "source": { 2696 | "type": "git", 2697 | "url": "https://github.com/sebastianbergmann/lines-of-code.git", 2698 | "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" 2699 | }, 2700 | "dist": { 2701 | "type": "zip", 2702 | "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", 2703 | "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", 2704 | "shasum": "" 2705 | }, 2706 | "require": { 2707 | "nikic/php-parser": "^4.6", 2708 | "php": ">=7.3" 2709 | }, 2710 | "require-dev": { 2711 | "phpunit/phpunit": "^9.3" 2712 | }, 2713 | "type": "library", 2714 | "extra": { 2715 | "branch-alias": { 2716 | "dev-master": "1.0-dev" 2717 | } 2718 | }, 2719 | "autoload": { 2720 | "classmap": [ 2721 | "src/" 2722 | ] 2723 | }, 2724 | "notification-url": "https://packagist.org/downloads/", 2725 | "license": [ 2726 | "BSD-3-Clause" 2727 | ], 2728 | "authors": [ 2729 | { 2730 | "name": "Sebastian Bergmann", 2731 | "email": "sebastian@phpunit.de", 2732 | "role": "lead" 2733 | } 2734 | ], 2735 | "description": "Library for counting the lines of code in PHP source code", 2736 | "homepage": "https://github.com/sebastianbergmann/lines-of-code", 2737 | "support": { 2738 | "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", 2739 | "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" 2740 | }, 2741 | "funding": [ 2742 | { 2743 | "url": "https://github.com/sebastianbergmann", 2744 | "type": "github" 2745 | } 2746 | ], 2747 | "time": "2020-11-28T06:42:11+00:00" 2748 | }, 2749 | { 2750 | "name": "sebastian/object-enumerator", 2751 | "version": "4.0.4", 2752 | "source": { 2753 | "type": "git", 2754 | "url": "https://github.com/sebastianbergmann/object-enumerator.git", 2755 | "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" 2756 | }, 2757 | "dist": { 2758 | "type": "zip", 2759 | "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", 2760 | "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", 2761 | "shasum": "" 2762 | }, 2763 | "require": { 2764 | "php": ">=7.3", 2765 | "sebastian/object-reflector": "^2.0", 2766 | "sebastian/recursion-context": "^4.0" 2767 | }, 2768 | "require-dev": { 2769 | "phpunit/phpunit": "^9.3" 2770 | }, 2771 | "type": "library", 2772 | "extra": { 2773 | "branch-alias": { 2774 | "dev-master": "4.0-dev" 2775 | } 2776 | }, 2777 | "autoload": { 2778 | "classmap": [ 2779 | "src/" 2780 | ] 2781 | }, 2782 | "notification-url": "https://packagist.org/downloads/", 2783 | "license": [ 2784 | "BSD-3-Clause" 2785 | ], 2786 | "authors": [ 2787 | { 2788 | "name": "Sebastian Bergmann", 2789 | "email": "sebastian@phpunit.de" 2790 | } 2791 | ], 2792 | "description": "Traverses array structures and object graphs to enumerate all referenced objects", 2793 | "homepage": "https://github.com/sebastianbergmann/object-enumerator/", 2794 | "support": { 2795 | "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", 2796 | "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" 2797 | }, 2798 | "funding": [ 2799 | { 2800 | "url": "https://github.com/sebastianbergmann", 2801 | "type": "github" 2802 | } 2803 | ], 2804 | "time": "2020-10-26T13:12:34+00:00" 2805 | }, 2806 | { 2807 | "name": "sebastian/object-reflector", 2808 | "version": "2.0.4", 2809 | "source": { 2810 | "type": "git", 2811 | "url": "https://github.com/sebastianbergmann/object-reflector.git", 2812 | "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" 2813 | }, 2814 | "dist": { 2815 | "type": "zip", 2816 | "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", 2817 | "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", 2818 | "shasum": "" 2819 | }, 2820 | "require": { 2821 | "php": ">=7.3" 2822 | }, 2823 | "require-dev": { 2824 | "phpunit/phpunit": "^9.3" 2825 | }, 2826 | "type": "library", 2827 | "extra": { 2828 | "branch-alias": { 2829 | "dev-master": "2.0-dev" 2830 | } 2831 | }, 2832 | "autoload": { 2833 | "classmap": [ 2834 | "src/" 2835 | ] 2836 | }, 2837 | "notification-url": "https://packagist.org/downloads/", 2838 | "license": [ 2839 | "BSD-3-Clause" 2840 | ], 2841 | "authors": [ 2842 | { 2843 | "name": "Sebastian Bergmann", 2844 | "email": "sebastian@phpunit.de" 2845 | } 2846 | ], 2847 | "description": "Allows reflection of object attributes, including inherited and non-public ones", 2848 | "homepage": "https://github.com/sebastianbergmann/object-reflector/", 2849 | "support": { 2850 | "issues": "https://github.com/sebastianbergmann/object-reflector/issues", 2851 | "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" 2852 | }, 2853 | "funding": [ 2854 | { 2855 | "url": "https://github.com/sebastianbergmann", 2856 | "type": "github" 2857 | } 2858 | ], 2859 | "time": "2020-10-26T13:14:26+00:00" 2860 | }, 2861 | { 2862 | "name": "sebastian/recursion-context", 2863 | "version": "4.0.4", 2864 | "source": { 2865 | "type": "git", 2866 | "url": "https://github.com/sebastianbergmann/recursion-context.git", 2867 | "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172" 2868 | }, 2869 | "dist": { 2870 | "type": "zip", 2871 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", 2872 | "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", 2873 | "shasum": "" 2874 | }, 2875 | "require": { 2876 | "php": ">=7.3" 2877 | }, 2878 | "require-dev": { 2879 | "phpunit/phpunit": "^9.3" 2880 | }, 2881 | "type": "library", 2882 | "extra": { 2883 | "branch-alias": { 2884 | "dev-master": "4.0-dev" 2885 | } 2886 | }, 2887 | "autoload": { 2888 | "classmap": [ 2889 | "src/" 2890 | ] 2891 | }, 2892 | "notification-url": "https://packagist.org/downloads/", 2893 | "license": [ 2894 | "BSD-3-Clause" 2895 | ], 2896 | "authors": [ 2897 | { 2898 | "name": "Sebastian Bergmann", 2899 | "email": "sebastian@phpunit.de" 2900 | }, 2901 | { 2902 | "name": "Jeff Welch", 2903 | "email": "whatthejeff@gmail.com" 2904 | }, 2905 | { 2906 | "name": "Adam Harvey", 2907 | "email": "aharvey@php.net" 2908 | } 2909 | ], 2910 | "description": "Provides functionality to recursively process PHP variables", 2911 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context", 2912 | "support": { 2913 | "issues": "https://github.com/sebastianbergmann/recursion-context/issues", 2914 | "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4" 2915 | }, 2916 | "funding": [ 2917 | { 2918 | "url": "https://github.com/sebastianbergmann", 2919 | "type": "github" 2920 | } 2921 | ], 2922 | "time": "2020-10-26T13:17:30+00:00" 2923 | }, 2924 | { 2925 | "name": "sebastian/resource-operations", 2926 | "version": "3.0.3", 2927 | "source": { 2928 | "type": "git", 2929 | "url": "https://github.com/sebastianbergmann/resource-operations.git", 2930 | "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" 2931 | }, 2932 | "dist": { 2933 | "type": "zip", 2934 | "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", 2935 | "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", 2936 | "shasum": "" 2937 | }, 2938 | "require": { 2939 | "php": ">=7.3" 2940 | }, 2941 | "require-dev": { 2942 | "phpunit/phpunit": "^9.0" 2943 | }, 2944 | "type": "library", 2945 | "extra": { 2946 | "branch-alias": { 2947 | "dev-master": "3.0-dev" 2948 | } 2949 | }, 2950 | "autoload": { 2951 | "classmap": [ 2952 | "src/" 2953 | ] 2954 | }, 2955 | "notification-url": "https://packagist.org/downloads/", 2956 | "license": [ 2957 | "BSD-3-Clause" 2958 | ], 2959 | "authors": [ 2960 | { 2961 | "name": "Sebastian Bergmann", 2962 | "email": "sebastian@phpunit.de" 2963 | } 2964 | ], 2965 | "description": "Provides a list of PHP built-in functions that operate on resources", 2966 | "homepage": "https://www.github.com/sebastianbergmann/resource-operations", 2967 | "support": { 2968 | "issues": "https://github.com/sebastianbergmann/resource-operations/issues", 2969 | "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" 2970 | }, 2971 | "funding": [ 2972 | { 2973 | "url": "https://github.com/sebastianbergmann", 2974 | "type": "github" 2975 | } 2976 | ], 2977 | "time": "2020-09-28T06:45:17+00:00" 2978 | }, 2979 | { 2980 | "name": "sebastian/type", 2981 | "version": "3.0.0", 2982 | "source": { 2983 | "type": "git", 2984 | "url": "https://github.com/sebastianbergmann/type.git", 2985 | "reference": "b233b84bc4465aff7b57cf1c4bc75c86d00d6dad" 2986 | }, 2987 | "dist": { 2988 | "type": "zip", 2989 | "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b233b84bc4465aff7b57cf1c4bc75c86d00d6dad", 2990 | "reference": "b233b84bc4465aff7b57cf1c4bc75c86d00d6dad", 2991 | "shasum": "" 2992 | }, 2993 | "require": { 2994 | "php": ">=7.3" 2995 | }, 2996 | "require-dev": { 2997 | "phpunit/phpunit": "^9.5" 2998 | }, 2999 | "type": "library", 3000 | "extra": { 3001 | "branch-alias": { 3002 | "dev-master": "3.0-dev" 3003 | } 3004 | }, 3005 | "autoload": { 3006 | "classmap": [ 3007 | "src/" 3008 | ] 3009 | }, 3010 | "notification-url": "https://packagist.org/downloads/", 3011 | "license": [ 3012 | "BSD-3-Clause" 3013 | ], 3014 | "authors": [ 3015 | { 3016 | "name": "Sebastian Bergmann", 3017 | "email": "sebastian@phpunit.de", 3018 | "role": "lead" 3019 | } 3020 | ], 3021 | "description": "Collection of value objects that represent the types of the PHP type system", 3022 | "homepage": "https://github.com/sebastianbergmann/type", 3023 | "support": { 3024 | "issues": "https://github.com/sebastianbergmann/type/issues", 3025 | "source": "https://github.com/sebastianbergmann/type/tree/3.0.0" 3026 | }, 3027 | "funding": [ 3028 | { 3029 | "url": "https://github.com/sebastianbergmann", 3030 | "type": "github" 3031 | } 3032 | ], 3033 | "time": "2022-03-15T09:54:48+00:00" 3034 | }, 3035 | { 3036 | "name": "sebastian/version", 3037 | "version": "3.0.2", 3038 | "source": { 3039 | "type": "git", 3040 | "url": "https://github.com/sebastianbergmann/version.git", 3041 | "reference": "c6c1022351a901512170118436c764e473f6de8c" 3042 | }, 3043 | "dist": { 3044 | "type": "zip", 3045 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", 3046 | "reference": "c6c1022351a901512170118436c764e473f6de8c", 3047 | "shasum": "" 3048 | }, 3049 | "require": { 3050 | "php": ">=7.3" 3051 | }, 3052 | "type": "library", 3053 | "extra": { 3054 | "branch-alias": { 3055 | "dev-master": "3.0-dev" 3056 | } 3057 | }, 3058 | "autoload": { 3059 | "classmap": [ 3060 | "src/" 3061 | ] 3062 | }, 3063 | "notification-url": "https://packagist.org/downloads/", 3064 | "license": [ 3065 | "BSD-3-Clause" 3066 | ], 3067 | "authors": [ 3068 | { 3069 | "name": "Sebastian Bergmann", 3070 | "email": "sebastian@phpunit.de", 3071 | "role": "lead" 3072 | } 3073 | ], 3074 | "description": "Library that helps with managing the version number of Git-hosted PHP projects", 3075 | "homepage": "https://github.com/sebastianbergmann/version", 3076 | "support": { 3077 | "issues": "https://github.com/sebastianbergmann/version/issues", 3078 | "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" 3079 | }, 3080 | "funding": [ 3081 | { 3082 | "url": "https://github.com/sebastianbergmann", 3083 | "type": "github" 3084 | } 3085 | ], 3086 | "time": "2020-09-28T06:39:44+00:00" 3087 | }, 3088 | { 3089 | "name": "softcreatr/jsonpath", 3090 | "version": "0.7.5", 3091 | "source": { 3092 | "type": "git", 3093 | "url": "https://github.com/SoftCreatR/JSONPath.git", 3094 | "reference": "008569bf80aa3584834f7890781576bc7b65afa7" 3095 | }, 3096 | "dist": { 3097 | "type": "zip", 3098 | "url": "https://api.github.com/repos/SoftCreatR/JSONPath/zipball/008569bf80aa3584834f7890781576bc7b65afa7", 3099 | "reference": "008569bf80aa3584834f7890781576bc7b65afa7", 3100 | "shasum": "" 3101 | }, 3102 | "require": { 3103 | "ext-json": "*", 3104 | "php": ">=7.1" 3105 | }, 3106 | "replace": { 3107 | "flow/jsonpath": "*" 3108 | }, 3109 | "require-dev": { 3110 | "phpunit/phpunit": ">=7.0", 3111 | "roave/security-advisories": "dev-master", 3112 | "squizlabs/php_codesniffer": "^3.5" 3113 | }, 3114 | "type": "library", 3115 | "autoload": { 3116 | "psr-4": { 3117 | "Flow\\JSONPath\\": "src/" 3118 | } 3119 | }, 3120 | "notification-url": "https://packagist.org/downloads/", 3121 | "license": [ 3122 | "MIT" 3123 | ], 3124 | "authors": [ 3125 | { 3126 | "name": "Stephen Frank", 3127 | "email": "stephen@flowsa.com", 3128 | "homepage": "https://prismaticbytes.com", 3129 | "role": "Developer" 3130 | }, 3131 | { 3132 | "name": "Sascha Greuel", 3133 | "email": "hello@1-2.dev", 3134 | "homepage": "http://1-2.dev", 3135 | "role": "Developer" 3136 | } 3137 | ], 3138 | "description": "JSONPath implementation for parsing, searching and flattening arrays", 3139 | "support": { 3140 | "email": "hello@1-2.dev", 3141 | "forum": "https://github.com/SoftCreatR/JSONPath/discussions", 3142 | "issues": "https://github.com/SoftCreatR/JSONPath/issues", 3143 | "source": "https://github.com/SoftCreatR/JSONPath" 3144 | }, 3145 | "funding": [ 3146 | { 3147 | "url": "https://github.com/softcreatr", 3148 | "type": "github" 3149 | } 3150 | ], 3151 | "time": "2021-06-02T22:15:26+00:00" 3152 | }, 3153 | { 3154 | "name": "squizlabs/php_codesniffer", 3155 | "version": "3.7.1", 3156 | "source": { 3157 | "type": "git", 3158 | "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", 3159 | "reference": "1359e176e9307e906dc3d890bcc9603ff6d90619" 3160 | }, 3161 | "dist": { 3162 | "type": "zip", 3163 | "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/1359e176e9307e906dc3d890bcc9603ff6d90619", 3164 | "reference": "1359e176e9307e906dc3d890bcc9603ff6d90619", 3165 | "shasum": "" 3166 | }, 3167 | "require": { 3168 | "ext-simplexml": "*", 3169 | "ext-tokenizer": "*", 3170 | "ext-xmlwriter": "*", 3171 | "php": ">=5.4.0" 3172 | }, 3173 | "require-dev": { 3174 | "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" 3175 | }, 3176 | "bin": [ 3177 | "bin/phpcs", 3178 | "bin/phpcbf" 3179 | ], 3180 | "type": "library", 3181 | "extra": { 3182 | "branch-alias": { 3183 | "dev-master": "3.x-dev" 3184 | } 3185 | }, 3186 | "notification-url": "https://packagist.org/downloads/", 3187 | "license": [ 3188 | "BSD-3-Clause" 3189 | ], 3190 | "authors": [ 3191 | { 3192 | "name": "Greg Sherwood", 3193 | "role": "lead" 3194 | } 3195 | ], 3196 | "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", 3197 | "homepage": "https://github.com/squizlabs/PHP_CodeSniffer", 3198 | "keywords": [ 3199 | "phpcs", 3200 | "standards" 3201 | ], 3202 | "support": { 3203 | "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues", 3204 | "source": "https://github.com/squizlabs/PHP_CodeSniffer", 3205 | "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki" 3206 | }, 3207 | "time": "2022-06-18T07:21:10+00:00" 3208 | }, 3209 | { 3210 | "name": "symfony/browser-kit", 3211 | "version": "v5.4.3", 3212 | "source": { 3213 | "type": "git", 3214 | "url": "https://github.com/symfony/browser-kit.git", 3215 | "reference": "18e73179c6a33d520de1b644941eba108dd811ad" 3216 | }, 3217 | "dist": { 3218 | "type": "zip", 3219 | "url": "https://api.github.com/repos/symfony/browser-kit/zipball/18e73179c6a33d520de1b644941eba108dd811ad", 3220 | "reference": "18e73179c6a33d520de1b644941eba108dd811ad", 3221 | "shasum": "" 3222 | }, 3223 | "require": { 3224 | "php": ">=7.2.5", 3225 | "symfony/dom-crawler": "^4.4|^5.0|^6.0", 3226 | "symfony/polyfill-php80": "^1.16" 3227 | }, 3228 | "require-dev": { 3229 | "symfony/css-selector": "^4.4|^5.0|^6.0", 3230 | "symfony/http-client": "^4.4|^5.0|^6.0", 3231 | "symfony/mime": "^4.4|^5.0|^6.0", 3232 | "symfony/process": "^4.4|^5.0|^6.0" 3233 | }, 3234 | "suggest": { 3235 | "symfony/process": "" 3236 | }, 3237 | "type": "library", 3238 | "autoload": { 3239 | "psr-4": { 3240 | "Symfony\\Component\\BrowserKit\\": "" 3241 | }, 3242 | "exclude-from-classmap": [ 3243 | "/Tests/" 3244 | ] 3245 | }, 3246 | "notification-url": "https://packagist.org/downloads/", 3247 | "license": [ 3248 | "MIT" 3249 | ], 3250 | "authors": [ 3251 | { 3252 | "name": "Fabien Potencier", 3253 | "email": "fabien@symfony.com" 3254 | }, 3255 | { 3256 | "name": "Symfony Community", 3257 | "homepage": "https://symfony.com/contributors" 3258 | } 3259 | ], 3260 | "description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically", 3261 | "homepage": "https://symfony.com", 3262 | "support": { 3263 | "source": "https://github.com/symfony/browser-kit/tree/v5.4.3" 3264 | }, 3265 | "funding": [ 3266 | { 3267 | "url": "https://symfony.com/sponsor", 3268 | "type": "custom" 3269 | }, 3270 | { 3271 | "url": "https://github.com/fabpot", 3272 | "type": "github" 3273 | }, 3274 | { 3275 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3276 | "type": "tidelift" 3277 | } 3278 | ], 3279 | "time": "2022-01-02T09:53:40+00:00" 3280 | }, 3281 | { 3282 | "name": "symfony/console", 3283 | "version": "v5.4.9", 3284 | "source": { 3285 | "type": "git", 3286 | "url": "https://github.com/symfony/console.git", 3287 | "reference": "829d5d1bf60b2efeb0887b7436873becc71a45eb" 3288 | }, 3289 | "dist": { 3290 | "type": "zip", 3291 | "url": "https://api.github.com/repos/symfony/console/zipball/829d5d1bf60b2efeb0887b7436873becc71a45eb", 3292 | "reference": "829d5d1bf60b2efeb0887b7436873becc71a45eb", 3293 | "shasum": "" 3294 | }, 3295 | "require": { 3296 | "php": ">=7.2.5", 3297 | "symfony/deprecation-contracts": "^2.1|^3", 3298 | "symfony/polyfill-mbstring": "~1.0", 3299 | "symfony/polyfill-php73": "^1.9", 3300 | "symfony/polyfill-php80": "^1.16", 3301 | "symfony/service-contracts": "^1.1|^2|^3", 3302 | "symfony/string": "^5.1|^6.0" 3303 | }, 3304 | "conflict": { 3305 | "psr/log": ">=3", 3306 | "symfony/dependency-injection": "<4.4", 3307 | "symfony/dotenv": "<5.1", 3308 | "symfony/event-dispatcher": "<4.4", 3309 | "symfony/lock": "<4.4", 3310 | "symfony/process": "<4.4" 3311 | }, 3312 | "provide": { 3313 | "psr/log-implementation": "1.0|2.0" 3314 | }, 3315 | "require-dev": { 3316 | "psr/log": "^1|^2", 3317 | "symfony/config": "^4.4|^5.0|^6.0", 3318 | "symfony/dependency-injection": "^4.4|^5.0|^6.0", 3319 | "symfony/event-dispatcher": "^4.4|^5.0|^6.0", 3320 | "symfony/lock": "^4.4|^5.0|^6.0", 3321 | "symfony/process": "^4.4|^5.0|^6.0", 3322 | "symfony/var-dumper": "^4.4|^5.0|^6.0" 3323 | }, 3324 | "suggest": { 3325 | "psr/log": "For using the console logger", 3326 | "symfony/event-dispatcher": "", 3327 | "symfony/lock": "", 3328 | "symfony/process": "" 3329 | }, 3330 | "type": "library", 3331 | "autoload": { 3332 | "psr-4": { 3333 | "Symfony\\Component\\Console\\": "" 3334 | }, 3335 | "exclude-from-classmap": [ 3336 | "/Tests/" 3337 | ] 3338 | }, 3339 | "notification-url": "https://packagist.org/downloads/", 3340 | "license": [ 3341 | "MIT" 3342 | ], 3343 | "authors": [ 3344 | { 3345 | "name": "Fabien Potencier", 3346 | "email": "fabien@symfony.com" 3347 | }, 3348 | { 3349 | "name": "Symfony Community", 3350 | "homepage": "https://symfony.com/contributors" 3351 | } 3352 | ], 3353 | "description": "Eases the creation of beautiful and testable command line interfaces", 3354 | "homepage": "https://symfony.com", 3355 | "keywords": [ 3356 | "cli", 3357 | "command line", 3358 | "console", 3359 | "terminal" 3360 | ], 3361 | "support": { 3362 | "source": "https://github.com/symfony/console/tree/v5.4.9" 3363 | }, 3364 | "funding": [ 3365 | { 3366 | "url": "https://symfony.com/sponsor", 3367 | "type": "custom" 3368 | }, 3369 | { 3370 | "url": "https://github.com/fabpot", 3371 | "type": "github" 3372 | }, 3373 | { 3374 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3375 | "type": "tidelift" 3376 | } 3377 | ], 3378 | "time": "2022-05-18T06:17:34+00:00" 3379 | }, 3380 | { 3381 | "name": "symfony/css-selector", 3382 | "version": "v5.4.3", 3383 | "source": { 3384 | "type": "git", 3385 | "url": "https://github.com/symfony/css-selector.git", 3386 | "reference": "b0a190285cd95cb019237851205b8140ef6e368e" 3387 | }, 3388 | "dist": { 3389 | "type": "zip", 3390 | "url": "https://api.github.com/repos/symfony/css-selector/zipball/b0a190285cd95cb019237851205b8140ef6e368e", 3391 | "reference": "b0a190285cd95cb019237851205b8140ef6e368e", 3392 | "shasum": "" 3393 | }, 3394 | "require": { 3395 | "php": ">=7.2.5", 3396 | "symfony/polyfill-php80": "^1.16" 3397 | }, 3398 | "type": "library", 3399 | "autoload": { 3400 | "psr-4": { 3401 | "Symfony\\Component\\CssSelector\\": "" 3402 | }, 3403 | "exclude-from-classmap": [ 3404 | "/Tests/" 3405 | ] 3406 | }, 3407 | "notification-url": "https://packagist.org/downloads/", 3408 | "license": [ 3409 | "MIT" 3410 | ], 3411 | "authors": [ 3412 | { 3413 | "name": "Fabien Potencier", 3414 | "email": "fabien@symfony.com" 3415 | }, 3416 | { 3417 | "name": "Jean-François Simon", 3418 | "email": "jeanfrancois.simon@sensiolabs.com" 3419 | }, 3420 | { 3421 | "name": "Symfony Community", 3422 | "homepage": "https://symfony.com/contributors" 3423 | } 3424 | ], 3425 | "description": "Converts CSS selectors to XPath expressions", 3426 | "homepage": "https://symfony.com", 3427 | "support": { 3428 | "source": "https://github.com/symfony/css-selector/tree/v5.4.3" 3429 | }, 3430 | "funding": [ 3431 | { 3432 | "url": "https://symfony.com/sponsor", 3433 | "type": "custom" 3434 | }, 3435 | { 3436 | "url": "https://github.com/fabpot", 3437 | "type": "github" 3438 | }, 3439 | { 3440 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3441 | "type": "tidelift" 3442 | } 3443 | ], 3444 | "time": "2022-01-02T09:53:40+00:00" 3445 | }, 3446 | { 3447 | "name": "symfony/deprecation-contracts", 3448 | "version": "v2.5.1", 3449 | "source": { 3450 | "type": "git", 3451 | "url": "https://github.com/symfony/deprecation-contracts.git", 3452 | "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" 3453 | }, 3454 | "dist": { 3455 | "type": "zip", 3456 | "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66", 3457 | "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66", 3458 | "shasum": "" 3459 | }, 3460 | "require": { 3461 | "php": ">=7.1" 3462 | }, 3463 | "type": "library", 3464 | "extra": { 3465 | "branch-alias": { 3466 | "dev-main": "2.5-dev" 3467 | }, 3468 | "thanks": { 3469 | "name": "symfony/contracts", 3470 | "url": "https://github.com/symfony/contracts" 3471 | } 3472 | }, 3473 | "autoload": { 3474 | "files": [ 3475 | "function.php" 3476 | ] 3477 | }, 3478 | "notification-url": "https://packagist.org/downloads/", 3479 | "license": [ 3480 | "MIT" 3481 | ], 3482 | "authors": [ 3483 | { 3484 | "name": "Nicolas Grekas", 3485 | "email": "p@tchwork.com" 3486 | }, 3487 | { 3488 | "name": "Symfony Community", 3489 | "homepage": "https://symfony.com/contributors" 3490 | } 3491 | ], 3492 | "description": "A generic function and convention to trigger deprecation notices", 3493 | "homepage": "https://symfony.com", 3494 | "support": { 3495 | "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.1" 3496 | }, 3497 | "funding": [ 3498 | { 3499 | "url": "https://symfony.com/sponsor", 3500 | "type": "custom" 3501 | }, 3502 | { 3503 | "url": "https://github.com/fabpot", 3504 | "type": "github" 3505 | }, 3506 | { 3507 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3508 | "type": "tidelift" 3509 | } 3510 | ], 3511 | "time": "2022-01-02T09:53:40+00:00" 3512 | }, 3513 | { 3514 | "name": "symfony/dom-crawler", 3515 | "version": "v5.4.9", 3516 | "source": { 3517 | "type": "git", 3518 | "url": "https://github.com/symfony/dom-crawler.git", 3519 | "reference": "a213cbc80382320b0efdccdcdce232f191fafe3a" 3520 | }, 3521 | "dist": { 3522 | "type": "zip", 3523 | "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/a213cbc80382320b0efdccdcdce232f191fafe3a", 3524 | "reference": "a213cbc80382320b0efdccdcdce232f191fafe3a", 3525 | "shasum": "" 3526 | }, 3527 | "require": { 3528 | "php": ">=7.2.5", 3529 | "symfony/deprecation-contracts": "^2.1|^3", 3530 | "symfony/polyfill-ctype": "~1.8", 3531 | "symfony/polyfill-mbstring": "~1.0", 3532 | "symfony/polyfill-php80": "^1.16" 3533 | }, 3534 | "conflict": { 3535 | "masterminds/html5": "<2.6" 3536 | }, 3537 | "require-dev": { 3538 | "masterminds/html5": "^2.6", 3539 | "symfony/css-selector": "^4.4|^5.0|^6.0" 3540 | }, 3541 | "suggest": { 3542 | "symfony/css-selector": "" 3543 | }, 3544 | "type": "library", 3545 | "autoload": { 3546 | "psr-4": { 3547 | "Symfony\\Component\\DomCrawler\\": "" 3548 | }, 3549 | "exclude-from-classmap": [ 3550 | "/Tests/" 3551 | ] 3552 | }, 3553 | "notification-url": "https://packagist.org/downloads/", 3554 | "license": [ 3555 | "MIT" 3556 | ], 3557 | "authors": [ 3558 | { 3559 | "name": "Fabien Potencier", 3560 | "email": "fabien@symfony.com" 3561 | }, 3562 | { 3563 | "name": "Symfony Community", 3564 | "homepage": "https://symfony.com/contributors" 3565 | } 3566 | ], 3567 | "description": "Eases DOM navigation for HTML and XML documents", 3568 | "homepage": "https://symfony.com", 3569 | "support": { 3570 | "source": "https://github.com/symfony/dom-crawler/tree/v5.4.9" 3571 | }, 3572 | "funding": [ 3573 | { 3574 | "url": "https://symfony.com/sponsor", 3575 | "type": "custom" 3576 | }, 3577 | { 3578 | "url": "https://github.com/fabpot", 3579 | "type": "github" 3580 | }, 3581 | { 3582 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3583 | "type": "tidelift" 3584 | } 3585 | ], 3586 | "time": "2022-05-04T14:46:32+00:00" 3587 | }, 3588 | { 3589 | "name": "symfony/event-dispatcher", 3590 | "version": "v5.4.9", 3591 | "source": { 3592 | "type": "git", 3593 | "url": "https://github.com/symfony/event-dispatcher.git", 3594 | "reference": "8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc" 3595 | }, 3596 | "dist": { 3597 | "type": "zip", 3598 | "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc", 3599 | "reference": "8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc", 3600 | "shasum": "" 3601 | }, 3602 | "require": { 3603 | "php": ">=7.2.5", 3604 | "symfony/deprecation-contracts": "^2.1|^3", 3605 | "symfony/event-dispatcher-contracts": "^2|^3", 3606 | "symfony/polyfill-php80": "^1.16" 3607 | }, 3608 | "conflict": { 3609 | "symfony/dependency-injection": "<4.4" 3610 | }, 3611 | "provide": { 3612 | "psr/event-dispatcher-implementation": "1.0", 3613 | "symfony/event-dispatcher-implementation": "2.0" 3614 | }, 3615 | "require-dev": { 3616 | "psr/log": "^1|^2|^3", 3617 | "symfony/config": "^4.4|^5.0|^6.0", 3618 | "symfony/dependency-injection": "^4.4|^5.0|^6.0", 3619 | "symfony/error-handler": "^4.4|^5.0|^6.0", 3620 | "symfony/expression-language": "^4.4|^5.0|^6.0", 3621 | "symfony/http-foundation": "^4.4|^5.0|^6.0", 3622 | "symfony/service-contracts": "^1.1|^2|^3", 3623 | "symfony/stopwatch": "^4.4|^5.0|^6.0" 3624 | }, 3625 | "suggest": { 3626 | "symfony/dependency-injection": "", 3627 | "symfony/http-kernel": "" 3628 | }, 3629 | "type": "library", 3630 | "autoload": { 3631 | "psr-4": { 3632 | "Symfony\\Component\\EventDispatcher\\": "" 3633 | }, 3634 | "exclude-from-classmap": [ 3635 | "/Tests/" 3636 | ] 3637 | }, 3638 | "notification-url": "https://packagist.org/downloads/", 3639 | "license": [ 3640 | "MIT" 3641 | ], 3642 | "authors": [ 3643 | { 3644 | "name": "Fabien Potencier", 3645 | "email": "fabien@symfony.com" 3646 | }, 3647 | { 3648 | "name": "Symfony Community", 3649 | "homepage": "https://symfony.com/contributors" 3650 | } 3651 | ], 3652 | "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", 3653 | "homepage": "https://symfony.com", 3654 | "support": { 3655 | "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.9" 3656 | }, 3657 | "funding": [ 3658 | { 3659 | "url": "https://symfony.com/sponsor", 3660 | "type": "custom" 3661 | }, 3662 | { 3663 | "url": "https://github.com/fabpot", 3664 | "type": "github" 3665 | }, 3666 | { 3667 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3668 | "type": "tidelift" 3669 | } 3670 | ], 3671 | "time": "2022-05-05T16:45:39+00:00" 3672 | }, 3673 | { 3674 | "name": "symfony/event-dispatcher-contracts", 3675 | "version": "v2.5.1", 3676 | "source": { 3677 | "type": "git", 3678 | "url": "https://github.com/symfony/event-dispatcher-contracts.git", 3679 | "reference": "f98b54df6ad059855739db6fcbc2d36995283fe1" 3680 | }, 3681 | "dist": { 3682 | "type": "zip", 3683 | "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/f98b54df6ad059855739db6fcbc2d36995283fe1", 3684 | "reference": "f98b54df6ad059855739db6fcbc2d36995283fe1", 3685 | "shasum": "" 3686 | }, 3687 | "require": { 3688 | "php": ">=7.2.5", 3689 | "psr/event-dispatcher": "^1" 3690 | }, 3691 | "suggest": { 3692 | "symfony/event-dispatcher-implementation": "" 3693 | }, 3694 | "type": "library", 3695 | "extra": { 3696 | "branch-alias": { 3697 | "dev-main": "2.5-dev" 3698 | }, 3699 | "thanks": { 3700 | "name": "symfony/contracts", 3701 | "url": "https://github.com/symfony/contracts" 3702 | } 3703 | }, 3704 | "autoload": { 3705 | "psr-4": { 3706 | "Symfony\\Contracts\\EventDispatcher\\": "" 3707 | } 3708 | }, 3709 | "notification-url": "https://packagist.org/downloads/", 3710 | "license": [ 3711 | "MIT" 3712 | ], 3713 | "authors": [ 3714 | { 3715 | "name": "Nicolas Grekas", 3716 | "email": "p@tchwork.com" 3717 | }, 3718 | { 3719 | "name": "Symfony Community", 3720 | "homepage": "https://symfony.com/contributors" 3721 | } 3722 | ], 3723 | "description": "Generic abstractions related to dispatching event", 3724 | "homepage": "https://symfony.com", 3725 | "keywords": [ 3726 | "abstractions", 3727 | "contracts", 3728 | "decoupling", 3729 | "interfaces", 3730 | "interoperability", 3731 | "standards" 3732 | ], 3733 | "support": { 3734 | "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.1" 3735 | }, 3736 | "funding": [ 3737 | { 3738 | "url": "https://symfony.com/sponsor", 3739 | "type": "custom" 3740 | }, 3741 | { 3742 | "url": "https://github.com/fabpot", 3743 | "type": "github" 3744 | }, 3745 | { 3746 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3747 | "type": "tidelift" 3748 | } 3749 | ], 3750 | "time": "2022-01-02T09:53:40+00:00" 3751 | }, 3752 | { 3753 | "name": "symfony/finder", 3754 | "version": "v5.4.8", 3755 | "source": { 3756 | "type": "git", 3757 | "url": "https://github.com/symfony/finder.git", 3758 | "reference": "9b630f3427f3ebe7cd346c277a1408b00249dad9" 3759 | }, 3760 | "dist": { 3761 | "type": "zip", 3762 | "url": "https://api.github.com/repos/symfony/finder/zipball/9b630f3427f3ebe7cd346c277a1408b00249dad9", 3763 | "reference": "9b630f3427f3ebe7cd346c277a1408b00249dad9", 3764 | "shasum": "" 3765 | }, 3766 | "require": { 3767 | "php": ">=7.2.5", 3768 | "symfony/deprecation-contracts": "^2.1|^3", 3769 | "symfony/polyfill-php80": "^1.16" 3770 | }, 3771 | "type": "library", 3772 | "autoload": { 3773 | "psr-4": { 3774 | "Symfony\\Component\\Finder\\": "" 3775 | }, 3776 | "exclude-from-classmap": [ 3777 | "/Tests/" 3778 | ] 3779 | }, 3780 | "notification-url": "https://packagist.org/downloads/", 3781 | "license": [ 3782 | "MIT" 3783 | ], 3784 | "authors": [ 3785 | { 3786 | "name": "Fabien Potencier", 3787 | "email": "fabien@symfony.com" 3788 | }, 3789 | { 3790 | "name": "Symfony Community", 3791 | "homepage": "https://symfony.com/contributors" 3792 | } 3793 | ], 3794 | "description": "Finds files and directories via an intuitive fluent interface", 3795 | "homepage": "https://symfony.com", 3796 | "support": { 3797 | "source": "https://github.com/symfony/finder/tree/v5.4.8" 3798 | }, 3799 | "funding": [ 3800 | { 3801 | "url": "https://symfony.com/sponsor", 3802 | "type": "custom" 3803 | }, 3804 | { 3805 | "url": "https://github.com/fabpot", 3806 | "type": "github" 3807 | }, 3808 | { 3809 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3810 | "type": "tidelift" 3811 | } 3812 | ], 3813 | "time": "2022-04-15T08:07:45+00:00" 3814 | }, 3815 | { 3816 | "name": "symfony/polyfill-ctype", 3817 | "version": "v1.26.0", 3818 | "source": { 3819 | "type": "git", 3820 | "url": "https://github.com/symfony/polyfill-ctype.git", 3821 | "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4" 3822 | }, 3823 | "dist": { 3824 | "type": "zip", 3825 | "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4", 3826 | "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4", 3827 | "shasum": "" 3828 | }, 3829 | "require": { 3830 | "php": ">=7.1" 3831 | }, 3832 | "provide": { 3833 | "ext-ctype": "*" 3834 | }, 3835 | "suggest": { 3836 | "ext-ctype": "For best performance" 3837 | }, 3838 | "type": "library", 3839 | "extra": { 3840 | "branch-alias": { 3841 | "dev-main": "1.26-dev" 3842 | }, 3843 | "thanks": { 3844 | "name": "symfony/polyfill", 3845 | "url": "https://github.com/symfony/polyfill" 3846 | } 3847 | }, 3848 | "autoload": { 3849 | "files": [ 3850 | "bootstrap.php" 3851 | ], 3852 | "psr-4": { 3853 | "Symfony\\Polyfill\\Ctype\\": "" 3854 | } 3855 | }, 3856 | "notification-url": "https://packagist.org/downloads/", 3857 | "license": [ 3858 | "MIT" 3859 | ], 3860 | "authors": [ 3861 | { 3862 | "name": "Gert de Pagter", 3863 | "email": "BackEndTea@gmail.com" 3864 | }, 3865 | { 3866 | "name": "Symfony Community", 3867 | "homepage": "https://symfony.com/contributors" 3868 | } 3869 | ], 3870 | "description": "Symfony polyfill for ctype functions", 3871 | "homepage": "https://symfony.com", 3872 | "keywords": [ 3873 | "compatibility", 3874 | "ctype", 3875 | "polyfill", 3876 | "portable" 3877 | ], 3878 | "support": { 3879 | "source": "https://github.com/symfony/polyfill-ctype/tree/v1.26.0" 3880 | }, 3881 | "funding": [ 3882 | { 3883 | "url": "https://symfony.com/sponsor", 3884 | "type": "custom" 3885 | }, 3886 | { 3887 | "url": "https://github.com/fabpot", 3888 | "type": "github" 3889 | }, 3890 | { 3891 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3892 | "type": "tidelift" 3893 | } 3894 | ], 3895 | "time": "2022-05-24T11:49:31+00:00" 3896 | }, 3897 | { 3898 | "name": "symfony/polyfill-intl-grapheme", 3899 | "version": "v1.26.0", 3900 | "source": { 3901 | "type": "git", 3902 | "url": "https://github.com/symfony/polyfill-intl-grapheme.git", 3903 | "reference": "433d05519ce6990bf3530fba6957499d327395c2" 3904 | }, 3905 | "dist": { 3906 | "type": "zip", 3907 | "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/433d05519ce6990bf3530fba6957499d327395c2", 3908 | "reference": "433d05519ce6990bf3530fba6957499d327395c2", 3909 | "shasum": "" 3910 | }, 3911 | "require": { 3912 | "php": ">=7.1" 3913 | }, 3914 | "suggest": { 3915 | "ext-intl": "For best performance" 3916 | }, 3917 | "type": "library", 3918 | "extra": { 3919 | "branch-alias": { 3920 | "dev-main": "1.26-dev" 3921 | }, 3922 | "thanks": { 3923 | "name": "symfony/polyfill", 3924 | "url": "https://github.com/symfony/polyfill" 3925 | } 3926 | }, 3927 | "autoload": { 3928 | "files": [ 3929 | "bootstrap.php" 3930 | ], 3931 | "psr-4": { 3932 | "Symfony\\Polyfill\\Intl\\Grapheme\\": "" 3933 | } 3934 | }, 3935 | "notification-url": "https://packagist.org/downloads/", 3936 | "license": [ 3937 | "MIT" 3938 | ], 3939 | "authors": [ 3940 | { 3941 | "name": "Nicolas Grekas", 3942 | "email": "p@tchwork.com" 3943 | }, 3944 | { 3945 | "name": "Symfony Community", 3946 | "homepage": "https://symfony.com/contributors" 3947 | } 3948 | ], 3949 | "description": "Symfony polyfill for intl's grapheme_* functions", 3950 | "homepage": "https://symfony.com", 3951 | "keywords": [ 3952 | "compatibility", 3953 | "grapheme", 3954 | "intl", 3955 | "polyfill", 3956 | "portable", 3957 | "shim" 3958 | ], 3959 | "support": { 3960 | "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.26.0" 3961 | }, 3962 | "funding": [ 3963 | { 3964 | "url": "https://symfony.com/sponsor", 3965 | "type": "custom" 3966 | }, 3967 | { 3968 | "url": "https://github.com/fabpot", 3969 | "type": "github" 3970 | }, 3971 | { 3972 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3973 | "type": "tidelift" 3974 | } 3975 | ], 3976 | "time": "2022-05-24T11:49:31+00:00" 3977 | }, 3978 | { 3979 | "name": "symfony/polyfill-intl-normalizer", 3980 | "version": "v1.26.0", 3981 | "source": { 3982 | "type": "git", 3983 | "url": "https://github.com/symfony/polyfill-intl-normalizer.git", 3984 | "reference": "219aa369ceff116e673852dce47c3a41794c14bd" 3985 | }, 3986 | "dist": { 3987 | "type": "zip", 3988 | "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/219aa369ceff116e673852dce47c3a41794c14bd", 3989 | "reference": "219aa369ceff116e673852dce47c3a41794c14bd", 3990 | "shasum": "" 3991 | }, 3992 | "require": { 3993 | "php": ">=7.1" 3994 | }, 3995 | "suggest": { 3996 | "ext-intl": "For best performance" 3997 | }, 3998 | "type": "library", 3999 | "extra": { 4000 | "branch-alias": { 4001 | "dev-main": "1.26-dev" 4002 | }, 4003 | "thanks": { 4004 | "name": "symfony/polyfill", 4005 | "url": "https://github.com/symfony/polyfill" 4006 | } 4007 | }, 4008 | "autoload": { 4009 | "files": [ 4010 | "bootstrap.php" 4011 | ], 4012 | "psr-4": { 4013 | "Symfony\\Polyfill\\Intl\\Normalizer\\": "" 4014 | }, 4015 | "classmap": [ 4016 | "Resources/stubs" 4017 | ] 4018 | }, 4019 | "notification-url": "https://packagist.org/downloads/", 4020 | "license": [ 4021 | "MIT" 4022 | ], 4023 | "authors": [ 4024 | { 4025 | "name": "Nicolas Grekas", 4026 | "email": "p@tchwork.com" 4027 | }, 4028 | { 4029 | "name": "Symfony Community", 4030 | "homepage": "https://symfony.com/contributors" 4031 | } 4032 | ], 4033 | "description": "Symfony polyfill for intl's Normalizer class and related functions", 4034 | "homepage": "https://symfony.com", 4035 | "keywords": [ 4036 | "compatibility", 4037 | "intl", 4038 | "normalizer", 4039 | "polyfill", 4040 | "portable", 4041 | "shim" 4042 | ], 4043 | "support": { 4044 | "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.26.0" 4045 | }, 4046 | "funding": [ 4047 | { 4048 | "url": "https://symfony.com/sponsor", 4049 | "type": "custom" 4050 | }, 4051 | { 4052 | "url": "https://github.com/fabpot", 4053 | "type": "github" 4054 | }, 4055 | { 4056 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 4057 | "type": "tidelift" 4058 | } 4059 | ], 4060 | "time": "2022-05-24T11:49:31+00:00" 4061 | }, 4062 | { 4063 | "name": "symfony/polyfill-mbstring", 4064 | "version": "v1.26.0", 4065 | "source": { 4066 | "type": "git", 4067 | "url": "https://github.com/symfony/polyfill-mbstring.git", 4068 | "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e" 4069 | }, 4070 | "dist": { 4071 | "type": "zip", 4072 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e", 4073 | "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e", 4074 | "shasum": "" 4075 | }, 4076 | "require": { 4077 | "php": ">=7.1" 4078 | }, 4079 | "provide": { 4080 | "ext-mbstring": "*" 4081 | }, 4082 | "suggest": { 4083 | "ext-mbstring": "For best performance" 4084 | }, 4085 | "type": "library", 4086 | "extra": { 4087 | "branch-alias": { 4088 | "dev-main": "1.26-dev" 4089 | }, 4090 | "thanks": { 4091 | "name": "symfony/polyfill", 4092 | "url": "https://github.com/symfony/polyfill" 4093 | } 4094 | }, 4095 | "autoload": { 4096 | "files": [ 4097 | "bootstrap.php" 4098 | ], 4099 | "psr-4": { 4100 | "Symfony\\Polyfill\\Mbstring\\": "" 4101 | } 4102 | }, 4103 | "notification-url": "https://packagist.org/downloads/", 4104 | "license": [ 4105 | "MIT" 4106 | ], 4107 | "authors": [ 4108 | { 4109 | "name": "Nicolas Grekas", 4110 | "email": "p@tchwork.com" 4111 | }, 4112 | { 4113 | "name": "Symfony Community", 4114 | "homepage": "https://symfony.com/contributors" 4115 | } 4116 | ], 4117 | "description": "Symfony polyfill for the Mbstring extension", 4118 | "homepage": "https://symfony.com", 4119 | "keywords": [ 4120 | "compatibility", 4121 | "mbstring", 4122 | "polyfill", 4123 | "portable", 4124 | "shim" 4125 | ], 4126 | "support": { 4127 | "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.26.0" 4128 | }, 4129 | "funding": [ 4130 | { 4131 | "url": "https://symfony.com/sponsor", 4132 | "type": "custom" 4133 | }, 4134 | { 4135 | "url": "https://github.com/fabpot", 4136 | "type": "github" 4137 | }, 4138 | { 4139 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 4140 | "type": "tidelift" 4141 | } 4142 | ], 4143 | "time": "2022-05-24T11:49:31+00:00" 4144 | }, 4145 | { 4146 | "name": "symfony/polyfill-php73", 4147 | "version": "v1.26.0", 4148 | "source": { 4149 | "type": "git", 4150 | "url": "https://github.com/symfony/polyfill-php73.git", 4151 | "reference": "e440d35fa0286f77fb45b79a03fedbeda9307e85" 4152 | }, 4153 | "dist": { 4154 | "type": "zip", 4155 | "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/e440d35fa0286f77fb45b79a03fedbeda9307e85", 4156 | "reference": "e440d35fa0286f77fb45b79a03fedbeda9307e85", 4157 | "shasum": "" 4158 | }, 4159 | "require": { 4160 | "php": ">=7.1" 4161 | }, 4162 | "type": "library", 4163 | "extra": { 4164 | "branch-alias": { 4165 | "dev-main": "1.26-dev" 4166 | }, 4167 | "thanks": { 4168 | "name": "symfony/polyfill", 4169 | "url": "https://github.com/symfony/polyfill" 4170 | } 4171 | }, 4172 | "autoload": { 4173 | "files": [ 4174 | "bootstrap.php" 4175 | ], 4176 | "psr-4": { 4177 | "Symfony\\Polyfill\\Php73\\": "" 4178 | }, 4179 | "classmap": [ 4180 | "Resources/stubs" 4181 | ] 4182 | }, 4183 | "notification-url": "https://packagist.org/downloads/", 4184 | "license": [ 4185 | "MIT" 4186 | ], 4187 | "authors": [ 4188 | { 4189 | "name": "Nicolas Grekas", 4190 | "email": "p@tchwork.com" 4191 | }, 4192 | { 4193 | "name": "Symfony Community", 4194 | "homepage": "https://symfony.com/contributors" 4195 | } 4196 | ], 4197 | "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", 4198 | "homepage": "https://symfony.com", 4199 | "keywords": [ 4200 | "compatibility", 4201 | "polyfill", 4202 | "portable", 4203 | "shim" 4204 | ], 4205 | "support": { 4206 | "source": "https://github.com/symfony/polyfill-php73/tree/v1.26.0" 4207 | }, 4208 | "funding": [ 4209 | { 4210 | "url": "https://symfony.com/sponsor", 4211 | "type": "custom" 4212 | }, 4213 | { 4214 | "url": "https://github.com/fabpot", 4215 | "type": "github" 4216 | }, 4217 | { 4218 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 4219 | "type": "tidelift" 4220 | } 4221 | ], 4222 | "time": "2022-05-24T11:49:31+00:00" 4223 | }, 4224 | { 4225 | "name": "symfony/polyfill-php80", 4226 | "version": "v1.26.0", 4227 | "source": { 4228 | "type": "git", 4229 | "url": "https://github.com/symfony/polyfill-php80.git", 4230 | "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace" 4231 | }, 4232 | "dist": { 4233 | "type": "zip", 4234 | "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/cfa0ae98841b9e461207c13ab093d76b0fa7bace", 4235 | "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace", 4236 | "shasum": "" 4237 | }, 4238 | "require": { 4239 | "php": ">=7.1" 4240 | }, 4241 | "type": "library", 4242 | "extra": { 4243 | "branch-alias": { 4244 | "dev-main": "1.26-dev" 4245 | }, 4246 | "thanks": { 4247 | "name": "symfony/polyfill", 4248 | "url": "https://github.com/symfony/polyfill" 4249 | } 4250 | }, 4251 | "autoload": { 4252 | "files": [ 4253 | "bootstrap.php" 4254 | ], 4255 | "psr-4": { 4256 | "Symfony\\Polyfill\\Php80\\": "" 4257 | }, 4258 | "classmap": [ 4259 | "Resources/stubs" 4260 | ] 4261 | }, 4262 | "notification-url": "https://packagist.org/downloads/", 4263 | "license": [ 4264 | "MIT" 4265 | ], 4266 | "authors": [ 4267 | { 4268 | "name": "Ion Bazan", 4269 | "email": "ion.bazan@gmail.com" 4270 | }, 4271 | { 4272 | "name": "Nicolas Grekas", 4273 | "email": "p@tchwork.com" 4274 | }, 4275 | { 4276 | "name": "Symfony Community", 4277 | "homepage": "https://symfony.com/contributors" 4278 | } 4279 | ], 4280 | "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", 4281 | "homepage": "https://symfony.com", 4282 | "keywords": [ 4283 | "compatibility", 4284 | "polyfill", 4285 | "portable", 4286 | "shim" 4287 | ], 4288 | "support": { 4289 | "source": "https://github.com/symfony/polyfill-php80/tree/v1.26.0" 4290 | }, 4291 | "funding": [ 4292 | { 4293 | "url": "https://symfony.com/sponsor", 4294 | "type": "custom" 4295 | }, 4296 | { 4297 | "url": "https://github.com/fabpot", 4298 | "type": "github" 4299 | }, 4300 | { 4301 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 4302 | "type": "tidelift" 4303 | } 4304 | ], 4305 | "time": "2022-05-10T07:21:04+00:00" 4306 | }, 4307 | { 4308 | "name": "symfony/service-contracts", 4309 | "version": "v2.5.1", 4310 | "source": { 4311 | "type": "git", 4312 | "url": "https://github.com/symfony/service-contracts.git", 4313 | "reference": "24d9dc654b83e91aa59f9d167b131bc3b5bea24c" 4314 | }, 4315 | "dist": { 4316 | "type": "zip", 4317 | "url": "https://api.github.com/repos/symfony/service-contracts/zipball/24d9dc654b83e91aa59f9d167b131bc3b5bea24c", 4318 | "reference": "24d9dc654b83e91aa59f9d167b131bc3b5bea24c", 4319 | "shasum": "" 4320 | }, 4321 | "require": { 4322 | "php": ">=7.2.5", 4323 | "psr/container": "^1.1", 4324 | "symfony/deprecation-contracts": "^2.1|^3" 4325 | }, 4326 | "conflict": { 4327 | "ext-psr": "<1.1|>=2" 4328 | }, 4329 | "suggest": { 4330 | "symfony/service-implementation": "" 4331 | }, 4332 | "type": "library", 4333 | "extra": { 4334 | "branch-alias": { 4335 | "dev-main": "2.5-dev" 4336 | }, 4337 | "thanks": { 4338 | "name": "symfony/contracts", 4339 | "url": "https://github.com/symfony/contracts" 4340 | } 4341 | }, 4342 | "autoload": { 4343 | "psr-4": { 4344 | "Symfony\\Contracts\\Service\\": "" 4345 | } 4346 | }, 4347 | "notification-url": "https://packagist.org/downloads/", 4348 | "license": [ 4349 | "MIT" 4350 | ], 4351 | "authors": [ 4352 | { 4353 | "name": "Nicolas Grekas", 4354 | "email": "p@tchwork.com" 4355 | }, 4356 | { 4357 | "name": "Symfony Community", 4358 | "homepage": "https://symfony.com/contributors" 4359 | } 4360 | ], 4361 | "description": "Generic abstractions related to writing services", 4362 | "homepage": "https://symfony.com", 4363 | "keywords": [ 4364 | "abstractions", 4365 | "contracts", 4366 | "decoupling", 4367 | "interfaces", 4368 | "interoperability", 4369 | "standards" 4370 | ], 4371 | "support": { 4372 | "source": "https://github.com/symfony/service-contracts/tree/v2.5.1" 4373 | }, 4374 | "funding": [ 4375 | { 4376 | "url": "https://symfony.com/sponsor", 4377 | "type": "custom" 4378 | }, 4379 | { 4380 | "url": "https://github.com/fabpot", 4381 | "type": "github" 4382 | }, 4383 | { 4384 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 4385 | "type": "tidelift" 4386 | } 4387 | ], 4388 | "time": "2022-03-13T20:07:29+00:00" 4389 | }, 4390 | { 4391 | "name": "symfony/string", 4392 | "version": "v5.4.9", 4393 | "source": { 4394 | "type": "git", 4395 | "url": "https://github.com/symfony/string.git", 4396 | "reference": "985e6a9703ef5ce32ba617c9c7d97873bb7b2a99" 4397 | }, 4398 | "dist": { 4399 | "type": "zip", 4400 | "url": "https://api.github.com/repos/symfony/string/zipball/985e6a9703ef5ce32ba617c9c7d97873bb7b2a99", 4401 | "reference": "985e6a9703ef5ce32ba617c9c7d97873bb7b2a99", 4402 | "shasum": "" 4403 | }, 4404 | "require": { 4405 | "php": ">=7.2.5", 4406 | "symfony/polyfill-ctype": "~1.8", 4407 | "symfony/polyfill-intl-grapheme": "~1.0", 4408 | "symfony/polyfill-intl-normalizer": "~1.0", 4409 | "symfony/polyfill-mbstring": "~1.0", 4410 | "symfony/polyfill-php80": "~1.15" 4411 | }, 4412 | "conflict": { 4413 | "symfony/translation-contracts": ">=3.0" 4414 | }, 4415 | "require-dev": { 4416 | "symfony/error-handler": "^4.4|^5.0|^6.0", 4417 | "symfony/http-client": "^4.4|^5.0|^6.0", 4418 | "symfony/translation-contracts": "^1.1|^2", 4419 | "symfony/var-exporter": "^4.4|^5.0|^6.0" 4420 | }, 4421 | "type": "library", 4422 | "autoload": { 4423 | "files": [ 4424 | "Resources/functions.php" 4425 | ], 4426 | "psr-4": { 4427 | "Symfony\\Component\\String\\": "" 4428 | }, 4429 | "exclude-from-classmap": [ 4430 | "/Tests/" 4431 | ] 4432 | }, 4433 | "notification-url": "https://packagist.org/downloads/", 4434 | "license": [ 4435 | "MIT" 4436 | ], 4437 | "authors": [ 4438 | { 4439 | "name": "Nicolas Grekas", 4440 | "email": "p@tchwork.com" 4441 | }, 4442 | { 4443 | "name": "Symfony Community", 4444 | "homepage": "https://symfony.com/contributors" 4445 | } 4446 | ], 4447 | "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", 4448 | "homepage": "https://symfony.com", 4449 | "keywords": [ 4450 | "grapheme", 4451 | "i18n", 4452 | "string", 4453 | "unicode", 4454 | "utf-8", 4455 | "utf8" 4456 | ], 4457 | "support": { 4458 | "source": "https://github.com/symfony/string/tree/v5.4.9" 4459 | }, 4460 | "funding": [ 4461 | { 4462 | "url": "https://symfony.com/sponsor", 4463 | "type": "custom" 4464 | }, 4465 | { 4466 | "url": "https://github.com/fabpot", 4467 | "type": "github" 4468 | }, 4469 | { 4470 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 4471 | "type": "tidelift" 4472 | } 4473 | ], 4474 | "time": "2022-04-19T10:40:37+00:00" 4475 | }, 4476 | { 4477 | "name": "symfony/yaml", 4478 | "version": "v5.4.3", 4479 | "source": { 4480 | "type": "git", 4481 | "url": "https://github.com/symfony/yaml.git", 4482 | "reference": "e80f87d2c9495966768310fc531b487ce64237a2" 4483 | }, 4484 | "dist": { 4485 | "type": "zip", 4486 | "url": "https://api.github.com/repos/symfony/yaml/zipball/e80f87d2c9495966768310fc531b487ce64237a2", 4487 | "reference": "e80f87d2c9495966768310fc531b487ce64237a2", 4488 | "shasum": "" 4489 | }, 4490 | "require": { 4491 | "php": ">=7.2.5", 4492 | "symfony/deprecation-contracts": "^2.1|^3", 4493 | "symfony/polyfill-ctype": "^1.8" 4494 | }, 4495 | "conflict": { 4496 | "symfony/console": "<5.3" 4497 | }, 4498 | "require-dev": { 4499 | "symfony/console": "^5.3|^6.0" 4500 | }, 4501 | "suggest": { 4502 | "symfony/console": "For validating YAML files using the lint command" 4503 | }, 4504 | "bin": [ 4505 | "Resources/bin/yaml-lint" 4506 | ], 4507 | "type": "library", 4508 | "autoload": { 4509 | "psr-4": { 4510 | "Symfony\\Component\\Yaml\\": "" 4511 | }, 4512 | "exclude-from-classmap": [ 4513 | "/Tests/" 4514 | ] 4515 | }, 4516 | "notification-url": "https://packagist.org/downloads/", 4517 | "license": [ 4518 | "MIT" 4519 | ], 4520 | "authors": [ 4521 | { 4522 | "name": "Fabien Potencier", 4523 | "email": "fabien@symfony.com" 4524 | }, 4525 | { 4526 | "name": "Symfony Community", 4527 | "homepage": "https://symfony.com/contributors" 4528 | } 4529 | ], 4530 | "description": "Loads and dumps YAML files", 4531 | "homepage": "https://symfony.com", 4532 | "support": { 4533 | "source": "https://github.com/symfony/yaml/tree/v5.4.3" 4534 | }, 4535 | "funding": [ 4536 | { 4537 | "url": "https://symfony.com/sponsor", 4538 | "type": "custom" 4539 | }, 4540 | { 4541 | "url": "https://github.com/fabpot", 4542 | "type": "github" 4543 | }, 4544 | { 4545 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 4546 | "type": "tidelift" 4547 | } 4548 | ], 4549 | "time": "2022-01-26T16:32:32+00:00" 4550 | }, 4551 | { 4552 | "name": "theseer/tokenizer", 4553 | "version": "1.2.1", 4554 | "source": { 4555 | "type": "git", 4556 | "url": "https://github.com/theseer/tokenizer.git", 4557 | "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" 4558 | }, 4559 | "dist": { 4560 | "type": "zip", 4561 | "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", 4562 | "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", 4563 | "shasum": "" 4564 | }, 4565 | "require": { 4566 | "ext-dom": "*", 4567 | "ext-tokenizer": "*", 4568 | "ext-xmlwriter": "*", 4569 | "php": "^7.2 || ^8.0" 4570 | }, 4571 | "type": "library", 4572 | "autoload": { 4573 | "classmap": [ 4574 | "src/" 4575 | ] 4576 | }, 4577 | "notification-url": "https://packagist.org/downloads/", 4578 | "license": [ 4579 | "BSD-3-Clause" 4580 | ], 4581 | "authors": [ 4582 | { 4583 | "name": "Arne Blankerts", 4584 | "email": "arne@blankerts.de", 4585 | "role": "Developer" 4586 | } 4587 | ], 4588 | "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", 4589 | "support": { 4590 | "issues": "https://github.com/theseer/tokenizer/issues", 4591 | "source": "https://github.com/theseer/tokenizer/tree/1.2.1" 4592 | }, 4593 | "funding": [ 4594 | { 4595 | "url": "https://github.com/theseer", 4596 | "type": "github" 4597 | } 4598 | ], 4599 | "time": "2021-07-28T10:34:58+00:00" 4600 | }, 4601 | { 4602 | "name": "webmozart/assert", 4603 | "version": "1.11.0", 4604 | "source": { 4605 | "type": "git", 4606 | "url": "https://github.com/webmozarts/assert.git", 4607 | "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" 4608 | }, 4609 | "dist": { 4610 | "type": "zip", 4611 | "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", 4612 | "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", 4613 | "shasum": "" 4614 | }, 4615 | "require": { 4616 | "ext-ctype": "*", 4617 | "php": "^7.2 || ^8.0" 4618 | }, 4619 | "conflict": { 4620 | "phpstan/phpstan": "<0.12.20", 4621 | "vimeo/psalm": "<4.6.1 || 4.6.2" 4622 | }, 4623 | "require-dev": { 4624 | "phpunit/phpunit": "^8.5.13" 4625 | }, 4626 | "type": "library", 4627 | "extra": { 4628 | "branch-alias": { 4629 | "dev-master": "1.10-dev" 4630 | } 4631 | }, 4632 | "autoload": { 4633 | "psr-4": { 4634 | "Webmozart\\Assert\\": "src/" 4635 | } 4636 | }, 4637 | "notification-url": "https://packagist.org/downloads/", 4638 | "license": [ 4639 | "MIT" 4640 | ], 4641 | "authors": [ 4642 | { 4643 | "name": "Bernhard Schussek", 4644 | "email": "bschussek@gmail.com" 4645 | } 4646 | ], 4647 | "description": "Assertions to validate method input/output with nice error messages.", 4648 | "keywords": [ 4649 | "assert", 4650 | "check", 4651 | "validate" 4652 | ], 4653 | "support": { 4654 | "issues": "https://github.com/webmozarts/assert/issues", 4655 | "source": "https://github.com/webmozarts/assert/tree/1.11.0" 4656 | }, 4657 | "time": "2022-06-03T18:03:27+00:00" 4658 | } 4659 | ], 4660 | "aliases": [], 4661 | "minimum-stability": "stable", 4662 | "stability-flags": [], 4663 | "prefer-stable": false, 4664 | "prefer-lowest": false, 4665 | "platform": { 4666 | "php": ">= 7.4" 4667 | }, 4668 | "platform-dev": [], 4669 | "plugin-api-version": "2.2.0" 4670 | } 4671 | -------------------------------------------------------------------------------- /src/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apiki/back-end-challenge/be621d6459361ac024f868f433af7b9ae1a43732/src/.gitkeep -------------------------------------------------------------------------------- /src/index.php: -------------------------------------------------------------------------------- 1 | 12 | * @license http://opensource.org/licenses/MIT MIT 13 | * @link https://github.com/apiki/back-end-challenge 14 | */ 15 | declare(strict_types=1); 16 | 17 | require __DIR__ . '/../vendor/autoload.php'; 18 | 19 | -------------------------------------------------------------------------------- /tests/ApiCest.php: -------------------------------------------------------------------------------- 1 | sendGET('/'); 7 | $I->seeResponseCodeIs(400); 8 | $I->seeResponseIsJson(); 9 | } 10 | 11 | public function tryApiWithoutFrom(ApiTester $I) 12 | { 13 | $I->sendGET('/10'); 14 | $I->seeResponseCodeIs(400); 15 | $I->seeResponseIsJson(); 16 | } 17 | 18 | public function tryApiWithoutTo(ApiTester $I) 19 | { 20 | $I->sendGET('/10/EUR'); 21 | $I->seeResponseCodeIs(400); 22 | $I->seeResponseIsJson(); 23 | } 24 | 25 | public function tryApiWithoutRate(ApiTester $I) 26 | { 27 | $I->sendGET('/10/EUR/USD'); 28 | $I->seeResponseCodeIs(400); 29 | $I->seeResponseIsJson(); 30 | } 31 | 32 | public function tryApiInvalidValue(ApiTester $I) 33 | { 34 | $I->sendGET('/a/EUR/USD/0.5'); 35 | $I->seeResponseCodeIs(400); 36 | $I->seeResponseIsJson(); 37 | } 38 | 39 | public function tryApiNegativeValue(ApiTester $I) 40 | { 41 | $I->sendGET('/-10/EUR/USD/0.5'); 42 | $I->seeResponseCodeIs(400); 43 | $I->seeResponseIsJson(); 44 | } 45 | 46 | public function tryApiInvalidFrom(ApiTester $I) 47 | { 48 | $I->sendGET('/10/eur/USD/0.5'); 49 | $I->seeResponseCodeIs(400); 50 | $I->seeResponseIsJson(); 51 | } 52 | 53 | public function tryApiInvalidTo(ApiTester $I) 54 | { 55 | $I->sendGET('/10/EUR/usd/0.5'); 56 | $I->seeResponseCodeIs(400); 57 | $I->seeResponseIsJson(); 58 | } 59 | 60 | public function tryApiInvalidRate(ApiTester $I) 61 | { 62 | $I->sendGET('/10/EUR/USD/a'); 63 | $I->seeResponseCodeIs(400); 64 | $I->seeResponseIsJson(); 65 | } 66 | 67 | public function tryApiNegativeRate(ApiTester $I) 68 | { 69 | $I->sendGET('/10/EUR/USD/-0.5'); 70 | $I->seeResponseCodeIs(400); 71 | $I->seeResponseIsJson(); 72 | } 73 | 74 | public function tryApiBrlToUsd(ApiTester $I) 75 | { 76 | $I->sendGET('/7.8/BRL/USD/0.5'); 77 | $I->seeResponseCodeIs(200); 78 | $I->seeResponseIsJson(); 79 | $I->seeResponseContainsJson([ 80 | 'valorConvertido' => 3.9, 81 | 'simboloMoeda' => '$', 82 | ]); 83 | } 84 | 85 | public function tryApiUsdToBrl(ApiTester $I) 86 | { 87 | $I->sendGET('/7/USD/BRL/0.5'); 88 | $I->seeResponseCodeIs(200); 89 | $I->seeResponseIsJson(); 90 | $I->seeResponseContainsJson([ 91 | 'valorConvertido' => 3.5, 92 | 'simboloMoeda' => 'R$', 93 | ]); 94 | } 95 | 96 | public function tryApiBrlToEur(ApiTester $I) 97 | { 98 | $I->sendGET('/7/BRL/EUR/5'); 99 | $I->seeResponseCodeIs(200); 100 | $I->seeResponseIsJson(); 101 | $I->seeResponseContainsJson([ 102 | 'valorConvertido' => 35, 103 | 'simboloMoeda' => '€', 104 | ]); 105 | } 106 | 107 | public function tryApiEurToBrl(ApiTester $I) 108 | { 109 | $I->sendGET('/7/EUR/BRL/5'); 110 | $I->seeResponseCodeIs(200); 111 | $I->seeResponseIsJson(); 112 | $I->seeResponseContainsJson([ 113 | 'valorConvertido' => 35, 114 | 'simboloMoeda' => 'R$', 115 | ]); 116 | } 117 | } -------------------------------------------------------------------------------- /tests/_data/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apiki/back-end-challenge/be621d6459361ac024f868f433af7b9ae1a43732/tests/_data/.gitkeep -------------------------------------------------------------------------------- /tests/_output/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore -------------------------------------------------------------------------------- /tests/_support/ApiTester.php: -------------------------------------------------------------------------------- 1 |