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