コード例 #1
0
        private static async Task <Package> ConvertNpmPackageVersionToPackageAsync(NpmClient client, NpmPackageAllVersions npmPackageAllVersions)
        {
            var(npmPackage, error) = await client.NpmGetPackageAsync(GetNpmName(npmPackageAllVersions.Package_Name, npmPackageAllVersions.Scope_Name), npmPackageAllVersions.Version_Text);

            if (error != null)
            {
                throw new WebException(error.ErrorMessage);
            }

            var match      = Regex.Match(npmPackage.Id, prereleaseRegEx);
            var prerelease = match.Groups["Prerelease"].Value.Any();
            var package    = new Package
            {
                Id                 = ConvertNpmPackageNameToId(npmPackageAllVersions),
                Version            = npmPackageAllVersions.Version_Text,
                PackageDownloadUrl = npmPackage.Dist[NpmPackage.ArchiveKey],
                PackageHash        = npmPackage.Dist[NpmPackage.HashKey],
                IsPrerelease       = prerelease
            };

            return(package);
        }
コード例 #2
0
 private static string ConvertNpmPackageNameToId(NpmPackageAllVersions npmPackageVersion)
 {
     return(string.IsNullOrEmpty(npmPackageVersion.Scope_Name)
         ? npmPackageVersion.Package_Name
         : $"@{npmPackageVersion.Scope_Name}/{npmPackageVersion.Package_Name}");
 }