Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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));
        }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
        /// <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);
        }
Exemplo n.º 5
0
 /// <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));
 }
Exemplo n.º 6
0
        /// <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));
        }