├── .gitignore
├── .travis.yml
├── LICENSE
├── composer.json
├── composer.lock
├── example.php
├── readme.MD
├── runCodeSniffer.sh
├── runUnitTests.sh
├── src
├── FloatHex
│ ├── Float32Info.php
│ └── FloatInfo.php
└── functions.php
└── test
├── FloatHexTest
├── BaseTestCase.php
└── FloatHexTest.php
├── codesniffer.xml
├── codesniffer_tests.xml
├── phpunit.xml
└── phpunit_bootstrap.php
/.gitignore:
--------------------------------------------------------------------------------
1 | /vendor/
2 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | dist: trusty
2 |
3 | language: php
4 |
5 | php:
6 | - "7.4"
7 | # - "nightly"
8 |
9 | before_script:
10 | - composer install
11 |
12 | script:
13 | - bash runCodeSniffer.sh
14 | - bash runUnitTests.sh
15 |
16 | notifications:
17 | email: false
18 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Danack
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "danack/float-hex",
3 | "description": "Float to hex strings, and float comparison.",
4 | "type": "library",
5 | "license": "MIT",
6 | "authors": [
7 | {
8 | "name": "Danack",
9 | "email": "Danack@basereality.com"
10 | }
11 | ],
12 | "autoload": {
13 | "files": [
14 | "src/functions.php"
15 | ],
16 | "psr-0": {
17 | "FloatHex\\": "src/"
18 | }
19 | },
20 | "autoload-dev": {
21 | "psr-0": {
22 | "FloatHexTest\\": "test/"
23 | }
24 | },
25 | "require": {
26 | "php" : ">= 7.4"
27 | },
28 | "require-dev": {
29 | "danack/coding-standard": "0.2.0",
30 | "infection/infection": "^0.15.3",
31 | "phpunit/phpunit": "9.0.1",
32 | "phpstan/phpstan-strict-rules": "^0.11",
33 | "slevomat/coding-standard": "^4.8.4",
34 | "squizlabs/php_codesniffer": "^3.3.1",
35 | "yoast/yoastcs": "1.0"
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/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": "a388eedee6c193dd81be4bad85ba7648",
8 | "packages": [],
9 | "packages-dev": [
10 | {
11 | "name": "composer/package-versions-deprecated",
12 | "version": "1.10.99.1",
13 | "source": {
14 | "type": "git",
15 | "url": "https://github.com/composer/package-versions-deprecated.git",
16 | "reference": "68c9b502036e820c33445ff4d174327f6bb87486"
17 | },
18 | "dist": {
19 | "type": "zip",
20 | "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/68c9b502036e820c33445ff4d174327f6bb87486",
21 | "reference": "68c9b502036e820c33445ff4d174327f6bb87486",
22 | "shasum": ""
23 | },
24 | "require": {
25 | "composer-plugin-api": "^1.1.0 || ^2.0",
26 | "php": "^7 || ^8"
27 | },
28 | "replace": {
29 | "ocramius/package-versions": "1.10.99"
30 | },
31 | "require-dev": {
32 | "composer/composer": "^1.9.3 || ^2.0@dev",
33 | "ext-zip": "^1.13",
34 | "phpunit/phpunit": "^6.5 || ^7"
35 | },
36 | "type": "composer-plugin",
37 | "extra": {
38 | "class": "PackageVersions\\Installer",
39 | "branch-alias": {
40 | "dev-master": "1.x-dev"
41 | }
42 | },
43 | "autoload": {
44 | "psr-4": {
45 | "PackageVersions\\": "src/PackageVersions"
46 | }
47 | },
48 | "notification-url": "https://packagist.org/downloads/",
49 | "license": [
50 | "MIT"
51 | ],
52 | "authors": [
53 | {
54 | "name": "Marco Pivetta",
55 | "email": "ocramius@gmail.com"
56 | },
57 | {
58 | "name": "Jordi Boggiano",
59 | "email": "j.boggiano@seld.be"
60 | }
61 | ],
62 | "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
63 | "time": "2020-08-13T12:55:41+00:00"
64 | },
65 | {
66 | "name": "composer/xdebug-handler",
67 | "version": "1.4.3",
68 | "source": {
69 | "type": "git",
70 | "url": "https://github.com/composer/xdebug-handler.git",
71 | "reference": "ebd27a9866ae8254e873866f795491f02418c5a5"
72 | },
73 | "dist": {
74 | "type": "zip",
75 | "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ebd27a9866ae8254e873866f795491f02418c5a5",
76 | "reference": "ebd27a9866ae8254e873866f795491f02418c5a5",
77 | "shasum": ""
78 | },
79 | "require": {
80 | "php": "^5.3.2 || ^7.0 || ^8.0",
81 | "psr/log": "^1.0"
82 | },
83 | "require-dev": {
84 | "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8"
85 | },
86 | "type": "library",
87 | "autoload": {
88 | "psr-4": {
89 | "Composer\\XdebugHandler\\": "src"
90 | }
91 | },
92 | "notification-url": "https://packagist.org/downloads/",
93 | "license": [
94 | "MIT"
95 | ],
96 | "authors": [
97 | {
98 | "name": "John Stevenson",
99 | "email": "john-stevenson@blueyonder.co.uk"
100 | }
101 | ],
102 | "description": "Restarts a process without Xdebug.",
103 | "keywords": [
104 | "Xdebug",
105 | "performance"
106 | ],
107 | "time": "2020-08-19T10:27:58+00:00"
108 | },
109 | {
110 | "name": "danack/coding-standard",
111 | "version": "0.2.0",
112 | "source": {
113 | "type": "git",
114 | "url": "https://github.com/Danack/coding-standard.git",
115 | "reference": "87cec5125d7fcc21e4728dee253dcf71876664be"
116 | },
117 | "dist": {
118 | "type": "zip",
119 | "url": "https://api.github.com/repos/Danack/coding-standard/zipball/87cec5125d7fcc21e4728dee253dcf71876664be",
120 | "reference": "87cec5125d7fcc21e4728dee253dcf71876664be",
121 | "shasum": ""
122 | },
123 | "require": {
124 | "php": "^7.1",
125 | "squizlabs/php_codesniffer": "^3.4.0"
126 | },
127 | "type": "phpcodesniffer-standard",
128 | "notification-url": "https://packagist.org/downloads/",
129 | "license": [
130 | "MIT"
131 | ],
132 | "description": "Danack Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.",
133 | "time": "2020-03-19T21:27:07+00:00"
134 | },
135 | {
136 | "name": "doctrine/instantiator",
137 | "version": "1.3.1",
138 | "source": {
139 | "type": "git",
140 | "url": "https://github.com/doctrine/instantiator.git",
141 | "reference": "f350df0268e904597e3bd9c4685c53e0e333feea"
142 | },
143 | "dist": {
144 | "type": "zip",
145 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f350df0268e904597e3bd9c4685c53e0e333feea",
146 | "reference": "f350df0268e904597e3bd9c4685c53e0e333feea",
147 | "shasum": ""
148 | },
149 | "require": {
150 | "php": "^7.1 || ^8.0"
151 | },
152 | "require-dev": {
153 | "doctrine/coding-standard": "^6.0",
154 | "ext-pdo": "*",
155 | "ext-phar": "*",
156 | "phpbench/phpbench": "^0.13",
157 | "phpstan/phpstan-phpunit": "^0.11",
158 | "phpstan/phpstan-shim": "^0.11",
159 | "phpunit/phpunit": "^7.0"
160 | },
161 | "type": "library",
162 | "extra": {
163 | "branch-alias": {
164 | "dev-master": "1.2.x-dev"
165 | }
166 | },
167 | "autoload": {
168 | "psr-4": {
169 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
170 | }
171 | },
172 | "notification-url": "https://packagist.org/downloads/",
173 | "license": [
174 | "MIT"
175 | ],
176 | "authors": [
177 | {
178 | "name": "Marco Pivetta",
179 | "email": "ocramius@gmail.com",
180 | "homepage": "http://ocramius.github.com/"
181 | }
182 | ],
183 | "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
184 | "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
185 | "keywords": [
186 | "constructor",
187 | "instantiate"
188 | ],
189 | "time": "2020-05-29T17:27:14+00:00"
190 | },
191 | {
192 | "name": "infection/infection",
193 | "version": "0.15.3",
194 | "source": {
195 | "type": "git",
196 | "url": "https://github.com/infection/infection.git",
197 | "reference": "c3fc380317eb14d213e1e1962801ee9325129fb2"
198 | },
199 | "dist": {
200 | "type": "zip",
201 | "url": "https://api.github.com/repos/infection/infection/zipball/c3fc380317eb14d213e1e1962801ee9325129fb2",
202 | "reference": "c3fc380317eb14d213e1e1962801ee9325129fb2",
203 | "shasum": ""
204 | },
205 | "require": {
206 | "composer/xdebug-handler": "^1.3.3",
207 | "ext-dom": "*",
208 | "ext-json": "*",
209 | "ext-libxml": "*",
210 | "justinrainbow/json-schema": "^5.2",
211 | "nikic/php-parser": "^4.2.2",
212 | "ocramius/package-versions": "^1.2",
213 | "php": "^7.2.9",
214 | "pimple/pimple": "^3.2",
215 | "sebastian/diff": "^3.0.2 || ^4.0",
216 | "seld/jsonlint": "^1.7",
217 | "symfony/console": "^3.4.29 || ^4.0 || ^5.0",
218 | "symfony/filesystem": "^3.4.29 || ^4.0 || ^5.0",
219 | "symfony/finder": "^3.4.29 || ^4.0 || ^5.0",
220 | "symfony/process": "^3.4.29 || ^4.0 || ^5.0",
221 | "symfony/yaml": "^3.4.29 || ^4.0 || ^5.0",
222 | "thecodingmachine/safe": "^1.0",
223 | "webmozart/assert": "^1.3",
224 | "webmozart/path-util": "^2.3"
225 | },
226 | "conflict": {
227 | "symfony/console": "=4.1.5"
228 | },
229 | "require-dev": {
230 | "helmich/phpunit-json-assert": "^3.0",
231 | "phpunit/phpunit": "^8.2.5 <8.4",
232 | "symfony/phpunit-bridge": "^4.3.4 || ^5.0"
233 | },
234 | "bin": [
235 | "bin/infection"
236 | ],
237 | "type": "library",
238 | "autoload": {
239 | "psr-4": {
240 | "Infection\\": "src/"
241 | }
242 | },
243 | "notification-url": "https://packagist.org/downloads/",
244 | "license": [
245 | "BSD-3-Clause"
246 | ],
247 | "authors": [
248 | {
249 | "name": "Maks Rafalko",
250 | "email": "maks.rafalko@gmail.com",
251 | "homepage": "https://twitter.com/maks_rafalko"
252 | },
253 | {
254 | "name": "Oleg Zhulnev",
255 | "homepage": "https://github.com/sidz"
256 | },
257 | {
258 | "name": "Gert de Pagter",
259 | "homepage": "https://github.com/BackEndTea"
260 | },
261 | {
262 | "name": "Théo FIDRY",
263 | "email": "theo.fidry@gmail.com",
264 | "homepage": "https://twitter.com/tfidry"
265 | },
266 | {
267 | "name": "Alexey Kopytko",
268 | "email": "alexey@kopytko.com",
269 | "homepage": "https://www.alexeykopytko.com"
270 | },
271 | {
272 | "name": "Andreas Möller",
273 | "email": "am@localheinz.com",
274 | "homepage": "https://localheinz.com"
275 | }
276 | ],
277 | "description": "Infection is a Mutation Testing framework for PHP. The mutation adequacy score can be used to measure the effectiveness of a test set in terms of its ability to detect faults.",
278 | "keywords": [
279 | "coverage",
280 | "mutant",
281 | "mutation framework",
282 | "mutation testing",
283 | "testing",
284 | "unit testing"
285 | ],
286 | "time": "2020-02-16T19:33:49+00:00"
287 | },
288 | {
289 | "name": "jean85/pretty-package-versions",
290 | "version": "1.5.0",
291 | "source": {
292 | "type": "git",
293 | "url": "https://github.com/Jean85/pretty-package-versions.git",
294 | "reference": "e9f4324e88b8664be386d90cf60fbc202e1f7fc9"
295 | },
296 | "dist": {
297 | "type": "zip",
298 | "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/e9f4324e88b8664be386d90cf60fbc202e1f7fc9",
299 | "reference": "e9f4324e88b8664be386d90cf60fbc202e1f7fc9",
300 | "shasum": ""
301 | },
302 | "require": {
303 | "composer/package-versions-deprecated": "^1.8.0",
304 | "php": "^7.0"
305 | },
306 | "require-dev": {
307 | "phpunit/phpunit": "^6.0"
308 | },
309 | "type": "library",
310 | "extra": {
311 | "branch-alias": {
312 | "dev-master": "1.x-dev"
313 | }
314 | },
315 | "autoload": {
316 | "psr-4": {
317 | "Jean85\\": "src/"
318 | }
319 | },
320 | "notification-url": "https://packagist.org/downloads/",
321 | "license": [
322 | "MIT"
323 | ],
324 | "authors": [
325 | {
326 | "name": "Alessandro Lai",
327 | "email": "alessandro.lai85@gmail.com"
328 | }
329 | ],
330 | "description": "A wrapper for ocramius/package-versions to get pretty versions strings",
331 | "keywords": [
332 | "composer",
333 | "package",
334 | "release",
335 | "versions"
336 | ],
337 | "time": "2020-06-23T06:23:06+00:00"
338 | },
339 | {
340 | "name": "justinrainbow/json-schema",
341 | "version": "5.2.10",
342 | "source": {
343 | "type": "git",
344 | "url": "https://github.com/justinrainbow/json-schema.git",
345 | "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b"
346 | },
347 | "dist": {
348 | "type": "zip",
349 | "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b",
350 | "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b",
351 | "shasum": ""
352 | },
353 | "require": {
354 | "php": ">=5.3.3"
355 | },
356 | "require-dev": {
357 | "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1",
358 | "json-schema/json-schema-test-suite": "1.2.0",
359 | "phpunit/phpunit": "^4.8.35"
360 | },
361 | "bin": [
362 | "bin/validate-json"
363 | ],
364 | "type": "library",
365 | "extra": {
366 | "branch-alias": {
367 | "dev-master": "5.0.x-dev"
368 | }
369 | },
370 | "autoload": {
371 | "psr-4": {
372 | "JsonSchema\\": "src/JsonSchema/"
373 | }
374 | },
375 | "notification-url": "https://packagist.org/downloads/",
376 | "license": [
377 | "MIT"
378 | ],
379 | "authors": [
380 | {
381 | "name": "Bruno Prieto Reis",
382 | "email": "bruno.p.reis@gmail.com"
383 | },
384 | {
385 | "name": "Justin Rainbow",
386 | "email": "justin.rainbow@gmail.com"
387 | },
388 | {
389 | "name": "Igor Wiedler",
390 | "email": "igor@wiedler.ch"
391 | },
392 | {
393 | "name": "Robert Schönthal",
394 | "email": "seroscho@googlemail.com"
395 | }
396 | ],
397 | "description": "A library to validate a json schema.",
398 | "homepage": "https://github.com/justinrainbow/json-schema",
399 | "keywords": [
400 | "json",
401 | "schema"
402 | ],
403 | "time": "2020-05-27T16:41:55+00:00"
404 | },
405 | {
406 | "name": "myclabs/deep-copy",
407 | "version": "1.10.1",
408 | "source": {
409 | "type": "git",
410 | "url": "https://github.com/myclabs/DeepCopy.git",
411 | "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5"
412 | },
413 | "dist": {
414 | "type": "zip",
415 | "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/969b211f9a51aa1f6c01d1d2aef56d3bd91598e5",
416 | "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5",
417 | "shasum": ""
418 | },
419 | "require": {
420 | "php": "^7.1 || ^8.0"
421 | },
422 | "replace": {
423 | "myclabs/deep-copy": "self.version"
424 | },
425 | "require-dev": {
426 | "doctrine/collections": "^1.0",
427 | "doctrine/common": "^2.6",
428 | "phpunit/phpunit": "^7.1"
429 | },
430 | "type": "library",
431 | "autoload": {
432 | "psr-4": {
433 | "DeepCopy\\": "src/DeepCopy/"
434 | },
435 | "files": [
436 | "src/DeepCopy/deep_copy.php"
437 | ]
438 | },
439 | "notification-url": "https://packagist.org/downloads/",
440 | "license": [
441 | "MIT"
442 | ],
443 | "description": "Create deep copies (clones) of your objects",
444 | "keywords": [
445 | "clone",
446 | "copy",
447 | "duplicate",
448 | "object",
449 | "object graph"
450 | ],
451 | "time": "2020-06-29T13:22:24+00:00"
452 | },
453 | {
454 | "name": "nette/bootstrap",
455 | "version": "v3.0.2",
456 | "source": {
457 | "type": "git",
458 | "url": "https://github.com/nette/bootstrap.git",
459 | "reference": "67830a65b42abfb906f8e371512d336ebfb5da93"
460 | },
461 | "dist": {
462 | "type": "zip",
463 | "url": "https://api.github.com/repos/nette/bootstrap/zipball/67830a65b42abfb906f8e371512d336ebfb5da93",
464 | "reference": "67830a65b42abfb906f8e371512d336ebfb5da93",
465 | "shasum": ""
466 | },
467 | "require": {
468 | "nette/di": "^3.0",
469 | "nette/utils": "^3.0",
470 | "php": ">=7.1"
471 | },
472 | "conflict": {
473 | "tracy/tracy": "<2.6"
474 | },
475 | "require-dev": {
476 | "latte/latte": "^2.2",
477 | "nette/application": "^3.0",
478 | "nette/caching": "^3.0",
479 | "nette/database": "^3.0",
480 | "nette/forms": "^3.0",
481 | "nette/http": "^3.0",
482 | "nette/mail": "^3.0",
483 | "nette/robot-loader": "^3.0",
484 | "nette/safe-stream": "^2.2",
485 | "nette/security": "^3.0",
486 | "nette/tester": "^2.0",
487 | "phpstan/phpstan-nette": "^0.12",
488 | "tracy/tracy": "^2.6"
489 | },
490 | "suggest": {
491 | "nette/robot-loader": "to use Configurator::createRobotLoader()",
492 | "tracy/tracy": "to use Configurator::enableTracy()"
493 | },
494 | "type": "library",
495 | "extra": {
496 | "branch-alias": {
497 | "dev-master": "3.0-dev"
498 | }
499 | },
500 | "autoload": {
501 | "classmap": [
502 | "src/"
503 | ]
504 | },
505 | "notification-url": "https://packagist.org/downloads/",
506 | "license": [
507 | "BSD-3-Clause",
508 | "GPL-2.0-only",
509 | "GPL-3.0-only"
510 | ],
511 | "authors": [
512 | {
513 | "name": "David Grudl",
514 | "homepage": "https://davidgrudl.com"
515 | },
516 | {
517 | "name": "Nette Community",
518 | "homepage": "https://nette.org/contributors"
519 | }
520 | ],
521 | "description": "🅱 Nette Bootstrap: the simple way to configure and bootstrap your Nette application.",
522 | "homepage": "https://nette.org",
523 | "keywords": [
524 | "bootstrapping",
525 | "configurator",
526 | "nette"
527 | ],
528 | "time": "2020-05-26T08:46:23+00:00"
529 | },
530 | {
531 | "name": "nette/di",
532 | "version": "v3.0.5",
533 | "source": {
534 | "type": "git",
535 | "url": "https://github.com/nette/di.git",
536 | "reference": "766e8185196a97ded4f9128db6d79a3a124b7eb6"
537 | },
538 | "dist": {
539 | "type": "zip",
540 | "url": "https://api.github.com/repos/nette/di/zipball/766e8185196a97ded4f9128db6d79a3a124b7eb6",
541 | "reference": "766e8185196a97ded4f9128db6d79a3a124b7eb6",
542 | "shasum": ""
543 | },
544 | "require": {
545 | "ext-tokenizer": "*",
546 | "nette/neon": "^3.0",
547 | "nette/php-generator": "^3.3.3",
548 | "nette/robot-loader": "^3.2",
549 | "nette/schema": "^1.0",
550 | "nette/utils": "^3.1",
551 | "php": ">=7.1"
552 | },
553 | "conflict": {
554 | "nette/bootstrap": "<3.0"
555 | },
556 | "require-dev": {
557 | "nette/tester": "^2.2",
558 | "phpstan/phpstan": "^0.12",
559 | "tracy/tracy": "^2.3"
560 | },
561 | "type": "library",
562 | "extra": {
563 | "branch-alias": {
564 | "dev-master": "3.0-dev"
565 | }
566 | },
567 | "autoload": {
568 | "classmap": [
569 | "src/"
570 | ]
571 | },
572 | "notification-url": "https://packagist.org/downloads/",
573 | "license": [
574 | "BSD-3-Clause",
575 | "GPL-2.0-only",
576 | "GPL-3.0-only"
577 | ],
578 | "authors": [
579 | {
580 | "name": "David Grudl",
581 | "homepage": "https://davidgrudl.com"
582 | },
583 | {
584 | "name": "Nette Community",
585 | "homepage": "https://nette.org/contributors"
586 | }
587 | ],
588 | "description": "💎 Nette Dependency Injection Container: Flexible, compiled and full-featured DIC with perfectly usable autowiring and support for all new PHP 7.1 features.",
589 | "homepage": "https://nette.org",
590 | "keywords": [
591 | "compiled",
592 | "di",
593 | "dic",
594 | "factory",
595 | "ioc",
596 | "nette",
597 | "static"
598 | ],
599 | "time": "2020-08-13T13:04:23+00:00"
600 | },
601 | {
602 | "name": "nette/finder",
603 | "version": "v2.5.2",
604 | "source": {
605 | "type": "git",
606 | "url": "https://github.com/nette/finder.git",
607 | "reference": "4ad2c298eb8c687dd0e74ae84206a4186eeaed50"
608 | },
609 | "dist": {
610 | "type": "zip",
611 | "url": "https://api.github.com/repos/nette/finder/zipball/4ad2c298eb8c687dd0e74ae84206a4186eeaed50",
612 | "reference": "4ad2c298eb8c687dd0e74ae84206a4186eeaed50",
613 | "shasum": ""
614 | },
615 | "require": {
616 | "nette/utils": "^2.4 || ^3.0",
617 | "php": ">=7.1"
618 | },
619 | "conflict": {
620 | "nette/nette": "<2.2"
621 | },
622 | "require-dev": {
623 | "nette/tester": "^2.0",
624 | "phpstan/phpstan": "^0.12",
625 | "tracy/tracy": "^2.3"
626 | },
627 | "type": "library",
628 | "extra": {
629 | "branch-alias": {
630 | "dev-master": "2.5-dev"
631 | }
632 | },
633 | "autoload": {
634 | "classmap": [
635 | "src/"
636 | ]
637 | },
638 | "notification-url": "https://packagist.org/downloads/",
639 | "license": [
640 | "BSD-3-Clause",
641 | "GPL-2.0",
642 | "GPL-3.0"
643 | ],
644 | "authors": [
645 | {
646 | "name": "David Grudl",
647 | "homepage": "https://davidgrudl.com"
648 | },
649 | {
650 | "name": "Nette Community",
651 | "homepage": "https://nette.org/contributors"
652 | }
653 | ],
654 | "description": "🔍 Nette Finder: find files and directories with an intuitive API.",
655 | "homepage": "https://nette.org",
656 | "keywords": [
657 | "filesystem",
658 | "glob",
659 | "iterator",
660 | "nette"
661 | ],
662 | "time": "2020-01-03T20:35:40+00:00"
663 | },
664 | {
665 | "name": "nette/neon",
666 | "version": "v3.2.1",
667 | "source": {
668 | "type": "git",
669 | "url": "https://github.com/nette/neon.git",
670 | "reference": "a5b3a60833d2ef55283a82d0c30b45d136b29e75"
671 | },
672 | "dist": {
673 | "type": "zip",
674 | "url": "https://api.github.com/repos/nette/neon/zipball/a5b3a60833d2ef55283a82d0c30b45d136b29e75",
675 | "reference": "a5b3a60833d2ef55283a82d0c30b45d136b29e75",
676 | "shasum": ""
677 | },
678 | "require": {
679 | "ext-iconv": "*",
680 | "ext-json": "*",
681 | "php": ">=7.1"
682 | },
683 | "require-dev": {
684 | "nette/tester": "^2.0",
685 | "phpstan/phpstan": "^0.12",
686 | "tracy/tracy": "^2.3"
687 | },
688 | "type": "library",
689 | "extra": {
690 | "branch-alias": {
691 | "dev-master": "3.2-dev"
692 | }
693 | },
694 | "autoload": {
695 | "classmap": [
696 | "src/"
697 | ]
698 | },
699 | "notification-url": "https://packagist.org/downloads/",
700 | "license": [
701 | "BSD-3-Clause",
702 | "GPL-2.0-only",
703 | "GPL-3.0-only"
704 | ],
705 | "authors": [
706 | {
707 | "name": "David Grudl",
708 | "homepage": "https://davidgrudl.com"
709 | },
710 | {
711 | "name": "Nette Community",
712 | "homepage": "https://nette.org/contributors"
713 | }
714 | ],
715 | "description": "🍸 Nette NEON: encodes and decodes NEON file format.",
716 | "homepage": "https://ne-on.org",
717 | "keywords": [
718 | "export",
719 | "import",
720 | "neon",
721 | "nette",
722 | "yaml"
723 | ],
724 | "time": "2020-07-31T12:28:05+00:00"
725 | },
726 | {
727 | "name": "nette/php-generator",
728 | "version": "v3.4.1",
729 | "source": {
730 | "type": "git",
731 | "url": "https://github.com/nette/php-generator.git",
732 | "reference": "7051954c534cebafd650efe8b145ac75b223cb66"
733 | },
734 | "dist": {
735 | "type": "zip",
736 | "url": "https://api.github.com/repos/nette/php-generator/zipball/7051954c534cebafd650efe8b145ac75b223cb66",
737 | "reference": "7051954c534cebafd650efe8b145ac75b223cb66",
738 | "shasum": ""
739 | },
740 | "require": {
741 | "nette/utils": "^2.4.2 || ^3.0",
742 | "php": ">=7.1"
743 | },
744 | "require-dev": {
745 | "nette/tester": "^2.0",
746 | "nikic/php-parser": "^4.4",
747 | "phpstan/phpstan": "^0.12",
748 | "tracy/tracy": "^2.3"
749 | },
750 | "suggest": {
751 | "nikic/php-parser": "to use ClassType::withBodiesFrom() & GlobalFunction::withBodyFrom()"
752 | },
753 | "type": "library",
754 | "extra": {
755 | "branch-alias": {
756 | "dev-master": "3.4-dev"
757 | }
758 | },
759 | "autoload": {
760 | "classmap": [
761 | "src/"
762 | ]
763 | },
764 | "notification-url": "https://packagist.org/downloads/",
765 | "license": [
766 | "BSD-3-Clause",
767 | "GPL-2.0-only",
768 | "GPL-3.0-only"
769 | ],
770 | "authors": [
771 | {
772 | "name": "David Grudl",
773 | "homepage": "https://davidgrudl.com"
774 | },
775 | {
776 | "name": "Nette Community",
777 | "homepage": "https://nette.org/contributors"
778 | }
779 | ],
780 | "description": "🐘 Nette PHP Generator: generates neat PHP code for you. Supports new PHP 7.4 features.",
781 | "homepage": "https://nette.org",
782 | "keywords": [
783 | "code",
784 | "nette",
785 | "php",
786 | "scaffolding"
787 | ],
788 | "time": "2020-06-19T14:31:47+00:00"
789 | },
790 | {
791 | "name": "nette/robot-loader",
792 | "version": "v3.3.0",
793 | "source": {
794 | "type": "git",
795 | "url": "https://github.com/nette/robot-loader.git",
796 | "reference": "737ff8ee1709eff053d9cc27e6c661d82395bd8b"
797 | },
798 | "dist": {
799 | "type": "zip",
800 | "url": "https://api.github.com/repos/nette/robot-loader/zipball/737ff8ee1709eff053d9cc27e6c661d82395bd8b",
801 | "reference": "737ff8ee1709eff053d9cc27e6c661d82395bd8b",
802 | "shasum": ""
803 | },
804 | "require": {
805 | "ext-tokenizer": "*",
806 | "nette/finder": "^2.5 || ^3.0",
807 | "nette/utils": "^3.0",
808 | "php": ">=7.1"
809 | },
810 | "require-dev": {
811 | "nette/tester": "^2.0",
812 | "phpstan/phpstan": "^0.12",
813 | "tracy/tracy": "^2.3"
814 | },
815 | "type": "library",
816 | "extra": {
817 | "branch-alias": {
818 | "dev-master": "3.3-dev"
819 | }
820 | },
821 | "autoload": {
822 | "classmap": [
823 | "src/"
824 | ]
825 | },
826 | "notification-url": "https://packagist.org/downloads/",
827 | "license": [
828 | "BSD-3-Clause",
829 | "GPL-2.0-only",
830 | "GPL-3.0-only"
831 | ],
832 | "authors": [
833 | {
834 | "name": "David Grudl",
835 | "homepage": "https://davidgrudl.com"
836 | },
837 | {
838 | "name": "Nette Community",
839 | "homepage": "https://nette.org/contributors"
840 | }
841 | ],
842 | "description": "🍀 Nette RobotLoader: high performance and comfortable autoloader that will search and autoload classes within your application.",
843 | "homepage": "https://nette.org",
844 | "keywords": [
845 | "autoload",
846 | "class",
847 | "interface",
848 | "nette",
849 | "trait"
850 | ],
851 | "time": "2020-07-28T13:34:12+00:00"
852 | },
853 | {
854 | "name": "nette/schema",
855 | "version": "v1.0.2",
856 | "source": {
857 | "type": "git",
858 | "url": "https://github.com/nette/schema.git",
859 | "reference": "febf71fb4052c824046f5a33f4f769a6e7fa0cb4"
860 | },
861 | "dist": {
862 | "type": "zip",
863 | "url": "https://api.github.com/repos/nette/schema/zipball/febf71fb4052c824046f5a33f4f769a6e7fa0cb4",
864 | "reference": "febf71fb4052c824046f5a33f4f769a6e7fa0cb4",
865 | "shasum": ""
866 | },
867 | "require": {
868 | "nette/utils": "^3.1",
869 | "php": ">=7.1"
870 | },
871 | "require-dev": {
872 | "nette/tester": "^2.2",
873 | "phpstan/phpstan-nette": "^0.12",
874 | "tracy/tracy": "^2.3"
875 | },
876 | "type": "library",
877 | "extra": {
878 | "branch-alias": []
879 | },
880 | "autoload": {
881 | "classmap": [
882 | "src/"
883 | ]
884 | },
885 | "notification-url": "https://packagist.org/downloads/",
886 | "license": [
887 | "BSD-3-Clause",
888 | "GPL-2.0",
889 | "GPL-3.0"
890 | ],
891 | "authors": [
892 | {
893 | "name": "David Grudl",
894 | "homepage": "https://davidgrudl.com"
895 | },
896 | {
897 | "name": "Nette Community",
898 | "homepage": "https://nette.org/contributors"
899 | }
900 | ],
901 | "description": "📐 Nette Schema: validating data structures against a given Schema.",
902 | "homepage": "https://nette.org",
903 | "keywords": [
904 | "config",
905 | "nette"
906 | ],
907 | "time": "2020-01-06T22:52:48+00:00"
908 | },
909 | {
910 | "name": "nette/utils",
911 | "version": "v3.1.3",
912 | "source": {
913 | "type": "git",
914 | "url": "https://github.com/nette/utils.git",
915 | "reference": "c09937fbb24987b2a41c6022ebe84f4f1b8eec0f"
916 | },
917 | "dist": {
918 | "type": "zip",
919 | "url": "https://api.github.com/repos/nette/utils/zipball/c09937fbb24987b2a41c6022ebe84f4f1b8eec0f",
920 | "reference": "c09937fbb24987b2a41c6022ebe84f4f1b8eec0f",
921 | "shasum": ""
922 | },
923 | "require": {
924 | "php": ">=7.1"
925 | },
926 | "require-dev": {
927 | "nette/tester": "~2.0",
928 | "phpstan/phpstan": "^0.12",
929 | "tracy/tracy": "^2.3"
930 | },
931 | "suggest": {
932 | "ext-gd": "to use Image",
933 | "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()",
934 | "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()",
935 | "ext-json": "to use Nette\\Utils\\Json",
936 | "ext-mbstring": "to use Strings::lower() etc...",
937 | "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()",
938 | "ext-xml": "to use Strings::length() etc. when mbstring is not available"
939 | },
940 | "type": "library",
941 | "extra": {
942 | "branch-alias": {
943 | "dev-master": "3.1-dev"
944 | }
945 | },
946 | "autoload": {
947 | "classmap": [
948 | "src/"
949 | ]
950 | },
951 | "notification-url": "https://packagist.org/downloads/",
952 | "license": [
953 | "BSD-3-Clause",
954 | "GPL-2.0-only",
955 | "GPL-3.0-only"
956 | ],
957 | "authors": [
958 | {
959 | "name": "David Grudl",
960 | "homepage": "https://davidgrudl.com"
961 | },
962 | {
963 | "name": "Nette Community",
964 | "homepage": "https://nette.org/contributors"
965 | }
966 | ],
967 | "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.",
968 | "homepage": "https://nette.org",
969 | "keywords": [
970 | "array",
971 | "core",
972 | "datetime",
973 | "images",
974 | "json",
975 | "nette",
976 | "paginator",
977 | "password",
978 | "slugify",
979 | "string",
980 | "unicode",
981 | "utf-8",
982 | "utility",
983 | "validation"
984 | ],
985 | "time": "2020-08-07T10:34:21+00:00"
986 | },
987 | {
988 | "name": "nikic/php-parser",
989 | "version": "v4.9.0",
990 | "source": {
991 | "type": "git",
992 | "url": "https://github.com/nikic/PHP-Parser.git",
993 | "reference": "aaee038b912e567780949787d5fe1977be11a778"
994 | },
995 | "dist": {
996 | "type": "zip",
997 | "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/aaee038b912e567780949787d5fe1977be11a778",
998 | "reference": "aaee038b912e567780949787d5fe1977be11a778",
999 | "shasum": ""
1000 | },
1001 | "require": {
1002 | "ext-tokenizer": "*",
1003 | "php": ">=7.0"
1004 | },
1005 | "require-dev": {
1006 | "ircmaxell/php-yacc": "^0.0.7",
1007 | "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
1008 | },
1009 | "bin": [
1010 | "bin/php-parse"
1011 | ],
1012 | "type": "library",
1013 | "extra": {
1014 | "branch-alias": {
1015 | "dev-master": "4.9-dev"
1016 | }
1017 | },
1018 | "autoload": {
1019 | "psr-4": {
1020 | "PhpParser\\": "lib/PhpParser"
1021 | }
1022 | },
1023 | "notification-url": "https://packagist.org/downloads/",
1024 | "license": [
1025 | "BSD-3-Clause"
1026 | ],
1027 | "authors": [
1028 | {
1029 | "name": "Nikita Popov"
1030 | }
1031 | ],
1032 | "description": "A PHP parser written in PHP",
1033 | "keywords": [
1034 | "parser",
1035 | "php"
1036 | ],
1037 | "time": "2020-08-18T19:48:01+00:00"
1038 | },
1039 | {
1040 | "name": "pdepend/pdepend",
1041 | "version": "2.8.0",
1042 | "source": {
1043 | "type": "git",
1044 | "url": "https://github.com/pdepend/pdepend.git",
1045 | "reference": "c64472f8e76ca858c79ad9a4cf1e2734b3f8cc38"
1046 | },
1047 | "dist": {
1048 | "type": "zip",
1049 | "url": "https://api.github.com/repos/pdepend/pdepend/zipball/c64472f8e76ca858c79ad9a4cf1e2734b3f8cc38",
1050 | "reference": "c64472f8e76ca858c79ad9a4cf1e2734b3f8cc38",
1051 | "shasum": ""
1052 | },
1053 | "require": {
1054 | "php": ">=5.3.7",
1055 | "symfony/config": "^2.3.0|^3|^4|^5",
1056 | "symfony/dependency-injection": "^2.3.0|^3|^4|^5",
1057 | "symfony/filesystem": "^2.3.0|^3|^4|^5"
1058 | },
1059 | "require-dev": {
1060 | "easy-doc/easy-doc": "0.0.0 || ^1.2.3",
1061 | "gregwar/rst": "^1.0",
1062 | "phpunit/phpunit": "^4.8.35|^5.7",
1063 | "squizlabs/php_codesniffer": "^2.0.0"
1064 | },
1065 | "bin": [
1066 | "src/bin/pdepend"
1067 | ],
1068 | "type": "library",
1069 | "extra": {
1070 | "branch-alias": {
1071 | "dev-master": "2.x-dev"
1072 | }
1073 | },
1074 | "autoload": {
1075 | "psr-4": {
1076 | "PDepend\\": "src/main/php/PDepend"
1077 | }
1078 | },
1079 | "notification-url": "https://packagist.org/downloads/",
1080 | "license": [
1081 | "BSD-3-Clause"
1082 | ],
1083 | "description": "Official version of pdepend to be handled with Composer",
1084 | "time": "2020-06-20T10:53:13+00:00"
1085 | },
1086 | {
1087 | "name": "phar-io/manifest",
1088 | "version": "1.0.3",
1089 | "source": {
1090 | "type": "git",
1091 | "url": "https://github.com/phar-io/manifest.git",
1092 | "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4"
1093 | },
1094 | "dist": {
1095 | "type": "zip",
1096 | "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4",
1097 | "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4",
1098 | "shasum": ""
1099 | },
1100 | "require": {
1101 | "ext-dom": "*",
1102 | "ext-phar": "*",
1103 | "phar-io/version": "^2.0",
1104 | "php": "^5.6 || ^7.0"
1105 | },
1106 | "type": "library",
1107 | "extra": {
1108 | "branch-alias": {
1109 | "dev-master": "1.0.x-dev"
1110 | }
1111 | },
1112 | "autoload": {
1113 | "classmap": [
1114 | "src/"
1115 | ]
1116 | },
1117 | "notification-url": "https://packagist.org/downloads/",
1118 | "license": [
1119 | "BSD-3-Clause"
1120 | ],
1121 | "authors": [
1122 | {
1123 | "name": "Arne Blankerts",
1124 | "email": "arne@blankerts.de",
1125 | "role": "Developer"
1126 | },
1127 | {
1128 | "name": "Sebastian Heuer",
1129 | "email": "sebastian@phpeople.de",
1130 | "role": "Developer"
1131 | },
1132 | {
1133 | "name": "Sebastian Bergmann",
1134 | "email": "sebastian@phpunit.de",
1135 | "role": "Developer"
1136 | }
1137 | ],
1138 | "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
1139 | "time": "2018-07-08T19:23:20+00:00"
1140 | },
1141 | {
1142 | "name": "phar-io/version",
1143 | "version": "2.0.1",
1144 | "source": {
1145 | "type": "git",
1146 | "url": "https://github.com/phar-io/version.git",
1147 | "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6"
1148 | },
1149 | "dist": {
1150 | "type": "zip",
1151 | "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6",
1152 | "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6",
1153 | "shasum": ""
1154 | },
1155 | "require": {
1156 | "php": "^5.6 || ^7.0"
1157 | },
1158 | "type": "library",
1159 | "autoload": {
1160 | "classmap": [
1161 | "src/"
1162 | ]
1163 | },
1164 | "notification-url": "https://packagist.org/downloads/",
1165 | "license": [
1166 | "BSD-3-Clause"
1167 | ],
1168 | "authors": [
1169 | {
1170 | "name": "Arne Blankerts",
1171 | "email": "arne@blankerts.de",
1172 | "role": "Developer"
1173 | },
1174 | {
1175 | "name": "Sebastian Heuer",
1176 | "email": "sebastian@phpeople.de",
1177 | "role": "Developer"
1178 | },
1179 | {
1180 | "name": "Sebastian Bergmann",
1181 | "email": "sebastian@phpunit.de",
1182 | "role": "Developer"
1183 | }
1184 | ],
1185 | "description": "Library for handling version information and constraints",
1186 | "time": "2018-07-08T19:19:57+00:00"
1187 | },
1188 | {
1189 | "name": "phpcompatibility/php-compatibility",
1190 | "version": "8.2.0",
1191 | "source": {
1192 | "type": "git",
1193 | "url": "https://github.com/PHPCompatibility/PHPCompatibility.git",
1194 | "reference": "eaf613c1a8265bcfd7b0ab690783f2aef519f78a"
1195 | },
1196 | "dist": {
1197 | "type": "zip",
1198 | "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/eaf613c1a8265bcfd7b0ab690783f2aef519f78a",
1199 | "reference": "eaf613c1a8265bcfd7b0ab690783f2aef519f78a",
1200 | "shasum": ""
1201 | },
1202 | "require": {
1203 | "php": ">=5.3",
1204 | "squizlabs/php_codesniffer": "^2.3 || ^3.0.2"
1205 | },
1206 | "conflict": {
1207 | "squizlabs/php_codesniffer": "2.6.2"
1208 | },
1209 | "require-dev": {
1210 | "phpunit/phpunit": "~4.5 || ^5.0 || ^6.0 || ^7.0"
1211 | },
1212 | "suggest": {
1213 | "dealerdirect/phpcodesniffer-composer-installer": "^0.4.3 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically.",
1214 | "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
1215 | },
1216 | "type": "phpcodesniffer-standard",
1217 | "autoload": {
1218 | "psr-4": {
1219 | "PHPCompatibility\\": "PHPCompatibility/"
1220 | }
1221 | },
1222 | "notification-url": "https://packagist.org/downloads/",
1223 | "license": [
1224 | "LGPL-3.0-or-later"
1225 | ],
1226 | "authors": [
1227 | {
1228 | "name": "Wim Godden",
1229 | "role": "lead"
1230 | }
1231 | ],
1232 | "description": "A set of sniffs for PHP_CodeSniffer that checks for PHP version compatibility.",
1233 | "homepage": "http://techblog.wimgodden.be/tag/codesniffer/",
1234 | "keywords": [
1235 | "compatibility",
1236 | "phpcs",
1237 | "standards"
1238 | ],
1239 | "time": "2018-07-17T13:42:26+00:00"
1240 | },
1241 | {
1242 | "name": "phpcompatibility/phpcompatibility-wp",
1243 | "version": "1.0.0",
1244 | "source": {
1245 | "type": "git",
1246 | "url": "https://github.com/PHPCompatibility/PHPCompatibilityWP.git",
1247 | "reference": "b26c84df3ec1d4850d0f22264a4a16482a171996"
1248 | },
1249 | "dist": {
1250 | "type": "zip",
1251 | "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityWP/zipball/b26c84df3ec1d4850d0f22264a4a16482a171996",
1252 | "reference": "b26c84df3ec1d4850d0f22264a4a16482a171996",
1253 | "shasum": ""
1254 | },
1255 | "require": {
1256 | "phpcompatibility/php-compatibility": "^8.1"
1257 | },
1258 | "suggest": {
1259 | "dealerdirect/phpcodesniffer-composer-installer": "^0.4.3 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically.",
1260 | "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
1261 | },
1262 | "type": "phpcodesniffer-standard",
1263 | "notification-url": "https://packagist.org/downloads/",
1264 | "license": [
1265 | "LGPL-3.0-or-later"
1266 | ],
1267 | "authors": [
1268 | {
1269 | "name": "Wim Godden",
1270 | "role": "lead"
1271 | },
1272 | {
1273 | "name": "Juliette Reinders Folmer",
1274 | "role": "lead"
1275 | }
1276 | ],
1277 | "description": "A set of sniffs for PHP_CodeSniffer that checks for PHP version compatibility for WordPress projects.",
1278 | "homepage": "http://phpcompatibility.com/",
1279 | "keywords": [
1280 | "compatibility",
1281 | "phpcs",
1282 | "standards",
1283 | "wordpress"
1284 | ],
1285 | "time": "2018-07-16T22:10:02+00:00"
1286 | },
1287 | {
1288 | "name": "phpdocumentor/reflection-common",
1289 | "version": "2.2.0",
1290 | "source": {
1291 | "type": "git",
1292 | "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
1293 | "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
1294 | },
1295 | "dist": {
1296 | "type": "zip",
1297 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
1298 | "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
1299 | "shasum": ""
1300 | },
1301 | "require": {
1302 | "php": "^7.2 || ^8.0"
1303 | },
1304 | "type": "library",
1305 | "extra": {
1306 | "branch-alias": {
1307 | "dev-2.x": "2.x-dev"
1308 | }
1309 | },
1310 | "autoload": {
1311 | "psr-4": {
1312 | "phpDocumentor\\Reflection\\": "src/"
1313 | }
1314 | },
1315 | "notification-url": "https://packagist.org/downloads/",
1316 | "license": [
1317 | "MIT"
1318 | ],
1319 | "authors": [
1320 | {
1321 | "name": "Jaap van Otterdijk",
1322 | "email": "opensource@ijaap.nl"
1323 | }
1324 | ],
1325 | "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
1326 | "homepage": "http://www.phpdoc.org",
1327 | "keywords": [
1328 | "FQSEN",
1329 | "phpDocumentor",
1330 | "phpdoc",
1331 | "reflection",
1332 | "static analysis"
1333 | ],
1334 | "time": "2020-06-27T09:03:43+00:00"
1335 | },
1336 | {
1337 | "name": "phpdocumentor/reflection-docblock",
1338 | "version": "5.1.0",
1339 | "source": {
1340 | "type": "git",
1341 | "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
1342 | "reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e"
1343 | },
1344 | "dist": {
1345 | "type": "zip",
1346 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e",
1347 | "reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e",
1348 | "shasum": ""
1349 | },
1350 | "require": {
1351 | "ext-filter": "^7.1",
1352 | "php": "^7.2",
1353 | "phpdocumentor/reflection-common": "^2.0",
1354 | "phpdocumentor/type-resolver": "^1.0",
1355 | "webmozart/assert": "^1"
1356 | },
1357 | "require-dev": {
1358 | "doctrine/instantiator": "^1",
1359 | "mockery/mockery": "^1"
1360 | },
1361 | "type": "library",
1362 | "extra": {
1363 | "branch-alias": {
1364 | "dev-master": "5.x-dev"
1365 | }
1366 | },
1367 | "autoload": {
1368 | "psr-4": {
1369 | "phpDocumentor\\Reflection\\": "src"
1370 | }
1371 | },
1372 | "notification-url": "https://packagist.org/downloads/",
1373 | "license": [
1374 | "MIT"
1375 | ],
1376 | "authors": [
1377 | {
1378 | "name": "Mike van Riel",
1379 | "email": "me@mikevanriel.com"
1380 | },
1381 | {
1382 | "name": "Jaap van Otterdijk",
1383 | "email": "account@ijaap.nl"
1384 | }
1385 | ],
1386 | "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
1387 | "time": "2020-02-22T12:28:44+00:00"
1388 | },
1389 | {
1390 | "name": "phpdocumentor/type-resolver",
1391 | "version": "1.3.0",
1392 | "source": {
1393 | "type": "git",
1394 | "url": "https://github.com/phpDocumentor/TypeResolver.git",
1395 | "reference": "e878a14a65245fbe78f8080eba03b47c3b705651"
1396 | },
1397 | "dist": {
1398 | "type": "zip",
1399 | "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e878a14a65245fbe78f8080eba03b47c3b705651",
1400 | "reference": "e878a14a65245fbe78f8080eba03b47c3b705651",
1401 | "shasum": ""
1402 | },
1403 | "require": {
1404 | "php": "^7.2 || ^8.0",
1405 | "phpdocumentor/reflection-common": "^2.0"
1406 | },
1407 | "require-dev": {
1408 | "ext-tokenizer": "*"
1409 | },
1410 | "type": "library",
1411 | "extra": {
1412 | "branch-alias": {
1413 | "dev-1.x": "1.x-dev"
1414 | }
1415 | },
1416 | "autoload": {
1417 | "psr-4": {
1418 | "phpDocumentor\\Reflection\\": "src"
1419 | }
1420 | },
1421 | "notification-url": "https://packagist.org/downloads/",
1422 | "license": [
1423 | "MIT"
1424 | ],
1425 | "authors": [
1426 | {
1427 | "name": "Mike van Riel",
1428 | "email": "me@mikevanriel.com"
1429 | }
1430 | ],
1431 | "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
1432 | "time": "2020-06-27T10:12:23+00:00"
1433 | },
1434 | {
1435 | "name": "phpmd/phpmd",
1436 | "version": "2.8.2",
1437 | "source": {
1438 | "type": "git",
1439 | "url": "https://github.com/phpmd/phpmd.git",
1440 | "reference": "714629ed782537f638fe23c4346637659b779a77"
1441 | },
1442 | "dist": {
1443 | "type": "zip",
1444 | "url": "https://api.github.com/repos/phpmd/phpmd/zipball/714629ed782537f638fe23c4346637659b779a77",
1445 | "reference": "714629ed782537f638fe23c4346637659b779a77",
1446 | "shasum": ""
1447 | },
1448 | "require": {
1449 | "composer/xdebug-handler": "^1.0",
1450 | "ext-xml": "*",
1451 | "pdepend/pdepend": "^2.7.1",
1452 | "php": ">=5.3.9"
1453 | },
1454 | "require-dev": {
1455 | "easy-doc/easy-doc": "0.0.0 || ^1.3.2",
1456 | "gregwar/rst": "^1.0",
1457 | "mikey179/vfsstream": "^1.6.4",
1458 | "phpunit/phpunit": "^4.8.36 || ^5.7.27",
1459 | "squizlabs/php_codesniffer": "^2.0"
1460 | },
1461 | "bin": [
1462 | "src/bin/phpmd"
1463 | ],
1464 | "type": "library",
1465 | "autoload": {
1466 | "psr-0": {
1467 | "PHPMD\\": "src/main/php"
1468 | }
1469 | },
1470 | "notification-url": "https://packagist.org/downloads/",
1471 | "license": [
1472 | "BSD-3-Clause"
1473 | ],
1474 | "authors": [
1475 | {
1476 | "name": "Manuel Pichler",
1477 | "email": "github@manuel-pichler.de",
1478 | "homepage": "https://github.com/manuelpichler",
1479 | "role": "Project Founder"
1480 | },
1481 | {
1482 | "name": "Marc Würth",
1483 | "email": "ravage@bluewin.ch",
1484 | "homepage": "https://github.com/ravage84",
1485 | "role": "Project Maintainer"
1486 | },
1487 | {
1488 | "name": "Other contributors",
1489 | "homepage": "https://github.com/phpmd/phpmd/graphs/contributors",
1490 | "role": "Contributors"
1491 | }
1492 | ],
1493 | "description": "PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD.",
1494 | "homepage": "https://phpmd.org/",
1495 | "keywords": [
1496 | "mess detection",
1497 | "mess detector",
1498 | "pdepend",
1499 | "phpmd",
1500 | "pmd"
1501 | ],
1502 | "time": "2020-02-16T20:15:50+00:00"
1503 | },
1504 | {
1505 | "name": "phpspec/prophecy",
1506 | "version": "1.11.1",
1507 | "source": {
1508 | "type": "git",
1509 | "url": "https://github.com/phpspec/prophecy.git",
1510 | "reference": "b20034be5efcdab4fb60ca3a29cba2949aead160"
1511 | },
1512 | "dist": {
1513 | "type": "zip",
1514 | "url": "https://api.github.com/repos/phpspec/prophecy/zipball/b20034be5efcdab4fb60ca3a29cba2949aead160",
1515 | "reference": "b20034be5efcdab4fb60ca3a29cba2949aead160",
1516 | "shasum": ""
1517 | },
1518 | "require": {
1519 | "doctrine/instantiator": "^1.2",
1520 | "php": "^7.2",
1521 | "phpdocumentor/reflection-docblock": "^5.0",
1522 | "sebastian/comparator": "^3.0 || ^4.0",
1523 | "sebastian/recursion-context": "^3.0 || ^4.0"
1524 | },
1525 | "require-dev": {
1526 | "phpspec/phpspec": "^6.0",
1527 | "phpunit/phpunit": "^8.0"
1528 | },
1529 | "type": "library",
1530 | "extra": {
1531 | "branch-alias": {
1532 | "dev-master": "1.11.x-dev"
1533 | }
1534 | },
1535 | "autoload": {
1536 | "psr-4": {
1537 | "Prophecy\\": "src/Prophecy"
1538 | }
1539 | },
1540 | "notification-url": "https://packagist.org/downloads/",
1541 | "license": [
1542 | "MIT"
1543 | ],
1544 | "authors": [
1545 | {
1546 | "name": "Konstantin Kudryashov",
1547 | "email": "ever.zet@gmail.com",
1548 | "homepage": "http://everzet.com"
1549 | },
1550 | {
1551 | "name": "Marcello Duarte",
1552 | "email": "marcello.duarte@gmail.com"
1553 | }
1554 | ],
1555 | "description": "Highly opinionated mocking framework for PHP 5.3+",
1556 | "homepage": "https://github.com/phpspec/prophecy",
1557 | "keywords": [
1558 | "Double",
1559 | "Dummy",
1560 | "fake",
1561 | "mock",
1562 | "spy",
1563 | "stub"
1564 | ],
1565 | "time": "2020-07-08T12:44:21+00:00"
1566 | },
1567 | {
1568 | "name": "phpstan/phpdoc-parser",
1569 | "version": "0.3.5",
1570 | "source": {
1571 | "type": "git",
1572 | "url": "https://github.com/phpstan/phpdoc-parser.git",
1573 | "reference": "8c4ef2aefd9788238897b678a985e1d5c8df6db4"
1574 | },
1575 | "dist": {
1576 | "type": "zip",
1577 | "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/8c4ef2aefd9788238897b678a985e1d5c8df6db4",
1578 | "reference": "8c4ef2aefd9788238897b678a985e1d5c8df6db4",
1579 | "shasum": ""
1580 | },
1581 | "require": {
1582 | "php": "~7.1"
1583 | },
1584 | "require-dev": {
1585 | "consistence/coding-standard": "^3.5",
1586 | "jakub-onderka/php-parallel-lint": "^0.9.2",
1587 | "phing/phing": "^2.16.0",
1588 | "phpstan/phpstan": "^0.10",
1589 | "phpunit/phpunit": "^6.3",
1590 | "slevomat/coding-standard": "^4.7.2",
1591 | "squizlabs/php_codesniffer": "^3.3.2",
1592 | "symfony/process": "^3.4 || ^4.0"
1593 | },
1594 | "type": "library",
1595 | "extra": {
1596 | "branch-alias": {
1597 | "dev-master": "0.3-dev"
1598 | }
1599 | },
1600 | "autoload": {
1601 | "psr-4": {
1602 | "PHPStan\\PhpDocParser\\": [
1603 | "src/"
1604 | ]
1605 | }
1606 | },
1607 | "notification-url": "https://packagist.org/downloads/",
1608 | "license": [
1609 | "MIT"
1610 | ],
1611 | "description": "PHPDoc parser with support for nullable, intersection and generic types",
1612 | "time": "2019-06-07T19:13:52+00:00"
1613 | },
1614 | {
1615 | "name": "phpstan/phpstan",
1616 | "version": "0.11.19",
1617 | "source": {
1618 | "type": "git",
1619 | "url": "https://github.com/phpstan/phpstan.git",
1620 | "reference": "63cc502f6957b7f74efbac444b4cf219dcadffd7"
1621 | },
1622 | "dist": {
1623 | "type": "zip",
1624 | "url": "https://api.github.com/repos/phpstan/phpstan/zipball/63cc502f6957b7f74efbac444b4cf219dcadffd7",
1625 | "reference": "63cc502f6957b7f74efbac444b4cf219dcadffd7",
1626 | "shasum": ""
1627 | },
1628 | "require": {
1629 | "composer/xdebug-handler": "^1.3.0",
1630 | "jean85/pretty-package-versions": "^1.0.3",
1631 | "nette/bootstrap": "^2.4 || ^3.0",
1632 | "nette/di": "^2.4.7 || ^3.0",
1633 | "nette/neon": "^2.4.3 || ^3.0",
1634 | "nette/robot-loader": "^3.0.1",
1635 | "nette/schema": "^1.0",
1636 | "nette/utils": "^2.4.5 || ^3.0",
1637 | "nikic/php-parser": "^4.2.3",
1638 | "php": "~7.1",
1639 | "phpstan/phpdoc-parser": "^0.3.5",
1640 | "symfony/console": "~3.2 || ~4.0",
1641 | "symfony/finder": "~3.2 || ~4.0"
1642 | },
1643 | "conflict": {
1644 | "symfony/console": "3.4.16 || 4.1.5"
1645 | },
1646 | "require-dev": {
1647 | "brianium/paratest": "^2.0 || ^3.0",
1648 | "consistence/coding-standard": "^3.5",
1649 | "dealerdirect/phpcodesniffer-composer-installer": "^0.4.4",
1650 | "ext-intl": "*",
1651 | "ext-mysqli": "*",
1652 | "ext-simplexml": "*",
1653 | "ext-soap": "*",
1654 | "ext-zip": "*",
1655 | "jakub-onderka/php-parallel-lint": "^1.0",
1656 | "localheinz/composer-normalize": "^1.1.0",
1657 | "phing/phing": "^2.16.0",
1658 | "phpstan/phpstan-deprecation-rules": "^0.11",
1659 | "phpstan/phpstan-php-parser": "^0.11",
1660 | "phpstan/phpstan-phpunit": "^0.11",
1661 | "phpstan/phpstan-strict-rules": "^0.11",
1662 | "phpunit/phpunit": "^7.5.14 || ^8.0",
1663 | "slevomat/coding-standard": "^4.7.2",
1664 | "squizlabs/php_codesniffer": "^3.3.2"
1665 | },
1666 | "bin": [
1667 | "bin/phpstan"
1668 | ],
1669 | "type": "library",
1670 | "extra": {
1671 | "branch-alias": {
1672 | "dev-master": "0.11-dev"
1673 | }
1674 | },
1675 | "autoload": {
1676 | "psr-4": {
1677 | "PHPStan\\": [
1678 | "src/"
1679 | ]
1680 | }
1681 | },
1682 | "notification-url": "https://packagist.org/downloads/",
1683 | "license": [
1684 | "MIT"
1685 | ],
1686 | "description": "PHPStan - PHP Static Analysis Tool",
1687 | "time": "2019-10-22T20:20:22+00:00"
1688 | },
1689 | {
1690 | "name": "phpstan/phpstan-strict-rules",
1691 | "version": "0.11.1",
1692 | "source": {
1693 | "type": "git",
1694 | "url": "https://github.com/phpstan/phpstan-strict-rules.git",
1695 | "reference": "a203a7afdda073d4ea405a6d9007a5b32de3be61"
1696 | },
1697 | "dist": {
1698 | "type": "zip",
1699 | "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/a203a7afdda073d4ea405a6d9007a5b32de3be61",
1700 | "reference": "a203a7afdda073d4ea405a6d9007a5b32de3be61",
1701 | "shasum": ""
1702 | },
1703 | "require": {
1704 | "nikic/php-parser": "^4.0",
1705 | "php": "~7.1",
1706 | "phpstan/phpstan": "^0.11.4"
1707 | },
1708 | "require-dev": {
1709 | "consistence/coding-standard": "^3.0.1",
1710 | "dealerdirect/phpcodesniffer-composer-installer": "^0.4.4",
1711 | "jakub-onderka/php-parallel-lint": "^1.0",
1712 | "phing/phing": "^2.16.0",
1713 | "phpstan/phpstan-phpunit": "^0.11",
1714 | "phpunit/phpunit": "^7.0",
1715 | "slevomat/coding-standard": "^4.5.2"
1716 | },
1717 | "type": "phpstan-extension",
1718 | "extra": {
1719 | "branch-alias": {
1720 | "dev-master": "0.11-dev"
1721 | },
1722 | "phpstan": {
1723 | "includes": [
1724 | "rules.neon"
1725 | ]
1726 | }
1727 | },
1728 | "autoload": {
1729 | "psr-4": {
1730 | "PHPStan\\": "src/"
1731 | }
1732 | },
1733 | "notification-url": "https://packagist.org/downloads/",
1734 | "license": [
1735 | "MIT"
1736 | ],
1737 | "description": "Extra strict and opinionated rules for PHPStan",
1738 | "time": "2019-05-12T16:59:47+00:00"
1739 | },
1740 | {
1741 | "name": "phpunit/php-code-coverage",
1742 | "version": "8.0.2",
1743 | "source": {
1744 | "type": "git",
1745 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
1746 | "reference": "ca6647ffddd2add025ab3f21644a441d7c146cdc"
1747 | },
1748 | "dist": {
1749 | "type": "zip",
1750 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ca6647ffddd2add025ab3f21644a441d7c146cdc",
1751 | "reference": "ca6647ffddd2add025ab3f21644a441d7c146cdc",
1752 | "shasum": ""
1753 | },
1754 | "require": {
1755 | "ext-dom": "*",
1756 | "ext-xmlwriter": "*",
1757 | "php": "^7.3",
1758 | "phpunit/php-file-iterator": "^3.0",
1759 | "phpunit/php-text-template": "^2.0",
1760 | "phpunit/php-token-stream": "^4.0",
1761 | "sebastian/code-unit-reverse-lookup": "^2.0",
1762 | "sebastian/environment": "^5.0",
1763 | "sebastian/version": "^3.0",
1764 | "theseer/tokenizer": "^1.1.3"
1765 | },
1766 | "require-dev": {
1767 | "phpunit/phpunit": "^9.0"
1768 | },
1769 | "suggest": {
1770 | "ext-pcov": "*",
1771 | "ext-xdebug": "*"
1772 | },
1773 | "type": "library",
1774 | "extra": {
1775 | "branch-alias": {
1776 | "dev-master": "8.0-dev"
1777 | }
1778 | },
1779 | "autoload": {
1780 | "classmap": [
1781 | "src/"
1782 | ]
1783 | },
1784 | "notification-url": "https://packagist.org/downloads/",
1785 | "license": [
1786 | "BSD-3-Clause"
1787 | ],
1788 | "authors": [
1789 | {
1790 | "name": "Sebastian Bergmann",
1791 | "email": "sebastian@phpunit.de",
1792 | "role": "lead"
1793 | }
1794 | ],
1795 | "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
1796 | "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
1797 | "keywords": [
1798 | "coverage",
1799 | "testing",
1800 | "xunit"
1801 | ],
1802 | "time": "2020-05-23T08:02:54+00:00"
1803 | },
1804 | {
1805 | "name": "phpunit/php-file-iterator",
1806 | "version": "3.0.4",
1807 | "source": {
1808 | "type": "git",
1809 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
1810 | "reference": "25fefc5b19835ca653877fe081644a3f8c1d915e"
1811 | },
1812 | "dist": {
1813 | "type": "zip",
1814 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/25fefc5b19835ca653877fe081644a3f8c1d915e",
1815 | "reference": "25fefc5b19835ca653877fe081644a3f8c1d915e",
1816 | "shasum": ""
1817 | },
1818 | "require": {
1819 | "php": "^7.3 || ^8.0"
1820 | },
1821 | "require-dev": {
1822 | "phpunit/phpunit": "^9.0"
1823 | },
1824 | "type": "library",
1825 | "extra": {
1826 | "branch-alias": {
1827 | "dev-master": "3.0-dev"
1828 | }
1829 | },
1830 | "autoload": {
1831 | "classmap": [
1832 | "src/"
1833 | ]
1834 | },
1835 | "notification-url": "https://packagist.org/downloads/",
1836 | "license": [
1837 | "BSD-3-Clause"
1838 | ],
1839 | "authors": [
1840 | {
1841 | "name": "Sebastian Bergmann",
1842 | "email": "sebastian@phpunit.de",
1843 | "role": "lead"
1844 | }
1845 | ],
1846 | "description": "FilterIterator implementation that filters files based on a list of suffixes.",
1847 | "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
1848 | "keywords": [
1849 | "filesystem",
1850 | "iterator"
1851 | ],
1852 | "time": "2020-07-11T05:18:21+00:00"
1853 | },
1854 | {
1855 | "name": "phpunit/php-invoker",
1856 | "version": "3.1.0",
1857 | "source": {
1858 | "type": "git",
1859 | "url": "https://github.com/sebastianbergmann/php-invoker.git",
1860 | "reference": "7a85b66acc48cacffdf87dadd3694e7123674298"
1861 | },
1862 | "dist": {
1863 | "type": "zip",
1864 | "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/7a85b66acc48cacffdf87dadd3694e7123674298",
1865 | "reference": "7a85b66acc48cacffdf87dadd3694e7123674298",
1866 | "shasum": ""
1867 | },
1868 | "require": {
1869 | "php": "^7.3 || ^8.0"
1870 | },
1871 | "require-dev": {
1872 | "ext-pcntl": "*",
1873 | "phpunit/phpunit": "^9.0"
1874 | },
1875 | "suggest": {
1876 | "ext-pcntl": "*"
1877 | },
1878 | "type": "library",
1879 | "extra": {
1880 | "branch-alias": {
1881 | "dev-master": "3.1-dev"
1882 | }
1883 | },
1884 | "autoload": {
1885 | "classmap": [
1886 | "src/"
1887 | ]
1888 | },
1889 | "notification-url": "https://packagist.org/downloads/",
1890 | "license": [
1891 | "BSD-3-Clause"
1892 | ],
1893 | "authors": [
1894 | {
1895 | "name": "Sebastian Bergmann",
1896 | "email": "sebastian@phpunit.de",
1897 | "role": "lead"
1898 | }
1899 | ],
1900 | "description": "Invoke callables with a timeout",
1901 | "homepage": "https://github.com/sebastianbergmann/php-invoker/",
1902 | "keywords": [
1903 | "process"
1904 | ],
1905 | "time": "2020-08-06T07:04:15+00:00"
1906 | },
1907 | {
1908 | "name": "phpunit/php-text-template",
1909 | "version": "2.0.2",
1910 | "source": {
1911 | "type": "git",
1912 | "url": "https://github.com/sebastianbergmann/php-text-template.git",
1913 | "reference": "6ff9c8ea4d3212b88fcf74e25e516e2c51c99324"
1914 | },
1915 | "dist": {
1916 | "type": "zip",
1917 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/6ff9c8ea4d3212b88fcf74e25e516e2c51c99324",
1918 | "reference": "6ff9c8ea4d3212b88fcf74e25e516e2c51c99324",
1919 | "shasum": ""
1920 | },
1921 | "require": {
1922 | "php": "^7.3 || ^8.0"
1923 | },
1924 | "require-dev": {
1925 | "phpunit/phpunit": "^9.0"
1926 | },
1927 | "type": "library",
1928 | "extra": {
1929 | "branch-alias": {
1930 | "dev-master": "2.0-dev"
1931 | }
1932 | },
1933 | "autoload": {
1934 | "classmap": [
1935 | "src/"
1936 | ]
1937 | },
1938 | "notification-url": "https://packagist.org/downloads/",
1939 | "license": [
1940 | "BSD-3-Clause"
1941 | ],
1942 | "authors": [
1943 | {
1944 | "name": "Sebastian Bergmann",
1945 | "email": "sebastian@phpunit.de",
1946 | "role": "lead"
1947 | }
1948 | ],
1949 | "description": "Simple template engine.",
1950 | "homepage": "https://github.com/sebastianbergmann/php-text-template/",
1951 | "keywords": [
1952 | "template"
1953 | ],
1954 | "time": "2020-06-26T11:55:37+00:00"
1955 | },
1956 | {
1957 | "name": "phpunit/php-timer",
1958 | "version": "3.1.4",
1959 | "source": {
1960 | "type": "git",
1961 | "url": "https://github.com/sebastianbergmann/php-timer.git",
1962 | "reference": "dc9368fae6ef2ffa57eba80a7410bcef81df6258"
1963 | },
1964 | "dist": {
1965 | "type": "zip",
1966 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/dc9368fae6ef2ffa57eba80a7410bcef81df6258",
1967 | "reference": "dc9368fae6ef2ffa57eba80a7410bcef81df6258",
1968 | "shasum": ""
1969 | },
1970 | "require": {
1971 | "php": "^7.3"
1972 | },
1973 | "require-dev": {
1974 | "phpunit/phpunit": "^9.0"
1975 | },
1976 | "type": "library",
1977 | "extra": {
1978 | "branch-alias": {
1979 | "dev-master": "3.1-dev"
1980 | }
1981 | },
1982 | "autoload": {
1983 | "classmap": [
1984 | "src/"
1985 | ]
1986 | },
1987 | "notification-url": "https://packagist.org/downloads/",
1988 | "license": [
1989 | "BSD-3-Clause"
1990 | ],
1991 | "authors": [
1992 | {
1993 | "name": "Sebastian Bergmann",
1994 | "email": "sebastian@phpunit.de",
1995 | "role": "lead"
1996 | }
1997 | ],
1998 | "description": "Utility class for timing",
1999 | "homepage": "https://github.com/sebastianbergmann/php-timer/",
2000 | "keywords": [
2001 | "timer"
2002 | ],
2003 | "time": "2020-04-20T06:00:37+00:00"
2004 | },
2005 | {
2006 | "name": "phpunit/php-token-stream",
2007 | "version": "4.0.4",
2008 | "source": {
2009 | "type": "git",
2010 | "url": "https://github.com/sebastianbergmann/php-token-stream.git",
2011 | "reference": "a853a0e183b9db7eed023d7933a858fa1c8d25a3"
2012 | },
2013 | "dist": {
2014 | "type": "zip",
2015 | "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/a853a0e183b9db7eed023d7933a858fa1c8d25a3",
2016 | "reference": "a853a0e183b9db7eed023d7933a858fa1c8d25a3",
2017 | "shasum": ""
2018 | },
2019 | "require": {
2020 | "ext-tokenizer": "*",
2021 | "php": "^7.3 || ^8.0"
2022 | },
2023 | "require-dev": {
2024 | "phpunit/phpunit": "^9.0"
2025 | },
2026 | "type": "library",
2027 | "extra": {
2028 | "branch-alias": {
2029 | "dev-master": "4.0-dev"
2030 | }
2031 | },
2032 | "autoload": {
2033 | "classmap": [
2034 | "src/"
2035 | ]
2036 | },
2037 | "notification-url": "https://packagist.org/downloads/",
2038 | "license": [
2039 | "BSD-3-Clause"
2040 | ],
2041 | "authors": [
2042 | {
2043 | "name": "Sebastian Bergmann",
2044 | "email": "sebastian@phpunit.de"
2045 | }
2046 | ],
2047 | "description": "Wrapper around PHP's tokenizer extension.",
2048 | "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
2049 | "keywords": [
2050 | "tokenizer"
2051 | ],
2052 | "abandoned": true,
2053 | "time": "2020-08-04T08:28:15+00:00"
2054 | },
2055 | {
2056 | "name": "phpunit/phpunit",
2057 | "version": "9.0.1",
2058 | "source": {
2059 | "type": "git",
2060 | "url": "https://github.com/sebastianbergmann/phpunit.git",
2061 | "reference": "68d7e5b17a6b9461e17c00446caa409863154f76"
2062 | },
2063 | "dist": {
2064 | "type": "zip",
2065 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/68d7e5b17a6b9461e17c00446caa409863154f76",
2066 | "reference": "68d7e5b17a6b9461e17c00446caa409863154f76",
2067 | "shasum": ""
2068 | },
2069 | "require": {
2070 | "doctrine/instantiator": "^1.2.0",
2071 | "ext-dom": "*",
2072 | "ext-json": "*",
2073 | "ext-libxml": "*",
2074 | "ext-mbstring": "*",
2075 | "ext-xml": "*",
2076 | "ext-xmlwriter": "*",
2077 | "myclabs/deep-copy": "^1.9.1",
2078 | "phar-io/manifest": "^1.0.3",
2079 | "phar-io/version": "^2.0.1",
2080 | "php": "^7.3",
2081 | "phpspec/prophecy": "^1.8.1",
2082 | "phpunit/php-code-coverage": "^8.0",
2083 | "phpunit/php-file-iterator": "^3.0",
2084 | "phpunit/php-invoker": "^3.0",
2085 | "phpunit/php-text-template": "^2.0",
2086 | "phpunit/php-timer": "^3.0",
2087 | "sebastian/comparator": "^4.0",
2088 | "sebastian/diff": "^4.0",
2089 | "sebastian/environment": "^5.0",
2090 | "sebastian/exporter": "^4.0",
2091 | "sebastian/global-state": "^4.0",
2092 | "sebastian/object-enumerator": "^4.0",
2093 | "sebastian/resource-operations": "^3.0",
2094 | "sebastian/type": "^2.0",
2095 | "sebastian/version": "^3.0"
2096 | },
2097 | "require-dev": {
2098 | "ext-pdo": "*"
2099 | },
2100 | "suggest": {
2101 | "ext-soap": "*",
2102 | "ext-xdebug": "*"
2103 | },
2104 | "bin": [
2105 | "phpunit"
2106 | ],
2107 | "type": "library",
2108 | "extra": {
2109 | "branch-alias": {
2110 | "dev-master": "9.0-dev"
2111 | }
2112 | },
2113 | "autoload": {
2114 | "classmap": [
2115 | "src/"
2116 | ],
2117 | "files": [
2118 | "src/Framework/Assert/Functions.php"
2119 | ]
2120 | },
2121 | "notification-url": "https://packagist.org/downloads/",
2122 | "license": [
2123 | "BSD-3-Clause"
2124 | ],
2125 | "authors": [
2126 | {
2127 | "name": "Sebastian Bergmann",
2128 | "email": "sebastian@phpunit.de",
2129 | "role": "lead"
2130 | }
2131 | ],
2132 | "description": "The PHP Unit Testing framework.",
2133 | "homepage": "https://phpunit.de/",
2134 | "keywords": [
2135 | "phpunit",
2136 | "testing",
2137 | "xunit"
2138 | ],
2139 | "time": "2020-02-13T07:30:12+00:00"
2140 | },
2141 | {
2142 | "name": "pimple/pimple",
2143 | "version": "v3.3.0",
2144 | "source": {
2145 | "type": "git",
2146 | "url": "https://github.com/silexphp/Pimple.git",
2147 | "reference": "e55d12f9d6a0e7f9c85992b73df1267f46279930"
2148 | },
2149 | "dist": {
2150 | "type": "zip",
2151 | "url": "https://api.github.com/repos/silexphp/Pimple/zipball/e55d12f9d6a0e7f9c85992b73df1267f46279930",
2152 | "reference": "e55d12f9d6a0e7f9c85992b73df1267f46279930",
2153 | "shasum": ""
2154 | },
2155 | "require": {
2156 | "php": "^7.2.5",
2157 | "psr/container": "^1.0"
2158 | },
2159 | "require-dev": {
2160 | "symfony/phpunit-bridge": "^3.4|^4.4|^5.0"
2161 | },
2162 | "type": "library",
2163 | "extra": {
2164 | "branch-alias": {
2165 | "dev-master": "3.3.x-dev"
2166 | }
2167 | },
2168 | "autoload": {
2169 | "psr-0": {
2170 | "Pimple": "src/"
2171 | }
2172 | },
2173 | "notification-url": "https://packagist.org/downloads/",
2174 | "license": [
2175 | "MIT"
2176 | ],
2177 | "authors": [
2178 | {
2179 | "name": "Fabien Potencier",
2180 | "email": "fabien@symfony.com"
2181 | }
2182 | ],
2183 | "description": "Pimple, a simple Dependency Injection Container",
2184 | "homepage": "https://pimple.symfony.com",
2185 | "keywords": [
2186 | "container",
2187 | "dependency injection"
2188 | ],
2189 | "time": "2020-03-03T09:12:48+00:00"
2190 | },
2191 | {
2192 | "name": "psr/container",
2193 | "version": "1.0.0",
2194 | "source": {
2195 | "type": "git",
2196 | "url": "https://github.com/php-fig/container.git",
2197 | "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
2198 | },
2199 | "dist": {
2200 | "type": "zip",
2201 | "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
2202 | "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
2203 | "shasum": ""
2204 | },
2205 | "require": {
2206 | "php": ">=5.3.0"
2207 | },
2208 | "type": "library",
2209 | "extra": {
2210 | "branch-alias": {
2211 | "dev-master": "1.0.x-dev"
2212 | }
2213 | },
2214 | "autoload": {
2215 | "psr-4": {
2216 | "Psr\\Container\\": "src/"
2217 | }
2218 | },
2219 | "notification-url": "https://packagist.org/downloads/",
2220 | "license": [
2221 | "MIT"
2222 | ],
2223 | "authors": [
2224 | {
2225 | "name": "PHP-FIG",
2226 | "homepage": "http://www.php-fig.org/"
2227 | }
2228 | ],
2229 | "description": "Common Container Interface (PHP FIG PSR-11)",
2230 | "homepage": "https://github.com/php-fig/container",
2231 | "keywords": [
2232 | "PSR-11",
2233 | "container",
2234 | "container-interface",
2235 | "container-interop",
2236 | "psr"
2237 | ],
2238 | "time": "2017-02-14T16:28:37+00:00"
2239 | },
2240 | {
2241 | "name": "psr/log",
2242 | "version": "1.1.3",
2243 | "source": {
2244 | "type": "git",
2245 | "url": "https://github.com/php-fig/log.git",
2246 | "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
2247 | },
2248 | "dist": {
2249 | "type": "zip",
2250 | "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
2251 | "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
2252 | "shasum": ""
2253 | },
2254 | "require": {
2255 | "php": ">=5.3.0"
2256 | },
2257 | "type": "library",
2258 | "extra": {
2259 | "branch-alias": {
2260 | "dev-master": "1.1.x-dev"
2261 | }
2262 | },
2263 | "autoload": {
2264 | "psr-4": {
2265 | "Psr\\Log\\": "Psr/Log/"
2266 | }
2267 | },
2268 | "notification-url": "https://packagist.org/downloads/",
2269 | "license": [
2270 | "MIT"
2271 | ],
2272 | "authors": [
2273 | {
2274 | "name": "PHP-FIG",
2275 | "homepage": "http://www.php-fig.org/"
2276 | }
2277 | ],
2278 | "description": "Common interface for logging libraries",
2279 | "homepage": "https://github.com/php-fig/log",
2280 | "keywords": [
2281 | "log",
2282 | "psr",
2283 | "psr-3"
2284 | ],
2285 | "time": "2020-03-23T09:12:05+00:00"
2286 | },
2287 | {
2288 | "name": "sebastian/code-unit-reverse-lookup",
2289 | "version": "2.0.2",
2290 | "source": {
2291 | "type": "git",
2292 | "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
2293 | "reference": "ee51f9bb0c6d8a43337055db3120829fa14da819"
2294 | },
2295 | "dist": {
2296 | "type": "zip",
2297 | "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ee51f9bb0c6d8a43337055db3120829fa14da819",
2298 | "reference": "ee51f9bb0c6d8a43337055db3120829fa14da819",
2299 | "shasum": ""
2300 | },
2301 | "require": {
2302 | "php": "^7.3 || ^8.0"
2303 | },
2304 | "require-dev": {
2305 | "phpunit/phpunit": "^9.0"
2306 | },
2307 | "type": "library",
2308 | "extra": {
2309 | "branch-alias": {
2310 | "dev-master": "2.0-dev"
2311 | }
2312 | },
2313 | "autoload": {
2314 | "classmap": [
2315 | "src/"
2316 | ]
2317 | },
2318 | "notification-url": "https://packagist.org/downloads/",
2319 | "license": [
2320 | "BSD-3-Clause"
2321 | ],
2322 | "authors": [
2323 | {
2324 | "name": "Sebastian Bergmann",
2325 | "email": "sebastian@phpunit.de"
2326 | }
2327 | ],
2328 | "description": "Looks up which function or method a line of code belongs to",
2329 | "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
2330 | "time": "2020-06-26T12:04:00+00:00"
2331 | },
2332 | {
2333 | "name": "sebastian/comparator",
2334 | "version": "4.0.3",
2335 | "source": {
2336 | "type": "git",
2337 | "url": "https://github.com/sebastianbergmann/comparator.git",
2338 | "reference": "dcc580eadfaa4e7f9d2cf9ae1922134ea962e14f"
2339 | },
2340 | "dist": {
2341 | "type": "zip",
2342 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/dcc580eadfaa4e7f9d2cf9ae1922134ea962e14f",
2343 | "reference": "dcc580eadfaa4e7f9d2cf9ae1922134ea962e14f",
2344 | "shasum": ""
2345 | },
2346 | "require": {
2347 | "php": "^7.3 || ^8.0",
2348 | "sebastian/diff": "^4.0",
2349 | "sebastian/exporter": "^4.0"
2350 | },
2351 | "require-dev": {
2352 | "phpunit/phpunit": "^9.0"
2353 | },
2354 | "type": "library",
2355 | "extra": {
2356 | "branch-alias": {
2357 | "dev-master": "4.0-dev"
2358 | }
2359 | },
2360 | "autoload": {
2361 | "classmap": [
2362 | "src/"
2363 | ]
2364 | },
2365 | "notification-url": "https://packagist.org/downloads/",
2366 | "license": [
2367 | "BSD-3-Clause"
2368 | ],
2369 | "authors": [
2370 | {
2371 | "name": "Sebastian Bergmann",
2372 | "email": "sebastian@phpunit.de"
2373 | },
2374 | {
2375 | "name": "Jeff Welch",
2376 | "email": "whatthejeff@gmail.com"
2377 | },
2378 | {
2379 | "name": "Volker Dusch",
2380 | "email": "github@wallbash.com"
2381 | },
2382 | {
2383 | "name": "Bernhard Schussek",
2384 | "email": "bschussek@2bepublished.at"
2385 | }
2386 | ],
2387 | "description": "Provides the functionality to compare PHP values for equality",
2388 | "homepage": "https://github.com/sebastianbergmann/comparator",
2389 | "keywords": [
2390 | "comparator",
2391 | "compare",
2392 | "equality"
2393 | ],
2394 | "time": "2020-06-26T12:05:46+00:00"
2395 | },
2396 | {
2397 | "name": "sebastian/diff",
2398 | "version": "4.0.2",
2399 | "source": {
2400 | "type": "git",
2401 | "url": "https://github.com/sebastianbergmann/diff.git",
2402 | "reference": "1e90b4cf905a7d06c420b1d2e9d11a4dc8a13113"
2403 | },
2404 | "dist": {
2405 | "type": "zip",
2406 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/1e90b4cf905a7d06c420b1d2e9d11a4dc8a13113",
2407 | "reference": "1e90b4cf905a7d06c420b1d2e9d11a4dc8a13113",
2408 | "shasum": ""
2409 | },
2410 | "require": {
2411 | "php": "^7.3 || ^8.0"
2412 | },
2413 | "require-dev": {
2414 | "phpunit/phpunit": "^9.0",
2415 | "symfony/process": "^4.2 || ^5"
2416 | },
2417 | "type": "library",
2418 | "extra": {
2419 | "branch-alias": {
2420 | "dev-master": "4.0-dev"
2421 | }
2422 | },
2423 | "autoload": {
2424 | "classmap": [
2425 | "src/"
2426 | ]
2427 | },
2428 | "notification-url": "https://packagist.org/downloads/",
2429 | "license": [
2430 | "BSD-3-Clause"
2431 | ],
2432 | "authors": [
2433 | {
2434 | "name": "Sebastian Bergmann",
2435 | "email": "sebastian@phpunit.de"
2436 | },
2437 | {
2438 | "name": "Kore Nordmann",
2439 | "email": "mail@kore-nordmann.de"
2440 | }
2441 | ],
2442 | "description": "Diff implementation",
2443 | "homepage": "https://github.com/sebastianbergmann/diff",
2444 | "keywords": [
2445 | "diff",
2446 | "udiff",
2447 | "unidiff",
2448 | "unified diff"
2449 | ],
2450 | "time": "2020-06-30T04:46:02+00:00"
2451 | },
2452 | {
2453 | "name": "sebastian/environment",
2454 | "version": "5.1.2",
2455 | "source": {
2456 | "type": "git",
2457 | "url": "https://github.com/sebastianbergmann/environment.git",
2458 | "reference": "0a757cab9d5b7ef49a619f1143e6c9c1bc0fe9d2"
2459 | },
2460 | "dist": {
2461 | "type": "zip",
2462 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/0a757cab9d5b7ef49a619f1143e6c9c1bc0fe9d2",
2463 | "reference": "0a757cab9d5b7ef49a619f1143e6c9c1bc0fe9d2",
2464 | "shasum": ""
2465 | },
2466 | "require": {
2467 | "php": "^7.3 || ^8.0"
2468 | },
2469 | "require-dev": {
2470 | "phpunit/phpunit": "^9.0"
2471 | },
2472 | "suggest": {
2473 | "ext-posix": "*"
2474 | },
2475 | "type": "library",
2476 | "extra": {
2477 | "branch-alias": {
2478 | "dev-master": "5.0-dev"
2479 | }
2480 | },
2481 | "autoload": {
2482 | "classmap": [
2483 | "src/"
2484 | ]
2485 | },
2486 | "notification-url": "https://packagist.org/downloads/",
2487 | "license": [
2488 | "BSD-3-Clause"
2489 | ],
2490 | "authors": [
2491 | {
2492 | "name": "Sebastian Bergmann",
2493 | "email": "sebastian@phpunit.de"
2494 | }
2495 | ],
2496 | "description": "Provides functionality to handle HHVM/PHP environments",
2497 | "homepage": "http://www.github.com/sebastianbergmann/environment",
2498 | "keywords": [
2499 | "Xdebug",
2500 | "environment",
2501 | "hhvm"
2502 | ],
2503 | "time": "2020-06-26T12:07:24+00:00"
2504 | },
2505 | {
2506 | "name": "sebastian/exporter",
2507 | "version": "4.0.2",
2508 | "source": {
2509 | "type": "git",
2510 | "url": "https://github.com/sebastianbergmann/exporter.git",
2511 | "reference": "571d721db4aec847a0e59690b954af33ebf9f023"
2512 | },
2513 | "dist": {
2514 | "type": "zip",
2515 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/571d721db4aec847a0e59690b954af33ebf9f023",
2516 | "reference": "571d721db4aec847a0e59690b954af33ebf9f023",
2517 | "shasum": ""
2518 | },
2519 | "require": {
2520 | "php": "^7.3 || ^8.0",
2521 | "sebastian/recursion-context": "^4.0"
2522 | },
2523 | "require-dev": {
2524 | "ext-mbstring": "*",
2525 | "phpunit/phpunit": "^9.2"
2526 | },
2527 | "type": "library",
2528 | "extra": {
2529 | "branch-alias": {
2530 | "dev-master": "4.0-dev"
2531 | }
2532 | },
2533 | "autoload": {
2534 | "classmap": [
2535 | "src/"
2536 | ]
2537 | },
2538 | "notification-url": "https://packagist.org/downloads/",
2539 | "license": [
2540 | "BSD-3-Clause"
2541 | ],
2542 | "authors": [
2543 | {
2544 | "name": "Sebastian Bergmann",
2545 | "email": "sebastian@phpunit.de"
2546 | },
2547 | {
2548 | "name": "Jeff Welch",
2549 | "email": "whatthejeff@gmail.com"
2550 | },
2551 | {
2552 | "name": "Volker Dusch",
2553 | "email": "github@wallbash.com"
2554 | },
2555 | {
2556 | "name": "Adam Harvey",
2557 | "email": "aharvey@php.net"
2558 | },
2559 | {
2560 | "name": "Bernhard Schussek",
2561 | "email": "bschussek@gmail.com"
2562 | }
2563 | ],
2564 | "description": "Provides the functionality to export PHP variables for visualization",
2565 | "homepage": "http://www.github.com/sebastianbergmann/exporter",
2566 | "keywords": [
2567 | "export",
2568 | "exporter"
2569 | ],
2570 | "time": "2020-06-26T12:08:55+00:00"
2571 | },
2572 | {
2573 | "name": "sebastian/global-state",
2574 | "version": "4.0.0",
2575 | "source": {
2576 | "type": "git",
2577 | "url": "https://github.com/sebastianbergmann/global-state.git",
2578 | "reference": "bdb1e7c79e592b8c82cb1699be3c8743119b8a72"
2579 | },
2580 | "dist": {
2581 | "type": "zip",
2582 | "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bdb1e7c79e592b8c82cb1699be3c8743119b8a72",
2583 | "reference": "bdb1e7c79e592b8c82cb1699be3c8743119b8a72",
2584 | "shasum": ""
2585 | },
2586 | "require": {
2587 | "php": "^7.3",
2588 | "sebastian/object-reflector": "^2.0",
2589 | "sebastian/recursion-context": "^4.0"
2590 | },
2591 | "require-dev": {
2592 | "ext-dom": "*",
2593 | "phpunit/phpunit": "^9.0"
2594 | },
2595 | "suggest": {
2596 | "ext-uopz": "*"
2597 | },
2598 | "type": "library",
2599 | "extra": {
2600 | "branch-alias": {
2601 | "dev-master": "4.0-dev"
2602 | }
2603 | },
2604 | "autoload": {
2605 | "classmap": [
2606 | "src/"
2607 | ]
2608 | },
2609 | "notification-url": "https://packagist.org/downloads/",
2610 | "license": [
2611 | "BSD-3-Clause"
2612 | ],
2613 | "authors": [
2614 | {
2615 | "name": "Sebastian Bergmann",
2616 | "email": "sebastian@phpunit.de"
2617 | }
2618 | ],
2619 | "description": "Snapshotting of global state",
2620 | "homepage": "http://www.github.com/sebastianbergmann/global-state",
2621 | "keywords": [
2622 | "global state"
2623 | ],
2624 | "time": "2020-02-07T06:11:37+00:00"
2625 | },
2626 | {
2627 | "name": "sebastian/object-enumerator",
2628 | "version": "4.0.2",
2629 | "source": {
2630 | "type": "git",
2631 | "url": "https://github.com/sebastianbergmann/object-enumerator.git",
2632 | "reference": "074fed2d0a6d08e1677dd8ce9d32aecb384917b8"
2633 | },
2634 | "dist": {
2635 | "type": "zip",
2636 | "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/074fed2d0a6d08e1677dd8ce9d32aecb384917b8",
2637 | "reference": "074fed2d0a6d08e1677dd8ce9d32aecb384917b8",
2638 | "shasum": ""
2639 | },
2640 | "require": {
2641 | "php": "^7.3 || ^8.0",
2642 | "sebastian/object-reflector": "^2.0",
2643 | "sebastian/recursion-context": "^4.0"
2644 | },
2645 | "require-dev": {
2646 | "phpunit/phpunit": "^9.0"
2647 | },
2648 | "type": "library",
2649 | "extra": {
2650 | "branch-alias": {
2651 | "dev-master": "4.0-dev"
2652 | }
2653 | },
2654 | "autoload": {
2655 | "classmap": [
2656 | "src/"
2657 | ]
2658 | },
2659 | "notification-url": "https://packagist.org/downloads/",
2660 | "license": [
2661 | "BSD-3-Clause"
2662 | ],
2663 | "authors": [
2664 | {
2665 | "name": "Sebastian Bergmann",
2666 | "email": "sebastian@phpunit.de"
2667 | }
2668 | ],
2669 | "description": "Traverses array structures and object graphs to enumerate all referenced objects",
2670 | "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
2671 | "time": "2020-06-26T12:11:32+00:00"
2672 | },
2673 | {
2674 | "name": "sebastian/object-reflector",
2675 | "version": "2.0.2",
2676 | "source": {
2677 | "type": "git",
2678 | "url": "https://github.com/sebastianbergmann/object-reflector.git",
2679 | "reference": "127a46f6b057441b201253526f81d5406d6c7840"
2680 | },
2681 | "dist": {
2682 | "type": "zip",
2683 | "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/127a46f6b057441b201253526f81d5406d6c7840",
2684 | "reference": "127a46f6b057441b201253526f81d5406d6c7840",
2685 | "shasum": ""
2686 | },
2687 | "require": {
2688 | "php": "^7.3 || ^8.0"
2689 | },
2690 | "require-dev": {
2691 | "phpunit/phpunit": "^9.0"
2692 | },
2693 | "type": "library",
2694 | "extra": {
2695 | "branch-alias": {
2696 | "dev-master": "2.0-dev"
2697 | }
2698 | },
2699 | "autoload": {
2700 | "classmap": [
2701 | "src/"
2702 | ]
2703 | },
2704 | "notification-url": "https://packagist.org/downloads/",
2705 | "license": [
2706 | "BSD-3-Clause"
2707 | ],
2708 | "authors": [
2709 | {
2710 | "name": "Sebastian Bergmann",
2711 | "email": "sebastian@phpunit.de"
2712 | }
2713 | ],
2714 | "description": "Allows reflection of object attributes, including inherited and non-public ones",
2715 | "homepage": "https://github.com/sebastianbergmann/object-reflector/",
2716 | "time": "2020-06-26T12:12:55+00:00"
2717 | },
2718 | {
2719 | "name": "sebastian/recursion-context",
2720 | "version": "4.0.2",
2721 | "source": {
2722 | "type": "git",
2723 | "url": "https://github.com/sebastianbergmann/recursion-context.git",
2724 | "reference": "062231bf61d2b9448c4fa5a7643b5e1829c11d63"
2725 | },
2726 | "dist": {
2727 | "type": "zip",
2728 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/062231bf61d2b9448c4fa5a7643b5e1829c11d63",
2729 | "reference": "062231bf61d2b9448c4fa5a7643b5e1829c11d63",
2730 | "shasum": ""
2731 | },
2732 | "require": {
2733 | "php": "^7.3 || ^8.0"
2734 | },
2735 | "require-dev": {
2736 | "phpunit/phpunit": "^9.0"
2737 | },
2738 | "type": "library",
2739 | "extra": {
2740 | "branch-alias": {
2741 | "dev-master": "4.0-dev"
2742 | }
2743 | },
2744 | "autoload": {
2745 | "classmap": [
2746 | "src/"
2747 | ]
2748 | },
2749 | "notification-url": "https://packagist.org/downloads/",
2750 | "license": [
2751 | "BSD-3-Clause"
2752 | ],
2753 | "authors": [
2754 | {
2755 | "name": "Sebastian Bergmann",
2756 | "email": "sebastian@phpunit.de"
2757 | },
2758 | {
2759 | "name": "Jeff Welch",
2760 | "email": "whatthejeff@gmail.com"
2761 | },
2762 | {
2763 | "name": "Adam Harvey",
2764 | "email": "aharvey@php.net"
2765 | }
2766 | ],
2767 | "description": "Provides functionality to recursively process PHP variables",
2768 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
2769 | "time": "2020-06-26T12:14:17+00:00"
2770 | },
2771 | {
2772 | "name": "sebastian/resource-operations",
2773 | "version": "3.0.2",
2774 | "source": {
2775 | "type": "git",
2776 | "url": "https://github.com/sebastianbergmann/resource-operations.git",
2777 | "reference": "0653718a5a629b065e91f774595267f8dc32e213"
2778 | },
2779 | "dist": {
2780 | "type": "zip",
2781 | "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0653718a5a629b065e91f774595267f8dc32e213",
2782 | "reference": "0653718a5a629b065e91f774595267f8dc32e213",
2783 | "shasum": ""
2784 | },
2785 | "require": {
2786 | "php": "^7.3 || ^8.0"
2787 | },
2788 | "require-dev": {
2789 | "phpunit/phpunit": "^9.0"
2790 | },
2791 | "type": "library",
2792 | "extra": {
2793 | "branch-alias": {
2794 | "dev-master": "3.0-dev"
2795 | }
2796 | },
2797 | "autoload": {
2798 | "classmap": [
2799 | "src/"
2800 | ]
2801 | },
2802 | "notification-url": "https://packagist.org/downloads/",
2803 | "license": [
2804 | "BSD-3-Clause"
2805 | ],
2806 | "authors": [
2807 | {
2808 | "name": "Sebastian Bergmann",
2809 | "email": "sebastian@phpunit.de"
2810 | }
2811 | ],
2812 | "description": "Provides a list of PHP built-in functions that operate on resources",
2813 | "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
2814 | "time": "2020-06-26T12:16:22+00:00"
2815 | },
2816 | {
2817 | "name": "sebastian/type",
2818 | "version": "2.2.1",
2819 | "source": {
2820 | "type": "git",
2821 | "url": "https://github.com/sebastianbergmann/type.git",
2822 | "reference": "86991e2b33446cd96e648c18bcdb1e95afb2c05a"
2823 | },
2824 | "dist": {
2825 | "type": "zip",
2826 | "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/86991e2b33446cd96e648c18bcdb1e95afb2c05a",
2827 | "reference": "86991e2b33446cd96e648c18bcdb1e95afb2c05a",
2828 | "shasum": ""
2829 | },
2830 | "require": {
2831 | "php": "^7.3 || ^8.0"
2832 | },
2833 | "require-dev": {
2834 | "phpunit/phpunit": "^9.2"
2835 | },
2836 | "type": "library",
2837 | "extra": {
2838 | "branch-alias": {
2839 | "dev-master": "2.2-dev"
2840 | }
2841 | },
2842 | "autoload": {
2843 | "classmap": [
2844 | "src/"
2845 | ]
2846 | },
2847 | "notification-url": "https://packagist.org/downloads/",
2848 | "license": [
2849 | "BSD-3-Clause"
2850 | ],
2851 | "authors": [
2852 | {
2853 | "name": "Sebastian Bergmann",
2854 | "email": "sebastian@phpunit.de",
2855 | "role": "lead"
2856 | }
2857 | ],
2858 | "description": "Collection of value objects that represent the types of the PHP type system",
2859 | "homepage": "https://github.com/sebastianbergmann/type",
2860 | "time": "2020-07-05T08:31:53+00:00"
2861 | },
2862 | {
2863 | "name": "sebastian/version",
2864 | "version": "3.0.1",
2865 | "source": {
2866 | "type": "git",
2867 | "url": "https://github.com/sebastianbergmann/version.git",
2868 | "reference": "626586115d0ed31cb71483be55beb759b5af5a3c"
2869 | },
2870 | "dist": {
2871 | "type": "zip",
2872 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/626586115d0ed31cb71483be55beb759b5af5a3c",
2873 | "reference": "626586115d0ed31cb71483be55beb759b5af5a3c",
2874 | "shasum": ""
2875 | },
2876 | "require": {
2877 | "php": "^7.3 || ^8.0"
2878 | },
2879 | "type": "library",
2880 | "extra": {
2881 | "branch-alias": {
2882 | "dev-master": "3.0-dev"
2883 | }
2884 | },
2885 | "autoload": {
2886 | "classmap": [
2887 | "src/"
2888 | ]
2889 | },
2890 | "notification-url": "https://packagist.org/downloads/",
2891 | "license": [
2892 | "BSD-3-Clause"
2893 | ],
2894 | "authors": [
2895 | {
2896 | "name": "Sebastian Bergmann",
2897 | "email": "sebastian@phpunit.de",
2898 | "role": "lead"
2899 | }
2900 | ],
2901 | "description": "Library that helps with managing the version number of Git-hosted PHP projects",
2902 | "homepage": "https://github.com/sebastianbergmann/version",
2903 | "time": "2020-06-26T12:18:43+00:00"
2904 | },
2905 | {
2906 | "name": "seld/jsonlint",
2907 | "version": "1.8.1",
2908 | "source": {
2909 | "type": "git",
2910 | "url": "https://github.com/Seldaek/jsonlint.git",
2911 | "reference": "3d5eb71705adfa34bd34b993400622932b2f62fd"
2912 | },
2913 | "dist": {
2914 | "type": "zip",
2915 | "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/3d5eb71705adfa34bd34b993400622932b2f62fd",
2916 | "reference": "3d5eb71705adfa34bd34b993400622932b2f62fd",
2917 | "shasum": ""
2918 | },
2919 | "require": {
2920 | "php": "^5.3 || ^7.0 || ^8.0"
2921 | },
2922 | "require-dev": {
2923 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
2924 | },
2925 | "bin": [
2926 | "bin/jsonlint"
2927 | ],
2928 | "type": "library",
2929 | "autoload": {
2930 | "psr-4": {
2931 | "Seld\\JsonLint\\": "src/Seld/JsonLint/"
2932 | }
2933 | },
2934 | "notification-url": "https://packagist.org/downloads/",
2935 | "license": [
2936 | "MIT"
2937 | ],
2938 | "authors": [
2939 | {
2940 | "name": "Jordi Boggiano",
2941 | "email": "j.boggiano@seld.be",
2942 | "homepage": "http://seld.be"
2943 | }
2944 | ],
2945 | "description": "JSON Linter",
2946 | "keywords": [
2947 | "json",
2948 | "linter",
2949 | "parser",
2950 | "validator"
2951 | ],
2952 | "time": "2020-08-13T09:07:59+00:00"
2953 | },
2954 | {
2955 | "name": "slevomat/coding-standard",
2956 | "version": "4.8.7",
2957 | "source": {
2958 | "type": "git",
2959 | "url": "https://github.com/slevomat/coding-standard.git",
2960 | "reference": "bff96313d8c7c2ba57a4edb13c1c141df8988c58"
2961 | },
2962 | "dist": {
2963 | "type": "zip",
2964 | "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/bff96313d8c7c2ba57a4edb13c1c141df8988c58",
2965 | "reference": "bff96313d8c7c2ba57a4edb13c1c141df8988c58",
2966 | "shasum": ""
2967 | },
2968 | "require": {
2969 | "php": "^7.1",
2970 | "squizlabs/php_codesniffer": "^3.4.0"
2971 | },
2972 | "require-dev": {
2973 | "jakub-onderka/php-parallel-lint": "1.0.0",
2974 | "phing/phing": "2.16.1",
2975 | "phpstan/phpstan": "0.9.2",
2976 | "phpstan/phpstan-phpunit": "0.9.4",
2977 | "phpstan/phpstan-strict-rules": "0.9",
2978 | "phpunit/phpunit": "7.5.1"
2979 | },
2980 | "type": "phpcodesniffer-standard",
2981 | "autoload": {
2982 | "psr-4": {
2983 | "SlevomatCodingStandard\\": "SlevomatCodingStandard"
2984 | }
2985 | },
2986 | "notification-url": "https://packagist.org/downloads/",
2987 | "license": [
2988 | "MIT"
2989 | ],
2990 | "description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.",
2991 | "time": "2019-01-03T13:15:50+00:00"
2992 | },
2993 | {
2994 | "name": "squizlabs/php_codesniffer",
2995 | "version": "3.5.6",
2996 | "source": {
2997 | "type": "git",
2998 | "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
2999 | "reference": "e97627871a7eab2f70e59166072a6b767d5834e0"
3000 | },
3001 | "dist": {
3002 | "type": "zip",
3003 | "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/e97627871a7eab2f70e59166072a6b767d5834e0",
3004 | "reference": "e97627871a7eab2f70e59166072a6b767d5834e0",
3005 | "shasum": ""
3006 | },
3007 | "require": {
3008 | "ext-simplexml": "*",
3009 | "ext-tokenizer": "*",
3010 | "ext-xmlwriter": "*",
3011 | "php": ">=5.4.0"
3012 | },
3013 | "require-dev": {
3014 | "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
3015 | },
3016 | "bin": [
3017 | "bin/phpcs",
3018 | "bin/phpcbf"
3019 | ],
3020 | "type": "library",
3021 | "extra": {
3022 | "branch-alias": {
3023 | "dev-master": "3.x-dev"
3024 | }
3025 | },
3026 | "notification-url": "https://packagist.org/downloads/",
3027 | "license": [
3028 | "BSD-3-Clause"
3029 | ],
3030 | "authors": [
3031 | {
3032 | "name": "Greg Sherwood",
3033 | "role": "lead"
3034 | }
3035 | ],
3036 | "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
3037 | "homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
3038 | "keywords": [
3039 | "phpcs",
3040 | "standards"
3041 | ],
3042 | "time": "2020-08-10T04:50:15+00:00"
3043 | },
3044 | {
3045 | "name": "symfony/config",
3046 | "version": "v5.1.3",
3047 | "source": {
3048 | "type": "git",
3049 | "url": "https://github.com/symfony/config.git",
3050 | "reference": "cf63f0613a6c6918e96db39c07a43b01e19a0773"
3051 | },
3052 | "dist": {
3053 | "type": "zip",
3054 | "url": "https://api.github.com/repos/symfony/config/zipball/cf63f0613a6c6918e96db39c07a43b01e19a0773",
3055 | "reference": "cf63f0613a6c6918e96db39c07a43b01e19a0773",
3056 | "shasum": ""
3057 | },
3058 | "require": {
3059 | "php": ">=7.2.5",
3060 | "symfony/deprecation-contracts": "^2.1",
3061 | "symfony/filesystem": "^4.4|^5.0",
3062 | "symfony/polyfill-ctype": "~1.8",
3063 | "symfony/polyfill-php80": "^1.15"
3064 | },
3065 | "conflict": {
3066 | "symfony/finder": "<4.4"
3067 | },
3068 | "require-dev": {
3069 | "symfony/event-dispatcher": "^4.4|^5.0",
3070 | "symfony/finder": "^4.4|^5.0",
3071 | "symfony/messenger": "^4.4|^5.0",
3072 | "symfony/service-contracts": "^1.1|^2",
3073 | "symfony/yaml": "^4.4|^5.0"
3074 | },
3075 | "suggest": {
3076 | "symfony/yaml": "To use the yaml reference dumper"
3077 | },
3078 | "type": "library",
3079 | "extra": {
3080 | "branch-alias": {
3081 | "dev-master": "5.1-dev"
3082 | }
3083 | },
3084 | "autoload": {
3085 | "psr-4": {
3086 | "Symfony\\Component\\Config\\": ""
3087 | },
3088 | "exclude-from-classmap": [
3089 | "/Tests/"
3090 | ]
3091 | },
3092 | "notification-url": "https://packagist.org/downloads/",
3093 | "license": [
3094 | "MIT"
3095 | ],
3096 | "authors": [
3097 | {
3098 | "name": "Fabien Potencier",
3099 | "email": "fabien@symfony.com"
3100 | },
3101 | {
3102 | "name": "Symfony Community",
3103 | "homepage": "https://symfony.com/contributors"
3104 | }
3105 | ],
3106 | "description": "Symfony Config Component",
3107 | "homepage": "https://symfony.com",
3108 | "time": "2020-07-15T10:53:22+00:00"
3109 | },
3110 | {
3111 | "name": "symfony/console",
3112 | "version": "v4.4.11",
3113 | "source": {
3114 | "type": "git",
3115 | "url": "https://github.com/symfony/console.git",
3116 | "reference": "55d07021da933dd0d633ffdab6f45d5b230c7e02"
3117 | },
3118 | "dist": {
3119 | "type": "zip",
3120 | "url": "https://api.github.com/repos/symfony/console/zipball/55d07021da933dd0d633ffdab6f45d5b230c7e02",
3121 | "reference": "55d07021da933dd0d633ffdab6f45d5b230c7e02",
3122 | "shasum": ""
3123 | },
3124 | "require": {
3125 | "php": ">=7.1.3",
3126 | "symfony/polyfill-mbstring": "~1.0",
3127 | "symfony/polyfill-php73": "^1.8",
3128 | "symfony/polyfill-php80": "^1.15",
3129 | "symfony/service-contracts": "^1.1|^2"
3130 | },
3131 | "conflict": {
3132 | "symfony/dependency-injection": "<3.4",
3133 | "symfony/event-dispatcher": "<4.3|>=5",
3134 | "symfony/lock": "<4.4",
3135 | "symfony/process": "<3.3"
3136 | },
3137 | "provide": {
3138 | "psr/log-implementation": "1.0"
3139 | },
3140 | "require-dev": {
3141 | "psr/log": "~1.0",
3142 | "symfony/config": "^3.4|^4.0|^5.0",
3143 | "symfony/dependency-injection": "^3.4|^4.0|^5.0",
3144 | "symfony/event-dispatcher": "^4.3",
3145 | "symfony/lock": "^4.4|^5.0",
3146 | "symfony/process": "^3.4|^4.0|^5.0",
3147 | "symfony/var-dumper": "^4.3|^5.0"
3148 | },
3149 | "suggest": {
3150 | "psr/log": "For using the console logger",
3151 | "symfony/event-dispatcher": "",
3152 | "symfony/lock": "",
3153 | "symfony/process": ""
3154 | },
3155 | "type": "library",
3156 | "extra": {
3157 | "branch-alias": {
3158 | "dev-master": "4.4-dev"
3159 | }
3160 | },
3161 | "autoload": {
3162 | "psr-4": {
3163 | "Symfony\\Component\\Console\\": ""
3164 | },
3165 | "exclude-from-classmap": [
3166 | "/Tests/"
3167 | ]
3168 | },
3169 | "notification-url": "https://packagist.org/downloads/",
3170 | "license": [
3171 | "MIT"
3172 | ],
3173 | "authors": [
3174 | {
3175 | "name": "Fabien Potencier",
3176 | "email": "fabien@symfony.com"
3177 | },
3178 | {
3179 | "name": "Symfony Community",
3180 | "homepage": "https://symfony.com/contributors"
3181 | }
3182 | ],
3183 | "description": "Symfony Console Component",
3184 | "homepage": "https://symfony.com",
3185 | "time": "2020-07-06T13:18:39+00:00"
3186 | },
3187 | {
3188 | "name": "symfony/dependency-injection",
3189 | "version": "v5.1.3",
3190 | "source": {
3191 | "type": "git",
3192 | "url": "https://github.com/symfony/dependency-injection.git",
3193 | "reference": "c45c3f26d2ae7c5239e5ad420b0c2717dbbc0bcb"
3194 | },
3195 | "dist": {
3196 | "type": "zip",
3197 | "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/c45c3f26d2ae7c5239e5ad420b0c2717dbbc0bcb",
3198 | "reference": "c45c3f26d2ae7c5239e5ad420b0c2717dbbc0bcb",
3199 | "shasum": ""
3200 | },
3201 | "require": {
3202 | "php": ">=7.2.5",
3203 | "psr/container": "^1.0",
3204 | "symfony/deprecation-contracts": "^2.1",
3205 | "symfony/polyfill-php80": "^1.15",
3206 | "symfony/service-contracts": "^1.1.6|^2"
3207 | },
3208 | "conflict": {
3209 | "symfony/config": "<5.1",
3210 | "symfony/finder": "<4.4",
3211 | "symfony/proxy-manager-bridge": "<4.4",
3212 | "symfony/yaml": "<4.4"
3213 | },
3214 | "provide": {
3215 | "psr/container-implementation": "1.0",
3216 | "symfony/service-implementation": "1.0"
3217 | },
3218 | "require-dev": {
3219 | "symfony/config": "^5.1",
3220 | "symfony/expression-language": "^4.4|^5.0",
3221 | "symfony/yaml": "^4.4|^5.0"
3222 | },
3223 | "suggest": {
3224 | "symfony/config": "",
3225 | "symfony/expression-language": "For using expressions in service container configuration",
3226 | "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required",
3227 | "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
3228 | "symfony/yaml": ""
3229 | },
3230 | "type": "library",
3231 | "extra": {
3232 | "branch-alias": {
3233 | "dev-master": "5.1-dev"
3234 | }
3235 | },
3236 | "autoload": {
3237 | "psr-4": {
3238 | "Symfony\\Component\\DependencyInjection\\": ""
3239 | },
3240 | "exclude-from-classmap": [
3241 | "/Tests/"
3242 | ]
3243 | },
3244 | "notification-url": "https://packagist.org/downloads/",
3245 | "license": [
3246 | "MIT"
3247 | ],
3248 | "authors": [
3249 | {
3250 | "name": "Fabien Potencier",
3251 | "email": "fabien@symfony.com"
3252 | },
3253 | {
3254 | "name": "Symfony Community",
3255 | "homepage": "https://symfony.com/contributors"
3256 | }
3257 | ],
3258 | "description": "Symfony DependencyInjection Component",
3259 | "homepage": "https://symfony.com",
3260 | "time": "2020-07-23T08:36:24+00:00"
3261 | },
3262 | {
3263 | "name": "symfony/deprecation-contracts",
3264 | "version": "v2.1.3",
3265 | "source": {
3266 | "type": "git",
3267 | "url": "https://github.com/symfony/deprecation-contracts.git",
3268 | "reference": "5e20b83385a77593259c9f8beb2c43cd03b2ac14"
3269 | },
3270 | "dist": {
3271 | "type": "zip",
3272 | "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5e20b83385a77593259c9f8beb2c43cd03b2ac14",
3273 | "reference": "5e20b83385a77593259c9f8beb2c43cd03b2ac14",
3274 | "shasum": ""
3275 | },
3276 | "require": {
3277 | "php": ">=7.1"
3278 | },
3279 | "type": "library",
3280 | "extra": {
3281 | "branch-alias": {
3282 | "dev-master": "2.1-dev"
3283 | },
3284 | "thanks": {
3285 | "name": "symfony/contracts",
3286 | "url": "https://github.com/symfony/contracts"
3287 | }
3288 | },
3289 | "autoload": {
3290 | "files": [
3291 | "function.php"
3292 | ]
3293 | },
3294 | "notification-url": "https://packagist.org/downloads/",
3295 | "license": [
3296 | "MIT"
3297 | ],
3298 | "authors": [
3299 | {
3300 | "name": "Nicolas Grekas",
3301 | "email": "p@tchwork.com"
3302 | },
3303 | {
3304 | "name": "Symfony Community",
3305 | "homepage": "https://symfony.com/contributors"
3306 | }
3307 | ],
3308 | "description": "A generic function and convention to trigger deprecation notices",
3309 | "homepage": "https://symfony.com",
3310 | "time": "2020-06-06T08:49:21+00:00"
3311 | },
3312 | {
3313 | "name": "symfony/filesystem",
3314 | "version": "v5.1.3",
3315 | "source": {
3316 | "type": "git",
3317 | "url": "https://github.com/symfony/filesystem.git",
3318 | "reference": "6e4320f06d5f2cce0d96530162491f4465179157"
3319 | },
3320 | "dist": {
3321 | "type": "zip",
3322 | "url": "https://api.github.com/repos/symfony/filesystem/zipball/6e4320f06d5f2cce0d96530162491f4465179157",
3323 | "reference": "6e4320f06d5f2cce0d96530162491f4465179157",
3324 | "shasum": ""
3325 | },
3326 | "require": {
3327 | "php": ">=7.2.5",
3328 | "symfony/polyfill-ctype": "~1.8"
3329 | },
3330 | "type": "library",
3331 | "extra": {
3332 | "branch-alias": {
3333 | "dev-master": "5.1-dev"
3334 | }
3335 | },
3336 | "autoload": {
3337 | "psr-4": {
3338 | "Symfony\\Component\\Filesystem\\": ""
3339 | },
3340 | "exclude-from-classmap": [
3341 | "/Tests/"
3342 | ]
3343 | },
3344 | "notification-url": "https://packagist.org/downloads/",
3345 | "license": [
3346 | "MIT"
3347 | ],
3348 | "authors": [
3349 | {
3350 | "name": "Fabien Potencier",
3351 | "email": "fabien@symfony.com"
3352 | },
3353 | {
3354 | "name": "Symfony Community",
3355 | "homepage": "https://symfony.com/contributors"
3356 | }
3357 | ],
3358 | "description": "Symfony Filesystem Component",
3359 | "homepage": "https://symfony.com",
3360 | "time": "2020-05-30T20:35:19+00:00"
3361 | },
3362 | {
3363 | "name": "symfony/finder",
3364 | "version": "v4.4.11",
3365 | "source": {
3366 | "type": "git",
3367 | "url": "https://github.com/symfony/finder.git",
3368 | "reference": "2727aa35fddfada1dd37599948528e9b152eb742"
3369 | },
3370 | "dist": {
3371 | "type": "zip",
3372 | "url": "https://api.github.com/repos/symfony/finder/zipball/2727aa35fddfada1dd37599948528e9b152eb742",
3373 | "reference": "2727aa35fddfada1dd37599948528e9b152eb742",
3374 | "shasum": ""
3375 | },
3376 | "require": {
3377 | "php": ">=7.1.3"
3378 | },
3379 | "type": "library",
3380 | "extra": {
3381 | "branch-alias": {
3382 | "dev-master": "4.4-dev"
3383 | }
3384 | },
3385 | "autoload": {
3386 | "psr-4": {
3387 | "Symfony\\Component\\Finder\\": ""
3388 | },
3389 | "exclude-from-classmap": [
3390 | "/Tests/"
3391 | ]
3392 | },
3393 | "notification-url": "https://packagist.org/downloads/",
3394 | "license": [
3395 | "MIT"
3396 | ],
3397 | "authors": [
3398 | {
3399 | "name": "Fabien Potencier",
3400 | "email": "fabien@symfony.com"
3401 | },
3402 | {
3403 | "name": "Symfony Community",
3404 | "homepage": "https://symfony.com/contributors"
3405 | }
3406 | ],
3407 | "description": "Symfony Finder Component",
3408 | "homepage": "https://symfony.com",
3409 | "time": "2020-07-05T09:39:30+00:00"
3410 | },
3411 | {
3412 | "name": "symfony/polyfill-ctype",
3413 | "version": "v1.18.1",
3414 | "source": {
3415 | "type": "git",
3416 | "url": "https://github.com/symfony/polyfill-ctype.git",
3417 | "reference": "1c302646f6efc070cd46856e600e5e0684d6b454"
3418 | },
3419 | "dist": {
3420 | "type": "zip",
3421 | "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/1c302646f6efc070cd46856e600e5e0684d6b454",
3422 | "reference": "1c302646f6efc070cd46856e600e5e0684d6b454",
3423 | "shasum": ""
3424 | },
3425 | "require": {
3426 | "php": ">=5.3.3"
3427 | },
3428 | "suggest": {
3429 | "ext-ctype": "For best performance"
3430 | },
3431 | "type": "library",
3432 | "extra": {
3433 | "branch-alias": {
3434 | "dev-master": "1.18-dev"
3435 | },
3436 | "thanks": {
3437 | "name": "symfony/polyfill",
3438 | "url": "https://github.com/symfony/polyfill"
3439 | }
3440 | },
3441 | "autoload": {
3442 | "psr-4": {
3443 | "Symfony\\Polyfill\\Ctype\\": ""
3444 | },
3445 | "files": [
3446 | "bootstrap.php"
3447 | ]
3448 | },
3449 | "notification-url": "https://packagist.org/downloads/",
3450 | "license": [
3451 | "MIT"
3452 | ],
3453 | "authors": [
3454 | {
3455 | "name": "Gert de Pagter",
3456 | "email": "BackEndTea@gmail.com"
3457 | },
3458 | {
3459 | "name": "Symfony Community",
3460 | "homepage": "https://symfony.com/contributors"
3461 | }
3462 | ],
3463 | "description": "Symfony polyfill for ctype functions",
3464 | "homepage": "https://symfony.com",
3465 | "keywords": [
3466 | "compatibility",
3467 | "ctype",
3468 | "polyfill",
3469 | "portable"
3470 | ],
3471 | "time": "2020-07-14T12:35:20+00:00"
3472 | },
3473 | {
3474 | "name": "symfony/polyfill-mbstring",
3475 | "version": "v1.18.1",
3476 | "source": {
3477 | "type": "git",
3478 | "url": "https://github.com/symfony/polyfill-mbstring.git",
3479 | "reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a"
3480 | },
3481 | "dist": {
3482 | "type": "zip",
3483 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/a6977d63bf9a0ad4c65cd352709e230876f9904a",
3484 | "reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a",
3485 | "shasum": ""
3486 | },
3487 | "require": {
3488 | "php": ">=5.3.3"
3489 | },
3490 | "suggest": {
3491 | "ext-mbstring": "For best performance"
3492 | },
3493 | "type": "library",
3494 | "extra": {
3495 | "branch-alias": {
3496 | "dev-master": "1.18-dev"
3497 | },
3498 | "thanks": {
3499 | "name": "symfony/polyfill",
3500 | "url": "https://github.com/symfony/polyfill"
3501 | }
3502 | },
3503 | "autoload": {
3504 | "psr-4": {
3505 | "Symfony\\Polyfill\\Mbstring\\": ""
3506 | },
3507 | "files": [
3508 | "bootstrap.php"
3509 | ]
3510 | },
3511 | "notification-url": "https://packagist.org/downloads/",
3512 | "license": [
3513 | "MIT"
3514 | ],
3515 | "authors": [
3516 | {
3517 | "name": "Nicolas Grekas",
3518 | "email": "p@tchwork.com"
3519 | },
3520 | {
3521 | "name": "Symfony Community",
3522 | "homepage": "https://symfony.com/contributors"
3523 | }
3524 | ],
3525 | "description": "Symfony polyfill for the Mbstring extension",
3526 | "homepage": "https://symfony.com",
3527 | "keywords": [
3528 | "compatibility",
3529 | "mbstring",
3530 | "polyfill",
3531 | "portable",
3532 | "shim"
3533 | ],
3534 | "time": "2020-07-14T12:35:20+00:00"
3535 | },
3536 | {
3537 | "name": "symfony/polyfill-php73",
3538 | "version": "v1.18.1",
3539 | "source": {
3540 | "type": "git",
3541 | "url": "https://github.com/symfony/polyfill-php73.git",
3542 | "reference": "fffa1a52a023e782cdcc221d781fe1ec8f87fcca"
3543 | },
3544 | "dist": {
3545 | "type": "zip",
3546 | "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fffa1a52a023e782cdcc221d781fe1ec8f87fcca",
3547 | "reference": "fffa1a52a023e782cdcc221d781fe1ec8f87fcca",
3548 | "shasum": ""
3549 | },
3550 | "require": {
3551 | "php": ">=5.3.3"
3552 | },
3553 | "type": "library",
3554 | "extra": {
3555 | "branch-alias": {
3556 | "dev-master": "1.18-dev"
3557 | },
3558 | "thanks": {
3559 | "name": "symfony/polyfill",
3560 | "url": "https://github.com/symfony/polyfill"
3561 | }
3562 | },
3563 | "autoload": {
3564 | "psr-4": {
3565 | "Symfony\\Polyfill\\Php73\\": ""
3566 | },
3567 | "files": [
3568 | "bootstrap.php"
3569 | ],
3570 | "classmap": [
3571 | "Resources/stubs"
3572 | ]
3573 | },
3574 | "notification-url": "https://packagist.org/downloads/",
3575 | "license": [
3576 | "MIT"
3577 | ],
3578 | "authors": [
3579 | {
3580 | "name": "Nicolas Grekas",
3581 | "email": "p@tchwork.com"
3582 | },
3583 | {
3584 | "name": "Symfony Community",
3585 | "homepage": "https://symfony.com/contributors"
3586 | }
3587 | ],
3588 | "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
3589 | "homepage": "https://symfony.com",
3590 | "keywords": [
3591 | "compatibility",
3592 | "polyfill",
3593 | "portable",
3594 | "shim"
3595 | ],
3596 | "time": "2020-07-14T12:35:20+00:00"
3597 | },
3598 | {
3599 | "name": "symfony/polyfill-php80",
3600 | "version": "v1.18.1",
3601 | "source": {
3602 | "type": "git",
3603 | "url": "https://github.com/symfony/polyfill-php80.git",
3604 | "reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981"
3605 | },
3606 | "dist": {
3607 | "type": "zip",
3608 | "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/d87d5766cbf48d72388a9f6b85f280c8ad51f981",
3609 | "reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981",
3610 | "shasum": ""
3611 | },
3612 | "require": {
3613 | "php": ">=7.0.8"
3614 | },
3615 | "type": "library",
3616 | "extra": {
3617 | "branch-alias": {
3618 | "dev-master": "1.18-dev"
3619 | },
3620 | "thanks": {
3621 | "name": "symfony/polyfill",
3622 | "url": "https://github.com/symfony/polyfill"
3623 | }
3624 | },
3625 | "autoload": {
3626 | "psr-4": {
3627 | "Symfony\\Polyfill\\Php80\\": ""
3628 | },
3629 | "files": [
3630 | "bootstrap.php"
3631 | ],
3632 | "classmap": [
3633 | "Resources/stubs"
3634 | ]
3635 | },
3636 | "notification-url": "https://packagist.org/downloads/",
3637 | "license": [
3638 | "MIT"
3639 | ],
3640 | "authors": [
3641 | {
3642 | "name": "Ion Bazan",
3643 | "email": "ion.bazan@gmail.com"
3644 | },
3645 | {
3646 | "name": "Nicolas Grekas",
3647 | "email": "p@tchwork.com"
3648 | },
3649 | {
3650 | "name": "Symfony Community",
3651 | "homepage": "https://symfony.com/contributors"
3652 | }
3653 | ],
3654 | "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
3655 | "homepage": "https://symfony.com",
3656 | "keywords": [
3657 | "compatibility",
3658 | "polyfill",
3659 | "portable",
3660 | "shim"
3661 | ],
3662 | "time": "2020-07-14T12:35:20+00:00"
3663 | },
3664 | {
3665 | "name": "symfony/process",
3666 | "version": "v5.1.3",
3667 | "source": {
3668 | "type": "git",
3669 | "url": "https://github.com/symfony/process.git",
3670 | "reference": "1864216226af21eb76d9477f691e7cbf198e0402"
3671 | },
3672 | "dist": {
3673 | "type": "zip",
3674 | "url": "https://api.github.com/repos/symfony/process/zipball/1864216226af21eb76d9477f691e7cbf198e0402",
3675 | "reference": "1864216226af21eb76d9477f691e7cbf198e0402",
3676 | "shasum": ""
3677 | },
3678 | "require": {
3679 | "php": ">=7.2.5",
3680 | "symfony/polyfill-php80": "^1.15"
3681 | },
3682 | "type": "library",
3683 | "extra": {
3684 | "branch-alias": {
3685 | "dev-master": "5.1-dev"
3686 | }
3687 | },
3688 | "autoload": {
3689 | "psr-4": {
3690 | "Symfony\\Component\\Process\\": ""
3691 | },
3692 | "exclude-from-classmap": [
3693 | "/Tests/"
3694 | ]
3695 | },
3696 | "notification-url": "https://packagist.org/downloads/",
3697 | "license": [
3698 | "MIT"
3699 | ],
3700 | "authors": [
3701 | {
3702 | "name": "Fabien Potencier",
3703 | "email": "fabien@symfony.com"
3704 | },
3705 | {
3706 | "name": "Symfony Community",
3707 | "homepage": "https://symfony.com/contributors"
3708 | }
3709 | ],
3710 | "description": "Symfony Process Component",
3711 | "homepage": "https://symfony.com",
3712 | "time": "2020-07-23T08:36:24+00:00"
3713 | },
3714 | {
3715 | "name": "symfony/service-contracts",
3716 | "version": "v2.1.3",
3717 | "source": {
3718 | "type": "git",
3719 | "url": "https://github.com/symfony/service-contracts.git",
3720 | "reference": "58c7475e5457c5492c26cc740cc0ad7464be9442"
3721 | },
3722 | "dist": {
3723 | "type": "zip",
3724 | "url": "https://api.github.com/repos/symfony/service-contracts/zipball/58c7475e5457c5492c26cc740cc0ad7464be9442",
3725 | "reference": "58c7475e5457c5492c26cc740cc0ad7464be9442",
3726 | "shasum": ""
3727 | },
3728 | "require": {
3729 | "php": ">=7.2.5",
3730 | "psr/container": "^1.0"
3731 | },
3732 | "suggest": {
3733 | "symfony/service-implementation": ""
3734 | },
3735 | "type": "library",
3736 | "extra": {
3737 | "branch-alias": {
3738 | "dev-master": "2.1-dev"
3739 | },
3740 | "thanks": {
3741 | "name": "symfony/contracts",
3742 | "url": "https://github.com/symfony/contracts"
3743 | }
3744 | },
3745 | "autoload": {
3746 | "psr-4": {
3747 | "Symfony\\Contracts\\Service\\": ""
3748 | }
3749 | },
3750 | "notification-url": "https://packagist.org/downloads/",
3751 | "license": [
3752 | "MIT"
3753 | ],
3754 | "authors": [
3755 | {
3756 | "name": "Nicolas Grekas",
3757 | "email": "p@tchwork.com"
3758 | },
3759 | {
3760 | "name": "Symfony Community",
3761 | "homepage": "https://symfony.com/contributors"
3762 | }
3763 | ],
3764 | "description": "Generic abstractions related to writing services",
3765 | "homepage": "https://symfony.com",
3766 | "keywords": [
3767 | "abstractions",
3768 | "contracts",
3769 | "decoupling",
3770 | "interfaces",
3771 | "interoperability",
3772 | "standards"
3773 | ],
3774 | "time": "2020-07-06T13:23:11+00:00"
3775 | },
3776 | {
3777 | "name": "symfony/yaml",
3778 | "version": "v5.1.3",
3779 | "source": {
3780 | "type": "git",
3781 | "url": "https://github.com/symfony/yaml.git",
3782 | "reference": "ea342353a3ef4f453809acc4ebc55382231d4d23"
3783 | },
3784 | "dist": {
3785 | "type": "zip",
3786 | "url": "https://api.github.com/repos/symfony/yaml/zipball/ea342353a3ef4f453809acc4ebc55382231d4d23",
3787 | "reference": "ea342353a3ef4f453809acc4ebc55382231d4d23",
3788 | "shasum": ""
3789 | },
3790 | "require": {
3791 | "php": ">=7.2.5",
3792 | "symfony/deprecation-contracts": "^2.1",
3793 | "symfony/polyfill-ctype": "~1.8"
3794 | },
3795 | "conflict": {
3796 | "symfony/console": "<4.4"
3797 | },
3798 | "require-dev": {
3799 | "symfony/console": "^4.4|^5.0"
3800 | },
3801 | "suggest": {
3802 | "symfony/console": "For validating YAML files using the lint command"
3803 | },
3804 | "bin": [
3805 | "Resources/bin/yaml-lint"
3806 | ],
3807 | "type": "library",
3808 | "extra": {
3809 | "branch-alias": {
3810 | "dev-master": "5.1-dev"
3811 | }
3812 | },
3813 | "autoload": {
3814 | "psr-4": {
3815 | "Symfony\\Component\\Yaml\\": ""
3816 | },
3817 | "exclude-from-classmap": [
3818 | "/Tests/"
3819 | ]
3820 | },
3821 | "notification-url": "https://packagist.org/downloads/",
3822 | "license": [
3823 | "MIT"
3824 | ],
3825 | "authors": [
3826 | {
3827 | "name": "Fabien Potencier",
3828 | "email": "fabien@symfony.com"
3829 | },
3830 | {
3831 | "name": "Symfony Community",
3832 | "homepage": "https://symfony.com/contributors"
3833 | }
3834 | ],
3835 | "description": "Symfony Yaml Component",
3836 | "homepage": "https://symfony.com",
3837 | "time": "2020-05-20T17:43:50+00:00"
3838 | },
3839 | {
3840 | "name": "thecodingmachine/safe",
3841 | "version": "v1.1.3",
3842 | "source": {
3843 | "type": "git",
3844 | "url": "https://github.com/thecodingmachine/safe.git",
3845 | "reference": "9f277171e296a3c8629c04ac93ec95ff0f208ccb"
3846 | },
3847 | "dist": {
3848 | "type": "zip",
3849 | "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/9f277171e296a3c8629c04ac93ec95ff0f208ccb",
3850 | "reference": "9f277171e296a3c8629c04ac93ec95ff0f208ccb",
3851 | "shasum": ""
3852 | },
3853 | "require": {
3854 | "php": ">=7.2"
3855 | },
3856 | "require-dev": {
3857 | "phpstan/phpstan": "^0.12",
3858 | "squizlabs/php_codesniffer": "^3.2",
3859 | "thecodingmachine/phpstan-strict-rules": "^0.12"
3860 | },
3861 | "type": "library",
3862 | "extra": {
3863 | "branch-alias": {
3864 | "dev-master": "0.1-dev"
3865 | }
3866 | },
3867 | "autoload": {
3868 | "psr-4": {
3869 | "Safe\\": [
3870 | "lib/",
3871 | "generated/"
3872 | ]
3873 | },
3874 | "files": [
3875 | "generated/apache.php",
3876 | "generated/apc.php",
3877 | "generated/apcu.php",
3878 | "generated/array.php",
3879 | "generated/bzip2.php",
3880 | "generated/classobj.php",
3881 | "generated/com.php",
3882 | "generated/cubrid.php",
3883 | "generated/curl.php",
3884 | "generated/datetime.php",
3885 | "generated/dir.php",
3886 | "generated/eio.php",
3887 | "generated/errorfunc.php",
3888 | "generated/exec.php",
3889 | "generated/fileinfo.php",
3890 | "generated/filesystem.php",
3891 | "generated/filter.php",
3892 | "generated/fpm.php",
3893 | "generated/ftp.php",
3894 | "generated/funchand.php",
3895 | "generated/gmp.php",
3896 | "generated/gnupg.php",
3897 | "generated/hash.php",
3898 | "generated/ibase.php",
3899 | "generated/ibmDb2.php",
3900 | "generated/iconv.php",
3901 | "generated/image.php",
3902 | "generated/imap.php",
3903 | "generated/info.php",
3904 | "generated/ingres-ii.php",
3905 | "generated/inotify.php",
3906 | "generated/json.php",
3907 | "generated/ldap.php",
3908 | "generated/libevent.php",
3909 | "generated/libxml.php",
3910 | "generated/lzf.php",
3911 | "generated/mailparse.php",
3912 | "generated/mbstring.php",
3913 | "generated/misc.php",
3914 | "generated/msql.php",
3915 | "generated/mssql.php",
3916 | "generated/mysql.php",
3917 | "generated/mysqli.php",
3918 | "generated/mysqlndMs.php",
3919 | "generated/mysqlndQc.php",
3920 | "generated/network.php",
3921 | "generated/oci8.php",
3922 | "generated/opcache.php",
3923 | "generated/openssl.php",
3924 | "generated/outcontrol.php",
3925 | "generated/password.php",
3926 | "generated/pcntl.php",
3927 | "generated/pcre.php",
3928 | "generated/pdf.php",
3929 | "generated/pgsql.php",
3930 | "generated/posix.php",
3931 | "generated/ps.php",
3932 | "generated/pspell.php",
3933 | "generated/readline.php",
3934 | "generated/rpminfo.php",
3935 | "generated/rrd.php",
3936 | "generated/sem.php",
3937 | "generated/session.php",
3938 | "generated/shmop.php",
3939 | "generated/simplexml.php",
3940 | "generated/sockets.php",
3941 | "generated/sodium.php",
3942 | "generated/solr.php",
3943 | "generated/spl.php",
3944 | "generated/sqlsrv.php",
3945 | "generated/ssdeep.php",
3946 | "generated/ssh2.php",
3947 | "generated/stats.php",
3948 | "generated/stream.php",
3949 | "generated/strings.php",
3950 | "generated/swoole.php",
3951 | "generated/uodbc.php",
3952 | "generated/uopz.php",
3953 | "generated/url.php",
3954 | "generated/var.php",
3955 | "generated/xdiff.php",
3956 | "generated/xml.php",
3957 | "generated/xmlrpc.php",
3958 | "generated/yaml.php",
3959 | "generated/yaz.php",
3960 | "generated/zip.php",
3961 | "generated/zlib.php",
3962 | "lib/special_cases.php"
3963 | ]
3964 | },
3965 | "notification-url": "https://packagist.org/downloads/",
3966 | "license": [
3967 | "MIT"
3968 | ],
3969 | "description": "PHP core functions that throw exceptions instead of returning FALSE on error",
3970 | "time": "2020-07-10T09:34:29+00:00"
3971 | },
3972 | {
3973 | "name": "theseer/tokenizer",
3974 | "version": "1.2.0",
3975 | "source": {
3976 | "type": "git",
3977 | "url": "https://github.com/theseer/tokenizer.git",
3978 | "reference": "75a63c33a8577608444246075ea0af0d052e452a"
3979 | },
3980 | "dist": {
3981 | "type": "zip",
3982 | "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a",
3983 | "reference": "75a63c33a8577608444246075ea0af0d052e452a",
3984 | "shasum": ""
3985 | },
3986 | "require": {
3987 | "ext-dom": "*",
3988 | "ext-tokenizer": "*",
3989 | "ext-xmlwriter": "*",
3990 | "php": "^7.2 || ^8.0"
3991 | },
3992 | "type": "library",
3993 | "autoload": {
3994 | "classmap": [
3995 | "src/"
3996 | ]
3997 | },
3998 | "notification-url": "https://packagist.org/downloads/",
3999 | "license": [
4000 | "BSD-3-Clause"
4001 | ],
4002 | "authors": [
4003 | {
4004 | "name": "Arne Blankerts",
4005 | "email": "arne@blankerts.de",
4006 | "role": "Developer"
4007 | }
4008 | ],
4009 | "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
4010 | "time": "2020-07-12T23:59:07+00:00"
4011 | },
4012 | {
4013 | "name": "webmozart/assert",
4014 | "version": "1.8.0",
4015 | "source": {
4016 | "type": "git",
4017 | "url": "https://github.com/webmozart/assert.git",
4018 | "reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6"
4019 | },
4020 | "dist": {
4021 | "type": "zip",
4022 | "url": "https://api.github.com/repos/webmozart/assert/zipball/ab2cb0b3b559010b75981b1bdce728da3ee90ad6",
4023 | "reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6",
4024 | "shasum": ""
4025 | },
4026 | "require": {
4027 | "php": "^5.3.3 || ^7.0",
4028 | "symfony/polyfill-ctype": "^1.8"
4029 | },
4030 | "conflict": {
4031 | "vimeo/psalm": "<3.9.1"
4032 | },
4033 | "require-dev": {
4034 | "phpunit/phpunit": "^4.8.36 || ^7.5.13"
4035 | },
4036 | "type": "library",
4037 | "autoload": {
4038 | "psr-4": {
4039 | "Webmozart\\Assert\\": "src/"
4040 | }
4041 | },
4042 | "notification-url": "https://packagist.org/downloads/",
4043 | "license": [
4044 | "MIT"
4045 | ],
4046 | "authors": [
4047 | {
4048 | "name": "Bernhard Schussek",
4049 | "email": "bschussek@gmail.com"
4050 | }
4051 | ],
4052 | "description": "Assertions to validate method input/output with nice error messages.",
4053 | "keywords": [
4054 | "assert",
4055 | "check",
4056 | "validate"
4057 | ],
4058 | "time": "2020-04-18T12:12:48+00:00"
4059 | },
4060 | {
4061 | "name": "webmozart/path-util",
4062 | "version": "2.3.0",
4063 | "source": {
4064 | "type": "git",
4065 | "url": "https://github.com/webmozart/path-util.git",
4066 | "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725"
4067 | },
4068 | "dist": {
4069 | "type": "zip",
4070 | "url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725",
4071 | "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725",
4072 | "shasum": ""
4073 | },
4074 | "require": {
4075 | "php": ">=5.3.3",
4076 | "webmozart/assert": "~1.0"
4077 | },
4078 | "require-dev": {
4079 | "phpunit/phpunit": "^4.6",
4080 | "sebastian/version": "^1.0.1"
4081 | },
4082 | "type": "library",
4083 | "extra": {
4084 | "branch-alias": {
4085 | "dev-master": "2.3-dev"
4086 | }
4087 | },
4088 | "autoload": {
4089 | "psr-4": {
4090 | "Webmozart\\PathUtil\\": "src/"
4091 | }
4092 | },
4093 | "notification-url": "https://packagist.org/downloads/",
4094 | "license": [
4095 | "MIT"
4096 | ],
4097 | "authors": [
4098 | {
4099 | "name": "Bernhard Schussek",
4100 | "email": "bschussek@gmail.com"
4101 | }
4102 | ],
4103 | "description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.",
4104 | "time": "2015-12-17T08:42:14+00:00"
4105 | },
4106 | {
4107 | "name": "wp-coding-standards/wpcs",
4108 | "version": "1.2.1",
4109 | "source": {
4110 | "type": "git",
4111 | "url": "https://github.com/WordPress/WordPress-Coding-Standards.git",
4112 | "reference": "f328bcafd97377e8e5e5d7b244d5ddbf301a3a5c"
4113 | },
4114 | "dist": {
4115 | "type": "zip",
4116 | "url": "https://api.github.com/repos/WordPress/WordPress-Coding-Standards/zipball/f328bcafd97377e8e5e5d7b244d5ddbf301a3a5c",
4117 | "reference": "f328bcafd97377e8e5e5d7b244d5ddbf301a3a5c",
4118 | "shasum": ""
4119 | },
4120 | "require": {
4121 | "php": ">=5.3",
4122 | "squizlabs/php_codesniffer": "^2.9.0 || ^3.0.2"
4123 | },
4124 | "require-dev": {
4125 | "phpcompatibility/php-compatibility": "^9.0"
4126 | },
4127 | "suggest": {
4128 | "dealerdirect/phpcodesniffer-composer-installer": "^0.4.3 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically."
4129 | },
4130 | "type": "phpcodesniffer-standard",
4131 | "notification-url": "https://packagist.org/downloads/",
4132 | "license": [
4133 | "MIT"
4134 | ],
4135 | "authors": [
4136 | {
4137 | "name": "Contributors",
4138 | "homepage": "https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/graphs/contributors"
4139 | }
4140 | ],
4141 | "description": "PHP_CodeSniffer rules (sniffs) to enforce WordPress coding conventions",
4142 | "keywords": [
4143 | "phpcs",
4144 | "standards",
4145 | "wordpress"
4146 | ],
4147 | "time": "2018-12-18T09:43:51+00:00"
4148 | },
4149 | {
4150 | "name": "yoast/yoastcs",
4151 | "version": "1.0",
4152 | "source": {
4153 | "type": "git",
4154 | "url": "https://github.com/Yoast/yoastcs.git",
4155 | "reference": "3b3498c1b057746003eefca90c10080cd606a29e"
4156 | },
4157 | "dist": {
4158 | "type": "zip",
4159 | "url": "https://api.github.com/repos/Yoast/yoastcs/zipball/3b3498c1b057746003eefca90c10080cd606a29e",
4160 | "reference": "3b3498c1b057746003eefca90c10080cd606a29e",
4161 | "shasum": ""
4162 | },
4163 | "require": {
4164 | "php": ">=5.4",
4165 | "phpcompatibility/phpcompatibility-wp": "^1.0.0",
4166 | "phpmd/phpmd": "^2.2.3",
4167 | "squizlabs/php_codesniffer": "^3.3.1",
4168 | "wp-coding-standards/wpcs": "^1.0.0"
4169 | },
4170 | "require-dev": {
4171 | "phpcompatibility/php-compatibility": "^8.2.0",
4172 | "roave/security-advisories": "dev-master"
4173 | },
4174 | "suggest": {
4175 | "dealerdirect/phpcodesniffer-composer-installer": "This Composer plugin will sort out the PHPCS 'installed_paths' automatically."
4176 | },
4177 | "type": "phpcodesniffer-standard",
4178 | "notification-url": "https://packagist.org/downloads/",
4179 | "license": [
4180 | "MIT"
4181 | ],
4182 | "authors": [
4183 | {
4184 | "name": "Team Yoast",
4185 | "email": "support@yoast.com",
4186 | "homepage": "https://yoast.com"
4187 | }
4188 | ],
4189 | "description": "PHP_CodeSniffer rules for Yoast projects",
4190 | "keywords": [
4191 | "phpcs",
4192 | "standards",
4193 | "wordpress",
4194 | "yoast"
4195 | ],
4196 | "time": "2018-08-24T09:04:56+00:00"
4197 | }
4198 | ],
4199 | "aliases": [],
4200 | "minimum-stability": "stable",
4201 | "stability-flags": [],
4202 | "prefer-stable": false,
4203 | "prefer-lowest": false,
4204 | "platform": {
4205 | "php": ">= 7.4"
4206 | },
4207 | "platform-dev": []
4208 | }
4209 |
--------------------------------------------------------------------------------
/example.php:
--------------------------------------------------------------------------------
1 | sign = $sign;
25 | $this->exponent = $exponent;
26 | $this->mantissa = $mantissa;
27 | }
28 |
29 | public function getSign(): string
30 | {
31 | return $this->sign;
32 | }
33 |
34 | public function getExponent(): string
35 | {
36 | return $this->exponent;
37 | }
38 |
39 | public function getMantissa(): string
40 | {
41 | return $this->mantissa;
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/src/FloatHex/FloatInfo.php:
--------------------------------------------------------------------------------
1 | sign = $sign;
25 | $this->exponent = $exponent;
26 | $this->mantissa = $mantissa;
27 | }
28 |
29 | public function getSign(): string
30 | {
31 | return $this->sign;
32 | }
33 |
34 | public function getExponent(): string
35 | {
36 | return $this->exponent;
37 | }
38 |
39 | public function getMantissa(): string
40 | {
41 | return $this->mantissa;
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/src/functions.php:
--------------------------------------------------------------------------------
1 | = 8) {
136 | $sign = '1';
137 | }
138 |
139 | $exponentString = substr($float64, 0, 3);
140 | $exponentValue = hexdec($exponentString) & 0x7ff;
141 | $exponent = sprintf("%b", $exponentValue);
142 | $exponent = str_pad($exponent, 11, '0', STR_PAD_LEFT);
143 |
144 | $mantissa = substr($float64, 2);
145 | $mantissa = hexdec($mantissa) & 0xfffffffffffff;
146 | $mantissa = sprintf("%b", $mantissa);
147 | $mantissa = str_pad($mantissa, 52, '0', STR_PAD_LEFT);
148 |
149 | return new FloatInfo(
150 | $sign,
151 | $exponent,
152 | $mantissa,
153 | );
154 | }
155 |
156 | /**
157 | * Convert a floating point number to a Float32Info object,
158 | * which contains string representations of the float's sign,
159 | * exponent and mantissa
160 | *
161 | * @param float $number
162 | * @return Float32Info
163 | */
164 | function float_info_32(float $number): Float32Info
165 | {
166 | $float32 = floathex32($number);
167 | $chars = str_split($float32);
168 |
169 | // 3 bits from this
170 | $byte1 = hexdec($chars[0]);
171 | // 4 bits from this
172 | $byte2 = hexdec($chars[1]);
173 |
174 | // 1 bit from this
175 | $byte3 = hexdec($chars[2]);
176 |
177 | $sign = '0';
178 |
179 | if ($byte1 >= 8) {
180 | $sign = '1';
181 | }
182 | $exponent3Bits = ($byte1 & 0x7);
183 | $exponent4Bits = $byte2;
184 | $exponent1Bit = ($byte3 & 0x8) >> 3;
185 | $exponent = ($exponent3Bits << 5) | ($exponent4Bits << 1) | $exponent1Bit;
186 |
187 | $exponent = sprintf("%b", $exponent);
188 | $exponent = str_pad($exponent, 8, '0', STR_PAD_LEFT);
189 |
190 | $mantissa = substr($float32, 2, 6);
191 | $mantissa = hexdec($mantissa) & 0x7fffff;
192 | $mantissa = sprintf("%b", $mantissa);
193 | $mantissa = str_pad($mantissa, 23, '0', STR_PAD_LEFT);
194 |
195 | return new Float32Info(
196 | $sign,
197 | $exponent,
198 | $mantissa,
199 | );
200 | }
201 |
202 |
203 | function compare_strings(string $string1, string $string2)
204 | {
205 | $result = '';
206 |
207 | $letters1 = str_split($string1);
208 | $letters2 = str_split($string2);
209 | for ($i = 0; $i < count($letters1) && $i < count($letters2); $i += 1) {
210 | if ($letters1[$i] === $letters2[$i]) {
211 | $result .= '-';
212 | }
213 | else {
214 | $result .= 'x';
215 | }
216 | }
217 | return $result;
218 | };
219 |
220 | /**
221 | * Produce a debug string that shows the Sign, Exponent and Mantissa for
222 | * two floating point numbers, using 64bit precision
223 | *
224 | *
225 | * @param float $value1
226 | * @param float $value2
227 | * @return string
228 | *
229 | * Example result
230 | * ┌──────┬─────────────┬──────────────────────────────────────────────────────┐
231 | * │ Sign │ Exponent │ Mantissa │
232 | * │ 0 │ 01111111101 │ 0011001100110011001100110011001100110011001100110011 │
233 | * │ 0 │ 01111111101 │ 0011001100110011001100110011001100110011001100110100 │
234 | * │ - │ ----------- │ -------------------------------------------------xxx │
235 | * └──────┴─────────────┴──────────────────────────────────────────────────────┘
236 | *
237 | */
238 | function float_compare(float $value1, float $value2): string
239 | {
240 | $float_info_1 = float_info($value1);
241 | $float_info_2 = float_info($value2);
242 |
243 | //Sign bit: 1 bit
244 | //Exponent: 11 bits
245 | //Significand precision: 53 bits (52 explicitly stored)
246 |
247 | $output = "┌──────┬─────────────┬──────────────────────────────────────────────────────┐\n";
248 | $output .= "│ Sign │ Exponent │ Mantissa │\n";
249 |
250 | $format_string = "│ %s │ %s │ %s │\n";
251 |
252 | $compareSign = compare_strings($float_info_1->getSign(), $float_info_2->getSign());
253 | $compareExponent = compare_strings($float_info_1->getExponent(), $float_info_2->getExponent());
254 | $compareMantissa = compare_strings($float_info_1->getMantissa(), $float_info_2->getMantissa());
255 |
256 | $output .= sprintf($format_string, $float_info_1->getSign(), $float_info_1->getExponent(), $float_info_1->getMantissa());
257 | $output .= sprintf($format_string, $float_info_2->getSign(), $float_info_2->getExponent(), $float_info_2->getMantissa());
258 | $output .= sprintf($format_string, $compareSign, $compareExponent, $compareMantissa);
259 |
260 | $output .= "└──────┴─────────────┴──────────────────────────────────────────────────────┘\n";
261 |
262 | return $output;
263 | }
264 |
265 |
266 | /**
267 | * Produce a debug string that shows the Sign, Exponent and Mantissa for
268 | * two floating point numbers, using 32bit precision
269 | *
270 | * @param float $value1
271 | * @param float $value2
272 | * @return string
273 | *
274 | * Example result
275 | * ┌──────┬──────────┬─────────────────────────┐
276 | * │ Sign │ Exponent │ Mantissa │
277 | * │ 0 │ 01111101 │ 00110011001100110011010 │
278 | * │ 0 │ 01111110 │ 00000000000000000000000 │
279 | * │ - │ ------xx │ --xx--xx--xx--xx--xx-x- │
280 | * └──────┴──────────┴─────────────────────────┘
281 | *
282 | */
283 | function float_compare_32(float $value1, float $value2): string
284 | {
285 | $float_info_1 = float_info_32($value1);
286 | $float_info_2 = float_info_32($value2);
287 |
288 | $compareSign = compare_strings($float_info_1->getSign(), $float_info_2->getSign());
289 | $compareExponent = compare_strings($float_info_1->getExponent(), $float_info_2->getExponent());
290 | $compareMantissa = compare_strings($float_info_1->getMantissa(), $float_info_2->getMantissa());
291 |
292 |
293 | $output = "┌──────┬──────────┬─────────────────────────┐\n";
294 | $output .= "│ Sign │ Exponent │ Mantissa │\n";
295 |
296 | $format_string = "│ %s │ %s │ %s │\n";
297 |
298 | $output .= sprintf($format_string, $float_info_1->getSign(), $float_info_1->getExponent(), $float_info_1->getMantissa());
299 | $output .= sprintf($format_string, $float_info_2->getSign(), $float_info_2->getExponent(), $float_info_2->getMantissa());
300 | $output .= sprintf($format_string, $compareSign, $compareExponent, $compareMantissa);
301 |
302 | $output .= "└──────┴──────────┴─────────────────────────┘\n";
303 |
304 | return $output;
305 | }
306 |
--------------------------------------------------------------------------------
/test/FloatHexTest/BaseTestCase.php:
--------------------------------------------------------------------------------
1 | startLevel = ob_get_level();
22 | ob_start();
23 | }
24 |
25 | public function teardown(): void
26 | {
27 | if ($this->startLevel === null) {
28 | $this->assertEquals(0, 1, "startLevel was not set, cannot complete teardown");
29 | }
30 | $contents = ob_get_contents();
31 | ob_end_clean();
32 |
33 | $endLevel = ob_get_level();
34 | $this->assertEquals($endLevel, $this->startLevel, "Mismatched ob_start/ob_end calls....somewhere");
35 | $this->assertEquals(
36 | 0,
37 | strlen($contents),
38 | "Something has directly output to the screen: [".substr($contents, 0, 500)."]"
39 | );
40 | }
41 |
42 | public function testPHPUnitApparentlyGetsConfused()
43 | {
44 | //Basically despite having:
45 | //*/BaseTestCase.php
46 | //in the phpunit.xml file it still thinks this file is a test class.
47 | //and then complains about it not having any tests.
48 | $this->assertTrue(true);
49 | }
50 |
51 |
52 | //
53 | // public function assertNoErrors(ValidationResult $validationResult)
54 | // {
55 | // $validationProblems = $validationResult->getValidationProblems();
56 | //
57 | // $message = '';
58 | //
59 | // if (count($validationProblems) !== 0) {
60 | // foreach ($validationProblems as $validationProblem) {
61 | // $message .= $validationProblem->toString();
62 | // }
63 | //
64 | // $this->fail("Unexpected problems: " . $message);
65 | // }
66 | // }
67 | }
68 |
--------------------------------------------------------------------------------
/test/FloatHexTest/FloatHexTest.php:
--------------------------------------------------------------------------------
1 | assertSame($result, $expectedHex);
59 |
60 | $floatInfo = float_info($input);
61 |
62 | $this->assertSame($signExpected, $floatInfo->getSign());
63 | $this->assertSame($exponentExpected, $floatInfo->getExponent());
64 | $this->assertSame($mantissaExpected, $floatInfo->getMantissa());
65 | }
66 |
67 |
68 | /**
69 | * @dataProvider provides64BitTests
70 | * @covers ::FloatHex\hexfloat
71 | */
72 | public function test_hexfloat($expectedNumber, $hexInput, $signExpected, $exponentExpected, $mantissaExpected)
73 | {
74 | $number = hexfloat($hexInput);
75 |
76 | $this->assertSame($expectedNumber, $number);
77 | }
78 |
79 |
80 | public function provides64BitBinFloatTests()
81 | {
82 | // taken from https://www.binaryconvert.com/result_double.html?decimal=049048048048048048048048049
83 |
84 | // float Bin expected, sign, exponent, Mantissa
85 | yield [
86 | 0.0,
87 | '0000000000000000000000000000000000000000000000000000000000000000',
88 | '0', '00000000000', '0000000000000000000000000000000000000000000000000000'
89 | ];
90 | yield [
91 | 1.0,
92 | '0011111111110000000000000000000000000000000000000000000000000000',
93 | '0', '01111111111', '0000000000000000000000000000000000000000000000000000'
94 | ];
95 | yield [
96 | 2.0,
97 | '0100000000000000000000000000000000000000000000000000000000000000',
98 | '0', '10000000000', '0000000000000000000000000000000000000000000000000000'
99 | ];
100 |
101 | yield [
102 | 0.1,
103 | '0011111110111001100110011001100110011001100110011001100110011010',
104 | '0', '01111111011', '1001100110011001100110011001100110011001100110011010'
105 | ];
106 | yield [
107 | 0.25,
108 | '0011111111010000000000000000000000000000000000000000000000000000',
109 | '0', '01111111101', '0000000000000000000000000000000000000000000000000000'
110 | ];
111 | yield [
112 | 0.5,
113 | '0011111111100000000000000000000000000000000000000000000000000000',
114 | '0', '01111111110', '0000000000000000000000000000000000000000000000000000'
115 | ];
116 |
117 | yield [
118 | -1.0,
119 | '1011111111110000000000000000000000000000000000000000000000000000',
120 | '1', '01111111111', '0000000000000000000000000000000000000000000000000000'
121 | ];
122 |
123 | yield [
124 | -11111.0,
125 | '1100000011000101101100111000000000000000000000000000000000000000',
126 | '1', '10000001100', '0101101100111000000000000000000000000000000000000000'];
127 | yield [
128 | 100000001.0,
129 | '0100000110010111110101111000010000000100000000000000000000000000',
130 | '0', '10000011001', '0111110101111000010000000100000000000000000000000000'];
131 | }
132 |
133 |
134 | /**
135 | * @dataProvider provides64BitBinFloatTests
136 | * @covers ::FloatHex\floathex
137 | */
138 | public function test_floatbin($input, $expectedBin, $signExpected, $exponentExpected, $mantissaExpected)
139 | {
140 | $result = floatbin($input);
141 |
142 | $this->assertSame($result, $expectedBin);
143 |
144 | $floatInfo = float_info($input);
145 |
146 | $this->assertSame($signExpected, $floatInfo->getSign());
147 | $this->assertSame($exponentExpected, $floatInfo->getExponent());
148 | $this->assertSame($mantissaExpected, $floatInfo->getMantissa());
149 | }
150 |
151 | /**
152 | * @dataProvider provides64BitBinFloatTests
153 | * @covers ::FloatHex\hexfloat
154 | */
155 | public function test_binfloat($expectedNumber, $binInput, $signExpected, $exponentExpected, $mantissaExpected)
156 | {
157 | $number = binfloat($binInput);
158 |
159 | $this->assertSame($expectedNumber, $number);
160 | }
161 |
162 | /**
163 | * @dataProvider provides64BitTests
164 | * @covers ::FloatHex\float_info
165 | */
166 | public function test_float_info($inputNumber, $hex, $signExpected, $exponentExpected, $mantissaExpected)
167 | {
168 | $floatInfo = float_info($inputNumber);
169 |
170 | $this->assertSame($signExpected, $floatInfo->getSign());
171 | $this->assertSame($exponentExpected, $floatInfo->getExponent());
172 | $this->assertSame($mantissaExpected, $floatInfo->getMantissa());
173 | }
174 |
175 |
176 | public function provides32BitTests()
177 | {
178 | // taken from https://www.binaryconvert.com/result_double.html?decimal=049048048048048048048048049
179 |
180 | // float Hex expected, sign, exponent, Mantissa
181 | yield [0.0, '00000000', '0', '00000000', '00000000000000000000000'];
182 | yield [1.0, '3f800000', '0', '01111111', '00000000000000000000000'];
183 | yield [2.0, '40000000', '0', '10000000', '00000000000000000000000'];
184 |
185 | /*0.10000000149011612
186 | 0.100000001490116119384765625*/
187 |
188 | yield [0.100000001490116119384765625, '3dcccccd', '0', '01111011', '10011001100110011001101' ];
189 | yield [0.25, '3e800000', '0', '01111101', '00000000000000000000000' ];
190 | yield [0.5, '3f000000', '0', '01111110', '00000000000000000000000'];
191 |
192 | yield [100000000.0, '4cbebc20', '0', '10011001', '01111101011110000100000'];
193 | // 100000001.0 is not representable
194 | yield [100000008.0, '4cbebc21', '0', '10011001', '01111101011110000100001'];
195 | yield [-1.0, 'bf800000', '1', '01111111', '00000000000000000000000'];
196 | }
197 |
198 |
199 | /**
200 | * @dataProvider provides32BitTests
201 | * @covers ::FloatHex\floathex32
202 | */
203 | public function test_floathex32($input, $expectedHex, $signExpected, $exponentExpected, $mantissaExpected)
204 | {
205 | $result = floathex32($input);
206 | $this->assertSame($result, $expectedHex);
207 | $float32Info = float_info_32($input);
208 |
209 | $this->assertSame($signExpected, $float32Info->getSign());
210 | $this->assertSame($exponentExpected, $float32Info->getExponent());
211 | $this->assertSame($mantissaExpected, $float32Info->getMantissa());
212 | }
213 |
214 |
215 | /**
216 | * @dataProvider provides32BitTests
217 | * @covers ::FloatHex\hexfloat32
218 | */
219 | public function test_hexfloat32($expectedNumber, $inputHex, $signExpected, $exponentExpected, $mantissaExpected)
220 | {
221 | $result = hexfloat32($inputHex);
222 | $this->assertSame($expectedNumber, $result);
223 | }
224 |
225 | /**
226 | * @covers ::FloatHex\float_compare
227 | */
228 | public function test_float_compare()
229 | {
230 | $contents = float_compare(0.1, 100000001);
231 |
232 | $info1 = float_info(0.1);
233 | $this->assertStringContainsString($info1->getExponent(), $contents);
234 | $this->assertStringContainsString($info1->getMantissa(), $contents);
235 |
236 | $info2 = float_info(100000001);
237 | $this->assertStringContainsString($info2->getExponent(), $contents);
238 | $this->assertStringContainsString($info2->getMantissa(), $contents);
239 | }
240 |
241 |
242 | /**
243 | * @dataProvider provides32BitTests
244 | * @covers ::FloatHex\float_info_32
245 | */
246 | public function test_float_info_32($inputNumber, $hex, $signExpected, $exponentExpected, $mantissaExpected)
247 | {
248 | $floatInfo = float_info_32($inputNumber);
249 |
250 | $this->assertSame($signExpected, $floatInfo->getSign());
251 | $this->assertSame($exponentExpected, $floatInfo->getExponent());
252 | $this->assertSame($mantissaExpected, $floatInfo->getMantissa());
253 | }
254 |
255 |
256 | /**
257 | * @covers ::FloatHex\float_compare_32
258 | * @covers ::FloatHex\compare_strings
259 | */
260 | public function testCompare32()
261 | {
262 | $contents = float_compare_32(0.1, 100000001);
263 |
264 | $info1 = float_info_32(0.1);
265 | $this->assertStringContainsString($info1->getExponent(), $contents);
266 | $this->assertStringContainsString($info1->getMantissa(), $contents);
267 |
268 | $info2 = float_info_32(100000001);
269 | $this->assertStringContainsString($info2->getExponent(), $contents);
270 | $this->assertStringContainsString($info2->getMantissa(), $contents);
271 | }
272 | }
273 |
--------------------------------------------------------------------------------
/test/codesniffer.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Customised coding standard for code shipped in the library.
4 |
5 |
6 | *migrations*
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | *Functions.php
26 |
27 |
28 |
29 | *test_stub_functions.php
30 | functions.php
31 |
32 |
33 |
34 |
35 |
36 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/test/codesniffer_tests.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Customised coding standard for the testing code.
4 |
5 |
6 | *migrations*
7 |
8 | *test/phpunit_bootstrap.php
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 | *test_stub_functions.php
36 | functions.php
37 |
38 |
39 |
40 |
41 |
42 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/test/phpunit.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
11 |
12 |
13 | ../test/
14 |
15 |
16 |
17 |
18 |
19 | ../src
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/test/phpunit_bootstrap.php:
--------------------------------------------------------------------------------
1 | '.*', // strings can be empty, so *
13 | // '%d' => '\d+', // numbers can't be empty so +
14 | // ];
15 | //
16 | // $string = str_replace(
17 | // array_keys($replacements),
18 | // array_values($replacements),
19 | // $string
20 | // );
21 | //
22 | // return '#' . $string . '#iu';
23 | //}
24 | //
25 |
26 |
--------------------------------------------------------------------------------