├── .github
└── workflows
│ └── php.yml
├── .gitignore
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── RELEASE.md
├── build
└── .gitkeep
├── composer.json
├── composer.lock
├── phpcs.xml.dist
├── phpunit.xml.dist
├── src
├── Stringifier.php
└── YamlExpander.php
└── tests
├── resources
└── valid.yml
└── src
└── YamlExpanderTest.php
/.github/workflows/php.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 |
3 | on:
4 | push:
5 | branches: [ main ]
6 | pull_request:
7 | branches: [ main ]
8 |
9 | permissions:
10 | contents: read
11 |
12 | jobs:
13 |
14 | build:
15 | runs-on: ${{ matrix.os }}
16 | strategy:
17 | matrix:
18 | include:
19 | - os: "ubuntu-latest"
20 | php: "8.0"
21 | env: 'HIGHEST_LOWEST="update --prefer-lowest"'
22 | coverage: "none"
23 | - os: "ubuntu-latest"
24 | php: "8.1"
25 | env: 'HIGHEST_LOWEST="update"'
26 | coverage: "pcov"
27 |
28 | steps:
29 | - uses: actions/checkout@v3
30 |
31 | - uses: shivammathur/setup-php@v2
32 | with:
33 | php-version: ${{ matrix.php }}
34 | # Only report coverage once
35 | coverage: ${{ matrix.coverage }}
36 |
37 | - name: Validate composer.json and composer.lock
38 | run: composer validate --strict
39 |
40 | - name: Cache Composer packages
41 | id: composer-cache
42 | uses: actions/cache@v3
43 | with:
44 | path: vendor
45 | key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
46 | restore-keys: |
47 | ${{ runner.os }}-php-
48 |
49 | - name: Install dependencies
50 | run: composer -n ${HIGHEST_LOWEST-install} --prefer-dist -o
51 |
52 | # Add a test script to composer.json, for instance: "test": "vendor/bin/phpunit"
53 | # Docs: https://getcomposer.org/doc/articles/scripts.md
54 |
55 | - name: Run test suite
56 | if: matrix.coverage == 'none'
57 | run: composer run-script test
58 |
59 | - name: Run coverage
60 | if: matrix.coverage == 'pcov'
61 | run: composer run-script coverage
62 |
63 | - name: Upload coverage results to Coveralls
64 | if: matrix.coverage == 'pcov'
65 | env:
66 | COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
67 | run: composer run-script coveralls
68 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Cache and logs (Symfony2)
2 | /app/cache/*
3 | /app/logs/*
4 | !app/cache/.gitkeep
5 | !app/logs/.gitkeep
6 |
7 | # Email spool folder
8 | /app/spool/*
9 |
10 | # Cache, session files and logs (Symfony3)
11 | /var/cache/*
12 | /var/logs/*
13 | /var/sessions/*
14 | !var/cache/.gitkeep
15 | !var/logs/.gitkeep
16 | !var/sessions/.gitkeep
17 |
18 | # Parameters
19 | /app/config/parameters.yml
20 | /app/config/parameters.ini
21 |
22 | # Managed by Composer
23 | /app/bootstrap.php.cache
24 | /var/bootstrap.php.cache
25 | /bin/*
26 | !bin/console
27 | !bin/symfony_requirements
28 | /vendor/
29 |
30 | # Assets and user uploads
31 | /web/bundles/
32 | /web/uploads/
33 |
34 | # Assets managed by Bower
35 | /web/assets/vendor/
36 |
37 | # PHPUnit
38 | /app/phpunit.xml
39 | /phpunit.xml
40 |
41 | # Build data
42 | /build/
43 |
44 | # Composer PHAR
45 | /composer.phar
46 |
47 | # Backup entities generated with doctrine:generate:entities command
48 | */Entity/*~
49 |
50 | .idea
51 | .phpunit.result.cache
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/grasmash/yaml-expander/6b35ac5ba622c877a4868c6618233655129f0ec5/CONTRIBUTING.md
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 Matthew Grasmick
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [](https://github.com/grasmash/yaml-expander/actions/workflows/php.yml) [](https://packagist.org/packages/grasmash/yaml-expander)
2 | [](https://packagist.org/packages/grasmash/yaml-expander) [](https://coveralls.io/github/grasmash/yaml-expander?branch=master)
3 |
4 | This tool expands property references in YAML files.
5 |
6 | ### Installation
7 |
8 | composer require grasmash/yaml-expander
9 |
10 | ### Example usage:
11 |
12 | Example dune.yml:
13 |
14 | ```yaml
15 | type: book
16 | book:
17 | title: Dune
18 | author: Frank Herbert
19 | copyright: ${book.author} 1965
20 | protaganist: ${characters.0.name}
21 | media:
22 | - hardcover
23 | characters:
24 | - name: Paul Atreides
25 | occupation: Kwisatz Haderach
26 | aliases:
27 | - Usul
28 | - Muad'Dib
29 | - The Preacher
30 | - name: Duncan Idaho
31 | occupation: Swordmaster
32 | summary: ${book.title} by ${book.author}
33 | product-name: ${${type}.title}
34 | timezone: ${env.TZ}
35 | ```
36 |
37 | Property references use dot notation to indicate array keys, and must be wrapped in `${}`.
38 |
39 | Expansion logic:
40 |
41 | ```php
42 | ['publication-year' => 1965]];
60 | $expanded = \Grasmash\YamlExpander\YamlExpander::expandArrayProperties($array, $reference_properties);
61 | print_r($expanded);
62 | ````
63 |
64 | Resultant array:
65 |
66 | ```php
67 | 'book',
71 | 'book' =>
72 | array (
73 | 'title' => 'Dune',
74 | 'author' => 'Frank Herbert',
75 | 'copyright' => 'Frank Herbert 1965',
76 | 'protaganist' => 'Paul Atreides',
77 | 'media' =>
78 | array (
79 | 0 => 'hardcover',
80 | ),
81 | ),
82 | 'characters' =>
83 | array (
84 | 0 =>
85 | array (
86 | 'name' => 'Paul Atreides',
87 | 'occupation' => 'Kwisatz Haderach',
88 | 'aliases' =>
89 | array (
90 | 0 => 'Usul',
91 | 1 => 'Muad\'Dib',
92 | 2 => 'The Preacher',
93 | ),
94 | ),
95 | 1 =>
96 | array (
97 | 'name' => 'Duncan Idaho',
98 | 'occupation' => 'Swordmaster',
99 | ),
100 | ),
101 | 'summary' => 'Dune by Frank Herbert',
102 | 'product-name' => 'Dune',
103 | 'timezone' => 'ES',
104 | );
105 | ```
106 |
--------------------------------------------------------------------------------
/RELEASE.md:
--------------------------------------------------------------------------------
1 | # Releasing
2 |
3 | ### Execute tests
4 |
5 | ./scripts/run-tests.sh
6 |
7 | To quickly fix PHPCS issues:
8 |
9 | ./scripts/clean-code.sh
10 |
11 |
12 |
--------------------------------------------------------------------------------
/build/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/grasmash/yaml-expander/6b35ac5ba622c877a4868c6618233655129f0ec5/build/.gitkeep
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "grasmash/yaml-expander",
3 | "description": "Expands internal property references in a yaml file.",
4 | "type": "library",
5 | "license": "MIT",
6 | "authors": [
7 | {
8 | "name": "Matthew Grasmick"
9 | }
10 | ],
11 | "minimum-stability": "stable",
12 | "require": {
13 | "grasmash/expander": "^1 || ^2 || ^3",
14 | "symfony/yaml": "^4 || ^5 || ^6 || ^7"
15 | },
16 | "require-dev": {
17 | "phpunit/phpunit": "^8.0 || ^9",
18 | "php-coveralls/php-coveralls": "^2.1",
19 | "squizlabs/php_codesniffer": "^2.7 || ^3.3"
20 | },
21 | "autoload": {
22 | "psr-4": {
23 | "Grasmash\\YamlExpander\\": "src/"
24 | }
25 | },
26 | "autoload-dev": {
27 | "psr-4": {
28 | "Grasmash\\YamlExpander\\Tests\\": "tests/src/"
29 | }
30 | },
31 | "scripts": {
32 | "cs": "phpcs",
33 | "cbf": "phpcbf",
34 | "unit": "phpunit",
35 | "lint": [
36 | "find src -name '*.php' -print0 | xargs -0 -n1 php -l",
37 | "find tests -name '*.php' -print0 | xargs -0 -n1 php -l"
38 | ],
39 | "test": [
40 | "@lint",
41 | "@unit",
42 | "@cs"
43 | ],
44 | "coverage": "php -d pcov.enabled=1 vendor/bin/phpunit tests/src --coverage-clover build/logs/clover.xml",
45 | "coveralls": [
46 | "php-coveralls -vvv"
47 | ]
48 | },
49 | "config": {
50 | "optimize-autoloader": true,
51 | "sort-packages": true
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/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": "9f64dbe42ee589ce137840ba69fad498",
8 | "packages": [
9 | {
10 | "name": "dflydev/dot-access-data",
11 | "version": "v3.0.1",
12 | "source": {
13 | "type": "git",
14 | "url": "https://github.com/dflydev/dflydev-dot-access-data.git",
15 | "reference": "0992cc19268b259a39e86f296da5f0677841f42c"
16 | },
17 | "dist": {
18 | "type": "zip",
19 | "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/0992cc19268b259a39e86f296da5f0677841f42c",
20 | "reference": "0992cc19268b259a39e86f296da5f0677841f42c",
21 | "shasum": ""
22 | },
23 | "require": {
24 | "php": "^7.1 || ^8.0"
25 | },
26 | "require-dev": {
27 | "phpstan/phpstan": "^0.12.42",
28 | "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3",
29 | "scrutinizer/ocular": "1.6.0",
30 | "squizlabs/php_codesniffer": "^3.5",
31 | "vimeo/psalm": "^3.14"
32 | },
33 | "type": "library",
34 | "extra": {
35 | "branch-alias": {
36 | "dev-main": "3.x-dev"
37 | }
38 | },
39 | "autoload": {
40 | "psr-4": {
41 | "Dflydev\\DotAccessData\\": "src/"
42 | }
43 | },
44 | "notification-url": "https://packagist.org/downloads/",
45 | "license": [
46 | "MIT"
47 | ],
48 | "authors": [
49 | {
50 | "name": "Dragonfly Development Inc.",
51 | "email": "info@dflydev.com",
52 | "homepage": "http://dflydev.com"
53 | },
54 | {
55 | "name": "Beau Simensen",
56 | "email": "beau@dflydev.com",
57 | "homepage": "http://beausimensen.com"
58 | },
59 | {
60 | "name": "Carlos Frutos",
61 | "email": "carlos@kiwing.it",
62 | "homepage": "https://github.com/cfrutos"
63 | },
64 | {
65 | "name": "Colin O'Dell",
66 | "email": "colinodell@gmail.com",
67 | "homepage": "https://www.colinodell.com"
68 | }
69 | ],
70 | "description": "Given a deep data structure, access data by dot notation.",
71 | "homepage": "https://github.com/dflydev/dflydev-dot-access-data",
72 | "keywords": [
73 | "access",
74 | "data",
75 | "dot",
76 | "notation"
77 | ],
78 | "support": {
79 | "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues",
80 | "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.1"
81 | },
82 | "time": "2021-08-13T13:06:58+00:00"
83 | },
84 | {
85 | "name": "grasmash/expander",
86 | "version": "3.0.0",
87 | "source": {
88 | "type": "git",
89 | "url": "https://github.com/grasmash/expander.git",
90 | "reference": "bb1c1a2430957945cf08c5a62f5d72a6aa6a2c82"
91 | },
92 | "dist": {
93 | "type": "zip",
94 | "url": "https://api.github.com/repos/grasmash/expander/zipball/bb1c1a2430957945cf08c5a62f5d72a6aa6a2c82",
95 | "reference": "bb1c1a2430957945cf08c5a62f5d72a6aa6a2c82",
96 | "shasum": ""
97 | },
98 | "require": {
99 | "dflydev/dot-access-data": "^3.0.0",
100 | "php": ">=8.0",
101 | "psr/log": "^2 | ^3"
102 | },
103 | "require-dev": {
104 | "greg-1-anderson/composer-test-scenarios": "^1",
105 | "php-coveralls/php-coveralls": "^2.5",
106 | "phpunit/phpunit": "^9",
107 | "squizlabs/php_codesniffer": "^3.3"
108 | },
109 | "type": "library",
110 | "extra": {
111 | "branch-alias": {
112 | "dev-master": "1.x-dev"
113 | }
114 | },
115 | "autoload": {
116 | "psr-4": {
117 | "Grasmash\\Expander\\": "src/"
118 | }
119 | },
120 | "notification-url": "https://packagist.org/downloads/",
121 | "license": [
122 | "MIT"
123 | ],
124 | "authors": [
125 | {
126 | "name": "Matthew Grasmick"
127 | }
128 | ],
129 | "description": "Expands internal property references in PHP arrays file.",
130 | "support": {
131 | "issues": "https://github.com/grasmash/expander/issues",
132 | "source": "https://github.com/grasmash/expander/tree/3.0.0"
133 | },
134 | "time": "2022-05-10T13:14:49+00:00"
135 | },
136 | {
137 | "name": "psr/log",
138 | "version": "2.0.0",
139 | "source": {
140 | "type": "git",
141 | "url": "https://github.com/php-fig/log.git",
142 | "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376"
143 | },
144 | "dist": {
145 | "type": "zip",
146 | "url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376",
147 | "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376",
148 | "shasum": ""
149 | },
150 | "require": {
151 | "php": ">=8.0.0"
152 | },
153 | "type": "library",
154 | "extra": {
155 | "branch-alias": {
156 | "dev-master": "2.0.x-dev"
157 | }
158 | },
159 | "autoload": {
160 | "psr-4": {
161 | "Psr\\Log\\": "src"
162 | }
163 | },
164 | "notification-url": "https://packagist.org/downloads/",
165 | "license": [
166 | "MIT"
167 | ],
168 | "authors": [
169 | {
170 | "name": "PHP-FIG",
171 | "homepage": "https://www.php-fig.org/"
172 | }
173 | ],
174 | "description": "Common interface for logging libraries",
175 | "homepage": "https://github.com/php-fig/log",
176 | "keywords": [
177 | "log",
178 | "psr",
179 | "psr-3"
180 | ],
181 | "support": {
182 | "source": "https://github.com/php-fig/log/tree/2.0.0"
183 | },
184 | "time": "2021-07-14T16:41:46+00:00"
185 | },
186 | {
187 | "name": "symfony/polyfill-ctype",
188 | "version": "v1.25.0",
189 | "source": {
190 | "type": "git",
191 | "url": "https://github.com/symfony/polyfill-ctype.git",
192 | "reference": "30885182c981ab175d4d034db0f6f469898070ab"
193 | },
194 | "dist": {
195 | "type": "zip",
196 | "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab",
197 | "reference": "30885182c981ab175d4d034db0f6f469898070ab",
198 | "shasum": ""
199 | },
200 | "require": {
201 | "php": ">=7.1"
202 | },
203 | "provide": {
204 | "ext-ctype": "*"
205 | },
206 | "suggest": {
207 | "ext-ctype": "For best performance"
208 | },
209 | "type": "library",
210 | "extra": {
211 | "branch-alias": {
212 | "dev-main": "1.23-dev"
213 | },
214 | "thanks": {
215 | "name": "symfony/polyfill",
216 | "url": "https://github.com/symfony/polyfill"
217 | }
218 | },
219 | "autoload": {
220 | "files": [
221 | "bootstrap.php"
222 | ],
223 | "psr-4": {
224 | "Symfony\\Polyfill\\Ctype\\": ""
225 | }
226 | },
227 | "notification-url": "https://packagist.org/downloads/",
228 | "license": [
229 | "MIT"
230 | ],
231 | "authors": [
232 | {
233 | "name": "Gert de Pagter",
234 | "email": "BackEndTea@gmail.com"
235 | },
236 | {
237 | "name": "Symfony Community",
238 | "homepage": "https://symfony.com/contributors"
239 | }
240 | ],
241 | "description": "Symfony polyfill for ctype functions",
242 | "homepage": "https://symfony.com",
243 | "keywords": [
244 | "compatibility",
245 | "ctype",
246 | "polyfill",
247 | "portable"
248 | ],
249 | "support": {
250 | "source": "https://github.com/symfony/polyfill-ctype/tree/v1.25.0"
251 | },
252 | "funding": [
253 | {
254 | "url": "https://symfony.com/sponsor",
255 | "type": "custom"
256 | },
257 | {
258 | "url": "https://github.com/fabpot",
259 | "type": "github"
260 | },
261 | {
262 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
263 | "type": "tidelift"
264 | }
265 | ],
266 | "time": "2021-10-20T20:35:02+00:00"
267 | },
268 | {
269 | "name": "symfony/yaml",
270 | "version": "v6.0.3",
271 | "source": {
272 | "type": "git",
273 | "url": "https://github.com/symfony/yaml.git",
274 | "reference": "e77f3ea0b21141d771d4a5655faa54f692b34af5"
275 | },
276 | "dist": {
277 | "type": "zip",
278 | "url": "https://api.github.com/repos/symfony/yaml/zipball/e77f3ea0b21141d771d4a5655faa54f692b34af5",
279 | "reference": "e77f3ea0b21141d771d4a5655faa54f692b34af5",
280 | "shasum": ""
281 | },
282 | "require": {
283 | "php": ">=8.0.2",
284 | "symfony/polyfill-ctype": "^1.8"
285 | },
286 | "conflict": {
287 | "symfony/console": "<5.4"
288 | },
289 | "require-dev": {
290 | "symfony/console": "^5.4|^6.0"
291 | },
292 | "suggest": {
293 | "symfony/console": "For validating YAML files using the lint command"
294 | },
295 | "bin": [
296 | "Resources/bin/yaml-lint"
297 | ],
298 | "type": "library",
299 | "autoload": {
300 | "psr-4": {
301 | "Symfony\\Component\\Yaml\\": ""
302 | },
303 | "exclude-from-classmap": [
304 | "/Tests/"
305 | ]
306 | },
307 | "notification-url": "https://packagist.org/downloads/",
308 | "license": [
309 | "MIT"
310 | ],
311 | "authors": [
312 | {
313 | "name": "Fabien Potencier",
314 | "email": "fabien@symfony.com"
315 | },
316 | {
317 | "name": "Symfony Community",
318 | "homepage": "https://symfony.com/contributors"
319 | }
320 | ],
321 | "description": "Loads and dumps YAML files",
322 | "homepage": "https://symfony.com",
323 | "support": {
324 | "source": "https://github.com/symfony/yaml/tree/v6.0.3"
325 | },
326 | "funding": [
327 | {
328 | "url": "https://symfony.com/sponsor",
329 | "type": "custom"
330 | },
331 | {
332 | "url": "https://github.com/fabpot",
333 | "type": "github"
334 | },
335 | {
336 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
337 | "type": "tidelift"
338 | }
339 | ],
340 | "time": "2022-01-26T17:23:29+00:00"
341 | }
342 | ],
343 | "packages-dev": [
344 | {
345 | "name": "doctrine/instantiator",
346 | "version": "1.4.1",
347 | "source": {
348 | "type": "git",
349 | "url": "https://github.com/doctrine/instantiator.git",
350 | "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc"
351 | },
352 | "dist": {
353 | "type": "zip",
354 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/10dcfce151b967d20fde1b34ae6640712c3891bc",
355 | "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc",
356 | "shasum": ""
357 | },
358 | "require": {
359 | "php": "^7.1 || ^8.0"
360 | },
361 | "require-dev": {
362 | "doctrine/coding-standard": "^9",
363 | "ext-pdo": "*",
364 | "ext-phar": "*",
365 | "phpbench/phpbench": "^0.16 || ^1",
366 | "phpstan/phpstan": "^1.4",
367 | "phpstan/phpstan-phpunit": "^1",
368 | "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
369 | "vimeo/psalm": "^4.22"
370 | },
371 | "type": "library",
372 | "autoload": {
373 | "psr-4": {
374 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
375 | }
376 | },
377 | "notification-url": "https://packagist.org/downloads/",
378 | "license": [
379 | "MIT"
380 | ],
381 | "authors": [
382 | {
383 | "name": "Marco Pivetta",
384 | "email": "ocramius@gmail.com",
385 | "homepage": "https://ocramius.github.io/"
386 | }
387 | ],
388 | "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
389 | "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
390 | "keywords": [
391 | "constructor",
392 | "instantiate"
393 | ],
394 | "support": {
395 | "issues": "https://github.com/doctrine/instantiator/issues",
396 | "source": "https://github.com/doctrine/instantiator/tree/1.4.1"
397 | },
398 | "funding": [
399 | {
400 | "url": "https://www.doctrine-project.org/sponsorship.html",
401 | "type": "custom"
402 | },
403 | {
404 | "url": "https://www.patreon.com/phpdoctrine",
405 | "type": "patreon"
406 | },
407 | {
408 | "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
409 | "type": "tidelift"
410 | }
411 | ],
412 | "time": "2022-03-03T08:28:38+00:00"
413 | },
414 | {
415 | "name": "guzzlehttp/guzzle",
416 | "version": "7.4.2",
417 | "source": {
418 | "type": "git",
419 | "url": "https://github.com/guzzle/guzzle.git",
420 | "reference": "ac1ec1cd9b5624694c3a40be801d94137afb12b4"
421 | },
422 | "dist": {
423 | "type": "zip",
424 | "url": "https://api.github.com/repos/guzzle/guzzle/zipball/ac1ec1cd9b5624694c3a40be801d94137afb12b4",
425 | "reference": "ac1ec1cd9b5624694c3a40be801d94137afb12b4",
426 | "shasum": ""
427 | },
428 | "require": {
429 | "ext-json": "*",
430 | "guzzlehttp/promises": "^1.5",
431 | "guzzlehttp/psr7": "^1.8.3 || ^2.1",
432 | "php": "^7.2.5 || ^8.0",
433 | "psr/http-client": "^1.0",
434 | "symfony/deprecation-contracts": "^2.2 || ^3.0"
435 | },
436 | "provide": {
437 | "psr/http-client-implementation": "1.0"
438 | },
439 | "require-dev": {
440 | "bamarni/composer-bin-plugin": "^1.4.1",
441 | "ext-curl": "*",
442 | "php-http/client-integration-tests": "^3.0",
443 | "phpunit/phpunit": "^8.5.5 || ^9.3.5",
444 | "psr/log": "^1.1 || ^2.0 || ^3.0"
445 | },
446 | "suggest": {
447 | "ext-curl": "Required for CURL handler support",
448 | "ext-intl": "Required for Internationalized Domain Name (IDN) support",
449 | "psr/log": "Required for using the Log middleware"
450 | },
451 | "type": "library",
452 | "extra": {
453 | "branch-alias": {
454 | "dev-master": "7.4-dev"
455 | }
456 | },
457 | "autoload": {
458 | "files": [
459 | "src/functions_include.php"
460 | ],
461 | "psr-4": {
462 | "GuzzleHttp\\": "src/"
463 | }
464 | },
465 | "notification-url": "https://packagist.org/downloads/",
466 | "license": [
467 | "MIT"
468 | ],
469 | "authors": [
470 | {
471 | "name": "Graham Campbell",
472 | "email": "hello@gjcampbell.co.uk",
473 | "homepage": "https://github.com/GrahamCampbell"
474 | },
475 | {
476 | "name": "Michael Dowling",
477 | "email": "mtdowling@gmail.com",
478 | "homepage": "https://github.com/mtdowling"
479 | },
480 | {
481 | "name": "Jeremy Lindblom",
482 | "email": "jeremeamia@gmail.com",
483 | "homepage": "https://github.com/jeremeamia"
484 | },
485 | {
486 | "name": "George Mponos",
487 | "email": "gmponos@gmail.com",
488 | "homepage": "https://github.com/gmponos"
489 | },
490 | {
491 | "name": "Tobias Nyholm",
492 | "email": "tobias.nyholm@gmail.com",
493 | "homepage": "https://github.com/Nyholm"
494 | },
495 | {
496 | "name": "Márk Sági-Kazár",
497 | "email": "mark.sagikazar@gmail.com",
498 | "homepage": "https://github.com/sagikazarmark"
499 | },
500 | {
501 | "name": "Tobias Schultze",
502 | "email": "webmaster@tubo-world.de",
503 | "homepage": "https://github.com/Tobion"
504 | }
505 | ],
506 | "description": "Guzzle is a PHP HTTP client library",
507 | "keywords": [
508 | "client",
509 | "curl",
510 | "framework",
511 | "http",
512 | "http client",
513 | "psr-18",
514 | "psr-7",
515 | "rest",
516 | "web service"
517 | ],
518 | "support": {
519 | "issues": "https://github.com/guzzle/guzzle/issues",
520 | "source": "https://github.com/guzzle/guzzle/tree/7.4.2"
521 | },
522 | "funding": [
523 | {
524 | "url": "https://github.com/GrahamCampbell",
525 | "type": "github"
526 | },
527 | {
528 | "url": "https://github.com/Nyholm",
529 | "type": "github"
530 | },
531 | {
532 | "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle",
533 | "type": "tidelift"
534 | }
535 | ],
536 | "time": "2022-03-20T14:16:28+00:00"
537 | },
538 | {
539 | "name": "guzzlehttp/promises",
540 | "version": "1.5.1",
541 | "source": {
542 | "type": "git",
543 | "url": "https://github.com/guzzle/promises.git",
544 | "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da"
545 | },
546 | "dist": {
547 | "type": "zip",
548 | "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
549 | "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
550 | "shasum": ""
551 | },
552 | "require": {
553 | "php": ">=5.5"
554 | },
555 | "require-dev": {
556 | "symfony/phpunit-bridge": "^4.4 || ^5.1"
557 | },
558 | "type": "library",
559 | "extra": {
560 | "branch-alias": {
561 | "dev-master": "1.5-dev"
562 | }
563 | },
564 | "autoload": {
565 | "files": [
566 | "src/functions_include.php"
567 | ],
568 | "psr-4": {
569 | "GuzzleHttp\\Promise\\": "src/"
570 | }
571 | },
572 | "notification-url": "https://packagist.org/downloads/",
573 | "license": [
574 | "MIT"
575 | ],
576 | "authors": [
577 | {
578 | "name": "Graham Campbell",
579 | "email": "hello@gjcampbell.co.uk",
580 | "homepage": "https://github.com/GrahamCampbell"
581 | },
582 | {
583 | "name": "Michael Dowling",
584 | "email": "mtdowling@gmail.com",
585 | "homepage": "https://github.com/mtdowling"
586 | },
587 | {
588 | "name": "Tobias Nyholm",
589 | "email": "tobias.nyholm@gmail.com",
590 | "homepage": "https://github.com/Nyholm"
591 | },
592 | {
593 | "name": "Tobias Schultze",
594 | "email": "webmaster@tubo-world.de",
595 | "homepage": "https://github.com/Tobion"
596 | }
597 | ],
598 | "description": "Guzzle promises library",
599 | "keywords": [
600 | "promise"
601 | ],
602 | "support": {
603 | "issues": "https://github.com/guzzle/promises/issues",
604 | "source": "https://github.com/guzzle/promises/tree/1.5.1"
605 | },
606 | "funding": [
607 | {
608 | "url": "https://github.com/GrahamCampbell",
609 | "type": "github"
610 | },
611 | {
612 | "url": "https://github.com/Nyholm",
613 | "type": "github"
614 | },
615 | {
616 | "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
617 | "type": "tidelift"
618 | }
619 | ],
620 | "time": "2021-10-22T20:56:57+00:00"
621 | },
622 | {
623 | "name": "guzzlehttp/psr7",
624 | "version": "2.2.1",
625 | "source": {
626 | "type": "git",
627 | "url": "https://github.com/guzzle/psr7.git",
628 | "reference": "c94a94f120803a18554c1805ef2e539f8285f9a2"
629 | },
630 | "dist": {
631 | "type": "zip",
632 | "url": "https://api.github.com/repos/guzzle/psr7/zipball/c94a94f120803a18554c1805ef2e539f8285f9a2",
633 | "reference": "c94a94f120803a18554c1805ef2e539f8285f9a2",
634 | "shasum": ""
635 | },
636 | "require": {
637 | "php": "^7.2.5 || ^8.0",
638 | "psr/http-factory": "^1.0",
639 | "psr/http-message": "^1.0",
640 | "ralouphie/getallheaders": "^3.0"
641 | },
642 | "provide": {
643 | "psr/http-factory-implementation": "1.0",
644 | "psr/http-message-implementation": "1.0"
645 | },
646 | "require-dev": {
647 | "bamarni/composer-bin-plugin": "^1.4.1",
648 | "http-interop/http-factory-tests": "^0.9",
649 | "phpunit/phpunit": "^8.5.8 || ^9.3.10"
650 | },
651 | "suggest": {
652 | "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
653 | },
654 | "type": "library",
655 | "extra": {
656 | "branch-alias": {
657 | "dev-master": "2.2-dev"
658 | }
659 | },
660 | "autoload": {
661 | "psr-4": {
662 | "GuzzleHttp\\Psr7\\": "src/"
663 | }
664 | },
665 | "notification-url": "https://packagist.org/downloads/",
666 | "license": [
667 | "MIT"
668 | ],
669 | "authors": [
670 | {
671 | "name": "Graham Campbell",
672 | "email": "hello@gjcampbell.co.uk",
673 | "homepage": "https://github.com/GrahamCampbell"
674 | },
675 | {
676 | "name": "Michael Dowling",
677 | "email": "mtdowling@gmail.com",
678 | "homepage": "https://github.com/mtdowling"
679 | },
680 | {
681 | "name": "George Mponos",
682 | "email": "gmponos@gmail.com",
683 | "homepage": "https://github.com/gmponos"
684 | },
685 | {
686 | "name": "Tobias Nyholm",
687 | "email": "tobias.nyholm@gmail.com",
688 | "homepage": "https://github.com/Nyholm"
689 | },
690 | {
691 | "name": "Márk Sági-Kazár",
692 | "email": "mark.sagikazar@gmail.com",
693 | "homepage": "https://github.com/sagikazarmark"
694 | },
695 | {
696 | "name": "Tobias Schultze",
697 | "email": "webmaster@tubo-world.de",
698 | "homepage": "https://github.com/Tobion"
699 | },
700 | {
701 | "name": "Márk Sági-Kazár",
702 | "email": "mark.sagikazar@gmail.com",
703 | "homepage": "https://sagikazarmark.hu"
704 | }
705 | ],
706 | "description": "PSR-7 message implementation that also provides common utility methods",
707 | "keywords": [
708 | "http",
709 | "message",
710 | "psr-7",
711 | "request",
712 | "response",
713 | "stream",
714 | "uri",
715 | "url"
716 | ],
717 | "support": {
718 | "issues": "https://github.com/guzzle/psr7/issues",
719 | "source": "https://github.com/guzzle/psr7/tree/2.2.1"
720 | },
721 | "funding": [
722 | {
723 | "url": "https://github.com/GrahamCampbell",
724 | "type": "github"
725 | },
726 | {
727 | "url": "https://github.com/Nyholm",
728 | "type": "github"
729 | },
730 | {
731 | "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7",
732 | "type": "tidelift"
733 | }
734 | ],
735 | "time": "2022-03-20T21:55:58+00:00"
736 | },
737 | {
738 | "name": "myclabs/deep-copy",
739 | "version": "1.11.0",
740 | "source": {
741 | "type": "git",
742 | "url": "https://github.com/myclabs/DeepCopy.git",
743 | "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614"
744 | },
745 | "dist": {
746 | "type": "zip",
747 | "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614",
748 | "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614",
749 | "shasum": ""
750 | },
751 | "require": {
752 | "php": "^7.1 || ^8.0"
753 | },
754 | "conflict": {
755 | "doctrine/collections": "<1.6.8",
756 | "doctrine/common": "<2.13.3 || >=3,<3.2.2"
757 | },
758 | "require-dev": {
759 | "doctrine/collections": "^1.6.8",
760 | "doctrine/common": "^2.13.3 || ^3.2.2",
761 | "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
762 | },
763 | "type": "library",
764 | "autoload": {
765 | "files": [
766 | "src/DeepCopy/deep_copy.php"
767 | ],
768 | "psr-4": {
769 | "DeepCopy\\": "src/DeepCopy/"
770 | }
771 | },
772 | "notification-url": "https://packagist.org/downloads/",
773 | "license": [
774 | "MIT"
775 | ],
776 | "description": "Create deep copies (clones) of your objects",
777 | "keywords": [
778 | "clone",
779 | "copy",
780 | "duplicate",
781 | "object",
782 | "object graph"
783 | ],
784 | "support": {
785 | "issues": "https://github.com/myclabs/DeepCopy/issues",
786 | "source": "https://github.com/myclabs/DeepCopy/tree/1.11.0"
787 | },
788 | "funding": [
789 | {
790 | "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
791 | "type": "tidelift"
792 | }
793 | ],
794 | "time": "2022-03-03T13:19:32+00:00"
795 | },
796 | {
797 | "name": "nikic/php-parser",
798 | "version": "v4.13.2",
799 | "source": {
800 | "type": "git",
801 | "url": "https://github.com/nikic/PHP-Parser.git",
802 | "reference": "210577fe3cf7badcc5814d99455df46564f3c077"
803 | },
804 | "dist": {
805 | "type": "zip",
806 | "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/210577fe3cf7badcc5814d99455df46564f3c077",
807 | "reference": "210577fe3cf7badcc5814d99455df46564f3c077",
808 | "shasum": ""
809 | },
810 | "require": {
811 | "ext-tokenizer": "*",
812 | "php": ">=7.0"
813 | },
814 | "require-dev": {
815 | "ircmaxell/php-yacc": "^0.0.7",
816 | "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
817 | },
818 | "bin": [
819 | "bin/php-parse"
820 | ],
821 | "type": "library",
822 | "extra": {
823 | "branch-alias": {
824 | "dev-master": "4.9-dev"
825 | }
826 | },
827 | "autoload": {
828 | "psr-4": {
829 | "PhpParser\\": "lib/PhpParser"
830 | }
831 | },
832 | "notification-url": "https://packagist.org/downloads/",
833 | "license": [
834 | "BSD-3-Clause"
835 | ],
836 | "authors": [
837 | {
838 | "name": "Nikita Popov"
839 | }
840 | ],
841 | "description": "A PHP parser written in PHP",
842 | "keywords": [
843 | "parser",
844 | "php"
845 | ],
846 | "support": {
847 | "issues": "https://github.com/nikic/PHP-Parser/issues",
848 | "source": "https://github.com/nikic/PHP-Parser/tree/v4.13.2"
849 | },
850 | "time": "2021-11-30T19:35:32+00:00"
851 | },
852 | {
853 | "name": "phar-io/manifest",
854 | "version": "2.0.3",
855 | "source": {
856 | "type": "git",
857 | "url": "https://github.com/phar-io/manifest.git",
858 | "reference": "97803eca37d319dfa7826cc2437fc020857acb53"
859 | },
860 | "dist": {
861 | "type": "zip",
862 | "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
863 | "reference": "97803eca37d319dfa7826cc2437fc020857acb53",
864 | "shasum": ""
865 | },
866 | "require": {
867 | "ext-dom": "*",
868 | "ext-phar": "*",
869 | "ext-xmlwriter": "*",
870 | "phar-io/version": "^3.0.1",
871 | "php": "^7.2 || ^8.0"
872 | },
873 | "type": "library",
874 | "extra": {
875 | "branch-alias": {
876 | "dev-master": "2.0.x-dev"
877 | }
878 | },
879 | "autoload": {
880 | "classmap": [
881 | "src/"
882 | ]
883 | },
884 | "notification-url": "https://packagist.org/downloads/",
885 | "license": [
886 | "BSD-3-Clause"
887 | ],
888 | "authors": [
889 | {
890 | "name": "Arne Blankerts",
891 | "email": "arne@blankerts.de",
892 | "role": "Developer"
893 | },
894 | {
895 | "name": "Sebastian Heuer",
896 | "email": "sebastian@phpeople.de",
897 | "role": "Developer"
898 | },
899 | {
900 | "name": "Sebastian Bergmann",
901 | "email": "sebastian@phpunit.de",
902 | "role": "Developer"
903 | }
904 | ],
905 | "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
906 | "support": {
907 | "issues": "https://github.com/phar-io/manifest/issues",
908 | "source": "https://github.com/phar-io/manifest/tree/2.0.3"
909 | },
910 | "time": "2021-07-20T11:28:43+00:00"
911 | },
912 | {
913 | "name": "phar-io/version",
914 | "version": "3.2.1",
915 | "source": {
916 | "type": "git",
917 | "url": "https://github.com/phar-io/version.git",
918 | "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74"
919 | },
920 | "dist": {
921 | "type": "zip",
922 | "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
923 | "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
924 | "shasum": ""
925 | },
926 | "require": {
927 | "php": "^7.2 || ^8.0"
928 | },
929 | "type": "library",
930 | "autoload": {
931 | "classmap": [
932 | "src/"
933 | ]
934 | },
935 | "notification-url": "https://packagist.org/downloads/",
936 | "license": [
937 | "BSD-3-Clause"
938 | ],
939 | "authors": [
940 | {
941 | "name": "Arne Blankerts",
942 | "email": "arne@blankerts.de",
943 | "role": "Developer"
944 | },
945 | {
946 | "name": "Sebastian Heuer",
947 | "email": "sebastian@phpeople.de",
948 | "role": "Developer"
949 | },
950 | {
951 | "name": "Sebastian Bergmann",
952 | "email": "sebastian@phpunit.de",
953 | "role": "Developer"
954 | }
955 | ],
956 | "description": "Library for handling version information and constraints",
957 | "support": {
958 | "issues": "https://github.com/phar-io/version/issues",
959 | "source": "https://github.com/phar-io/version/tree/3.2.1"
960 | },
961 | "time": "2022-02-21T01:04:05+00:00"
962 | },
963 | {
964 | "name": "php-coveralls/php-coveralls",
965 | "version": "v2.5.2",
966 | "source": {
967 | "type": "git",
968 | "url": "https://github.com/php-coveralls/php-coveralls.git",
969 | "reference": "007e13afdcdba2cd0efcc5f72c3b7efb356a8bd4"
970 | },
971 | "dist": {
972 | "type": "zip",
973 | "url": "https://api.github.com/repos/php-coveralls/php-coveralls/zipball/007e13afdcdba2cd0efcc5f72c3b7efb356a8bd4",
974 | "reference": "007e13afdcdba2cd0efcc5f72c3b7efb356a8bd4",
975 | "shasum": ""
976 | },
977 | "require": {
978 | "ext-json": "*",
979 | "ext-simplexml": "*",
980 | "guzzlehttp/guzzle": "^6.0 || ^7.0",
981 | "php": "^5.5 || ^7.0 || ^8.0",
982 | "psr/log": "^1.0 || ^2.0",
983 | "symfony/config": "^2.1 || ^3.0 || ^4.0 || ^5.0 || ^6.0",
984 | "symfony/console": "^2.1 || ^3.0 || ^4.0 || ^5.0 || ^6.0",
985 | "symfony/stopwatch": "^2.0 || ^3.0 || ^4.0 || ^5.0 || ^6.0",
986 | "symfony/yaml": "^2.0.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0"
987 | },
988 | "require-dev": {
989 | "phpunit/phpunit": "^4.8.35 || ^5.4.3 || ^6.0 || ^7.0 || ^8.0 || ^9.0",
990 | "sanmai/phpunit-legacy-adapter": "^6.1 || ^8.0"
991 | },
992 | "suggest": {
993 | "symfony/http-kernel": "Allows Symfony integration"
994 | },
995 | "bin": [
996 | "bin/php-coveralls"
997 | ],
998 | "type": "library",
999 | "autoload": {
1000 | "psr-4": {
1001 | "PhpCoveralls\\": "src/"
1002 | }
1003 | },
1004 | "notification-url": "https://packagist.org/downloads/",
1005 | "license": [
1006 | "MIT"
1007 | ],
1008 | "authors": [
1009 | {
1010 | "name": "Kitamura Satoshi",
1011 | "email": "with.no.parachute@gmail.com",
1012 | "homepage": "https://www.facebook.com/satooshi.jp",
1013 | "role": "Original creator"
1014 | },
1015 | {
1016 | "name": "Takashi Matsuo",
1017 | "email": "tmatsuo@google.com"
1018 | },
1019 | {
1020 | "name": "Google Inc"
1021 | },
1022 | {
1023 | "name": "Dariusz Ruminski",
1024 | "email": "dariusz.ruminski@gmail.com",
1025 | "homepage": "https://github.com/keradus"
1026 | },
1027 | {
1028 | "name": "Contributors",
1029 | "homepage": "https://github.com/php-coveralls/php-coveralls/graphs/contributors"
1030 | }
1031 | ],
1032 | "description": "PHP client library for Coveralls API",
1033 | "homepage": "https://github.com/php-coveralls/php-coveralls",
1034 | "keywords": [
1035 | "ci",
1036 | "coverage",
1037 | "github",
1038 | "test"
1039 | ],
1040 | "support": {
1041 | "issues": "https://github.com/php-coveralls/php-coveralls/issues",
1042 | "source": "https://github.com/php-coveralls/php-coveralls/tree/v2.5.2"
1043 | },
1044 | "time": "2021-12-06T17:05:08+00:00"
1045 | },
1046 | {
1047 | "name": "phpdocumentor/reflection-common",
1048 | "version": "2.2.0",
1049 | "source": {
1050 | "type": "git",
1051 | "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
1052 | "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
1053 | },
1054 | "dist": {
1055 | "type": "zip",
1056 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
1057 | "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
1058 | "shasum": ""
1059 | },
1060 | "require": {
1061 | "php": "^7.2 || ^8.0"
1062 | },
1063 | "type": "library",
1064 | "extra": {
1065 | "branch-alias": {
1066 | "dev-2.x": "2.x-dev"
1067 | }
1068 | },
1069 | "autoload": {
1070 | "psr-4": {
1071 | "phpDocumentor\\Reflection\\": "src/"
1072 | }
1073 | },
1074 | "notification-url": "https://packagist.org/downloads/",
1075 | "license": [
1076 | "MIT"
1077 | ],
1078 | "authors": [
1079 | {
1080 | "name": "Jaap van Otterdijk",
1081 | "email": "opensource@ijaap.nl"
1082 | }
1083 | ],
1084 | "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
1085 | "homepage": "http://www.phpdoc.org",
1086 | "keywords": [
1087 | "FQSEN",
1088 | "phpDocumentor",
1089 | "phpdoc",
1090 | "reflection",
1091 | "static analysis"
1092 | ],
1093 | "support": {
1094 | "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
1095 | "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
1096 | },
1097 | "time": "2020-06-27T09:03:43+00:00"
1098 | },
1099 | {
1100 | "name": "phpdocumentor/reflection-docblock",
1101 | "version": "5.3.0",
1102 | "source": {
1103 | "type": "git",
1104 | "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
1105 | "reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
1106 | },
1107 | "dist": {
1108 | "type": "zip",
1109 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
1110 | "reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
1111 | "shasum": ""
1112 | },
1113 | "require": {
1114 | "ext-filter": "*",
1115 | "php": "^7.2 || ^8.0",
1116 | "phpdocumentor/reflection-common": "^2.2",
1117 | "phpdocumentor/type-resolver": "^1.3",
1118 | "webmozart/assert": "^1.9.1"
1119 | },
1120 | "require-dev": {
1121 | "mockery/mockery": "~1.3.2",
1122 | "psalm/phar": "^4.8"
1123 | },
1124 | "type": "library",
1125 | "extra": {
1126 | "branch-alias": {
1127 | "dev-master": "5.x-dev"
1128 | }
1129 | },
1130 | "autoload": {
1131 | "psr-4": {
1132 | "phpDocumentor\\Reflection\\": "src"
1133 | }
1134 | },
1135 | "notification-url": "https://packagist.org/downloads/",
1136 | "license": [
1137 | "MIT"
1138 | ],
1139 | "authors": [
1140 | {
1141 | "name": "Mike van Riel",
1142 | "email": "me@mikevanriel.com"
1143 | },
1144 | {
1145 | "name": "Jaap van Otterdijk",
1146 | "email": "account@ijaap.nl"
1147 | }
1148 | ],
1149 | "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
1150 | "support": {
1151 | "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
1152 | "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0"
1153 | },
1154 | "time": "2021-10-19T17:43:47+00:00"
1155 | },
1156 | {
1157 | "name": "phpdocumentor/type-resolver",
1158 | "version": "1.6.1",
1159 | "source": {
1160 | "type": "git",
1161 | "url": "https://github.com/phpDocumentor/TypeResolver.git",
1162 | "reference": "77a32518733312af16a44300404e945338981de3"
1163 | },
1164 | "dist": {
1165 | "type": "zip",
1166 | "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/77a32518733312af16a44300404e945338981de3",
1167 | "reference": "77a32518733312af16a44300404e945338981de3",
1168 | "shasum": ""
1169 | },
1170 | "require": {
1171 | "php": "^7.2 || ^8.0",
1172 | "phpdocumentor/reflection-common": "^2.0"
1173 | },
1174 | "require-dev": {
1175 | "ext-tokenizer": "*",
1176 | "psalm/phar": "^4.8"
1177 | },
1178 | "type": "library",
1179 | "extra": {
1180 | "branch-alias": {
1181 | "dev-1.x": "1.x-dev"
1182 | }
1183 | },
1184 | "autoload": {
1185 | "psr-4": {
1186 | "phpDocumentor\\Reflection\\": "src"
1187 | }
1188 | },
1189 | "notification-url": "https://packagist.org/downloads/",
1190 | "license": [
1191 | "MIT"
1192 | ],
1193 | "authors": [
1194 | {
1195 | "name": "Mike van Riel",
1196 | "email": "me@mikevanriel.com"
1197 | }
1198 | ],
1199 | "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
1200 | "support": {
1201 | "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
1202 | "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.1"
1203 | },
1204 | "time": "2022-03-15T21:29:03+00:00"
1205 | },
1206 | {
1207 | "name": "phpspec/prophecy",
1208 | "version": "v1.15.0",
1209 | "source": {
1210 | "type": "git",
1211 | "url": "https://github.com/phpspec/prophecy.git",
1212 | "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13"
1213 | },
1214 | "dist": {
1215 | "type": "zip",
1216 | "url": "https://api.github.com/repos/phpspec/prophecy/zipball/bbcd7380b0ebf3961ee21409db7b38bc31d69a13",
1217 | "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13",
1218 | "shasum": ""
1219 | },
1220 | "require": {
1221 | "doctrine/instantiator": "^1.2",
1222 | "php": "^7.2 || ~8.0, <8.2",
1223 | "phpdocumentor/reflection-docblock": "^5.2",
1224 | "sebastian/comparator": "^3.0 || ^4.0",
1225 | "sebastian/recursion-context": "^3.0 || ^4.0"
1226 | },
1227 | "require-dev": {
1228 | "phpspec/phpspec": "^6.0 || ^7.0",
1229 | "phpunit/phpunit": "^8.0 || ^9.0"
1230 | },
1231 | "type": "library",
1232 | "extra": {
1233 | "branch-alias": {
1234 | "dev-master": "1.x-dev"
1235 | }
1236 | },
1237 | "autoload": {
1238 | "psr-4": {
1239 | "Prophecy\\": "src/Prophecy"
1240 | }
1241 | },
1242 | "notification-url": "https://packagist.org/downloads/",
1243 | "license": [
1244 | "MIT"
1245 | ],
1246 | "authors": [
1247 | {
1248 | "name": "Konstantin Kudryashov",
1249 | "email": "ever.zet@gmail.com",
1250 | "homepage": "http://everzet.com"
1251 | },
1252 | {
1253 | "name": "Marcello Duarte",
1254 | "email": "marcello.duarte@gmail.com"
1255 | }
1256 | ],
1257 | "description": "Highly opinionated mocking framework for PHP 5.3+",
1258 | "homepage": "https://github.com/phpspec/prophecy",
1259 | "keywords": [
1260 | "Double",
1261 | "Dummy",
1262 | "fake",
1263 | "mock",
1264 | "spy",
1265 | "stub"
1266 | ],
1267 | "support": {
1268 | "issues": "https://github.com/phpspec/prophecy/issues",
1269 | "source": "https://github.com/phpspec/prophecy/tree/v1.15.0"
1270 | },
1271 | "time": "2021-12-08T12:19:24+00:00"
1272 | },
1273 | {
1274 | "name": "phpunit/php-code-coverage",
1275 | "version": "9.2.15",
1276 | "source": {
1277 | "type": "git",
1278 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
1279 | "reference": "2e9da11878c4202f97915c1cb4bb1ca318a63f5f"
1280 | },
1281 | "dist": {
1282 | "type": "zip",
1283 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2e9da11878c4202f97915c1cb4bb1ca318a63f5f",
1284 | "reference": "2e9da11878c4202f97915c1cb4bb1ca318a63f5f",
1285 | "shasum": ""
1286 | },
1287 | "require": {
1288 | "ext-dom": "*",
1289 | "ext-libxml": "*",
1290 | "ext-xmlwriter": "*",
1291 | "nikic/php-parser": "^4.13.0",
1292 | "php": ">=7.3",
1293 | "phpunit/php-file-iterator": "^3.0.3",
1294 | "phpunit/php-text-template": "^2.0.2",
1295 | "sebastian/code-unit-reverse-lookup": "^2.0.2",
1296 | "sebastian/complexity": "^2.0",
1297 | "sebastian/environment": "^5.1.2",
1298 | "sebastian/lines-of-code": "^1.0.3",
1299 | "sebastian/version": "^3.0.1",
1300 | "theseer/tokenizer": "^1.2.0"
1301 | },
1302 | "require-dev": {
1303 | "phpunit/phpunit": "^9.3"
1304 | },
1305 | "suggest": {
1306 | "ext-pcov": "*",
1307 | "ext-xdebug": "*"
1308 | },
1309 | "type": "library",
1310 | "extra": {
1311 | "branch-alias": {
1312 | "dev-master": "9.2-dev"
1313 | }
1314 | },
1315 | "autoload": {
1316 | "classmap": [
1317 | "src/"
1318 | ]
1319 | },
1320 | "notification-url": "https://packagist.org/downloads/",
1321 | "license": [
1322 | "BSD-3-Clause"
1323 | ],
1324 | "authors": [
1325 | {
1326 | "name": "Sebastian Bergmann",
1327 | "email": "sebastian@phpunit.de",
1328 | "role": "lead"
1329 | }
1330 | ],
1331 | "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
1332 | "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
1333 | "keywords": [
1334 | "coverage",
1335 | "testing",
1336 | "xunit"
1337 | ],
1338 | "support": {
1339 | "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
1340 | "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.15"
1341 | },
1342 | "funding": [
1343 | {
1344 | "url": "https://github.com/sebastianbergmann",
1345 | "type": "github"
1346 | }
1347 | ],
1348 | "time": "2022-03-07T09:28:20+00:00"
1349 | },
1350 | {
1351 | "name": "phpunit/php-file-iterator",
1352 | "version": "3.0.6",
1353 | "source": {
1354 | "type": "git",
1355 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
1356 | "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf"
1357 | },
1358 | "dist": {
1359 | "type": "zip",
1360 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
1361 | "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
1362 | "shasum": ""
1363 | },
1364 | "require": {
1365 | "php": ">=7.3"
1366 | },
1367 | "require-dev": {
1368 | "phpunit/phpunit": "^9.3"
1369 | },
1370 | "type": "library",
1371 | "extra": {
1372 | "branch-alias": {
1373 | "dev-master": "3.0-dev"
1374 | }
1375 | },
1376 | "autoload": {
1377 | "classmap": [
1378 | "src/"
1379 | ]
1380 | },
1381 | "notification-url": "https://packagist.org/downloads/",
1382 | "license": [
1383 | "BSD-3-Clause"
1384 | ],
1385 | "authors": [
1386 | {
1387 | "name": "Sebastian Bergmann",
1388 | "email": "sebastian@phpunit.de",
1389 | "role": "lead"
1390 | }
1391 | ],
1392 | "description": "FilterIterator implementation that filters files based on a list of suffixes.",
1393 | "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
1394 | "keywords": [
1395 | "filesystem",
1396 | "iterator"
1397 | ],
1398 | "support": {
1399 | "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
1400 | "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6"
1401 | },
1402 | "funding": [
1403 | {
1404 | "url": "https://github.com/sebastianbergmann",
1405 | "type": "github"
1406 | }
1407 | ],
1408 | "time": "2021-12-02T12:48:52+00:00"
1409 | },
1410 | {
1411 | "name": "phpunit/php-invoker",
1412 | "version": "3.1.1",
1413 | "source": {
1414 | "type": "git",
1415 | "url": "https://github.com/sebastianbergmann/php-invoker.git",
1416 | "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
1417 | },
1418 | "dist": {
1419 | "type": "zip",
1420 | "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
1421 | "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
1422 | "shasum": ""
1423 | },
1424 | "require": {
1425 | "php": ">=7.3"
1426 | },
1427 | "require-dev": {
1428 | "ext-pcntl": "*",
1429 | "phpunit/phpunit": "^9.3"
1430 | },
1431 | "suggest": {
1432 | "ext-pcntl": "*"
1433 | },
1434 | "type": "library",
1435 | "extra": {
1436 | "branch-alias": {
1437 | "dev-master": "3.1-dev"
1438 | }
1439 | },
1440 | "autoload": {
1441 | "classmap": [
1442 | "src/"
1443 | ]
1444 | },
1445 | "notification-url": "https://packagist.org/downloads/",
1446 | "license": [
1447 | "BSD-3-Clause"
1448 | ],
1449 | "authors": [
1450 | {
1451 | "name": "Sebastian Bergmann",
1452 | "email": "sebastian@phpunit.de",
1453 | "role": "lead"
1454 | }
1455 | ],
1456 | "description": "Invoke callables with a timeout",
1457 | "homepage": "https://github.com/sebastianbergmann/php-invoker/",
1458 | "keywords": [
1459 | "process"
1460 | ],
1461 | "support": {
1462 | "issues": "https://github.com/sebastianbergmann/php-invoker/issues",
1463 | "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
1464 | },
1465 | "funding": [
1466 | {
1467 | "url": "https://github.com/sebastianbergmann",
1468 | "type": "github"
1469 | }
1470 | ],
1471 | "time": "2020-09-28T05:58:55+00:00"
1472 | },
1473 | {
1474 | "name": "phpunit/php-text-template",
1475 | "version": "2.0.4",
1476 | "source": {
1477 | "type": "git",
1478 | "url": "https://github.com/sebastianbergmann/php-text-template.git",
1479 | "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
1480 | },
1481 | "dist": {
1482 | "type": "zip",
1483 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
1484 | "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
1485 | "shasum": ""
1486 | },
1487 | "require": {
1488 | "php": ">=7.3"
1489 | },
1490 | "require-dev": {
1491 | "phpunit/phpunit": "^9.3"
1492 | },
1493 | "type": "library",
1494 | "extra": {
1495 | "branch-alias": {
1496 | "dev-master": "2.0-dev"
1497 | }
1498 | },
1499 | "autoload": {
1500 | "classmap": [
1501 | "src/"
1502 | ]
1503 | },
1504 | "notification-url": "https://packagist.org/downloads/",
1505 | "license": [
1506 | "BSD-3-Clause"
1507 | ],
1508 | "authors": [
1509 | {
1510 | "name": "Sebastian Bergmann",
1511 | "email": "sebastian@phpunit.de",
1512 | "role": "lead"
1513 | }
1514 | ],
1515 | "description": "Simple template engine.",
1516 | "homepage": "https://github.com/sebastianbergmann/php-text-template/",
1517 | "keywords": [
1518 | "template"
1519 | ],
1520 | "support": {
1521 | "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
1522 | "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
1523 | },
1524 | "funding": [
1525 | {
1526 | "url": "https://github.com/sebastianbergmann",
1527 | "type": "github"
1528 | }
1529 | ],
1530 | "time": "2020-10-26T05:33:50+00:00"
1531 | },
1532 | {
1533 | "name": "phpunit/php-timer",
1534 | "version": "5.0.3",
1535 | "source": {
1536 | "type": "git",
1537 | "url": "https://github.com/sebastianbergmann/php-timer.git",
1538 | "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
1539 | },
1540 | "dist": {
1541 | "type": "zip",
1542 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
1543 | "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
1544 | "shasum": ""
1545 | },
1546 | "require": {
1547 | "php": ">=7.3"
1548 | },
1549 | "require-dev": {
1550 | "phpunit/phpunit": "^9.3"
1551 | },
1552 | "type": "library",
1553 | "extra": {
1554 | "branch-alias": {
1555 | "dev-master": "5.0-dev"
1556 | }
1557 | },
1558 | "autoload": {
1559 | "classmap": [
1560 | "src/"
1561 | ]
1562 | },
1563 | "notification-url": "https://packagist.org/downloads/",
1564 | "license": [
1565 | "BSD-3-Clause"
1566 | ],
1567 | "authors": [
1568 | {
1569 | "name": "Sebastian Bergmann",
1570 | "email": "sebastian@phpunit.de",
1571 | "role": "lead"
1572 | }
1573 | ],
1574 | "description": "Utility class for timing",
1575 | "homepage": "https://github.com/sebastianbergmann/php-timer/",
1576 | "keywords": [
1577 | "timer"
1578 | ],
1579 | "support": {
1580 | "issues": "https://github.com/sebastianbergmann/php-timer/issues",
1581 | "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
1582 | },
1583 | "funding": [
1584 | {
1585 | "url": "https://github.com/sebastianbergmann",
1586 | "type": "github"
1587 | }
1588 | ],
1589 | "time": "2020-10-26T13:16:10+00:00"
1590 | },
1591 | {
1592 | "name": "phpunit/phpunit",
1593 | "version": "9.5.20",
1594 | "source": {
1595 | "type": "git",
1596 | "url": "https://github.com/sebastianbergmann/phpunit.git",
1597 | "reference": "12bc8879fb65aef2138b26fc633cb1e3620cffba"
1598 | },
1599 | "dist": {
1600 | "type": "zip",
1601 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/12bc8879fb65aef2138b26fc633cb1e3620cffba",
1602 | "reference": "12bc8879fb65aef2138b26fc633cb1e3620cffba",
1603 | "shasum": ""
1604 | },
1605 | "require": {
1606 | "doctrine/instantiator": "^1.3.1",
1607 | "ext-dom": "*",
1608 | "ext-json": "*",
1609 | "ext-libxml": "*",
1610 | "ext-mbstring": "*",
1611 | "ext-xml": "*",
1612 | "ext-xmlwriter": "*",
1613 | "myclabs/deep-copy": "^1.10.1",
1614 | "phar-io/manifest": "^2.0.3",
1615 | "phar-io/version": "^3.0.2",
1616 | "php": ">=7.3",
1617 | "phpspec/prophecy": "^1.12.1",
1618 | "phpunit/php-code-coverage": "^9.2.13",
1619 | "phpunit/php-file-iterator": "^3.0.5",
1620 | "phpunit/php-invoker": "^3.1.1",
1621 | "phpunit/php-text-template": "^2.0.3",
1622 | "phpunit/php-timer": "^5.0.2",
1623 | "sebastian/cli-parser": "^1.0.1",
1624 | "sebastian/code-unit": "^1.0.6",
1625 | "sebastian/comparator": "^4.0.5",
1626 | "sebastian/diff": "^4.0.3",
1627 | "sebastian/environment": "^5.1.3",
1628 | "sebastian/exporter": "^4.0.3",
1629 | "sebastian/global-state": "^5.0.1",
1630 | "sebastian/object-enumerator": "^4.0.3",
1631 | "sebastian/resource-operations": "^3.0.3",
1632 | "sebastian/type": "^3.0",
1633 | "sebastian/version": "^3.0.2"
1634 | },
1635 | "require-dev": {
1636 | "ext-pdo": "*",
1637 | "phpspec/prophecy-phpunit": "^2.0.1"
1638 | },
1639 | "suggest": {
1640 | "ext-soap": "*",
1641 | "ext-xdebug": "*"
1642 | },
1643 | "bin": [
1644 | "phpunit"
1645 | ],
1646 | "type": "library",
1647 | "extra": {
1648 | "branch-alias": {
1649 | "dev-master": "9.5-dev"
1650 | }
1651 | },
1652 | "autoload": {
1653 | "files": [
1654 | "src/Framework/Assert/Functions.php"
1655 | ],
1656 | "classmap": [
1657 | "src/"
1658 | ]
1659 | },
1660 | "notification-url": "https://packagist.org/downloads/",
1661 | "license": [
1662 | "BSD-3-Clause"
1663 | ],
1664 | "authors": [
1665 | {
1666 | "name": "Sebastian Bergmann",
1667 | "email": "sebastian@phpunit.de",
1668 | "role": "lead"
1669 | }
1670 | ],
1671 | "description": "The PHP Unit Testing framework.",
1672 | "homepage": "https://phpunit.de/",
1673 | "keywords": [
1674 | "phpunit",
1675 | "testing",
1676 | "xunit"
1677 | ],
1678 | "support": {
1679 | "issues": "https://github.com/sebastianbergmann/phpunit/issues",
1680 | "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.20"
1681 | },
1682 | "funding": [
1683 | {
1684 | "url": "https://phpunit.de/sponsors.html",
1685 | "type": "custom"
1686 | },
1687 | {
1688 | "url": "https://github.com/sebastianbergmann",
1689 | "type": "github"
1690 | }
1691 | ],
1692 | "time": "2022-04-01T12:37:26+00:00"
1693 | },
1694 | {
1695 | "name": "psr/container",
1696 | "version": "2.0.2",
1697 | "source": {
1698 | "type": "git",
1699 | "url": "https://github.com/php-fig/container.git",
1700 | "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
1701 | },
1702 | "dist": {
1703 | "type": "zip",
1704 | "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
1705 | "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
1706 | "shasum": ""
1707 | },
1708 | "require": {
1709 | "php": ">=7.4.0"
1710 | },
1711 | "type": "library",
1712 | "extra": {
1713 | "branch-alias": {
1714 | "dev-master": "2.0.x-dev"
1715 | }
1716 | },
1717 | "autoload": {
1718 | "psr-4": {
1719 | "Psr\\Container\\": "src/"
1720 | }
1721 | },
1722 | "notification-url": "https://packagist.org/downloads/",
1723 | "license": [
1724 | "MIT"
1725 | ],
1726 | "authors": [
1727 | {
1728 | "name": "PHP-FIG",
1729 | "homepage": "https://www.php-fig.org/"
1730 | }
1731 | ],
1732 | "description": "Common Container Interface (PHP FIG PSR-11)",
1733 | "homepage": "https://github.com/php-fig/container",
1734 | "keywords": [
1735 | "PSR-11",
1736 | "container",
1737 | "container-interface",
1738 | "container-interop",
1739 | "psr"
1740 | ],
1741 | "support": {
1742 | "issues": "https://github.com/php-fig/container/issues",
1743 | "source": "https://github.com/php-fig/container/tree/2.0.2"
1744 | },
1745 | "time": "2021-11-05T16:47:00+00:00"
1746 | },
1747 | {
1748 | "name": "psr/http-client",
1749 | "version": "1.0.1",
1750 | "source": {
1751 | "type": "git",
1752 | "url": "https://github.com/php-fig/http-client.git",
1753 | "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621"
1754 | },
1755 | "dist": {
1756 | "type": "zip",
1757 | "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
1758 | "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
1759 | "shasum": ""
1760 | },
1761 | "require": {
1762 | "php": "^7.0 || ^8.0",
1763 | "psr/http-message": "^1.0"
1764 | },
1765 | "type": "library",
1766 | "extra": {
1767 | "branch-alias": {
1768 | "dev-master": "1.0.x-dev"
1769 | }
1770 | },
1771 | "autoload": {
1772 | "psr-4": {
1773 | "Psr\\Http\\Client\\": "src/"
1774 | }
1775 | },
1776 | "notification-url": "https://packagist.org/downloads/",
1777 | "license": [
1778 | "MIT"
1779 | ],
1780 | "authors": [
1781 | {
1782 | "name": "PHP-FIG",
1783 | "homepage": "http://www.php-fig.org/"
1784 | }
1785 | ],
1786 | "description": "Common interface for HTTP clients",
1787 | "homepage": "https://github.com/php-fig/http-client",
1788 | "keywords": [
1789 | "http",
1790 | "http-client",
1791 | "psr",
1792 | "psr-18"
1793 | ],
1794 | "support": {
1795 | "source": "https://github.com/php-fig/http-client/tree/master"
1796 | },
1797 | "time": "2020-06-29T06:28:15+00:00"
1798 | },
1799 | {
1800 | "name": "psr/http-factory",
1801 | "version": "1.0.1",
1802 | "source": {
1803 | "type": "git",
1804 | "url": "https://github.com/php-fig/http-factory.git",
1805 | "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be"
1806 | },
1807 | "dist": {
1808 | "type": "zip",
1809 | "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
1810 | "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
1811 | "shasum": ""
1812 | },
1813 | "require": {
1814 | "php": ">=7.0.0",
1815 | "psr/http-message": "^1.0"
1816 | },
1817 | "type": "library",
1818 | "extra": {
1819 | "branch-alias": {
1820 | "dev-master": "1.0.x-dev"
1821 | }
1822 | },
1823 | "autoload": {
1824 | "psr-4": {
1825 | "Psr\\Http\\Message\\": "src/"
1826 | }
1827 | },
1828 | "notification-url": "https://packagist.org/downloads/",
1829 | "license": [
1830 | "MIT"
1831 | ],
1832 | "authors": [
1833 | {
1834 | "name": "PHP-FIG",
1835 | "homepage": "http://www.php-fig.org/"
1836 | }
1837 | ],
1838 | "description": "Common interfaces for PSR-7 HTTP message factories",
1839 | "keywords": [
1840 | "factory",
1841 | "http",
1842 | "message",
1843 | "psr",
1844 | "psr-17",
1845 | "psr-7",
1846 | "request",
1847 | "response"
1848 | ],
1849 | "support": {
1850 | "source": "https://github.com/php-fig/http-factory/tree/master"
1851 | },
1852 | "time": "2019-04-30T12:38:16+00:00"
1853 | },
1854 | {
1855 | "name": "psr/http-message",
1856 | "version": "1.0.1",
1857 | "source": {
1858 | "type": "git",
1859 | "url": "https://github.com/php-fig/http-message.git",
1860 | "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
1861 | },
1862 | "dist": {
1863 | "type": "zip",
1864 | "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
1865 | "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
1866 | "shasum": ""
1867 | },
1868 | "require": {
1869 | "php": ">=5.3.0"
1870 | },
1871 | "type": "library",
1872 | "extra": {
1873 | "branch-alias": {
1874 | "dev-master": "1.0.x-dev"
1875 | }
1876 | },
1877 | "autoload": {
1878 | "psr-4": {
1879 | "Psr\\Http\\Message\\": "src/"
1880 | }
1881 | },
1882 | "notification-url": "https://packagist.org/downloads/",
1883 | "license": [
1884 | "MIT"
1885 | ],
1886 | "authors": [
1887 | {
1888 | "name": "PHP-FIG",
1889 | "homepage": "http://www.php-fig.org/"
1890 | }
1891 | ],
1892 | "description": "Common interface for HTTP messages",
1893 | "homepage": "https://github.com/php-fig/http-message",
1894 | "keywords": [
1895 | "http",
1896 | "http-message",
1897 | "psr",
1898 | "psr-7",
1899 | "request",
1900 | "response"
1901 | ],
1902 | "support": {
1903 | "source": "https://github.com/php-fig/http-message/tree/master"
1904 | },
1905 | "time": "2016-08-06T14:39:51+00:00"
1906 | },
1907 | {
1908 | "name": "ralouphie/getallheaders",
1909 | "version": "3.0.3",
1910 | "source": {
1911 | "type": "git",
1912 | "url": "https://github.com/ralouphie/getallheaders.git",
1913 | "reference": "120b605dfeb996808c31b6477290a714d356e822"
1914 | },
1915 | "dist": {
1916 | "type": "zip",
1917 | "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
1918 | "reference": "120b605dfeb996808c31b6477290a714d356e822",
1919 | "shasum": ""
1920 | },
1921 | "require": {
1922 | "php": ">=5.6"
1923 | },
1924 | "require-dev": {
1925 | "php-coveralls/php-coveralls": "^2.1",
1926 | "phpunit/phpunit": "^5 || ^6.5"
1927 | },
1928 | "type": "library",
1929 | "autoload": {
1930 | "files": [
1931 | "src/getallheaders.php"
1932 | ]
1933 | },
1934 | "notification-url": "https://packagist.org/downloads/",
1935 | "license": [
1936 | "MIT"
1937 | ],
1938 | "authors": [
1939 | {
1940 | "name": "Ralph Khattar",
1941 | "email": "ralph.khattar@gmail.com"
1942 | }
1943 | ],
1944 | "description": "A polyfill for getallheaders.",
1945 | "support": {
1946 | "issues": "https://github.com/ralouphie/getallheaders/issues",
1947 | "source": "https://github.com/ralouphie/getallheaders/tree/develop"
1948 | },
1949 | "time": "2019-03-08T08:55:37+00:00"
1950 | },
1951 | {
1952 | "name": "sebastian/cli-parser",
1953 | "version": "1.0.1",
1954 | "source": {
1955 | "type": "git",
1956 | "url": "https://github.com/sebastianbergmann/cli-parser.git",
1957 | "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
1958 | },
1959 | "dist": {
1960 | "type": "zip",
1961 | "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2",
1962 | "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2",
1963 | "shasum": ""
1964 | },
1965 | "require": {
1966 | "php": ">=7.3"
1967 | },
1968 | "require-dev": {
1969 | "phpunit/phpunit": "^9.3"
1970 | },
1971 | "type": "library",
1972 | "extra": {
1973 | "branch-alias": {
1974 | "dev-master": "1.0-dev"
1975 | }
1976 | },
1977 | "autoload": {
1978 | "classmap": [
1979 | "src/"
1980 | ]
1981 | },
1982 | "notification-url": "https://packagist.org/downloads/",
1983 | "license": [
1984 | "BSD-3-Clause"
1985 | ],
1986 | "authors": [
1987 | {
1988 | "name": "Sebastian Bergmann",
1989 | "email": "sebastian@phpunit.de",
1990 | "role": "lead"
1991 | }
1992 | ],
1993 | "description": "Library for parsing CLI options",
1994 | "homepage": "https://github.com/sebastianbergmann/cli-parser",
1995 | "support": {
1996 | "issues": "https://github.com/sebastianbergmann/cli-parser/issues",
1997 | "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1"
1998 | },
1999 | "funding": [
2000 | {
2001 | "url": "https://github.com/sebastianbergmann",
2002 | "type": "github"
2003 | }
2004 | ],
2005 | "time": "2020-09-28T06:08:49+00:00"
2006 | },
2007 | {
2008 | "name": "sebastian/code-unit",
2009 | "version": "1.0.8",
2010 | "source": {
2011 | "type": "git",
2012 | "url": "https://github.com/sebastianbergmann/code-unit.git",
2013 | "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
2014 | },
2015 | "dist": {
2016 | "type": "zip",
2017 | "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
2018 | "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
2019 | "shasum": ""
2020 | },
2021 | "require": {
2022 | "php": ">=7.3"
2023 | },
2024 | "require-dev": {
2025 | "phpunit/phpunit": "^9.3"
2026 | },
2027 | "type": "library",
2028 | "extra": {
2029 | "branch-alias": {
2030 | "dev-master": "1.0-dev"
2031 | }
2032 | },
2033 | "autoload": {
2034 | "classmap": [
2035 | "src/"
2036 | ]
2037 | },
2038 | "notification-url": "https://packagist.org/downloads/",
2039 | "license": [
2040 | "BSD-3-Clause"
2041 | ],
2042 | "authors": [
2043 | {
2044 | "name": "Sebastian Bergmann",
2045 | "email": "sebastian@phpunit.de",
2046 | "role": "lead"
2047 | }
2048 | ],
2049 | "description": "Collection of value objects that represent the PHP code units",
2050 | "homepage": "https://github.com/sebastianbergmann/code-unit",
2051 | "support": {
2052 | "issues": "https://github.com/sebastianbergmann/code-unit/issues",
2053 | "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8"
2054 | },
2055 | "funding": [
2056 | {
2057 | "url": "https://github.com/sebastianbergmann",
2058 | "type": "github"
2059 | }
2060 | ],
2061 | "time": "2020-10-26T13:08:54+00:00"
2062 | },
2063 | {
2064 | "name": "sebastian/code-unit-reverse-lookup",
2065 | "version": "2.0.3",
2066 | "source": {
2067 | "type": "git",
2068 | "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
2069 | "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
2070 | },
2071 | "dist": {
2072 | "type": "zip",
2073 | "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
2074 | "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
2075 | "shasum": ""
2076 | },
2077 | "require": {
2078 | "php": ">=7.3"
2079 | },
2080 | "require-dev": {
2081 | "phpunit/phpunit": "^9.3"
2082 | },
2083 | "type": "library",
2084 | "extra": {
2085 | "branch-alias": {
2086 | "dev-master": "2.0-dev"
2087 | }
2088 | },
2089 | "autoload": {
2090 | "classmap": [
2091 | "src/"
2092 | ]
2093 | },
2094 | "notification-url": "https://packagist.org/downloads/",
2095 | "license": [
2096 | "BSD-3-Clause"
2097 | ],
2098 | "authors": [
2099 | {
2100 | "name": "Sebastian Bergmann",
2101 | "email": "sebastian@phpunit.de"
2102 | }
2103 | ],
2104 | "description": "Looks up which function or method a line of code belongs to",
2105 | "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
2106 | "support": {
2107 | "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
2108 | "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3"
2109 | },
2110 | "funding": [
2111 | {
2112 | "url": "https://github.com/sebastianbergmann",
2113 | "type": "github"
2114 | }
2115 | ],
2116 | "time": "2020-09-28T05:30:19+00:00"
2117 | },
2118 | {
2119 | "name": "sebastian/comparator",
2120 | "version": "4.0.6",
2121 | "source": {
2122 | "type": "git",
2123 | "url": "https://github.com/sebastianbergmann/comparator.git",
2124 | "reference": "55f4261989e546dc112258c7a75935a81a7ce382"
2125 | },
2126 | "dist": {
2127 | "type": "zip",
2128 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382",
2129 | "reference": "55f4261989e546dc112258c7a75935a81a7ce382",
2130 | "shasum": ""
2131 | },
2132 | "require": {
2133 | "php": ">=7.3",
2134 | "sebastian/diff": "^4.0",
2135 | "sebastian/exporter": "^4.0"
2136 | },
2137 | "require-dev": {
2138 | "phpunit/phpunit": "^9.3"
2139 | },
2140 | "type": "library",
2141 | "extra": {
2142 | "branch-alias": {
2143 | "dev-master": "4.0-dev"
2144 | }
2145 | },
2146 | "autoload": {
2147 | "classmap": [
2148 | "src/"
2149 | ]
2150 | },
2151 | "notification-url": "https://packagist.org/downloads/",
2152 | "license": [
2153 | "BSD-3-Clause"
2154 | ],
2155 | "authors": [
2156 | {
2157 | "name": "Sebastian Bergmann",
2158 | "email": "sebastian@phpunit.de"
2159 | },
2160 | {
2161 | "name": "Jeff Welch",
2162 | "email": "whatthejeff@gmail.com"
2163 | },
2164 | {
2165 | "name": "Volker Dusch",
2166 | "email": "github@wallbash.com"
2167 | },
2168 | {
2169 | "name": "Bernhard Schussek",
2170 | "email": "bschussek@2bepublished.at"
2171 | }
2172 | ],
2173 | "description": "Provides the functionality to compare PHP values for equality",
2174 | "homepage": "https://github.com/sebastianbergmann/comparator",
2175 | "keywords": [
2176 | "comparator",
2177 | "compare",
2178 | "equality"
2179 | ],
2180 | "support": {
2181 | "issues": "https://github.com/sebastianbergmann/comparator/issues",
2182 | "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6"
2183 | },
2184 | "funding": [
2185 | {
2186 | "url": "https://github.com/sebastianbergmann",
2187 | "type": "github"
2188 | }
2189 | ],
2190 | "time": "2020-10-26T15:49:45+00:00"
2191 | },
2192 | {
2193 | "name": "sebastian/complexity",
2194 | "version": "2.0.2",
2195 | "source": {
2196 | "type": "git",
2197 | "url": "https://github.com/sebastianbergmann/complexity.git",
2198 | "reference": "739b35e53379900cc9ac327b2147867b8b6efd88"
2199 | },
2200 | "dist": {
2201 | "type": "zip",
2202 | "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88",
2203 | "reference": "739b35e53379900cc9ac327b2147867b8b6efd88",
2204 | "shasum": ""
2205 | },
2206 | "require": {
2207 | "nikic/php-parser": "^4.7",
2208 | "php": ">=7.3"
2209 | },
2210 | "require-dev": {
2211 | "phpunit/phpunit": "^9.3"
2212 | },
2213 | "type": "library",
2214 | "extra": {
2215 | "branch-alias": {
2216 | "dev-master": "2.0-dev"
2217 | }
2218 | },
2219 | "autoload": {
2220 | "classmap": [
2221 | "src/"
2222 | ]
2223 | },
2224 | "notification-url": "https://packagist.org/downloads/",
2225 | "license": [
2226 | "BSD-3-Clause"
2227 | ],
2228 | "authors": [
2229 | {
2230 | "name": "Sebastian Bergmann",
2231 | "email": "sebastian@phpunit.de",
2232 | "role": "lead"
2233 | }
2234 | ],
2235 | "description": "Library for calculating the complexity of PHP code units",
2236 | "homepage": "https://github.com/sebastianbergmann/complexity",
2237 | "support": {
2238 | "issues": "https://github.com/sebastianbergmann/complexity/issues",
2239 | "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2"
2240 | },
2241 | "funding": [
2242 | {
2243 | "url": "https://github.com/sebastianbergmann",
2244 | "type": "github"
2245 | }
2246 | ],
2247 | "time": "2020-10-26T15:52:27+00:00"
2248 | },
2249 | {
2250 | "name": "sebastian/diff",
2251 | "version": "4.0.4",
2252 | "source": {
2253 | "type": "git",
2254 | "url": "https://github.com/sebastianbergmann/diff.git",
2255 | "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
2256 | },
2257 | "dist": {
2258 | "type": "zip",
2259 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
2260 | "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
2261 | "shasum": ""
2262 | },
2263 | "require": {
2264 | "php": ">=7.3"
2265 | },
2266 | "require-dev": {
2267 | "phpunit/phpunit": "^9.3",
2268 | "symfony/process": "^4.2 || ^5"
2269 | },
2270 | "type": "library",
2271 | "extra": {
2272 | "branch-alias": {
2273 | "dev-master": "4.0-dev"
2274 | }
2275 | },
2276 | "autoload": {
2277 | "classmap": [
2278 | "src/"
2279 | ]
2280 | },
2281 | "notification-url": "https://packagist.org/downloads/",
2282 | "license": [
2283 | "BSD-3-Clause"
2284 | ],
2285 | "authors": [
2286 | {
2287 | "name": "Sebastian Bergmann",
2288 | "email": "sebastian@phpunit.de"
2289 | },
2290 | {
2291 | "name": "Kore Nordmann",
2292 | "email": "mail@kore-nordmann.de"
2293 | }
2294 | ],
2295 | "description": "Diff implementation",
2296 | "homepage": "https://github.com/sebastianbergmann/diff",
2297 | "keywords": [
2298 | "diff",
2299 | "udiff",
2300 | "unidiff",
2301 | "unified diff"
2302 | ],
2303 | "support": {
2304 | "issues": "https://github.com/sebastianbergmann/diff/issues",
2305 | "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
2306 | },
2307 | "funding": [
2308 | {
2309 | "url": "https://github.com/sebastianbergmann",
2310 | "type": "github"
2311 | }
2312 | ],
2313 | "time": "2020-10-26T13:10:38+00:00"
2314 | },
2315 | {
2316 | "name": "sebastian/environment",
2317 | "version": "5.1.4",
2318 | "source": {
2319 | "type": "git",
2320 | "url": "https://github.com/sebastianbergmann/environment.git",
2321 | "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7"
2322 | },
2323 | "dist": {
2324 | "type": "zip",
2325 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/1b5dff7bb151a4db11d49d90e5408e4e938270f7",
2326 | "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7",
2327 | "shasum": ""
2328 | },
2329 | "require": {
2330 | "php": ">=7.3"
2331 | },
2332 | "require-dev": {
2333 | "phpunit/phpunit": "^9.3"
2334 | },
2335 | "suggest": {
2336 | "ext-posix": "*"
2337 | },
2338 | "type": "library",
2339 | "extra": {
2340 | "branch-alias": {
2341 | "dev-master": "5.1-dev"
2342 | }
2343 | },
2344 | "autoload": {
2345 | "classmap": [
2346 | "src/"
2347 | ]
2348 | },
2349 | "notification-url": "https://packagist.org/downloads/",
2350 | "license": [
2351 | "BSD-3-Clause"
2352 | ],
2353 | "authors": [
2354 | {
2355 | "name": "Sebastian Bergmann",
2356 | "email": "sebastian@phpunit.de"
2357 | }
2358 | ],
2359 | "description": "Provides functionality to handle HHVM/PHP environments",
2360 | "homepage": "http://www.github.com/sebastianbergmann/environment",
2361 | "keywords": [
2362 | "Xdebug",
2363 | "environment",
2364 | "hhvm"
2365 | ],
2366 | "support": {
2367 | "issues": "https://github.com/sebastianbergmann/environment/issues",
2368 | "source": "https://github.com/sebastianbergmann/environment/tree/5.1.4"
2369 | },
2370 | "funding": [
2371 | {
2372 | "url": "https://github.com/sebastianbergmann",
2373 | "type": "github"
2374 | }
2375 | ],
2376 | "time": "2022-04-03T09:37:03+00:00"
2377 | },
2378 | {
2379 | "name": "sebastian/exporter",
2380 | "version": "4.0.4",
2381 | "source": {
2382 | "type": "git",
2383 | "url": "https://github.com/sebastianbergmann/exporter.git",
2384 | "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9"
2385 | },
2386 | "dist": {
2387 | "type": "zip",
2388 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/65e8b7db476c5dd267e65eea9cab77584d3cfff9",
2389 | "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9",
2390 | "shasum": ""
2391 | },
2392 | "require": {
2393 | "php": ">=7.3",
2394 | "sebastian/recursion-context": "^4.0"
2395 | },
2396 | "require-dev": {
2397 | "ext-mbstring": "*",
2398 | "phpunit/phpunit": "^9.3"
2399 | },
2400 | "type": "library",
2401 | "extra": {
2402 | "branch-alias": {
2403 | "dev-master": "4.0-dev"
2404 | }
2405 | },
2406 | "autoload": {
2407 | "classmap": [
2408 | "src/"
2409 | ]
2410 | },
2411 | "notification-url": "https://packagist.org/downloads/",
2412 | "license": [
2413 | "BSD-3-Clause"
2414 | ],
2415 | "authors": [
2416 | {
2417 | "name": "Sebastian Bergmann",
2418 | "email": "sebastian@phpunit.de"
2419 | },
2420 | {
2421 | "name": "Jeff Welch",
2422 | "email": "whatthejeff@gmail.com"
2423 | },
2424 | {
2425 | "name": "Volker Dusch",
2426 | "email": "github@wallbash.com"
2427 | },
2428 | {
2429 | "name": "Adam Harvey",
2430 | "email": "aharvey@php.net"
2431 | },
2432 | {
2433 | "name": "Bernhard Schussek",
2434 | "email": "bschussek@gmail.com"
2435 | }
2436 | ],
2437 | "description": "Provides the functionality to export PHP variables for visualization",
2438 | "homepage": "https://www.github.com/sebastianbergmann/exporter",
2439 | "keywords": [
2440 | "export",
2441 | "exporter"
2442 | ],
2443 | "support": {
2444 | "issues": "https://github.com/sebastianbergmann/exporter/issues",
2445 | "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.4"
2446 | },
2447 | "funding": [
2448 | {
2449 | "url": "https://github.com/sebastianbergmann",
2450 | "type": "github"
2451 | }
2452 | ],
2453 | "time": "2021-11-11T14:18:36+00:00"
2454 | },
2455 | {
2456 | "name": "sebastian/global-state",
2457 | "version": "5.0.5",
2458 | "source": {
2459 | "type": "git",
2460 | "url": "https://github.com/sebastianbergmann/global-state.git",
2461 | "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2"
2462 | },
2463 | "dist": {
2464 | "type": "zip",
2465 | "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2",
2466 | "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2",
2467 | "shasum": ""
2468 | },
2469 | "require": {
2470 | "php": ">=7.3",
2471 | "sebastian/object-reflector": "^2.0",
2472 | "sebastian/recursion-context": "^4.0"
2473 | },
2474 | "require-dev": {
2475 | "ext-dom": "*",
2476 | "phpunit/phpunit": "^9.3"
2477 | },
2478 | "suggest": {
2479 | "ext-uopz": "*"
2480 | },
2481 | "type": "library",
2482 | "extra": {
2483 | "branch-alias": {
2484 | "dev-master": "5.0-dev"
2485 | }
2486 | },
2487 | "autoload": {
2488 | "classmap": [
2489 | "src/"
2490 | ]
2491 | },
2492 | "notification-url": "https://packagist.org/downloads/",
2493 | "license": [
2494 | "BSD-3-Clause"
2495 | ],
2496 | "authors": [
2497 | {
2498 | "name": "Sebastian Bergmann",
2499 | "email": "sebastian@phpunit.de"
2500 | }
2501 | ],
2502 | "description": "Snapshotting of global state",
2503 | "homepage": "http://www.github.com/sebastianbergmann/global-state",
2504 | "keywords": [
2505 | "global state"
2506 | ],
2507 | "support": {
2508 | "issues": "https://github.com/sebastianbergmann/global-state/issues",
2509 | "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5"
2510 | },
2511 | "funding": [
2512 | {
2513 | "url": "https://github.com/sebastianbergmann",
2514 | "type": "github"
2515 | }
2516 | ],
2517 | "time": "2022-02-14T08:28:10+00:00"
2518 | },
2519 | {
2520 | "name": "sebastian/lines-of-code",
2521 | "version": "1.0.3",
2522 | "source": {
2523 | "type": "git",
2524 | "url": "https://github.com/sebastianbergmann/lines-of-code.git",
2525 | "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc"
2526 | },
2527 | "dist": {
2528 | "type": "zip",
2529 | "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc",
2530 | "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc",
2531 | "shasum": ""
2532 | },
2533 | "require": {
2534 | "nikic/php-parser": "^4.6",
2535 | "php": ">=7.3"
2536 | },
2537 | "require-dev": {
2538 | "phpunit/phpunit": "^9.3"
2539 | },
2540 | "type": "library",
2541 | "extra": {
2542 | "branch-alias": {
2543 | "dev-master": "1.0-dev"
2544 | }
2545 | },
2546 | "autoload": {
2547 | "classmap": [
2548 | "src/"
2549 | ]
2550 | },
2551 | "notification-url": "https://packagist.org/downloads/",
2552 | "license": [
2553 | "BSD-3-Clause"
2554 | ],
2555 | "authors": [
2556 | {
2557 | "name": "Sebastian Bergmann",
2558 | "email": "sebastian@phpunit.de",
2559 | "role": "lead"
2560 | }
2561 | ],
2562 | "description": "Library for counting the lines of code in PHP source code",
2563 | "homepage": "https://github.com/sebastianbergmann/lines-of-code",
2564 | "support": {
2565 | "issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
2566 | "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3"
2567 | },
2568 | "funding": [
2569 | {
2570 | "url": "https://github.com/sebastianbergmann",
2571 | "type": "github"
2572 | }
2573 | ],
2574 | "time": "2020-11-28T06:42:11+00:00"
2575 | },
2576 | {
2577 | "name": "sebastian/object-enumerator",
2578 | "version": "4.0.4",
2579 | "source": {
2580 | "type": "git",
2581 | "url": "https://github.com/sebastianbergmann/object-enumerator.git",
2582 | "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
2583 | },
2584 | "dist": {
2585 | "type": "zip",
2586 | "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
2587 | "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
2588 | "shasum": ""
2589 | },
2590 | "require": {
2591 | "php": ">=7.3",
2592 | "sebastian/object-reflector": "^2.0",
2593 | "sebastian/recursion-context": "^4.0"
2594 | },
2595 | "require-dev": {
2596 | "phpunit/phpunit": "^9.3"
2597 | },
2598 | "type": "library",
2599 | "extra": {
2600 | "branch-alias": {
2601 | "dev-master": "4.0-dev"
2602 | }
2603 | },
2604 | "autoload": {
2605 | "classmap": [
2606 | "src/"
2607 | ]
2608 | },
2609 | "notification-url": "https://packagist.org/downloads/",
2610 | "license": [
2611 | "BSD-3-Clause"
2612 | ],
2613 | "authors": [
2614 | {
2615 | "name": "Sebastian Bergmann",
2616 | "email": "sebastian@phpunit.de"
2617 | }
2618 | ],
2619 | "description": "Traverses array structures and object graphs to enumerate all referenced objects",
2620 | "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
2621 | "support": {
2622 | "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
2623 | "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4"
2624 | },
2625 | "funding": [
2626 | {
2627 | "url": "https://github.com/sebastianbergmann",
2628 | "type": "github"
2629 | }
2630 | ],
2631 | "time": "2020-10-26T13:12:34+00:00"
2632 | },
2633 | {
2634 | "name": "sebastian/object-reflector",
2635 | "version": "2.0.4",
2636 | "source": {
2637 | "type": "git",
2638 | "url": "https://github.com/sebastianbergmann/object-reflector.git",
2639 | "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
2640 | },
2641 | "dist": {
2642 | "type": "zip",
2643 | "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
2644 | "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
2645 | "shasum": ""
2646 | },
2647 | "require": {
2648 | "php": ">=7.3"
2649 | },
2650 | "require-dev": {
2651 | "phpunit/phpunit": "^9.3"
2652 | },
2653 | "type": "library",
2654 | "extra": {
2655 | "branch-alias": {
2656 | "dev-master": "2.0-dev"
2657 | }
2658 | },
2659 | "autoload": {
2660 | "classmap": [
2661 | "src/"
2662 | ]
2663 | },
2664 | "notification-url": "https://packagist.org/downloads/",
2665 | "license": [
2666 | "BSD-3-Clause"
2667 | ],
2668 | "authors": [
2669 | {
2670 | "name": "Sebastian Bergmann",
2671 | "email": "sebastian@phpunit.de"
2672 | }
2673 | ],
2674 | "description": "Allows reflection of object attributes, including inherited and non-public ones",
2675 | "homepage": "https://github.com/sebastianbergmann/object-reflector/",
2676 | "support": {
2677 | "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
2678 | "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4"
2679 | },
2680 | "funding": [
2681 | {
2682 | "url": "https://github.com/sebastianbergmann",
2683 | "type": "github"
2684 | }
2685 | ],
2686 | "time": "2020-10-26T13:14:26+00:00"
2687 | },
2688 | {
2689 | "name": "sebastian/recursion-context",
2690 | "version": "4.0.4",
2691 | "source": {
2692 | "type": "git",
2693 | "url": "https://github.com/sebastianbergmann/recursion-context.git",
2694 | "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172"
2695 | },
2696 | "dist": {
2697 | "type": "zip",
2698 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172",
2699 | "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172",
2700 | "shasum": ""
2701 | },
2702 | "require": {
2703 | "php": ">=7.3"
2704 | },
2705 | "require-dev": {
2706 | "phpunit/phpunit": "^9.3"
2707 | },
2708 | "type": "library",
2709 | "extra": {
2710 | "branch-alias": {
2711 | "dev-master": "4.0-dev"
2712 | }
2713 | },
2714 | "autoload": {
2715 | "classmap": [
2716 | "src/"
2717 | ]
2718 | },
2719 | "notification-url": "https://packagist.org/downloads/",
2720 | "license": [
2721 | "BSD-3-Clause"
2722 | ],
2723 | "authors": [
2724 | {
2725 | "name": "Sebastian Bergmann",
2726 | "email": "sebastian@phpunit.de"
2727 | },
2728 | {
2729 | "name": "Jeff Welch",
2730 | "email": "whatthejeff@gmail.com"
2731 | },
2732 | {
2733 | "name": "Adam Harvey",
2734 | "email": "aharvey@php.net"
2735 | }
2736 | ],
2737 | "description": "Provides functionality to recursively process PHP variables",
2738 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
2739 | "support": {
2740 | "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
2741 | "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4"
2742 | },
2743 | "funding": [
2744 | {
2745 | "url": "https://github.com/sebastianbergmann",
2746 | "type": "github"
2747 | }
2748 | ],
2749 | "time": "2020-10-26T13:17:30+00:00"
2750 | },
2751 | {
2752 | "name": "sebastian/resource-operations",
2753 | "version": "3.0.3",
2754 | "source": {
2755 | "type": "git",
2756 | "url": "https://github.com/sebastianbergmann/resource-operations.git",
2757 | "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
2758 | },
2759 | "dist": {
2760 | "type": "zip",
2761 | "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
2762 | "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
2763 | "shasum": ""
2764 | },
2765 | "require": {
2766 | "php": ">=7.3"
2767 | },
2768 | "require-dev": {
2769 | "phpunit/phpunit": "^9.0"
2770 | },
2771 | "type": "library",
2772 | "extra": {
2773 | "branch-alias": {
2774 | "dev-master": "3.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": "Provides a list of PHP built-in functions that operate on resources",
2793 | "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
2794 | "support": {
2795 | "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
2796 | "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3"
2797 | },
2798 | "funding": [
2799 | {
2800 | "url": "https://github.com/sebastianbergmann",
2801 | "type": "github"
2802 | }
2803 | ],
2804 | "time": "2020-09-28T06:45:17+00:00"
2805 | },
2806 | {
2807 | "name": "sebastian/type",
2808 | "version": "3.0.0",
2809 | "source": {
2810 | "type": "git",
2811 | "url": "https://github.com/sebastianbergmann/type.git",
2812 | "reference": "b233b84bc4465aff7b57cf1c4bc75c86d00d6dad"
2813 | },
2814 | "dist": {
2815 | "type": "zip",
2816 | "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b233b84bc4465aff7b57cf1c4bc75c86d00d6dad",
2817 | "reference": "b233b84bc4465aff7b57cf1c4bc75c86d00d6dad",
2818 | "shasum": ""
2819 | },
2820 | "require": {
2821 | "php": ">=7.3"
2822 | },
2823 | "require-dev": {
2824 | "phpunit/phpunit": "^9.5"
2825 | },
2826 | "type": "library",
2827 | "extra": {
2828 | "branch-alias": {
2829 | "dev-master": "3.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 | "role": "lead"
2846 | }
2847 | ],
2848 | "description": "Collection of value objects that represent the types of the PHP type system",
2849 | "homepage": "https://github.com/sebastianbergmann/type",
2850 | "support": {
2851 | "issues": "https://github.com/sebastianbergmann/type/issues",
2852 | "source": "https://github.com/sebastianbergmann/type/tree/3.0.0"
2853 | },
2854 | "funding": [
2855 | {
2856 | "url": "https://github.com/sebastianbergmann",
2857 | "type": "github"
2858 | }
2859 | ],
2860 | "time": "2022-03-15T09:54:48+00:00"
2861 | },
2862 | {
2863 | "name": "sebastian/version",
2864 | "version": "3.0.2",
2865 | "source": {
2866 | "type": "git",
2867 | "url": "https://github.com/sebastianbergmann/version.git",
2868 | "reference": "c6c1022351a901512170118436c764e473f6de8c"
2869 | },
2870 | "dist": {
2871 | "type": "zip",
2872 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
2873 | "reference": "c6c1022351a901512170118436c764e473f6de8c",
2874 | "shasum": ""
2875 | },
2876 | "require": {
2877 | "php": ">=7.3"
2878 | },
2879 | "type": "library",
2880 | "extra": {
2881 | "branch-alias": {
2882 | "dev-master": "3.0-dev"
2883 | }
2884 | },
2885 | "autoload": {
2886 | "classmap": [
2887 | "src/"
2888 | ]
2889 | },
2890 | "notification-url": "https://packagist.org/downloads/",
2891 | "license": [
2892 | "BSD-3-Clause"
2893 | ],
2894 | "authors": [
2895 | {
2896 | "name": "Sebastian Bergmann",
2897 | "email": "sebastian@phpunit.de",
2898 | "role": "lead"
2899 | }
2900 | ],
2901 | "description": "Library that helps with managing the version number of Git-hosted PHP projects",
2902 | "homepage": "https://github.com/sebastianbergmann/version",
2903 | "support": {
2904 | "issues": "https://github.com/sebastianbergmann/version/issues",
2905 | "source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
2906 | },
2907 | "funding": [
2908 | {
2909 | "url": "https://github.com/sebastianbergmann",
2910 | "type": "github"
2911 | }
2912 | ],
2913 | "time": "2020-09-28T06:39:44+00:00"
2914 | },
2915 | {
2916 | "name": "squizlabs/php_codesniffer",
2917 | "version": "3.6.2",
2918 | "source": {
2919 | "type": "git",
2920 | "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
2921 | "reference": "5e4e71592f69da17871dba6e80dd51bce74a351a"
2922 | },
2923 | "dist": {
2924 | "type": "zip",
2925 | "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/5e4e71592f69da17871dba6e80dd51bce74a351a",
2926 | "reference": "5e4e71592f69da17871dba6e80dd51bce74a351a",
2927 | "shasum": ""
2928 | },
2929 | "require": {
2930 | "ext-simplexml": "*",
2931 | "ext-tokenizer": "*",
2932 | "ext-xmlwriter": "*",
2933 | "php": ">=5.4.0"
2934 | },
2935 | "require-dev": {
2936 | "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
2937 | },
2938 | "bin": [
2939 | "bin/phpcs",
2940 | "bin/phpcbf"
2941 | ],
2942 | "type": "library",
2943 | "extra": {
2944 | "branch-alias": {
2945 | "dev-master": "3.x-dev"
2946 | }
2947 | },
2948 | "notification-url": "https://packagist.org/downloads/",
2949 | "license": [
2950 | "BSD-3-Clause"
2951 | ],
2952 | "authors": [
2953 | {
2954 | "name": "Greg Sherwood",
2955 | "role": "lead"
2956 | }
2957 | ],
2958 | "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
2959 | "homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
2960 | "keywords": [
2961 | "phpcs",
2962 | "standards"
2963 | ],
2964 | "support": {
2965 | "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
2966 | "source": "https://github.com/squizlabs/PHP_CodeSniffer",
2967 | "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
2968 | },
2969 | "time": "2021-12-12T21:44:58+00:00"
2970 | },
2971 | {
2972 | "name": "symfony/config",
2973 | "version": "v6.0.8",
2974 | "source": {
2975 | "type": "git",
2976 | "url": "https://github.com/symfony/config.git",
2977 | "reference": "6ac50d559aa64c8e7b5b17640c46241e4accb487"
2978 | },
2979 | "dist": {
2980 | "type": "zip",
2981 | "url": "https://api.github.com/repos/symfony/config/zipball/6ac50d559aa64c8e7b5b17640c46241e4accb487",
2982 | "reference": "6ac50d559aa64c8e7b5b17640c46241e4accb487",
2983 | "shasum": ""
2984 | },
2985 | "require": {
2986 | "php": ">=8.0.2",
2987 | "symfony/deprecation-contracts": "^2.1|^3",
2988 | "symfony/filesystem": "^5.4|^6.0",
2989 | "symfony/polyfill-ctype": "~1.8",
2990 | "symfony/polyfill-php81": "^1.22"
2991 | },
2992 | "conflict": {
2993 | "symfony/finder": "<4.4"
2994 | },
2995 | "require-dev": {
2996 | "symfony/event-dispatcher": "^5.4|^6.0",
2997 | "symfony/finder": "^5.4|^6.0",
2998 | "symfony/messenger": "^5.4|^6.0",
2999 | "symfony/service-contracts": "^1.1|^2|^3",
3000 | "symfony/yaml": "^5.4|^6.0"
3001 | },
3002 | "suggest": {
3003 | "symfony/yaml": "To use the yaml reference dumper"
3004 | },
3005 | "type": "library",
3006 | "autoload": {
3007 | "psr-4": {
3008 | "Symfony\\Component\\Config\\": ""
3009 | },
3010 | "exclude-from-classmap": [
3011 | "/Tests/"
3012 | ]
3013 | },
3014 | "notification-url": "https://packagist.org/downloads/",
3015 | "license": [
3016 | "MIT"
3017 | ],
3018 | "authors": [
3019 | {
3020 | "name": "Fabien Potencier",
3021 | "email": "fabien@symfony.com"
3022 | },
3023 | {
3024 | "name": "Symfony Community",
3025 | "homepage": "https://symfony.com/contributors"
3026 | }
3027 | ],
3028 | "description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
3029 | "homepage": "https://symfony.com",
3030 | "support": {
3031 | "source": "https://github.com/symfony/config/tree/v6.0.8"
3032 | },
3033 | "funding": [
3034 | {
3035 | "url": "https://symfony.com/sponsor",
3036 | "type": "custom"
3037 | },
3038 | {
3039 | "url": "https://github.com/fabpot",
3040 | "type": "github"
3041 | },
3042 | {
3043 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
3044 | "type": "tidelift"
3045 | }
3046 | ],
3047 | "time": "2022-04-12T16:11:42+00:00"
3048 | },
3049 | {
3050 | "name": "symfony/console",
3051 | "version": "v6.0.8",
3052 | "source": {
3053 | "type": "git",
3054 | "url": "https://github.com/symfony/console.git",
3055 | "reference": "0d00aa289215353aa8746a31d101f8e60826285c"
3056 | },
3057 | "dist": {
3058 | "type": "zip",
3059 | "url": "https://api.github.com/repos/symfony/console/zipball/0d00aa289215353aa8746a31d101f8e60826285c",
3060 | "reference": "0d00aa289215353aa8746a31d101f8e60826285c",
3061 | "shasum": ""
3062 | },
3063 | "require": {
3064 | "php": ">=8.0.2",
3065 | "symfony/polyfill-mbstring": "~1.0",
3066 | "symfony/service-contracts": "^1.1|^2|^3",
3067 | "symfony/string": "^5.4|^6.0"
3068 | },
3069 | "conflict": {
3070 | "symfony/dependency-injection": "<5.4",
3071 | "symfony/dotenv": "<5.4",
3072 | "symfony/event-dispatcher": "<5.4",
3073 | "symfony/lock": "<5.4",
3074 | "symfony/process": "<5.4"
3075 | },
3076 | "provide": {
3077 | "psr/log-implementation": "1.0|2.0|3.0"
3078 | },
3079 | "require-dev": {
3080 | "psr/log": "^1|^2|^3",
3081 | "symfony/config": "^5.4|^6.0",
3082 | "symfony/dependency-injection": "^5.4|^6.0",
3083 | "symfony/event-dispatcher": "^5.4|^6.0",
3084 | "symfony/lock": "^5.4|^6.0",
3085 | "symfony/process": "^5.4|^6.0",
3086 | "symfony/var-dumper": "^5.4|^6.0"
3087 | },
3088 | "suggest": {
3089 | "psr/log": "For using the console logger",
3090 | "symfony/event-dispatcher": "",
3091 | "symfony/lock": "",
3092 | "symfony/process": ""
3093 | },
3094 | "type": "library",
3095 | "autoload": {
3096 | "psr-4": {
3097 | "Symfony\\Component\\Console\\": ""
3098 | },
3099 | "exclude-from-classmap": [
3100 | "/Tests/"
3101 | ]
3102 | },
3103 | "notification-url": "https://packagist.org/downloads/",
3104 | "license": [
3105 | "MIT"
3106 | ],
3107 | "authors": [
3108 | {
3109 | "name": "Fabien Potencier",
3110 | "email": "fabien@symfony.com"
3111 | },
3112 | {
3113 | "name": "Symfony Community",
3114 | "homepage": "https://symfony.com/contributors"
3115 | }
3116 | ],
3117 | "description": "Eases the creation of beautiful and testable command line interfaces",
3118 | "homepage": "https://symfony.com",
3119 | "keywords": [
3120 | "cli",
3121 | "command line",
3122 | "console",
3123 | "terminal"
3124 | ],
3125 | "support": {
3126 | "source": "https://github.com/symfony/console/tree/v6.0.8"
3127 | },
3128 | "funding": [
3129 | {
3130 | "url": "https://symfony.com/sponsor",
3131 | "type": "custom"
3132 | },
3133 | {
3134 | "url": "https://github.com/fabpot",
3135 | "type": "github"
3136 | },
3137 | {
3138 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
3139 | "type": "tidelift"
3140 | }
3141 | ],
3142 | "time": "2022-04-20T15:01:42+00:00"
3143 | },
3144 | {
3145 | "name": "symfony/deprecation-contracts",
3146 | "version": "v3.0.1",
3147 | "source": {
3148 | "type": "git",
3149 | "url": "https://github.com/symfony/deprecation-contracts.git",
3150 | "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c"
3151 | },
3152 | "dist": {
3153 | "type": "zip",
3154 | "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/26954b3d62a6c5fd0ea8a2a00c0353a14978d05c",
3155 | "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c",
3156 | "shasum": ""
3157 | },
3158 | "require": {
3159 | "php": ">=8.0.2"
3160 | },
3161 | "type": "library",
3162 | "extra": {
3163 | "branch-alias": {
3164 | "dev-main": "3.0-dev"
3165 | },
3166 | "thanks": {
3167 | "name": "symfony/contracts",
3168 | "url": "https://github.com/symfony/contracts"
3169 | }
3170 | },
3171 | "autoload": {
3172 | "files": [
3173 | "function.php"
3174 | ]
3175 | },
3176 | "notification-url": "https://packagist.org/downloads/",
3177 | "license": [
3178 | "MIT"
3179 | ],
3180 | "authors": [
3181 | {
3182 | "name": "Nicolas Grekas",
3183 | "email": "p@tchwork.com"
3184 | },
3185 | {
3186 | "name": "Symfony Community",
3187 | "homepage": "https://symfony.com/contributors"
3188 | }
3189 | ],
3190 | "description": "A generic function and convention to trigger deprecation notices",
3191 | "homepage": "https://symfony.com",
3192 | "support": {
3193 | "source": "https://github.com/symfony/deprecation-contracts/tree/v3.0.1"
3194 | },
3195 | "funding": [
3196 | {
3197 | "url": "https://symfony.com/sponsor",
3198 | "type": "custom"
3199 | },
3200 | {
3201 | "url": "https://github.com/fabpot",
3202 | "type": "github"
3203 | },
3204 | {
3205 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
3206 | "type": "tidelift"
3207 | }
3208 | ],
3209 | "time": "2022-01-02T09:55:41+00:00"
3210 | },
3211 | {
3212 | "name": "symfony/filesystem",
3213 | "version": "v6.0.7",
3214 | "source": {
3215 | "type": "git",
3216 | "url": "https://github.com/symfony/filesystem.git",
3217 | "reference": "6c9e4c41f2c51dfde3db298594ed9cba55dbf5ff"
3218 | },
3219 | "dist": {
3220 | "type": "zip",
3221 | "url": "https://api.github.com/repos/symfony/filesystem/zipball/6c9e4c41f2c51dfde3db298594ed9cba55dbf5ff",
3222 | "reference": "6c9e4c41f2c51dfde3db298594ed9cba55dbf5ff",
3223 | "shasum": ""
3224 | },
3225 | "require": {
3226 | "php": ">=8.0.2",
3227 | "symfony/polyfill-ctype": "~1.8",
3228 | "symfony/polyfill-mbstring": "~1.8"
3229 | },
3230 | "type": "library",
3231 | "autoload": {
3232 | "psr-4": {
3233 | "Symfony\\Component\\Filesystem\\": ""
3234 | },
3235 | "exclude-from-classmap": [
3236 | "/Tests/"
3237 | ]
3238 | },
3239 | "notification-url": "https://packagist.org/downloads/",
3240 | "license": [
3241 | "MIT"
3242 | ],
3243 | "authors": [
3244 | {
3245 | "name": "Fabien Potencier",
3246 | "email": "fabien@symfony.com"
3247 | },
3248 | {
3249 | "name": "Symfony Community",
3250 | "homepage": "https://symfony.com/contributors"
3251 | }
3252 | ],
3253 | "description": "Provides basic utilities for the filesystem",
3254 | "homepage": "https://symfony.com",
3255 | "support": {
3256 | "source": "https://github.com/symfony/filesystem/tree/v6.0.7"
3257 | },
3258 | "funding": [
3259 | {
3260 | "url": "https://symfony.com/sponsor",
3261 | "type": "custom"
3262 | },
3263 | {
3264 | "url": "https://github.com/fabpot",
3265 | "type": "github"
3266 | },
3267 | {
3268 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
3269 | "type": "tidelift"
3270 | }
3271 | ],
3272 | "time": "2022-04-01T12:54:51+00:00"
3273 | },
3274 | {
3275 | "name": "symfony/polyfill-intl-grapheme",
3276 | "version": "v1.25.0",
3277 | "source": {
3278 | "type": "git",
3279 | "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
3280 | "reference": "81b86b50cf841a64252b439e738e97f4a34e2783"
3281 | },
3282 | "dist": {
3283 | "type": "zip",
3284 | "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/81b86b50cf841a64252b439e738e97f4a34e2783",
3285 | "reference": "81b86b50cf841a64252b439e738e97f4a34e2783",
3286 | "shasum": ""
3287 | },
3288 | "require": {
3289 | "php": ">=7.1"
3290 | },
3291 | "suggest": {
3292 | "ext-intl": "For best performance"
3293 | },
3294 | "type": "library",
3295 | "extra": {
3296 | "branch-alias": {
3297 | "dev-main": "1.23-dev"
3298 | },
3299 | "thanks": {
3300 | "name": "symfony/polyfill",
3301 | "url": "https://github.com/symfony/polyfill"
3302 | }
3303 | },
3304 | "autoload": {
3305 | "files": [
3306 | "bootstrap.php"
3307 | ],
3308 | "psr-4": {
3309 | "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
3310 | }
3311 | },
3312 | "notification-url": "https://packagist.org/downloads/",
3313 | "license": [
3314 | "MIT"
3315 | ],
3316 | "authors": [
3317 | {
3318 | "name": "Nicolas Grekas",
3319 | "email": "p@tchwork.com"
3320 | },
3321 | {
3322 | "name": "Symfony Community",
3323 | "homepage": "https://symfony.com/contributors"
3324 | }
3325 | ],
3326 | "description": "Symfony polyfill for intl's grapheme_* functions",
3327 | "homepage": "https://symfony.com",
3328 | "keywords": [
3329 | "compatibility",
3330 | "grapheme",
3331 | "intl",
3332 | "polyfill",
3333 | "portable",
3334 | "shim"
3335 | ],
3336 | "support": {
3337 | "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.25.0"
3338 | },
3339 | "funding": [
3340 | {
3341 | "url": "https://symfony.com/sponsor",
3342 | "type": "custom"
3343 | },
3344 | {
3345 | "url": "https://github.com/fabpot",
3346 | "type": "github"
3347 | },
3348 | {
3349 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
3350 | "type": "tidelift"
3351 | }
3352 | ],
3353 | "time": "2021-11-23T21:10:46+00:00"
3354 | },
3355 | {
3356 | "name": "symfony/polyfill-intl-normalizer",
3357 | "version": "v1.25.0",
3358 | "source": {
3359 | "type": "git",
3360 | "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
3361 | "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8"
3362 | },
3363 | "dist": {
3364 | "type": "zip",
3365 | "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8",
3366 | "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8",
3367 | "shasum": ""
3368 | },
3369 | "require": {
3370 | "php": ">=7.1"
3371 | },
3372 | "suggest": {
3373 | "ext-intl": "For best performance"
3374 | },
3375 | "type": "library",
3376 | "extra": {
3377 | "branch-alias": {
3378 | "dev-main": "1.23-dev"
3379 | },
3380 | "thanks": {
3381 | "name": "symfony/polyfill",
3382 | "url": "https://github.com/symfony/polyfill"
3383 | }
3384 | },
3385 | "autoload": {
3386 | "files": [
3387 | "bootstrap.php"
3388 | ],
3389 | "psr-4": {
3390 | "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
3391 | },
3392 | "classmap": [
3393 | "Resources/stubs"
3394 | ]
3395 | },
3396 | "notification-url": "https://packagist.org/downloads/",
3397 | "license": [
3398 | "MIT"
3399 | ],
3400 | "authors": [
3401 | {
3402 | "name": "Nicolas Grekas",
3403 | "email": "p@tchwork.com"
3404 | },
3405 | {
3406 | "name": "Symfony Community",
3407 | "homepage": "https://symfony.com/contributors"
3408 | }
3409 | ],
3410 | "description": "Symfony polyfill for intl's Normalizer class and related functions",
3411 | "homepage": "https://symfony.com",
3412 | "keywords": [
3413 | "compatibility",
3414 | "intl",
3415 | "normalizer",
3416 | "polyfill",
3417 | "portable",
3418 | "shim"
3419 | ],
3420 | "support": {
3421 | "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.25.0"
3422 | },
3423 | "funding": [
3424 | {
3425 | "url": "https://symfony.com/sponsor",
3426 | "type": "custom"
3427 | },
3428 | {
3429 | "url": "https://github.com/fabpot",
3430 | "type": "github"
3431 | },
3432 | {
3433 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
3434 | "type": "tidelift"
3435 | }
3436 | ],
3437 | "time": "2021-02-19T12:13:01+00:00"
3438 | },
3439 | {
3440 | "name": "symfony/polyfill-mbstring",
3441 | "version": "v1.25.0",
3442 | "source": {
3443 | "type": "git",
3444 | "url": "https://github.com/symfony/polyfill-mbstring.git",
3445 | "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825"
3446 | },
3447 | "dist": {
3448 | "type": "zip",
3449 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825",
3450 | "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825",
3451 | "shasum": ""
3452 | },
3453 | "require": {
3454 | "php": ">=7.1"
3455 | },
3456 | "provide": {
3457 | "ext-mbstring": "*"
3458 | },
3459 | "suggest": {
3460 | "ext-mbstring": "For best performance"
3461 | },
3462 | "type": "library",
3463 | "extra": {
3464 | "branch-alias": {
3465 | "dev-main": "1.23-dev"
3466 | },
3467 | "thanks": {
3468 | "name": "symfony/polyfill",
3469 | "url": "https://github.com/symfony/polyfill"
3470 | }
3471 | },
3472 | "autoload": {
3473 | "files": [
3474 | "bootstrap.php"
3475 | ],
3476 | "psr-4": {
3477 | "Symfony\\Polyfill\\Mbstring\\": ""
3478 | }
3479 | },
3480 | "notification-url": "https://packagist.org/downloads/",
3481 | "license": [
3482 | "MIT"
3483 | ],
3484 | "authors": [
3485 | {
3486 | "name": "Nicolas Grekas",
3487 | "email": "p@tchwork.com"
3488 | },
3489 | {
3490 | "name": "Symfony Community",
3491 | "homepage": "https://symfony.com/contributors"
3492 | }
3493 | ],
3494 | "description": "Symfony polyfill for the Mbstring extension",
3495 | "homepage": "https://symfony.com",
3496 | "keywords": [
3497 | "compatibility",
3498 | "mbstring",
3499 | "polyfill",
3500 | "portable",
3501 | "shim"
3502 | ],
3503 | "support": {
3504 | "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.25.0"
3505 | },
3506 | "funding": [
3507 | {
3508 | "url": "https://symfony.com/sponsor",
3509 | "type": "custom"
3510 | },
3511 | {
3512 | "url": "https://github.com/fabpot",
3513 | "type": "github"
3514 | },
3515 | {
3516 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
3517 | "type": "tidelift"
3518 | }
3519 | ],
3520 | "time": "2021-11-30T18:21:41+00:00"
3521 | },
3522 | {
3523 | "name": "symfony/polyfill-php81",
3524 | "version": "v1.25.0",
3525 | "source": {
3526 | "type": "git",
3527 | "url": "https://github.com/symfony/polyfill-php81.git",
3528 | "reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f"
3529 | },
3530 | "dist": {
3531 | "type": "zip",
3532 | "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/5de4ba2d41b15f9bd0e19b2ab9674135813ec98f",
3533 | "reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f",
3534 | "shasum": ""
3535 | },
3536 | "require": {
3537 | "php": ">=7.1"
3538 | },
3539 | "type": "library",
3540 | "extra": {
3541 | "branch-alias": {
3542 | "dev-main": "1.23-dev"
3543 | },
3544 | "thanks": {
3545 | "name": "symfony/polyfill",
3546 | "url": "https://github.com/symfony/polyfill"
3547 | }
3548 | },
3549 | "autoload": {
3550 | "files": [
3551 | "bootstrap.php"
3552 | ],
3553 | "psr-4": {
3554 | "Symfony\\Polyfill\\Php81\\": ""
3555 | },
3556 | "classmap": [
3557 | "Resources/stubs"
3558 | ]
3559 | },
3560 | "notification-url": "https://packagist.org/downloads/",
3561 | "license": [
3562 | "MIT"
3563 | ],
3564 | "authors": [
3565 | {
3566 | "name": "Nicolas Grekas",
3567 | "email": "p@tchwork.com"
3568 | },
3569 | {
3570 | "name": "Symfony Community",
3571 | "homepage": "https://symfony.com/contributors"
3572 | }
3573 | ],
3574 | "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
3575 | "homepage": "https://symfony.com",
3576 | "keywords": [
3577 | "compatibility",
3578 | "polyfill",
3579 | "portable",
3580 | "shim"
3581 | ],
3582 | "support": {
3583 | "source": "https://github.com/symfony/polyfill-php81/tree/v1.25.0"
3584 | },
3585 | "funding": [
3586 | {
3587 | "url": "https://symfony.com/sponsor",
3588 | "type": "custom"
3589 | },
3590 | {
3591 | "url": "https://github.com/fabpot",
3592 | "type": "github"
3593 | },
3594 | {
3595 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
3596 | "type": "tidelift"
3597 | }
3598 | ],
3599 | "time": "2021-09-13T13:58:11+00:00"
3600 | },
3601 | {
3602 | "name": "symfony/service-contracts",
3603 | "version": "v3.0.1",
3604 | "source": {
3605 | "type": "git",
3606 | "url": "https://github.com/symfony/service-contracts.git",
3607 | "reference": "e517458f278c2131ca9f262f8fbaf01410f2c65c"
3608 | },
3609 | "dist": {
3610 | "type": "zip",
3611 | "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e517458f278c2131ca9f262f8fbaf01410f2c65c",
3612 | "reference": "e517458f278c2131ca9f262f8fbaf01410f2c65c",
3613 | "shasum": ""
3614 | },
3615 | "require": {
3616 | "php": ">=8.0.2",
3617 | "psr/container": "^2.0"
3618 | },
3619 | "conflict": {
3620 | "ext-psr": "<1.1|>=2"
3621 | },
3622 | "suggest": {
3623 | "symfony/service-implementation": ""
3624 | },
3625 | "type": "library",
3626 | "extra": {
3627 | "branch-alias": {
3628 | "dev-main": "3.0-dev"
3629 | },
3630 | "thanks": {
3631 | "name": "symfony/contracts",
3632 | "url": "https://github.com/symfony/contracts"
3633 | }
3634 | },
3635 | "autoload": {
3636 | "psr-4": {
3637 | "Symfony\\Contracts\\Service\\": ""
3638 | }
3639 | },
3640 | "notification-url": "https://packagist.org/downloads/",
3641 | "license": [
3642 | "MIT"
3643 | ],
3644 | "authors": [
3645 | {
3646 | "name": "Nicolas Grekas",
3647 | "email": "p@tchwork.com"
3648 | },
3649 | {
3650 | "name": "Symfony Community",
3651 | "homepage": "https://symfony.com/contributors"
3652 | }
3653 | ],
3654 | "description": "Generic abstractions related to writing services",
3655 | "homepage": "https://symfony.com",
3656 | "keywords": [
3657 | "abstractions",
3658 | "contracts",
3659 | "decoupling",
3660 | "interfaces",
3661 | "interoperability",
3662 | "standards"
3663 | ],
3664 | "support": {
3665 | "source": "https://github.com/symfony/service-contracts/tree/v3.0.1"
3666 | },
3667 | "funding": [
3668 | {
3669 | "url": "https://symfony.com/sponsor",
3670 | "type": "custom"
3671 | },
3672 | {
3673 | "url": "https://github.com/fabpot",
3674 | "type": "github"
3675 | },
3676 | {
3677 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
3678 | "type": "tidelift"
3679 | }
3680 | ],
3681 | "time": "2022-03-13T20:10:05+00:00"
3682 | },
3683 | {
3684 | "name": "symfony/stopwatch",
3685 | "version": "v6.0.5",
3686 | "source": {
3687 | "type": "git",
3688 | "url": "https://github.com/symfony/stopwatch.git",
3689 | "reference": "f2c1780607ec6502f2121d9729fd8150a655d337"
3690 | },
3691 | "dist": {
3692 | "type": "zip",
3693 | "url": "https://api.github.com/repos/symfony/stopwatch/zipball/f2c1780607ec6502f2121d9729fd8150a655d337",
3694 | "reference": "f2c1780607ec6502f2121d9729fd8150a655d337",
3695 | "shasum": ""
3696 | },
3697 | "require": {
3698 | "php": ">=8.0.2",
3699 | "symfony/service-contracts": "^1|^2|^3"
3700 | },
3701 | "type": "library",
3702 | "autoload": {
3703 | "psr-4": {
3704 | "Symfony\\Component\\Stopwatch\\": ""
3705 | },
3706 | "exclude-from-classmap": [
3707 | "/Tests/"
3708 | ]
3709 | },
3710 | "notification-url": "https://packagist.org/downloads/",
3711 | "license": [
3712 | "MIT"
3713 | ],
3714 | "authors": [
3715 | {
3716 | "name": "Fabien Potencier",
3717 | "email": "fabien@symfony.com"
3718 | },
3719 | {
3720 | "name": "Symfony Community",
3721 | "homepage": "https://symfony.com/contributors"
3722 | }
3723 | ],
3724 | "description": "Provides a way to profile code",
3725 | "homepage": "https://symfony.com",
3726 | "support": {
3727 | "source": "https://github.com/symfony/stopwatch/tree/v6.0.5"
3728 | },
3729 | "funding": [
3730 | {
3731 | "url": "https://symfony.com/sponsor",
3732 | "type": "custom"
3733 | },
3734 | {
3735 | "url": "https://github.com/fabpot",
3736 | "type": "github"
3737 | },
3738 | {
3739 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
3740 | "type": "tidelift"
3741 | }
3742 | ],
3743 | "time": "2022-02-21T17:15:17+00:00"
3744 | },
3745 | {
3746 | "name": "symfony/string",
3747 | "version": "v6.0.8",
3748 | "source": {
3749 | "type": "git",
3750 | "url": "https://github.com/symfony/string.git",
3751 | "reference": "ac0aa5c2282e0de624c175b68d13f2c8f2e2649d"
3752 | },
3753 | "dist": {
3754 | "type": "zip",
3755 | "url": "https://api.github.com/repos/symfony/string/zipball/ac0aa5c2282e0de624c175b68d13f2c8f2e2649d",
3756 | "reference": "ac0aa5c2282e0de624c175b68d13f2c8f2e2649d",
3757 | "shasum": ""
3758 | },
3759 | "require": {
3760 | "php": ">=8.0.2",
3761 | "symfony/polyfill-ctype": "~1.8",
3762 | "symfony/polyfill-intl-grapheme": "~1.0",
3763 | "symfony/polyfill-intl-normalizer": "~1.0",
3764 | "symfony/polyfill-mbstring": "~1.0"
3765 | },
3766 | "conflict": {
3767 | "symfony/translation-contracts": "<2.0"
3768 | },
3769 | "require-dev": {
3770 | "symfony/error-handler": "^5.4|^6.0",
3771 | "symfony/http-client": "^5.4|^6.0",
3772 | "symfony/translation-contracts": "^2.0|^3.0",
3773 | "symfony/var-exporter": "^5.4|^6.0"
3774 | },
3775 | "type": "library",
3776 | "autoload": {
3777 | "files": [
3778 | "Resources/functions.php"
3779 | ],
3780 | "psr-4": {
3781 | "Symfony\\Component\\String\\": ""
3782 | },
3783 | "exclude-from-classmap": [
3784 | "/Tests/"
3785 | ]
3786 | },
3787 | "notification-url": "https://packagist.org/downloads/",
3788 | "license": [
3789 | "MIT"
3790 | ],
3791 | "authors": [
3792 | {
3793 | "name": "Nicolas Grekas",
3794 | "email": "p@tchwork.com"
3795 | },
3796 | {
3797 | "name": "Symfony Community",
3798 | "homepage": "https://symfony.com/contributors"
3799 | }
3800 | ],
3801 | "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way",
3802 | "homepage": "https://symfony.com",
3803 | "keywords": [
3804 | "grapheme",
3805 | "i18n",
3806 | "string",
3807 | "unicode",
3808 | "utf-8",
3809 | "utf8"
3810 | ],
3811 | "support": {
3812 | "source": "https://github.com/symfony/string/tree/v6.0.8"
3813 | },
3814 | "funding": [
3815 | {
3816 | "url": "https://symfony.com/sponsor",
3817 | "type": "custom"
3818 | },
3819 | {
3820 | "url": "https://github.com/fabpot",
3821 | "type": "github"
3822 | },
3823 | {
3824 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
3825 | "type": "tidelift"
3826 | }
3827 | ],
3828 | "time": "2022-04-22T08:18:02+00:00"
3829 | },
3830 | {
3831 | "name": "theseer/tokenizer",
3832 | "version": "1.2.1",
3833 | "source": {
3834 | "type": "git",
3835 | "url": "https://github.com/theseer/tokenizer.git",
3836 | "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
3837 | },
3838 | "dist": {
3839 | "type": "zip",
3840 | "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
3841 | "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
3842 | "shasum": ""
3843 | },
3844 | "require": {
3845 | "ext-dom": "*",
3846 | "ext-tokenizer": "*",
3847 | "ext-xmlwriter": "*",
3848 | "php": "^7.2 || ^8.0"
3849 | },
3850 | "type": "library",
3851 | "autoload": {
3852 | "classmap": [
3853 | "src/"
3854 | ]
3855 | },
3856 | "notification-url": "https://packagist.org/downloads/",
3857 | "license": [
3858 | "BSD-3-Clause"
3859 | ],
3860 | "authors": [
3861 | {
3862 | "name": "Arne Blankerts",
3863 | "email": "arne@blankerts.de",
3864 | "role": "Developer"
3865 | }
3866 | ],
3867 | "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
3868 | "support": {
3869 | "issues": "https://github.com/theseer/tokenizer/issues",
3870 | "source": "https://github.com/theseer/tokenizer/tree/1.2.1"
3871 | },
3872 | "funding": [
3873 | {
3874 | "url": "https://github.com/theseer",
3875 | "type": "github"
3876 | }
3877 | ],
3878 | "time": "2021-07-28T10:34:58+00:00"
3879 | },
3880 | {
3881 | "name": "webmozart/assert",
3882 | "version": "1.10.0",
3883 | "source": {
3884 | "type": "git",
3885 | "url": "https://github.com/webmozarts/assert.git",
3886 | "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25"
3887 | },
3888 | "dist": {
3889 | "type": "zip",
3890 | "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25",
3891 | "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25",
3892 | "shasum": ""
3893 | },
3894 | "require": {
3895 | "php": "^7.2 || ^8.0",
3896 | "symfony/polyfill-ctype": "^1.8"
3897 | },
3898 | "conflict": {
3899 | "phpstan/phpstan": "<0.12.20",
3900 | "vimeo/psalm": "<4.6.1 || 4.6.2"
3901 | },
3902 | "require-dev": {
3903 | "phpunit/phpunit": "^8.5.13"
3904 | },
3905 | "type": "library",
3906 | "extra": {
3907 | "branch-alias": {
3908 | "dev-master": "1.10-dev"
3909 | }
3910 | },
3911 | "autoload": {
3912 | "psr-4": {
3913 | "Webmozart\\Assert\\": "src/"
3914 | }
3915 | },
3916 | "notification-url": "https://packagist.org/downloads/",
3917 | "license": [
3918 | "MIT"
3919 | ],
3920 | "authors": [
3921 | {
3922 | "name": "Bernhard Schussek",
3923 | "email": "bschussek@gmail.com"
3924 | }
3925 | ],
3926 | "description": "Assertions to validate method input/output with nice error messages.",
3927 | "keywords": [
3928 | "assert",
3929 | "check",
3930 | "validate"
3931 | ],
3932 | "support": {
3933 | "issues": "https://github.com/webmozarts/assert/issues",
3934 | "source": "https://github.com/webmozarts/assert/tree/1.10.0"
3935 | },
3936 | "time": "2021-03-09T10:59:23+00:00"
3937 | }
3938 | ],
3939 | "aliases": [],
3940 | "minimum-stability": "stable",
3941 | "stability-flags": [],
3942 | "prefer-stable": false,
3943 | "prefer-lowest": false,
3944 | "platform": [],
3945 | "platform-dev": [],
3946 | "plugin-api-version": "2.6.0"
3947 | }
3948 |
--------------------------------------------------------------------------------
/phpcs.xml.dist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Yaml Expander PHP CodeSniffer configuration.
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | .
14 |
15 |
16 |
17 |
18 | var/
19 | vendor/*
20 | tests/resources/*
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/phpunit.xml.dist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
13 |
14 |
15 | src
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 | tests/src
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/src/Stringifier.php:
--------------------------------------------------------------------------------
1 | logger = $logger;
33 | $this->expander = new Expander();
34 | $this->expander->setLogger($logger);
35 | $this->expander->setStringifier(new Stringifier());
36 | }
37 |
38 | /**
39 | * Parses a YAML string and expands property placeholders.
40 | *
41 | * Placeholders should formatted as ${parent.child}.
42 | *
43 | * @param string $yaml_string
44 | * A string of YAML.
45 | * @param array $reference_array
46 | * Optional. An array of reference values. This is not operated upon but is used as a
47 | * reference to provide supplemental values for property expansion.
48 | *
49 | * @return array
50 | * The modified array in which placeholders have been replaced with
51 | * values.
52 | */
53 | public function parse($yaml_string, $reference_array = [])
54 | {
55 | $array = Yaml::parse($yaml_string);
56 | return $this->expander->expandArrayProperties($array, $reference_array);
57 | }
58 |
59 | /**
60 | * Expands property placeholders in an array.
61 | *
62 | * Placeholders should formatted as ${parent.child}.
63 | *
64 | * @param array $array
65 | * An array containing properties to expand.
66 | *
67 | * @return array
68 | * The modified array in which placeholders have been replaced with
69 | * values.
70 | */
71 | public function expandArrayProperties($array, $reference_array = [])
72 | {
73 | return $this->expander->expandArrayProperties($array, $reference_array);
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/tests/resources/valid.yml:
--------------------------------------------------------------------------------
1 | # This file should contain only valid YAML.
2 | type: book
3 | book:
4 | title: Dune
5 | author: Frank Herbert
6 | copyright: ${book.author} 1965
7 | protaganist: ${characters.0.name}
8 | media:
9 | - hardcover
10 | # Use a nested key to reference an external value.
11 | nested-reference: ${book.sequel}
12 | characters:
13 | - name: Paul Atreides
14 | occupation: Kwisatz Haderach
15 | aliases:
16 | - Usul
17 | - Muad'Dib
18 | - The Preacher
19 | - name: Duncan Idaho
20 | occupation: Swordmaster
21 | summary: ${book.title} by ${book.author}
22 | # This is a complete fake property.
23 | publisher: ${not.real.property}
24 | # series.books is not defined in this YAML file, but is passed in to the parser by the application.
25 | sequels: ${book.sequel}, and others.
26 | # Reference one real value and one fake value.
27 | available-products: ${book.media.1}, ${book.media.0}
28 | # Nested property, should resolve to ${book.title} and then 'Dune'.
29 | product-name: ${${type}.title}
30 | # Represent a few more data types and formats.
31 | boolean-value: true
32 | null-value: null
33 | inline-array: [ one, two, three ]
34 | expand-array: ${inline-array}
35 | env-test: ${env.test}
--------------------------------------------------------------------------------
/tests/src/YamlExpanderTest.php:
--------------------------------------------------------------------------------
1 | expandArrayProperties($array);
28 | $this->assertEquals('gomjabbar', $expanded['env-test']);
29 | $this->assertEquals('Frank Herbert 1965', $expanded['book']['copyright']);
30 | $this->assertEquals('Paul Atreides', $expanded['book']['protaganist']);
31 | $this->assertEquals('Dune by Frank Herbert', $expanded['summary']);
32 | $this->assertEquals('${book.media.1}, hardcover', $expanded['available-products']);
33 | $this->assertEquals('Dune', $expanded['product-name']);
34 | $this->assertEquals(Yaml::dump($array['inline-array'], 0), $expanded['expand-array']);
35 |
36 | $expanded = $expander->expandArrayProperties($array, $reference_array);
37 | $this->assertEquals('Dune Messiah, and others.', $expanded['sequels']);
38 | $this->assertEquals('Dune Messiah', $expanded['book']['nested-reference']);
39 | }
40 |
41 | /**
42 | * Tests YamlExpander::parse().
43 | *
44 | * @param string $filename
45 | * @param array $reference_array
46 | *
47 | * @dataProvider providerYaml
48 | */
49 | public function testParse($filename, $reference_array)
50 | {
51 | $yaml_string = file_get_contents(__DIR__ . "/../resources/$filename");
52 | $expander = new YamlExpander(new NullLogger());
53 | $expanded = $expander->parse($yaml_string);
54 | $this->assertEquals('Frank Herbert 1965', $expanded['book']['copyright']);
55 | $this->assertEquals('Paul Atreides', $expanded['book']['protaganist']);
56 | $this->assertEquals('Dune by Frank Herbert', $expanded['summary']);
57 | $this->assertEquals('${book.media.1}, hardcover', $expanded['available-products']);
58 |
59 | $expanded = $expander->parse($yaml_string, $reference_array);
60 | $this->assertEquals('Dune Messiah, and others.', $expanded['sequels']);
61 | $this->assertEquals('Dune Messiah', $expanded['book']['nested-reference']);
62 | }
63 |
64 | /**
65 | * @return array
66 | * An array of values to test.
67 | */
68 | public function providerYaml()
69 | {
70 | return [
71 | ['valid.yml', [
72 | 'book' => [
73 | 'sequel' => 'Dune Messiah'
74 | ]
75 | ]],
76 | ];
77 | }
78 |
79 | /**
80 | * Tests YamlExpander::expandProperty().
81 | */
82 | public function testStringifyArray()
83 | {
84 | $array = [
85 | 0 => 'one',
86 | 1 => 'two',
87 | 2 => 'three',
88 | ];
89 | $string = Stringifier::stringifyArray($array);
90 | $this->assertEquals('[one, two, three]', $string);
91 | }
92 | }
93 |
--------------------------------------------------------------------------------