diff options
author | Mario <mario@mariovavti.com> | 2024-03-14 10:13:22 +0000 |
---|---|---|
committer | Mario <mario@mariovavti.com> | 2024-03-14 10:13:22 +0000 |
commit | 55097c47c5534d4453f7494f8a1542f7beb4d588 (patch) | |
tree | 399f81bbd03fcb4bb713339d06512eee962ec8f6 /vendor/chillerlan/php-settings-container/src | |
parent | 97b82fc77b424d051b2a472ab2318fd768151bdd (diff) | |
download | volse-hubzilla-55097c47c5534d4453f7494f8a1542f7beb4d588.tar.gz volse-hubzilla-55097c47c5534d4453f7494f8a1542f7beb4d588.tar.bz2 volse-hubzilla-55097c47c5534d4453f7494f8a1542f7beb4d588.zip |
Revert "composer update and use the fixed streams php-jcs library until the floats issue will be fixed upstream. see here for reference https://codeberg.org/streams/streams/issues/151"
This reverts commit 6bf61dfa6b585db01b607a79bd64ec9c583a9c10.
Diffstat (limited to 'vendor/chillerlan/php-settings-container/src')
-rw-r--r-- | vendor/chillerlan/php-settings-container/src/SettingsContainerAbstract.php | 102 | ||||
-rw-r--r-- | vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php | 26 |
2 files changed, 23 insertions, 105 deletions
diff --git a/vendor/chillerlan/php-settings-container/src/SettingsContainerAbstract.php b/vendor/chillerlan/php-settings-container/src/SettingsContainerAbstract.php index b54ca909c..6b7a1ecc2 100644 --- a/vendor/chillerlan/php-settings-container/src/SettingsContainerAbstract.php +++ b/vendor/chillerlan/php-settings-container/src/SettingsContainerAbstract.php @@ -7,13 +7,12 @@ * @copyright 2018 Smiley * @license MIT */ -declare(strict_types=1); namespace chillerlan\Settings; -use InvalidArgumentException, ReflectionClass, ReflectionProperty; -use function array_keys, get_object_vars, is_object, json_decode, - json_encode, method_exists, property_exists, serialize, unserialize; +use ReflectionClass, ReflectionProperty; + +use function get_object_vars, json_decode, json_encode, method_exists, property_exists; use const JSON_THROW_ON_ERROR; abstract class SettingsContainerAbstract implements SettingsContainerInterface{ @@ -21,7 +20,7 @@ abstract class SettingsContainerAbstract implements SettingsContainerInterface{ /** * SettingsContainerAbstract constructor. */ - public function __construct(iterable|null $properties = null){ + public function __construct(iterable $properties = null){ if(!empty($properties)){ $this->fromIterable($properties); @@ -50,7 +49,7 @@ abstract class SettingsContainerAbstract implements SettingsContainerInterface{ /** * @inheritdoc */ - public function __get(string $property):mixed{ + public function __get(string $property){ if(!property_exists($this, $property) || $this->isPrivate($property)){ return null; @@ -68,7 +67,7 @@ abstract class SettingsContainerAbstract implements SettingsContainerInterface{ /** * @inheritdoc */ - public function __set(string $property, mixed $value):void{ + public function __set(string $property, $value):void{ if(!property_exists($this, $property) || $this->isPrivate($property)){ return; @@ -121,19 +120,13 @@ abstract class SettingsContainerAbstract implements SettingsContainerInterface{ * @inheritdoc */ public function toArray():array{ - $properties = []; - - foreach(array_keys(get_object_vars($this)) as $key){ - $properties[$key] = $this->__get($key); - } - - return $properties; + return get_object_vars($this); } /** * @inheritdoc */ - public function fromIterable(iterable $properties):static{ + public function fromIterable(iterable $properties):SettingsContainerInterface{ foreach($properties as $key => $value){ $this->__set($key, $value); @@ -145,14 +138,14 @@ abstract class SettingsContainerAbstract implements SettingsContainerInterface{ /** * @inheritdoc */ - public function toJSON(int|null $jsonOptions = null):string{ - return json_encode($this, ($jsonOptions ?? 0)); + public function toJSON(int $jsonOptions = null):string{ + return json_encode($this, $jsonOptions ?? 0); } /** * @inheritdoc */ - public function fromJSON(string $json):static{ + public function fromJSON(string $json):SettingsContainerInterface{ $data = json_decode($json, true, 512, JSON_THROW_ON_ERROR); return $this->fromIterable($data); @@ -161,80 +154,9 @@ abstract class SettingsContainerAbstract implements SettingsContainerInterface{ /** * @inheritdoc */ + #[\ReturnTypeWillChange] public function jsonSerialize():array{ return $this->toArray(); } - /** - * Returns a serialized string representation of the object in its current state (except static/readonly properties) - * - * @inheritdoc - * @see \chillerlan\Settings\SettingsContainerInterface::toArray() - */ - public function serialize():string{ - return serialize($this); - } - - /** - * Restores the data (except static/readonly properties) from the given serialized object to the current instance - * - * @inheritdoc - * @see \chillerlan\Settings\SettingsContainerInterface::fromIterable() - */ - public function unserialize(string $data):void{ - $obj = unserialize($data); - - if($obj === false || !is_object($obj)){ - throw new InvalidArgumentException('The given serialized string is invalid'); - } - - $reflection = new ReflectionClass($obj); - - if(!$reflection->isInstance($this)){ - throw new InvalidArgumentException('The unserialized object does not match the class of this container'); - } - - $properties = $reflection->getProperties(~(ReflectionProperty::IS_STATIC | ReflectionProperty::IS_READONLY)); - - foreach($properties as $reflectionProperty){ - $this->{$reflectionProperty->name} = $reflectionProperty->getValue($obj); - } - - } - - /** - * Returns a serialized string representation of the object in its current state (except static/readonly properties) - * - * @inheritdoc - * @see \chillerlan\Settings\SettingsContainerInterface::toArray() - */ - public function __serialize():array{ - - $properties = (new ReflectionClass($this)) - ->getProperties(~(ReflectionProperty::IS_STATIC | ReflectionProperty::IS_READONLY)) - ; - - $data = []; - - foreach($properties as $reflectionProperty){ - $data[$reflectionProperty->name] = $reflectionProperty->getValue($this); - } - - return $data; - } - - /** - * Restores the data from the given array to the current instance - * - * @inheritdoc - * @see \chillerlan\Settings\SettingsContainerInterface::fromIterable() - */ - public function __unserialize(array $data):void{ - - foreach($data as $key => $value){ - $this->{$key} = $value; - } - - } - } diff --git a/vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php b/vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php index 1c9c12a73..ddacccd29 100644 --- a/vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php +++ b/vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php @@ -7,28 +7,30 @@ * @copyright 2018 Smiley * @license MIT */ -declare(strict_types=1); namespace chillerlan\Settings; -use JsonSerializable, Serializable; +use JsonSerializable; /** * a generic container with magic getter and setter */ -interface SettingsContainerInterface extends JsonSerializable, Serializable{ +interface SettingsContainerInterface extends JsonSerializable{ /** * Retrieve the value of $property * * @return mixed|null */ - public function __get(string $property):mixed; + public function __get(string $property); /** * Set $property to $value while avoiding private and non-existing properties + * + * @param string $property + * @param mixed $value */ - public function __set(string $property, mixed $value):void; + public function __set(string $property, $value):void; /** * Checks if $property is set (aka. not null), excluding private properties @@ -41,38 +43,32 @@ interface SettingsContainerInterface extends JsonSerializable, Serializable{ public function __unset(string $property):void; /** - * @see \chillerlan\Settings\SettingsContainerInterface::toJSON() + * @see SettingsContainerInterface::toJSON() */ public function __toString():string; /** * Returns an array representation of the settings object - * - * The values will be run through the magic __get(), which may also call custom getters. */ public function toArray():array; /** * Sets properties from a given iterable - * - * The values will be run through the magic __set(), which may also call custom setters. */ - public function fromIterable(iterable $properties):static; + public function fromIterable(iterable $properties):SettingsContainerInterface; /** * Returns a JSON representation of the settings object * @see \json_encode() - * @see \chillerlan\Settings\SettingsContainerInterface::toArray() */ - public function toJSON(int|null $jsonOptions = null):string; + public function toJSON(int $jsonOptions = null):string; /** * Sets properties from a given JSON string * * @throws \Exception * @throws \JsonException - * @see \chillerlan\Settings\SettingsContainerInterface::fromIterable() */ - public function fromJSON(string $json):static; + public function fromJSON(string $json):SettingsContainerInterface; } |