From ab8de984f45b831d35be20ceb3947c2b6c447beb Mon Sep 17 00:00:00 2001
From: Bart Jaskulski <bjaskulski@protonmail.com>
Date: Fri, 5 Jul 2024 13:48:49 +0200
Subject: [PATCH] feat: add null object definition loader

Signed-off-by: Bart Jaskulski <bjaskulski@protonmail.com>
---
 src/Binding/Loader/EmptyDefinitions.php | 11 +++++++++++
 src/Extension/LegacyExtension.php       |  3 ++-
 2 files changed, 13 insertions(+), 1 deletion(-)
 create mode 100644 src/Binding/Loader/EmptyDefinitions.php

diff --git a/src/Binding/Loader/EmptyDefinitions.php b/src/Binding/Loader/EmptyDefinitions.php
new file mode 100644
index 0000000..9048f2f
--- /dev/null
+++ b/src/Binding/Loader/EmptyDefinitions.php
@@ -0,0 +1,11 @@
+<?php
+declare( strict_types=1 );
+
+namespace WPDesk\Init\Binding\Loader;
+
+final class EmptyDefinitions implements BindingDefinitions {
+
+	public function load(): iterable {
+		return [];
+	}
+}
diff --git a/src/Extension/LegacyExtension.php b/src/Extension/LegacyExtension.php
index b03a275..4e8bd93 100644
--- a/src/Extension/LegacyExtension.php
+++ b/src/Extension/LegacyExtension.php
@@ -6,6 +6,7 @@ namespace WPDesk\Init\Extension;
 
 use Psr\Container\ContainerInterface;
 use WPDesk\Init\Binding\Loader\BindingDefinitions;
+use WPDesk\Init\Binding\Loader\EmptyDefinitions;
 use WPDesk\Init\Configuration\ReadableConfig;
 use WPDesk\Init\DependencyInjection\ContainerBuilder;
 use WPDesk\Init\Plugin\Plugin;
@@ -41,6 +42,6 @@ class LegacyExtension implements Extension {
 	}
 
 	public function bindings( ContainerInterface $c ): BindingDefinitions {
-		return new ArrayBindingLoader( [] );
+		return new EmptyDefinitions();
 	}
 }
-- 
GitLab