diff --git a/src/Foundation/Providers/ApiatoServiceProvider.php b/src/Foundation/Providers/ApiatoServiceProvider.php index f6ece9938..4c8197330 100644 --- a/src/Foundation/Providers/ApiatoServiceProvider.php +++ b/src/Foundation/Providers/ApiatoServiceProvider.php @@ -30,8 +30,7 @@ class ApiatoServiceProvider extends AggregateServiceProvider protected $providers = [ GeneratorsServiceProvider::class, - CollectionMacroServiceProvider::class, - ConfigMacroServiceProvider::class, + MacroServiceProvider::class, ]; public function register(): void diff --git a/src/Foundation/Providers/CollectionMacroServiceProvider.php b/src/Foundation/Providers/CollectionMacroServiceProvider.php deleted file mode 100644 index 364178620..000000000 --- a/src/Foundation/Providers/CollectionMacroServiceProvider.php +++ /dev/null @@ -1,24 +0,0 @@ -macros()) - ->reject(static fn ($class, $macro) => Collection::hasMacro($macro)) - ->each(static fn ($class, $macro) => Collection::macro($macro, app($class)())); - } - - private function macros(): array - { - return [ - 'containsDecodedHash' => ContainsDecodedHash::class, - ]; - } -} diff --git a/src/Foundation/Providers/ConfigMacroServiceProvider.php b/src/Foundation/Providers/ConfigMacroServiceProvider.php deleted file mode 100644 index af9eb98f8..000000000 --- a/src/Foundation/Providers/ConfigMacroServiceProvider.php +++ /dev/null @@ -1,25 +0,0 @@ -macros()) - ->reject(static fn ($class, $macro) => Config::hasMacro($macro)) - ->each(static fn ($class, $macro) => Config::macro($macro, app($class)())); - } - - private function macros(): array - { - return [ - 'unset' => UnsetKey::class, - ]; - } -} diff --git a/src/Foundation/Providers/MacroServiceProvider.php b/src/Foundation/Providers/MacroServiceProvider.php new file mode 100644 index 000000000..efbcc1c2f --- /dev/null +++ b/src/Foundation/Providers/MacroServiceProvider.php @@ -0,0 +1,35 @@ +contains($key, Hashids::decode($hashedValue)[0]); + }); + } + + if (!Config::hasMacro('unset')) { + Config::macro('unset', + function (array|string|int|float $key): void { + /* @var Repository $this */ + Arr::forget($this->items, $key); + }); + } + } +} diff --git a/src/Foundation/Support/Macros/Collection/ContainsDecodedHash.php b/src/Foundation/Support/Macros/Collection/ContainsDecodedHash.php deleted file mode 100644 index 7eb0d07c1..000000000 --- a/src/Foundation/Support/Macros/Collection/ContainsDecodedHash.php +++ /dev/null @@ -1,21 +0,0 @@ -contains($key, Hashids::decode($hashedValue)[0]); - }; - } -} diff --git a/src/Foundation/Support/Macros/Config/UnsetKey.php b/src/Foundation/Support/Macros/Config/UnsetKey.php deleted file mode 100644 index 66a443855..000000000 --- a/src/Foundation/Support/Macros/Config/UnsetKey.php +++ /dev/null @@ -1,17 +0,0 @@ -items, $key); - }; - } -} diff --git a/tests/Unit/Foundation/Support/Providers/MacroServiceProviderTest.php b/tests/Unit/Foundation/Support/Providers/MacroServiceProviderTest.php new file mode 100644 index 000000000..7d6fa8501 --- /dev/null +++ b/tests/Unit/Foundation/Support/Providers/MacroServiceProviderTest.php @@ -0,0 +1,17 @@ +toBeTrue(); + }); + + it('register Config macros', function (): void { + expect(Config::hasMacro('unset'))->toBeTrue(); + }); +})->covers(MacroServiceProvider::class);