/// <summary> /// Converts to Camel Casing /// </summary> /// <param name="input">Casing insensitive input</param> /// <returns>Camel case formatted string</returns> public static string ToCamelCase(this CasingContext input) { if (input == null) { throw new ArgumentNullException(nameof(input)); } if (input == CasingContext.Empty) { return(input.ToString()); } var result = string.Empty; var isFirst = true; foreach (string part in input.Terms) { if (isFirst) { result = part; isFirst = false; } else { result += char.ToUpper(part[0]); result += part.Substring(1); } } return(result); }
/// <summary> /// Converts to Kebab Casing /// </summary> /// <param name="input">Casing insensitive input</param> /// <returns>Kebab case formatted string</returns> public static string ToKebabCase(this CasingContext input) { if (input == null) { throw new ArgumentNullException(nameof(input)); } if (input == CasingContext.Empty) { return(input.ToString()); } return(string.Join("-", input.Terms)); }
/// <summary> /// Converts to Pascal Casing /// </summary> /// <param name="input">Casing insensitive input</param> /// <returns>Pascal case formatted string</returns> public static string ToPascal(this CasingContext input) { if (input == null) { throw new ArgumentNullException(nameof(input)); } if (input == CasingContext.Empty) { return(input.ToString()); } var result = string.Empty; foreach (string part in input.Terms) { result += char.ToUpper(part[0]); result += part.Substring(1); } return(result); }
/// <summary> /// Converts from invarient cased pharse to the given syntax /// </summary> /// <param name="context">Phrase to convert</param> /// <param name="syntax">Syntax to use</param> /// <returns>Converted phrase</returns> public string ToCase(CasingContext context, CasingSyntax syntax) { string result = ApplyPrefix(syntax); var index = 0; foreach (string rawTerm in context.Terms) { string term = rawTerm; term = ApplyCapitalisation(term, syntax, index); if (index > 0) { term = ApplyTerminator(term, syntax); } result += term; index++; } result = ApplySuffix(result, syntax); return(result); }
/// <summary> /// Converts from invarient case to that specified in <see cref="Syntax"/> /// </summary> /// <param name="context">Invarient cased phrase</param> /// <returns>Converted phrase</returns> public string ToCase(CasingContext context) { return(ToCase(context, Syntax)); }
/// <summary> /// Converts from the current syntax case to a given syntax /// </summary> /// <param name="input">Phrase to convert</param> /// <param name="syntax">Syntax to convert to</param> /// <returns>Converted phrase</returns> public string ToCase(string input, CasingSyntax syntax) { CasingContext context = FromCase(input); return(ToCase(context, syntax)); }