package funkin.util.tools; /** * A static extension which provides utility functions for Strings. */ class StringTools { /** * Converts a string to title case. For example, "hello world" becomes "Hello World". * * @param value The string to convert. * @return The converted string. */ public static function toTitleCase(value:String):String { var words:Array = value.split(" "); var result:String = ""; for (i in 0...words.length) { var word:String = words[i]; result += word.charAt(0).toUpperCase() + word.substr(1).toLowerCase(); if (i < words.length - 1) { result += " "; } } return result; } /** * Converts a string to lower kebab case. For example, "Hello World" becomes "hello-world". * * @param value The string to convert. * @return The converted string. */ public static function toLowerKebabCase(value:String):String { return value.toLowerCase().replace(' ', "-"); } /** * Converts a string to upper kebab case, aka screaming kebab case. For example, "Hello World" becomes "HELLO-WORLD". * * @param value The string to convert. * @return The converted string. */ public static function toUpperKebabCase(value:String):String { return value.toUpperCase().replace(' ', "-"); } /** * Parses the string data as JSON and returns the resulting object. * This is here so you can use `string.parseJSON()` when `using StringTools`. * * @return The parsed object. */ public static function parseJSON(value:String):Dynamic { return SerializerUtil.fromJSON(value); } }