internal static string Namify(string value, NameTransformation transform = NameTransformation.CamelCase, string unifier = "") { var result = string.Empty; var words = value.Split(new char[] { '-', '/', }); var newWords = new string[words.Length]; for (int i = 0; i < words.Length; i++) { string word = words[i]; if ((transform & NameTransformation.PascalCase) == NameTransformation.PascalCase) { if (i == 0) { word = word[0].ToString().ToLowerInvariant() + new string(word.Skip(1).ToArray()); } else { word = word[0].ToString().ToUpperInvariant() + new string(word.Skip(1).ToArray()); } } if ((transform & NameTransformation.CamelCase) == NameTransformation.CamelCase) { word = word[0].ToString().ToUpperInvariant() + new string(word.Skip(1).ToArray()); } newWords[i] = word; } return(string.Join(unifier, newWords)); }
protected IDictionary <string, Parameter> GetUrlPathParameters(string path, NameTransformation transform = NameTransformation.None) { var values = new Dictionary <string, Parameter>(); var matches = urlParametersRegex.Matches(path); foreach (Match match in matches) { var full = match.Groups[0].Captures[0].Value; full = full.Substring(1, full.Length - 2); var key = match.Groups[2].Captures[0].Value; var type = match.Groups[1].Success ? match.Groups[1].Captures[0].Value : null; var value = match.Groups[3].Success ? match.Groups[3].Captures[0].Value : null; if (key == "FieldSelector") { continue; } var item = new Parameter { OriginalName = full, Name = Namify(key, transform), Type = type, Value = value, }; values.Add(key, item); } return(values); }
protected IDictionary<string, Parameter> GetUrlPathParameters(string path, NameTransformation transform = NameTransformation.None) { var values = new Dictionary<string, Parameter>(); var matches = urlParametersRegex.Matches(path); foreach (Match match in matches) { var full = match.Groups[0].Captures[0].Value; full = full.Substring(1, full.Length - 2); var key = match.Groups[2].Captures[0].Value; var type = match.Groups[1].Success ? match.Groups[1].Captures[0].Value : null; var value = match.Groups[3].Success ? match.Groups[3].Captures[0].Value : null; if (key == "FieldSelector") continue; var item = new Parameter { OriginalName = full, Name = Namify(key, transform), Type = type, Value = value, }; values.Add(key, item); } return values; }
internal static string Namify(string value, NameTransformation transform = NameTransformation.CamelCase, string unifier = "") { var result = string.Empty; var words = value.Split(new char[] { '-', '/', }); var newWords = new string[words.Length]; for (int i = 0; i < words.Length; i++) { string word = words[i]; if ((transform & NameTransformation.PascalCase) == NameTransformation.PascalCase) { if (i == 0) word = word[0].ToString().ToLowerInvariant() + new string(word.Skip(1).ToArray()); else word = word[0].ToString().ToUpperInvariant() + new string(word.Skip(1).ToArray()); } if ((transform & NameTransformation.CamelCase) == NameTransformation.CamelCase) { word = word[0].ToString().ToUpperInvariant() + new string(word.Skip(1).ToArray()); } newWords[i] = word; } return string.Join(unifier, newWords); }
public AppConfig(AppSettings appSettings, IConsole console, IDependencyResolver dependencyResolver, IHelpProvider helpProvider, NameTransformation nameTransformation, Action <OnRunCompletedEventArgs> onRunCompleted, TokenizationEvents tokenizationEvents, BuildEvents buildEvents, IServices services, CancellationToken cancellationToken, Dictionary <Type, Func <CommandContext, object> > parameterResolversByType) { AppSettings = appSettings; Console = console; DependencyResolver = dependencyResolver; HelpProvider = helpProvider; NameTransformation = nameTransformation ?? ((attributes, memberName, overrideName, commandNodeType) => overrideName ?? memberName); OnRunCompleted = onRunCompleted; TokenizationEvents = tokenizationEvents; BuildEvents = buildEvents; Services = services; CancellationToken = cancellationToken; ParameterResolversByType = parameterResolversByType; ResolverService = services.GetOrAdd(() => new ResolverService()); ResolverService.BackingResolver = dependencyResolver; OnRunCompleted += args => ResolverService.OnRunCompleted(args.CommandContext); }
internal IDictionary <string, Parameter> InvokeGetUrlPathParameters(string path, NameTransformation transform = NameTransformation.None) { return(base.GetUrlPathParameters(path, transform)); }
internal IDictionary<string, Parameter> InvokeGetUrlPathParameters(string path, NameTransformation transform = NameTransformation.None) { return base.GetUrlPathParameters(path, transform); }