Further modules included.
[yaffs-website] / web / modules / contrib / libraries / src / Plugin / libraries / Type / AssetLibraryType.php
diff --git a/web/modules/contrib/libraries/src/Plugin/libraries/Type/AssetLibraryType.php b/web/modules/contrib/libraries/src/Plugin/libraries/Type/AssetLibraryType.php
new file mode 100644 (file)
index 0000000..ce0b276
--- /dev/null
@@ -0,0 +1,32 @@
+<?php
+
+namespace Drupal\libraries\Plugin\libraries\Type;
+
+use Drupal\libraries\ExternalLibrary\Asset\AssetLibrary;
+use Drupal\libraries\ExternalLibrary\Asset\AttachableAssetLibraryRegistrationInterface;
+use Drupal\libraries\ExternalLibrary\LibraryInterface;
+use Drupal\libraries\ExternalLibrary\LibraryManagerInterface;
+use Drupal\libraries\ExternalLibrary\Type\LibraryTypeBase;
+
+/**
+ * @LibraryType("asset")
+ */
+class AssetLibraryType extends LibraryTypeBase implements AttachableAssetLibraryRegistrationInterface {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getLibraryClass() {
+    return AssetLibrary::class;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getAttachableAssetLibraries(LibraryInterface $library, LibraryManagerInterface $library_manager) {
+    assert('$library instanceof \Drupal\libraries\ExternalLibrary\Asset\AssetLibraryInterface');
+    /** @var \Drupal\libraries\ExternalLibrary\Asset\AssetLibraryInterface $library */
+    return [$library->getId() => $library->getAttachableAssetLibrary($library_manager)];
+  }
+
+}