File: src\common\MSBuildListSplitter.cs
Web Access
Project: src\src\Microsoft.DotNet.Build.Tasks.Feed\Microsoft.DotNet.Build.Tasks.Feed.csproj (Microsoft.DotNet.Build.Tasks.Feed)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
using System;
using System.Collections.Generic;
 
namespace Microsoft.DotNet.Build.Tasks.Feed
{
    internal static class MSBuildListSplitter
    {
        public static IDictionary<string, string> GetNamedProperties(string input)
        {
            if (string.IsNullOrEmpty(input))
            {
                return new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
            }
 
            return GetNamedProperties(input.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries));
        }
 
        public static IDictionary<string, string> GetNamedProperties(string[] input)
        {
            var values = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
            if (input == null)
            {
                return values;
            }
 
            foreach (var item in input)
            {
                var splitIdx = item.IndexOf('=');
                if (splitIdx < 0)
                {
                    continue;
                }
 
                var key = item.Substring(0, splitIdx).Trim();
                if (string.IsNullOrEmpty(key))
                {
                    continue;
                }
 
                var value = item.Substring(splitIdx + 1);
                values[key] = value;
            }
 
            return values;
        }
    }
}