From bf6655a534a6775d30cafa67bd801276bda1d98d Mon Sep 17 00:00:00 2001 From: polo Date: Tue, 13 Aug 2024 23:45:21 +0200 Subject: =?UTF-8?q?VERSION=200.2=20doctrine=20ORM=20et=20entit=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vendor/doctrine/event-manager/LICENSE | 19 +++ vendor/doctrine/event-manager/README.md | 13 +++ vendor/doctrine/event-manager/UPGRADE.md | 15 +++ vendor/doctrine/event-manager/composer.json | 68 +++++++++++ vendor/doctrine/event-manager/phpstan.neon.dist | 5 + vendor/doctrine/event-manager/psalm-baseline.xml | 8 ++ vendor/doctrine/event-manager/psalm.xml | 15 +++ vendor/doctrine/event-manager/src/EventArgs.php | 37 ++++++ vendor/doctrine/event-manager/src/EventManager.php | 129 +++++++++++++++++++++ .../doctrine/event-manager/src/EventSubscriber.php | 21 ++++ 10 files changed, 330 insertions(+) create mode 100644 vendor/doctrine/event-manager/LICENSE create mode 100644 vendor/doctrine/event-manager/README.md create mode 100644 vendor/doctrine/event-manager/UPGRADE.md create mode 100644 vendor/doctrine/event-manager/composer.json create mode 100644 vendor/doctrine/event-manager/phpstan.neon.dist create mode 100644 vendor/doctrine/event-manager/psalm-baseline.xml create mode 100644 vendor/doctrine/event-manager/psalm.xml create mode 100644 vendor/doctrine/event-manager/src/EventArgs.php create mode 100644 vendor/doctrine/event-manager/src/EventManager.php create mode 100644 vendor/doctrine/event-manager/src/EventSubscriber.php (limited to 'vendor/doctrine/event-manager') diff --git a/vendor/doctrine/event-manager/LICENSE b/vendor/doctrine/event-manager/LICENSE new file mode 100644 index 0000000..8c38cc1 --- /dev/null +++ b/vendor/doctrine/event-manager/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2006-2015 Doctrine Project + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/doctrine/event-manager/README.md b/vendor/doctrine/event-manager/README.md new file mode 100644 index 0000000..5b36f54 --- /dev/null +++ b/vendor/doctrine/event-manager/README.md @@ -0,0 +1,13 @@ +# Doctrine Event Manager + +[![Build Status](https://github.com/doctrine/event-manager/workflows/Continuous%20Integration/badge.svg)](https://github.com/doctrine/event-manager/actions) +[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/doctrine/event-manager/badges/quality-score.png?b=1.2.x)](https://scrutinizer-ci.com/g/doctrine/event-manager/?branch=1.2.x) +[![Code Coverage](https://scrutinizer-ci.com/g/doctrine/event-manager/badges/coverage.png?b=1.2.x)](https://scrutinizer-ci.com/g/doctrine/event-manager/?branch=1.2.x) + +The Doctrine Event Manager is a library that provides a simple event system. + +## More resources: + +* [Website](https://www.doctrine-project.org/) +* [Documentation](https://www.doctrine-project.org/projects/doctrine-event-manager/en/latest/) +* [Downloads](https://github.com/doctrine/event-manager/releases) diff --git a/vendor/doctrine/event-manager/UPGRADE.md b/vendor/doctrine/event-manager/UPGRADE.md new file mode 100644 index 0000000..25154ef --- /dev/null +++ b/vendor/doctrine/event-manager/UPGRADE.md @@ -0,0 +1,15 @@ +# Upgrade to 2.0 + +## Made the `$event` parameter of `EventManager::getListeners()` mandatory + +When calling `EventManager::getListeners()` you need to specify the event that +you want to fetch the listeners for. Call `getAllListeners()` instead if you +want to access the listeners of all events. + +# Upgrade to 1.2 + +## Deprecated calling `EventManager::getListeners()` without an event name + +When calling `EventManager::getListeners()` without an event name, all +listeners were returned, keyed by event name. A new method `getAllListeners()` +has been added to provide this functionality. It should be used instead. diff --git a/vendor/doctrine/event-manager/composer.json b/vendor/doctrine/event-manager/composer.json new file mode 100644 index 0000000..4ea788b --- /dev/null +++ b/vendor/doctrine/event-manager/composer.json @@ -0,0 +1,68 @@ +{ + "name": "doctrine/event-manager", + "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", + "license": "MIT", + "type": "library", + "keywords": [ + "events", + "event", + "event dispatcher", + "event manager", + "event system" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "homepage": "https://www.doctrine-project.org/projects/event-manager.html", + "require": { + "php": "^8.1" + }, + "require-dev": { + "doctrine/coding-standard": "^12", + "phpstan/phpstan": "^1.8.8", + "phpunit/phpunit": "^10.5", + "vimeo/psalm": "^5.24" + }, + "conflict": { + "doctrine/common": "<2.9" + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "src" + } + }, + "autoload-dev": { + "psr-4": { + "Doctrine\\Tests\\Common\\": "tests" + } + }, + "config": { + "allow-plugins": { + "dealerdirect/phpcodesniffer-composer-installer": true + }, + "sort-packages": true + } +} diff --git a/vendor/doctrine/event-manager/phpstan.neon.dist b/vendor/doctrine/event-manager/phpstan.neon.dist new file mode 100644 index 0000000..1517ec8 --- /dev/null +++ b/vendor/doctrine/event-manager/phpstan.neon.dist @@ -0,0 +1,5 @@ +parameters: + level: 9 + paths: + - src/ + - tests/ diff --git a/vendor/doctrine/event-manager/psalm-baseline.xml b/vendor/doctrine/event-manager/psalm-baseline.xml new file mode 100644 index 0000000..bc48ad8 --- /dev/null +++ b/vendor/doctrine/event-manager/psalm-baseline.xml @@ -0,0 +1,8 @@ + + + + + listeners[$event])]]> + + + diff --git a/vendor/doctrine/event-manager/psalm.xml b/vendor/doctrine/event-manager/psalm.xml new file mode 100644 index 0000000..4e9226b --- /dev/null +++ b/vendor/doctrine/event-manager/psalm.xml @@ -0,0 +1,15 @@ + + + + + + + + + diff --git a/vendor/doctrine/event-manager/src/EventArgs.php b/vendor/doctrine/event-manager/src/EventArgs.php new file mode 100644 index 0000000..eea3d8a --- /dev/null +++ b/vendor/doctrine/event-manager/src/EventArgs.php @@ -0,0 +1,37 @@ + => + * + * @var array + */ + private array $listeners = []; + + /** + * Dispatches an event to all registered listeners. + * + * @param string $eventName The name of the event to dispatch. The name of the event is + * the name of the method that is invoked on listeners. + * @param EventArgs|null $eventArgs The event arguments to pass to the event handlers/listeners. + * If not supplied, the single empty EventArgs instance is used. + */ + public function dispatchEvent(string $eventName, EventArgs|null $eventArgs = null): void + { + if (! isset($this->listeners[$eventName])) { + return; + } + + $eventArgs ??= EventArgs::getEmptyInstance(); + + foreach ($this->listeners[$eventName] as $listener) { + $listener->$eventName($eventArgs); + } + } + + /** + * Gets the listeners of a specific event. + * + * @param string $event The name of the event. + * + * @return object[] + */ + public function getListeners(string $event): array + { + return $this->listeners[$event] ?? []; + } + + /** + * Gets all listeners keyed by event name. + * + * @return array The event listeners for the specified event, or all event listeners. + */ + public function getAllListeners(): array + { + return $this->listeners; + } + + /** + * Checks whether an event has any registered listeners. + */ + public function hasListeners(string $event): bool + { + return ! empty($this->listeners[$event]); + } + + /** + * Adds an event listener that listens on the specified events. + * + * @param string|string[] $events The event(s) to listen on. + * @param object $listener The listener object. + */ + public function addEventListener(string|array $events, object $listener): void + { + // Picks the hash code related to that listener + $hash = spl_object_hash($listener); + + foreach ((array) $events as $event) { + // Overrides listener if a previous one was associated already + // Prevents duplicate listeners on same event (same instance only) + $this->listeners[$event][$hash] = $listener; + } + } + + /** + * Removes an event listener from the specified events. + * + * @param string|string[] $events + */ + public function removeEventListener(string|array $events, object $listener): void + { + // Picks the hash code related to that listener + $hash = spl_object_hash($listener); + + foreach ((array) $events as $event) { + unset($this->listeners[$event][$hash]); + } + } + + /** + * Adds an EventSubscriber. + * + * The subscriber is asked for all the events it is interested in and added + * as a listener for these events. + */ + public function addEventSubscriber(EventSubscriber $subscriber): void + { + $this->addEventListener($subscriber->getSubscribedEvents(), $subscriber); + } + + /** + * Removes an EventSubscriber. + * + * The subscriber is asked for all the events it is interested in and removed + * as a listener for these events. + */ + public function removeEventSubscriber(EventSubscriber $subscriber): void + { + $this->removeEventListener($subscriber->getSubscribedEvents(), $subscriber); + } +} diff --git a/vendor/doctrine/event-manager/src/EventSubscriber.php b/vendor/doctrine/event-manager/src/EventSubscriber.php new file mode 100644 index 0000000..89cef55 --- /dev/null +++ b/vendor/doctrine/event-manager/src/EventSubscriber.php @@ -0,0 +1,21 @@ +