X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Flibraries%2Fsrc%2FExternalLibrary%2FLibraryBase.php;fp=web%2Fmodules%2Fcontrib%2Flibraries%2Fsrc%2FExternalLibrary%2FLibraryBase.php;h=8571552c7dda49504545397e96472a2c14b360d2;hp=0000000000000000000000000000000000000000;hb=8acec36f19c470dfcda1ae2336826a782f41874c;hpb=e0411c4e83ba0d079034db83c3f7f55be24a0e35 diff --git a/web/modules/contrib/libraries/src/ExternalLibrary/LibraryBase.php b/web/modules/contrib/libraries/src/ExternalLibrary/LibraryBase.php new file mode 100644 index 000000000..8571552c7 --- /dev/null +++ b/web/modules/contrib/libraries/src/ExternalLibrary/LibraryBase.php @@ -0,0 +1,83 @@ +id = (string) $id; + $this->type = $type; + $this->dependencies = $definition['dependencies']; + $this->versionDetector = $definition['version_detector']; + } + + /** + * {@inheritdoc} + */ + public static function create($id, array $definition, LibraryTypeInterface $type) { + static::processDefinition($definition); + return new static($id, $definition, $type); + } + + /** + * Gets library definition defaults. + * + * @param array $definition + * A library definition array. + */ + protected static function processDefinition(array &$definition) { + $definition += [ + 'dependencies' => [], + // @todo This fallback is not very elegant. + 'version_detector' => [ + 'id' => 'static', + 'configuration' => ['version' => ''], + ], + ]; + } + + /** + * {@inheritdoc} + */ + public function getType() { + return $this->type; + } + +}