diff --git a/Inflector.sln b/Inflector.sln index 45ad5b7..069abeb 100644 --- a/Inflector.sln +++ b/Inflector.sln @@ -1,6 +1,8 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 +# Visual Studio 14 +VisualStudioVersion = 14.0.23107.0 +MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Inflector", "Inflector\Inflector.csproj", "{D5677360-4354-4BA3-9E23-DB169C22BEAB}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Inflector.Tests", "Inflector.Tests\Inflector.Tests.csproj", "{48D42B49-DAA7-47BB-9DC2-9BF2013C48C0}" @@ -11,6 +13,13 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Inflector45", "Inflector45\ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InflectorRT", "InflectorRT\InflectorRT.csproj", "{8DA0D24A-BD73-411E-90D3-BAD6056C1DF9}" EndProject +Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "InflectorCore", "InflectorCore\InflectorCore.xproj", "{0795EB68-F83C-4065-BCB1-3BF3D521C8DD}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{5D7DF9FF-D706-4A4C-8AA7-54143BA07035}" + ProjectSection(SolutionItems) = preProject + global.json = global.json + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -79,6 +88,22 @@ Global {8DA0D24A-BD73-411E-90D3-BAD6056C1DF9}.Release|x64.Build.0 = Release|x64 {8DA0D24A-BD73-411E-90D3-BAD6056C1DF9}.Release|x86.ActiveCfg = Release|x86 {8DA0D24A-BD73-411E-90D3-BAD6056C1DF9}.Release|x86.Build.0 = Release|x86 + {0795EB68-F83C-4065-BCB1-3BF3D521C8DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0795EB68-F83C-4065-BCB1-3BF3D521C8DD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0795EB68-F83C-4065-BCB1-3BF3D521C8DD}.Debug|ARM.ActiveCfg = Debug|Any CPU + {0795EB68-F83C-4065-BCB1-3BF3D521C8DD}.Debug|ARM.Build.0 = Debug|Any CPU + {0795EB68-F83C-4065-BCB1-3BF3D521C8DD}.Debug|x64.ActiveCfg = Debug|Any CPU + {0795EB68-F83C-4065-BCB1-3BF3D521C8DD}.Debug|x64.Build.0 = Debug|Any CPU + {0795EB68-F83C-4065-BCB1-3BF3D521C8DD}.Debug|x86.ActiveCfg = Debug|Any CPU + {0795EB68-F83C-4065-BCB1-3BF3D521C8DD}.Debug|x86.Build.0 = Debug|Any CPU + {0795EB68-F83C-4065-BCB1-3BF3D521C8DD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0795EB68-F83C-4065-BCB1-3BF3D521C8DD}.Release|Any CPU.Build.0 = Release|Any CPU + {0795EB68-F83C-4065-BCB1-3BF3D521C8DD}.Release|ARM.ActiveCfg = Release|Any CPU + {0795EB68-F83C-4065-BCB1-3BF3D521C8DD}.Release|ARM.Build.0 = Release|Any CPU + {0795EB68-F83C-4065-BCB1-3BF3D521C8DD}.Release|x64.ActiveCfg = Release|Any CPU + {0795EB68-F83C-4065-BCB1-3BF3D521C8DD}.Release|x64.Build.0 = Release|Any CPU + {0795EB68-F83C-4065-BCB1-3BF3D521C8DD}.Release|x86.ActiveCfg = Release|Any CPU + {0795EB68-F83C-4065-BCB1-3BF3D521C8DD}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/InflectorCore/Inflector.cs b/InflectorCore/Inflector.cs new file mode 100644 index 0000000..28b8a9a --- /dev/null +++ b/InflectorCore/Inflector.cs @@ -0,0 +1,245 @@ +using System.Collections.Generic; +#if NET45 || NETFX_CORE +using System.Runtime.CompilerServices; +#endif +using System.Text.RegularExpressions; + +namespace Inflector +{ + public static class Inflector + { +#region Default Rules + + static Inflector() + { + AddPlural("$", "s"); + AddPlural("s$", "s"); + AddPlural("(ax|test)is$", "$1es"); + AddPlural("(octop|vir|alumn|fung)us$", "$1i"); + AddPlural("(alias|status)$", "$1es"); + AddPlural("(bu)s$", "$1ses"); + AddPlural("(buffal|tomat|volcan)o$", "$1oes"); + AddPlural("([ti])um$", "$1a"); + AddPlural("sis$", "ses"); + AddPlural("(?:([^f])fe|([lr])f)$", "$1$2ves"); + AddPlural("(hive)$", "$1s"); + AddPlural("([^aeiouy]|qu)y$", "$1ies"); + AddPlural("(x|ch|ss|sh)$", "$1es"); + AddPlural("(matr|vert|ind)ix|ex$", "$1ices"); + AddPlural("([m|l])ouse$", "$1ice"); + AddPlural("^(ox)$", "$1en"); + AddPlural("(quiz)$", "$1zes"); + + AddSingular("s$", ""); + AddSingular("(n)ews$", "$1ews"); + AddSingular("([ti])a$", "$1um"); + AddSingular("((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$", "$1$2sis"); + AddSingular("(^analy)ses$", "$1sis"); + AddSingular("([^f])ves$", "$1fe"); + AddSingular("(hive)s$", "$1"); + AddSingular("(tive)s$", "$1"); + AddSingular("([lr])ves$", "$1f"); + AddSingular("([^aeiouy]|qu)ies$", "$1y"); + AddSingular("(s)eries$", "$1eries"); + AddSingular("(m)ovies$", "$1ovie"); + AddSingular("(x|ch|ss|sh)es$", "$1"); + AddSingular("([m|l])ice$", "$1ouse"); + AddSingular("(bus)es$", "$1"); + AddSingular("(o)es$", "$1"); + AddSingular("(shoe)s$", "$1"); + AddSingular("(cris|ax|test)es$", "$1is"); + AddSingular("(octop|vir|alumn|fung)i$", "$1us"); + AddSingular("(alias|status)es$", "$1"); + AddSingular("^(ox)en", "$1"); + AddSingular("(vert|ind)ices$", "$1ex"); + AddSingular("(matr)ices$", "$1ix"); + AddSingular("(quiz)zes$", "$1"); + + AddIrregular("person", "people"); + AddIrregular("man", "men"); + AddIrregular("child", "children"); + AddIrregular("sex", "sexes"); + AddIrregular("move", "moves"); + AddIrregular("goose", "geese"); + AddIrregular("alumna", "alumnae"); + + AddUncountable("equipment"); + AddUncountable("information"); + AddUncountable("rice"); + AddUncountable("money"); + AddUncountable("species"); + AddUncountable("series"); + AddUncountable("fish"); + AddUncountable("sheep"); + AddUncountable("deer"); + AddUncountable("aircraft"); + } + +#endregion + + private class Rule + { + private readonly Regex _regex; + private readonly string _replacement; + + public Rule(string pattern, string replacement) + { + _regex = new Regex(pattern, RegexOptions.IgnoreCase); + _replacement = replacement; + } + + public string Apply(string word) + { + if (!_regex.IsMatch(word)) + { + return null; + } + + return _regex.Replace(word, _replacement); + } + } + + private static void AddIrregular(string singular, string plural) + { + AddPlural("(" + singular[0] + ")" + singular.Substring(1) + "$", "$1" + plural.Substring(1)); + AddSingular("(" + plural[0] + ")" + plural.Substring(1) + "$", "$1" + singular.Substring(1)); + } + + private static void AddUncountable(string word) + { + _uncountables.Add(word.ToLower()); + } + + private static void AddPlural(string rule, string replacement) + { + _plurals.Add(new Rule(rule, replacement)); + } + + private static void AddSingular(string rule, string replacement) + { + _singulars.Add(new Rule(rule, replacement)); + } + + private static readonly List _plurals = new List(); + private static readonly List _singulars = new List(); + private static readonly List _uncountables = new List(); + + public static string Pluralize(this string word) + { + return ApplyRules(_plurals, word); + } + + public static string Singularize(this string word) + { + return ApplyRules(_singulars, word); + } + +#if NET45 || NETFX_CORE + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + private static string ApplyRules(List rules, string word) + { + string result = word; + + if (!_uncountables.Contains(word.ToLower())) + { + for (int i = rules.Count - 1; i >= 0; i--) + { + if ((result = rules[i].Apply(word)) != null) + { + break; + } + } + } + + return result; + } + + public static string Titleize(this string word) + { + return Regex.Replace(Humanize(Underscore(word)), @"\b([a-z])", + delegate(Match match) + { + return match.Captures[0].Value.ToUpper(); + }); + } + + public static string Humanize(this string lowercaseAndUnderscoredWord) + { + return Capitalize(Regex.Replace(lowercaseAndUnderscoredWord, @"_", " ")); + } + + public static string Pascalize(this string lowercaseAndUnderscoredWord) + { + return Regex.Replace(lowercaseAndUnderscoredWord, "(?:^|_)(.)", + delegate(Match match) + { + return match.Groups[1].Value.ToUpper(); + }); + } + + public static string Camelize(this string lowercaseAndUnderscoredWord) + { + return Uncapitalize(Pascalize(lowercaseAndUnderscoredWord)); + } + + public static string Underscore(this string pascalCasedWord) + { + return Regex.Replace( + Regex.Replace( + Regex.Replace(pascalCasedWord, @"([A-Z]+)([A-Z][a-z])", "$1_$2"), @"([a-z\d])([A-Z])", + "$1_$2"), @"[-\s]", "_").ToLower(); + } + + public static string Capitalize(this string word) + { + return word.Substring(0, 1).ToUpper() + word.Substring(1).ToLower(); + } + + public static string Uncapitalize(this string word) + { + return word.Substring(0, 1).ToLower() + word.Substring(1); + } + + public static string Ordinalize(this string numberString) + { + return Ordanize(int.Parse(numberString), numberString); + } + + public static string Ordinalize(this int number) + { + return Ordanize(number, number.ToString()); + } + +#if NET45 || NETFX_CORE + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + private static string Ordanize(int number, string numberString) + { + int nMod100 = number % 100; + + if (nMod100 >= 11 && nMod100 <= 13) + { + return numberString + "th"; + } + + switch (number % 10) + { + case 1: + return numberString + "st"; + case 2: + return numberString + "nd"; + case 3: + return numberString + "rd"; + default: + return numberString + "th"; + } + } + + + public static string Dasherize(this string underscoredWord) + { + return underscoredWord.Replace('_', '-'); + } + } +} \ No newline at end of file diff --git a/InflectorCore/InflectorCore.xproj b/InflectorCore/InflectorCore.xproj new file mode 100644 index 0000000..f53e7b8 --- /dev/null +++ b/InflectorCore/InflectorCore.xproj @@ -0,0 +1,20 @@ + + + + 14.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + + + + + 0795eb68-f83c-4065-bcb1-3bf3d521c8dd + InflectorCore + ..\..\artifacts\obj\$(MSBuildProjectName) + ..\..\artifacts\bin\$(MSBuildProjectName)\ + + + + 2.0 + + + diff --git a/InflectorCore/project.json b/InflectorCore/project.json new file mode 100644 index 0000000..e3049f9 --- /dev/null +++ b/InflectorCore/project.json @@ -0,0 +1,22 @@ +{ + "version": "1.0.0-*", + "description": "InflectorCore Class Library", + "authors": [ "Szymon" ], + "tags": [ "" ], + "projectUrl": "", + "licenseUrl": "", + + "dependencies": { + "System.Collections": "4.0.10-beta-23019", + "System.Linq": "4.0.0-beta-23019", + "System.Threading": "4.0.10-beta-23019", + "System.Runtime": "4.0.10-beta-23019", + "Microsoft.CSharp": "4.0.0-beta-23019", + "System.Text.RegularExpressions": "4.0.10-beta-23019" + }, + + "frameworks": { + "dnx462": { }, + "dnxcore50": { } + } +} diff --git a/InflectorCore/project.lock.json b/InflectorCore/project.lock.json new file mode 100644 index 0000000..3137ba5 --- /dev/null +++ b/InflectorCore/project.lock.json @@ -0,0 +1,622 @@ +{ + "locked": false, + "version": -9996, + "targets": { + "DNX,Version=v4.6.2": { + "Microsoft.CSharp/4.0.0-beta-23019": { + "frameworkAssemblies": [ + "Microsoft.CSharp" + ] + }, + "System.Collections/4.0.10-beta-23019": {}, + "System.Linq/4.0.0-beta-23019": {}, + "System.Runtime/4.0.10-beta-23019": {}, + "System.Text.RegularExpressions/4.0.10-beta-23019": {}, + "System.Threading/4.0.10-beta-23019": {} + }, + "DNXCore,Version=v5.0": { + "Microsoft.CSharp/4.0.0-beta-23019": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23019", + "System.Dynamic.Runtime": "4.0.0-beta-23019", + "System.Linq.Expressions": "4.0.0-beta-23019", + "System.Runtime.InteropServices": "4.0.20-beta-23019", + "System.Resources.ResourceManager": "4.0.0-beta-23019", + "System.Linq": "4.0.0-beta-23019", + "System.Reflection.TypeExtensions": "4.0.0-beta-23019", + "System.Reflection.Primitives": "4.0.0-beta-23019", + "System.Reflection.Extensions": "4.0.0-beta-23019", + "System.Threading": "4.0.0-beta-23019", + "System.Collections": "4.0.10-beta-23019", + "System.Diagnostics.Debug": "4.0.10-beta-23019", + "System.Reflection": "4.0.10-beta-23019", + "System.Globalization": "4.0.10-beta-23019", + "System.Runtime.Extensions": "4.0.10-beta-23019", + "System.ObjectModel": "4.0.10-beta-23019" + }, + "compile": { + "ref/dotnet/Microsoft.CSharp.dll": {} + }, + "runtime": { + "lib/dotnet/Microsoft.CSharp.dll": {} + } + }, + "System.Collections/4.0.10-beta-23019": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23019" + }, + "compile": { + "ref/dotnet/System.Collections.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Collections.dll": {} + } + }, + "System.Diagnostics.Debug/4.0.10-beta-23019": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23019" + }, + "compile": { + "ref/dotnet/System.Diagnostics.Debug.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Diagnostics.Debug.dll": {} + } + }, + "System.Dynamic.Runtime/4.0.0-beta-23019": { + "dependencies": { + "System.Linq.Expressions": "4.0.0-beta-23019", + "System.ObjectModel": "4.0.0-beta-23019", + "System.Reflection": "4.0.0-beta-23019", + "System.Runtime": "4.0.0-beta-23019" + }, + "compile": { + "ref/dotnet/System.Dynamic.Runtime.dll": {} + } + }, + "System.Globalization/4.0.10-beta-23019": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23019" + }, + "compile": { + "ref/dotnet/System.Globalization.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Globalization.dll": {} + } + }, + "System.IO/4.0.0-beta-23019": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23019", + "System.Text.Encoding": "4.0.0-beta-23019", + "System.Threading.Tasks": "4.0.0-beta-23019" + }, + "compile": { + "ref/dotnet/System.IO.dll": {} + } + }, + "System.Linq/4.0.0-beta-23019": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23019", + "System.Collections": "4.0.10-beta-23019", + "System.Resources.ResourceManager": "4.0.0-beta-23019", + "System.Diagnostics.Debug": "4.0.10-beta-23019", + "System.Runtime.Extensions": "4.0.10-beta-23019" + }, + "compile": { + "ref/dotnet/System.Linq.dll": {} + }, + "runtime": { + "lib/dotnet/System.Linq.dll": {} + } + }, + "System.Linq.Expressions/4.0.0-beta-23019": { + "dependencies": { + "System.Reflection": "4.0.0-beta-23019", + "System.Runtime": "4.0.0-beta-23019" + }, + "compile": { + "ref/dotnet/System.Linq.Expressions.dll": {} + } + }, + "System.ObjectModel/4.0.10-beta-23019": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23019", + "System.Resources.ResourceManager": "4.0.0-beta-23019", + "System.Diagnostics.Debug": "4.0.10-beta-23019", + "System.Collections": "4.0.10-beta-23019", + "System.Threading": "4.0.10-beta-23019" + }, + "compile": { + "ref/dotnet/System.ObjectModel.dll": {} + }, + "runtime": { + "lib/dotnet/System.ObjectModel.dll": {} + } + }, + "System.Reflection/4.0.10-beta-23019": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23019", + "System.IO": "4.0.0-beta-23019", + "System.Reflection.Primitives": "4.0.0-beta-23019" + }, + "compile": { + "ref/dotnet/System.Reflection.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.dll": {} + } + }, + "System.Reflection.Extensions/4.0.0-beta-23019": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23019", + "System.Reflection": "4.0.0-beta-23019" + }, + "compile": { + "ref/dotnet/System.Reflection.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.Extensions.dll": {} + } + }, + "System.Reflection.Primitives/4.0.0-beta-23019": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23019" + }, + "compile": { + "ref/dotnet/System.Reflection.Primitives.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.Primitives.dll": {} + } + }, + "System.Reflection.TypeExtensions/4.0.0-beta-23019": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23019", + "System.Reflection": "4.0.0-beta-23019" + }, + "compile": { + "ref/dotnet/System.Reflection.TypeExtensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.TypeExtensions.dll": {} + } + }, + "System.Resources.ResourceManager/4.0.0-beta-23019": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23019", + "System.Reflection": "4.0.0-beta-23019", + "System.Globalization": "4.0.0-beta-23019" + }, + "compile": { + "ref/dotnet/System.Resources.ResourceManager.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Resources.ResourceManager.dll": {} + } + }, + "System.Runtime/4.0.10-beta-23019": { + "compile": { + "ref/dotnet/System.Runtime.dll": {} + } + }, + "System.Runtime.Extensions/4.0.10-beta-23019": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23019" + }, + "compile": { + "ref/dotnet/System.Runtime.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Extensions.dll": {} + } + }, + "System.Runtime.Handles/4.0.0-beta-23019": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23019" + }, + "compile": { + "ref/dotnet/System.Runtime.Handles.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Handles.dll": {} + } + }, + "System.Runtime.InteropServices/4.0.20-beta-23019": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23019", + "System.Reflection": "4.0.0-beta-23019", + "System.Reflection.Primitives": "4.0.0-beta-23019", + "System.Runtime.Handles": "4.0.0-beta-23019" + }, + "compile": { + "ref/dotnet/System.Runtime.InteropServices.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.InteropServices.dll": {} + } + }, + "System.Text.Encoding/4.0.0-beta-23019": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23019" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.dll": {} + } + }, + "System.Text.RegularExpressions/4.0.10-beta-23019": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23019", + "System.Resources.ResourceManager": "4.0.0-beta-23019", + "System.Collections": "4.0.10-beta-23019", + "System.Globalization": "4.0.10-beta-23019", + "System.Runtime.Extensions": "4.0.10-beta-23019", + "System.Threading": "4.0.10-beta-23019" + }, + "compile": { + "ref/dotnet/System.Text.RegularExpressions.dll": {} + }, + "runtime": { + "lib/dotnet/System.Text.RegularExpressions.dll": {} + } + }, + "System.Threading/4.0.10-beta-23019": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23019", + "System.Threading.Tasks": "4.0.0-beta-23019" + }, + "compile": { + "ref/dotnet/System.Threading.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.dll": {} + } + }, + "System.Threading.Tasks/4.0.0-beta-23019": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23019" + }, + "compile": { + "ref/dotnet/System.Threading.Tasks.dll": {} + } + } + } + }, + "libraries": { + "Microsoft.CSharp/4.0.0-beta-23019": { + "sha512": "TsYR8ylpBw89cxCTzA9eD8wqLR5u4TnNvUCLU7Qt9TlbxmNM0jPaz80L4N+W81kEoOpchlckGGCTA4JVemmEVA==", + "files": [ + "Microsoft.CSharp.4.0.0-beta-23019.nupkg", + "Microsoft.CSharp.4.0.0-beta-23019.nupkg.sha512", + "Microsoft.CSharp.nuspec", + "lib/dotnet/Microsoft.CSharp.dll", + "lib/net45/_._", + "lib/netcore50/Microsoft.CSharp.dll", + "lib/win8/_._", + "ref/dotnet/Microsoft.CSharp.dll", + "ref/net45/_._", + "ref/netcore50/Microsoft.CSharp.dll", + "ref/win8/_._" + ] + }, + "System.Collections/4.0.10-beta-23019": { + "sha512": "76/FZ9wYhhU6wdNwrB3NiVJ5lpLZnLhS3dbLCOXOSf8NN3KXPrlcm5f2PUeHSJxgu5nP2H8lGLfshIaWq2qSNQ==", + "files": [ + "System.Collections.4.0.10-beta-23019.nupkg", + "System.Collections.4.0.10-beta-23019.nupkg.sha512", + "System.Collections.nuspec", + "lib/DNXCore50/System.Collections.dll", + "lib/net46/_._", + "lib/netcore50/System.Collections.dll", + "ref/dotnet/System.Collections.dll", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Collections.dll" + ] + }, + "System.Diagnostics.Debug/4.0.10-beta-23019": { + "sha512": "2esspsA/5xUcoZw+pXnzJ+TfztxnZP41yP8ZAtHem7fUN0S9kWMvyABmfkk06mjakgYdaOTmhNKvntVoB2NqZA==", + "files": [ + "System.Diagnostics.Debug.4.0.10-beta-23019.nupkg", + "System.Diagnostics.Debug.4.0.10-beta-23019.nupkg.sha512", + "System.Diagnostics.Debug.nuspec", + "lib/DNXCore50/System.Diagnostics.Debug.dll", + "lib/net46/_._", + "lib/netcore50/System.Diagnostics.Debug.dll", + "ref/dotnet/System.Diagnostics.Debug.dll", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Debug.dll" + ] + }, + "System.Dynamic.Runtime/4.0.0-beta-23019": { + "sha512": "WE/wuubmpzkmAh34gOHYvF+eJR9xUKSif2sB7CNZykWwtnVvSkd+nIjocduT88BXZZteW5LWD/M85EefFYc50A==", + "files": [ + "License.rtf", + "System.Dynamic.Runtime.4.0.0-beta-23019.nupkg", + "System.Dynamic.Runtime.4.0.0-beta-23019.nupkg.sha512", + "System.Dynamic.Runtime.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Dynamic.Runtime.dll", + "ref/net45/_._", + "ref/netcore50/System.Dynamic.Runtime.dll", + "ref/win8/_._" + ] + }, + "System.Globalization/4.0.10-beta-23019": { + "sha512": "ZCFewMBp9ebwnDsVu81/50xDsJE7lH8LukTmC3a4ey/Pr7QMzCyLDGGfqYk0esw14ix3JexRYY50kA+0qJTDFQ==", + "files": [ + "System.Globalization.4.0.10-beta-23019.nupkg", + "System.Globalization.4.0.10-beta-23019.nupkg.sha512", + "System.Globalization.nuspec", + "lib/DNXCore50/System.Globalization.dll", + "lib/net46/_._", + "lib/netcore50/System.Globalization.dll", + "ref/dotnet/System.Globalization.dll", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Globalization.dll" + ] + }, + "System.IO/4.0.0-beta-23019": { + "sha512": "zyAsgiVGIJlwR45vcVCAUoAfdW82nqsPQeKavj8sAInXXKNc1YvVp9NFH5Jh6BOQYZrM3ohoufhY/cRNFahJ2w==", + "files": [ + "License.rtf", + "System.IO.4.0.0-beta-23019.nupkg", + "System.IO.4.0.0-beta-23019.nupkg.sha512", + "System.IO.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.IO.dll", + "ref/net45/_._", + "ref/netcore50/System.IO.dll", + "ref/win8/_._" + ] + }, + "System.Linq/4.0.0-beta-23019": { + "sha512": "kw6QeVsZWOKdonnArSWFerSyXCsr2LmGqT9Z2W7HFf7yN09o6O8YLfIALlFnhD4CXgJZYC8ebgMPC6uK9IZfOQ==", + "files": [ + "System.Linq.4.0.0-beta-23019.nupkg", + "System.Linq.4.0.0-beta-23019.nupkg.sha512", + "System.Linq.nuspec", + "lib/dotnet/System.Linq.dll", + "lib/net45/_._", + "lib/netcore50/System.Linq.dll", + "lib/win8/_._", + "ref/dotnet/System.Linq.dll", + "ref/net45/_._", + "ref/netcore50/System.Linq.dll", + "ref/win8/_._" + ] + }, + "System.Linq.Expressions/4.0.0-beta-23019": { + "sha512": "2YDSiXCOPONzEA/8fMN089faDfOiKfntYnodryL5sFskdszIbg3E9pMXKBMuclHx6g2ceBkOuZy/M5FYmq3YMg==", + "files": [ + "License.rtf", + "System.Linq.Expressions.4.0.0-beta-23019.nupkg", + "System.Linq.Expressions.4.0.0-beta-23019.nupkg.sha512", + "System.Linq.Expressions.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Linq.Expressions.dll", + "ref/net45/_._", + "ref/netcore50/System.Linq.Expressions.dll", + "ref/win8/_._" + ] + }, + "System.ObjectModel/4.0.10-beta-23019": { + "sha512": "xG9aUQ0QLcA1uJdiEZmkAuXnMg7/cZB9fc8S+zgNTkbfOdjXMITcmmT9RTMkNrTQBO7rjLMZAMMDvihxi3Htiw==", + "files": [ + "System.ObjectModel.4.0.10-beta-23019.nupkg", + "System.ObjectModel.4.0.10-beta-23019.nupkg.sha512", + "System.ObjectModel.nuspec", + "lib/dotnet/System.ObjectModel.dll", + "lib/net46/_._", + "ref/dotnet/System.ObjectModel.dll", + "ref/net46/_._" + ] + }, + "System.Reflection/4.0.10-beta-23019": { + "sha512": "qcI2g8PI/oQyJPnDOjsQUUBm0Xzp3moWfEw3nevWk2Z+yD/DiJsUGov+VNdonOOGtTyit0OTWc2qNiQLAaE6pg==", + "files": [ + "System.Reflection.4.0.10-beta-23019.nupkg", + "System.Reflection.4.0.10-beta-23019.nupkg.sha512", + "System.Reflection.nuspec", + "lib/DNXCore50/System.Reflection.dll", + "lib/net46/_._", + "lib/netcore50/System.Reflection.dll", + "ref/dotnet/System.Reflection.dll", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.dll" + ] + }, + "System.Reflection.Extensions/4.0.0-beta-23019": { + "sha512": "1Ny4GnVyN8O7ZG3m3xfcLJXnieO1u1zafLEW70gBlvAnkCKF2jbU5y/R+01gYtw4ThaXRdfY1mNTit0EioAMZg==", + "files": [ + "System.Reflection.Extensions.4.0.0-beta-23019.nupkg", + "System.Reflection.Extensions.4.0.0-beta-23019.nupkg.sha512", + "System.Reflection.Extensions.nuspec", + "lib/DNXCore50/System.Reflection.Extensions.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Extensions.dll", + "lib/win8/_._", + "ref/dotnet/System.Reflection.Extensions.dll", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Extensions.dll", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Extensions.dll" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-23019": { + "sha512": "h0eV/sJvtztm3/aog7JLK+uH50HQXGGea57oIhAeP/BHIq8RCbTTY9G/zAYCcaqhXouA2dWCRegp3vYqc4KVDw==", + "files": [ + "System.Reflection.Primitives.4.0.0-beta-23019.nupkg", + "System.Reflection.Primitives.4.0.0-beta-23019.nupkg.sha512", + "System.Reflection.Primitives.nuspec", + "lib/DNXCore50/System.Reflection.Primitives.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Primitives.dll", + "lib/win8/_._", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Reflection.TypeExtensions/4.0.0-beta-23019": { + "sha512": "X4cQwPMccI/zW0HXlCXXn4vKdIme5jTKA+DYapZlAeyce1rUxwfNMZbfwW+ccjBzJ5v9PvjYwDrBptU+oXPphA==", + "files": [ + "System.Reflection.TypeExtensions.4.0.0-beta-23019.nupkg", + "System.Reflection.TypeExtensions.4.0.0-beta-23019.nupkg.sha512", + "System.Reflection.TypeExtensions.nuspec", + "lib/DNXCore50/System.Reflection.TypeExtensions.dll", + "lib/net46/System.Reflection.TypeExtensions.dll", + "lib/netcore50/System.Reflection.TypeExtensions.dll", + "ref/dotnet/System.Reflection.TypeExtensions.dll", + "ref/net46/System.Reflection.TypeExtensions.dll", + "runtimes/win8-aot/lib/netcore50/System.Reflection.TypeExtensions.dll" + ] + }, + "System.Resources.ResourceManager/4.0.0-beta-23019": { + "sha512": "AVrEVrqqXlvFgMxPRxa1f67BRC8s1pHYy0OVVmq1MRN5mb4Jfg9Uu2I6yxkF4WBcP2BhA6XKRcwxY4LWEYzS2w==", + "files": [ + "System.Resources.ResourceManager.4.0.0-beta-23019.nupkg", + "System.Resources.ResourceManager.4.0.0-beta-23019.nupkg.sha512", + "System.Resources.ResourceManager.nuspec", + "lib/DNXCore50/System.Resources.ResourceManager.dll", + "lib/net45/_._", + "lib/netcore50/System.Resources.ResourceManager.dll", + "lib/win8/_._", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll" + ] + }, + "System.Runtime/4.0.10-beta-23019": { + "sha512": "yZZc2OMujDOirzMus09Og7DtGdz8Uj/zMtVRvouNSo1QQ68KV9iYjXMJJ48Jhv6DYsmH1vGEbL98NVFEHcrpqA==", + "files": [ + "License.rtf", + "System.Runtime.4.0.10-beta-23019.nupkg", + "System.Runtime.4.0.10-beta-23019.nupkg.sha512", + "System.Runtime.nuspec", + "lib/net451/_._", + "lib/win81/_._", + "ref/dotnet/System.Runtime.dll", + "ref/net451/_._", + "ref/netcore50/System.Runtime.dll", + "ref/win81/_._" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-23019": { + "sha512": "uNqKppQlner2pNej6A7wM6fn1yoiwOVY8GT7I0LjOTl8rZoy9NHecxfX5FzYuL1+gqP1lL1zqCmo9Bs+BcjRlQ==", + "files": [ + "System.Runtime.Extensions.4.0.10-beta-23019.nupkg", + "System.Runtime.Extensions.4.0.10-beta-23019.nupkg.sha512", + "System.Runtime.Extensions.nuspec", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Runtime.Handles/4.0.0-beta-23019": { + "sha512": "unNQ1Gpx8SIiS6V/AME9F2516xYkfmytU/En1G9nwqCj8CxBN/DZR8CjG1pQ178Fdu+TqJauiHTLT2e98ISpxA==", + "files": [ + "System.Runtime.Handles.4.0.0-beta-23019.nupkg", + "System.Runtime.Handles.4.0.0-beta-23019.nupkg.sha512", + "System.Runtime.Handles.nuspec", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll" + ] + }, + "System.Runtime.InteropServices/4.0.20-beta-23019": { + "sha512": "U9NrNXzpXOzNAEOjn0RNUswMmjhKbeOxwKVAZ6ZA6m2hoS8Tpf1qgsBI0djPehA2wDVwVPrZmKUMqjRZoUGilA==", + "files": [ + "System.Runtime.InteropServices.4.0.20-beta-23019.nupkg", + "System.Runtime.InteropServices.4.0.20-beta-23019.nupkg.sha512", + "System.Runtime.InteropServices.nuspec", + "lib/DNXCore50/System.Runtime.InteropServices.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll" + ] + }, + "System.Text.Encoding/4.0.0-beta-23019": { + "sha512": "R0NRM2gKMZB9PK0cco97rYxP1spnrb7ofU4kBv50idLmiCvSepHWww172+x7DulgeiVeta5tkkKFqGsYaCJiBA==", + "files": [ + "License.rtf", + "System.Text.Encoding.4.0.0-beta-23019.nupkg", + "System.Text.Encoding.4.0.0-beta-23019.nupkg.sha512", + "System.Text.Encoding.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Text.Encoding.dll", + "ref/net45/_._", + "ref/netcore50/System.Text.Encoding.dll", + "ref/win8/_._" + ] + }, + "System.Text.RegularExpressions/4.0.10-beta-23019": { + "sha512": "4UJqL2D8AGcwuJVvkCIkuff/6CtUFkcqYUwUXISQhG6AXxvs6R0BhYCqr5sUr/RZC6/NaW1oKH436/9utLubYA==", + "files": [ + "System.Text.RegularExpressions.4.0.10-beta-23019.nupkg", + "System.Text.RegularExpressions.4.0.10-beta-23019.nupkg.sha512", + "System.Text.RegularExpressions.nuspec", + "lib/dotnet/System.Text.RegularExpressions.dll", + "lib/net46/_._", + "ref/dotnet/System.Text.RegularExpressions.dll", + "ref/net46/_._" + ] + }, + "System.Threading/4.0.10-beta-23019": { + "sha512": "xJYu7J22Fc4G7pfUlPBYuRj4Rla0VkaqU77SW2DyT/oMq1KQmmR7oQnQ7yq/yig0St17I7rYZYBbSrNbe1l5+g==", + "files": [ + "System.Threading.4.0.10-beta-23019.nupkg", + "System.Threading.4.0.10-beta-23019.nupkg.sha512", + "System.Threading.nuspec", + "lib/DNXCore50/System.Threading.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "ref/dotnet/System.Threading.dll", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.0-beta-23019": { + "sha512": "frcOMzzaVN9AHhlJRLKOqm9WHws2byLa+CDFUZIQzUWqrpubH0CDtNj1je5lJpD1QDwJBmnXepKUXCwt/wt9Ew==", + "files": [ + "License.rtf", + "System.Threading.Tasks.4.0.0-beta-23019.nupkg", + "System.Threading.Tasks.4.0.0-beta-23019.nupkg.sha512", + "System.Threading.Tasks.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/net45/_._", + "ref/netcore50/System.Threading.Tasks.dll", + "ref/win8/_._" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "System.Collections >= 4.0.10-beta-23019", + "System.Linq >= 4.0.0-beta-23019", + "System.Threading >= 4.0.10-beta-23019", + "System.Runtime >= 4.0.10-beta-23019", + "Microsoft.CSharp >= 4.0.0-beta-23019", + "System.Text.RegularExpressions >= 4.0.10-beta-23019" + ], + "DNX,Version=v4.6.2": [], + "DNXCore,Version=v5.0": [] + } +} \ No newline at end of file diff --git a/global.json b/global.json new file mode 100644 index 0000000..b164561 --- /dev/null +++ b/global.json @@ -0,0 +1,7 @@ +{ + "sdk": { + "version": "1.0.0-beta5", + "runtime": "coreclr", + "architecture": "x86" + } +}