primo commit
This commit is contained in:
		
							
								
								
									
										85
									
								
								libraries/regularlabs/vendor/mobiledetect/mobiledetectlib/src/Cache/Cache.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								libraries/regularlabs/vendor/mobiledetect/mobiledetectlib/src/Cache/Cache.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,85 @@ | ||||
| <?php | ||||
|  | ||||
| namespace RegularLabs\Scoped\Detection\Cache; | ||||
|  | ||||
| use RegularLabs\Scoped\Psr\SimpleCache\CacheInterface; | ||||
| class Cache implements CacheInterface | ||||
| { | ||||
|     /** | ||||
|      * @var array|array{cache_key:string, cache_value:CacheItem} $cache_db | ||||
|      */ | ||||
|     protected array $cache_db = []; | ||||
|     public function count(): int | ||||
|     { | ||||
|         return count($this->cache_db); | ||||
|     } | ||||
|     /** | ||||
|      * @return array{string} | ||||
|      */ | ||||
|     public function getKeys(): array | ||||
|     { | ||||
|         return array_keys($this->cache_db); | ||||
|     } | ||||
|     /** | ||||
|      * @throws CacheException | ||||
|      */ | ||||
|     public function get(string $key, mixed $default = null): CacheItem|null | ||||
|     { | ||||
|         if (empty($key)) { | ||||
|             throw new CacheException('Invalid cache key'); | ||||
|         } | ||||
|         return $this->cache_db[$key] ?? null; | ||||
|     } | ||||
|     /** | ||||
|      * @throws CacheException | ||||
|      */ | ||||
|     public function set(string $key, mixed $value, \DateInterval|int|null $ttl = null): bool | ||||
|     { | ||||
|         if (empty($key)) { | ||||
|             throw new CacheException('Invalid cache key'); | ||||
|         } | ||||
|         $item = new CacheItem($key, $value, $ttl); | ||||
|         $this->cache_db[$key] = $item; | ||||
|         return \true; | ||||
|     } | ||||
|     public function delete(string $key): bool | ||||
|     { | ||||
|         unset($this->cache_db[$key]); | ||||
|         return \true; | ||||
|     } | ||||
|     public function clear(): bool | ||||
|     { | ||||
|         $this->cache_db = []; | ||||
|         return \true; | ||||
|     } | ||||
|     public function getMultiple(iterable $keys, mixed $default = null): iterable | ||||
|     { | ||||
|         return array_map(function ($key) { | ||||
|             return $this->cache_db[$key]; | ||||
|         }, (array) $keys); | ||||
|     } | ||||
|     /** | ||||
|      * @param array<array{key:string, value:string, ttl:int}> $values | ||||
|      * @param \DateInterval|int|null $ttl | ||||
|      * @return bool | ||||
|      */ | ||||
|     public function setMultiple(iterable $values, \DateInterval|int|null $ttl = null): bool | ||||
|     { | ||||
|         foreach ($values as $cacheItemArray) { | ||||
|             $item = new CacheItem(...$cacheItemArray); | ||||
|             $this->cache_db[$cacheItemArray['key']] = $item; | ||||
|         } | ||||
|         return \true; | ||||
|     } | ||||
|     public function deleteMultiple(iterable $keys): bool | ||||
|     { | ||||
|         foreach ($keys as $key) { | ||||
|             unset($this->cache_db[$key]); | ||||
|         } | ||||
|         return \true; | ||||
|     } | ||||
|     public function has(string $key): bool | ||||
|     { | ||||
|         return isset($this->cache_db[$key]); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										14
									
								
								libraries/regularlabs/vendor/mobiledetect/mobiledetectlib/src/Cache/CacheException.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								libraries/regularlabs/vendor/mobiledetect/mobiledetectlib/src/Cache/CacheException.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,14 @@ | ||||
| <?php | ||||
|  | ||||
| namespace RegularLabs\Scoped\Detection\Cache; | ||||
|  | ||||
| use RegularLabs\Scoped\Psr\SimpleCache\InvalidArgumentException; | ||||
| class CacheException extends \Exception | ||||
| { | ||||
|     public function __construct($message, $code = 0, \Throwable $previous = null) | ||||
|     { | ||||
|         // some code | ||||
|         // make sure everything is assigned properly | ||||
|         parent::__construct($message, $code, $previous); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										44
									
								
								libraries/regularlabs/vendor/mobiledetect/mobiledetectlib/src/Cache/CacheItem.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								libraries/regularlabs/vendor/mobiledetect/mobiledetectlib/src/Cache/CacheItem.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,44 @@ | ||||
| <?php | ||||
|  | ||||
| namespace RegularLabs\Scoped\Detection\Cache; | ||||
|  | ||||
| /** | ||||
|  * Simple cache item (key, value, ttl) that is being | ||||
|  * used by all the detection methods of Mobile Detect class. | ||||
|  */ | ||||
| class CacheItem | ||||
| { | ||||
|     /** | ||||
|      * @var string Unique key for the cache record. | ||||
|      */ | ||||
|     protected string $key; | ||||
|     /** | ||||
|      * @var bool|null Mobile Detect only needs to store booleans (e.g. "isMobile" => true) | ||||
|      */ | ||||
|     protected bool|null $value = null; | ||||
|     protected int|null $ttl = 0; | ||||
|     public function __construct($key, $value = null, $ttl = null) | ||||
|     { | ||||
|         $this->key = $key; | ||||
|         if (!is_null($value)) { | ||||
|             $this->value = $value; | ||||
|         } | ||||
|         $this->ttl = $ttl; | ||||
|     } | ||||
|     public function getKey(): string | ||||
|     { | ||||
|         return $this->key; | ||||
|     } | ||||
|     public function get(): string|bool | ||||
|     { | ||||
|         return $this->value; | ||||
|     } | ||||
|     public function set($value): void | ||||
|     { | ||||
|         $this->value = $value; | ||||
|     } | ||||
|     public function getTtl(): int|null | ||||
|     { | ||||
|         return $this->ttl; | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,7 @@ | ||||
| <?php | ||||
|  | ||||
| namespace RegularLabs\Scoped\Detection\Exception; | ||||
|  | ||||
| class MobileDetectException extends \Exception | ||||
| { | ||||
| } | ||||
							
								
								
									
										1413
									
								
								libraries/regularlabs/vendor/mobiledetect/mobiledetectlib/src/MobileDetect.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1413
									
								
								libraries/regularlabs/vendor/mobiledetect/mobiledetectlib/src/MobileDetect.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
		Reference in New Issue
	
	Block a user