From b670d6b8e9be1ad19e99817ebe699dc0e0f288c3 Mon Sep 17 00:00:00 2001 From: Netkas Date: Thu, 15 Dec 2022 01:07:23 -0500 Subject: [PATCH] Added method \ncc\Utilities > Resolver > detectRemoteSourceType() https://git.n64.cc/nosial/ncc/-/issues/28 --- src/ncc/Utilities/Resolver.php | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/ncc/Utilities/Resolver.php b/src/ncc/Utilities/Resolver.php index 4d172a0..cc3cb29 100644 --- a/src/ncc/Utilities/Resolver.php +++ b/src/ncc/Utilities/Resolver.php @@ -4,8 +4,12 @@ namespace ncc\Utilities; + use ncc\Abstracts\BuiltinRemoteSourceType; + use ncc\Abstracts\DefinedRemoteSourceType; use ncc\Abstracts\LogLevel; + use ncc\Abstracts\RemoteSourceType; use ncc\Abstracts\Scopes; + use ncc\Managers\RemoteSourcesManager; class Resolver { @@ -86,7 +90,7 @@ } $configs = array(); - $regex = "/(?(?=-)-(?(?=-)-(?'bigflag'[^\\s=]+)|(?'smallflag'\\S))(?:\\s*=\\s*|\\s+)(?(?!-)(?(?=[\\\"\\'])((? $match) @@ -241,4 +245,25 @@ return false; } } + + /** + * Detects the remote source type, can also accept defined remote + * sources as the input, the function will look for the source + * type and return it + * + * @param string $input + * @return string + */ + public static function detectRemoteSourceType(string $input): string + { + if(in_array($input, BuiltinRemoteSourceType::All)) + return RemoteSourceType::Builtin; + + $source_manager = new RemoteSourcesManager(); + $defined_source = $source_manager->getRemoteSource($input); + if($defined_source == null) + return RemoteSourceType::Unknown; + + return $defined_source->Type; + } } \ No newline at end of file