From 0d9258203672c36abe9bdec567442af4f7576317 Mon Sep 17 00:00:00 2001 From: Kevin Lee Date: Sun, 5 Nov 2023 21:39:00 +1100 Subject: [PATCH] extras v0.44.0 --- changelogs/0.44.0.md | 997 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 997 insertions(+) create mode 100644 changelogs/0.44.0.md diff --git a/changelogs/0.44.0.md b/changelogs/0.44.0.md new file mode 100644 index 00000000..7fffca98 --- /dev/null +++ b/changelogs/0.44.0.md @@ -0,0 +1,997 @@ +## [0.44.0](https://github.com/kevin-lee/extras/issues?q=is%3Aissue+is%3Aclosed+-label%3Ainvalid+milestone%3Amilestone45) - 2023-11-05 + +## New Features +* [`extras-string`] Add `extras.strings.syntax.all` to have all `strings` syntax (#441) + ```scala + import extras.strings.syntax.all._ + ``` +* [`extras-string`] Add case conversion - `string.toPascalCase` (#443) + ```scala + import extras.strings.syntax.cases._ + // or + import extras.strings.syntax.all._ + ``` + ```scala + "Abc".toPascalCase + // Abc + ``` + ```scala + "AbcDefGhi".toPascalCase + // AbcDefGhi + ``` + ```scala + "abcDefGhi".toPascalCase + // AbcDefGhi + ``` + ```scala + "abc".toPascalCase + // Abc + ``` + ```scala + "ABC".toPascalCase + // Abc + ``` + ```scala + "abc_def_ghi".toPascalCase + // AbcDefGhi + ``` + ```scala + "abc-def-ghi".toPascalCase + // AbcDefGhi + ``` + ```scala + "abc def ghi".toPascalCase + // AbcDefGhi + ``` +* [`extras-string`] Add case conversion - `string.toOnePascalCase` (#455) + ```scala + import extras.strings.syntax.cases._ + // or + import extras.strings.syntax.all._ + ``` + ```scala + "Abc".toOnePascalCase + // Abc + ``` + ```scala + "AbcDef".toOnePascalCase + // Abcdef + ``` + ```scala + "abcDef".toOnePascalCase + // Abcdef + ``` + ```scala + "abc".toOnePascalCase + // Abc + ``` + ```scala + "ABC".toOnePascalCase + // Abc + ``` +* [`extras-string`] Add case conversion - `string.toCamelCase` (#444) + ```scala + import extras.strings.syntax.cases._ + // or + import extras.strings.syntax.all._ + ``` + ```scala + "Abc".toCamelCase + // abc + ``` + ```scala + "AbcDefGhi".toCamelCase + // abcDefGhi + ``` + ```scala + "abcDefGhi".toCamelCase + // abcDefGhi + ``` + ```scala + "abc".toCamelCase + // abc + ``` + ```scala + "ABC".toCamelCase + // abc + ``` + ```scala + "abc_def_ghi".toCamelCase + // abcDefGhi + ``` + ```scala + "abc-def-ghi".toCamelCase + // abcDefGhi + ``` + ```scala + "abc def ghi".toCamelCase + // abcDefGhi + ``` +* [`extras-string`] Add case conversion - `string.toSnakeCase` (#445) + ```scala + import extras.strings.syntax.cases._ + // or + import extras.strings.syntax.all._ + ``` + ```scala + "Abc".toSnakeCase + // Abc + ``` + ```scala + "AbcDefGhi".toSnakeCase + // Abc_Def_Ghi + ``` + ```scala + "abcDefGhi".toSnakeCase + // abc_Def_Ghi + ``` + ```scala + "abc".toSnakeCase + // abc + ``` + ```scala + "ABC".toSnakeCase + // ABC + ``` + ```scala + "Abc_Def_Ghi".toSnakeCase + // Abc_Def_Ghi + ``` + ```scala + "abc_def_ghi".toSnakeCase + // abc_def_ghi + ``` + ```scala + "ABC_DEF_GHI".toSnakeCase + // ABC_DEF_GHI + ``` + ```scala + "abc-def-ghi".toSnakeCase + // abc_def_ghi + ``` + ```scala + "Abc-Def-Ghi".toSnakeCase + // Abc_Def_Ghi + ``` + ```scala + "ABC-DEF-GHI".toSnakeCase + // ABC_DEF_GHI + ``` + ```scala + "abc def ghi".toSnakeCase + // abc_def_ghi + ``` + ```scala + "Abc Def Ghi".toSnakeCase + // Abc_Def_Ghi + ``` + ```scala + "ABC DEF GHI".toSnakeCase + // ABC_DEF_GHI + ``` +* [`extras-string`] Add case conversion - `string.toSnakeUpperCase` (#465) + ```scala + import extras.strings.syntax.cases._ + // or + import extras.strings.syntax.all._ + ``` + ```scala + "Abc".toSnakeUpperCase + // ABC + ``` + ```scala + "AbcDefGhi".toSnakeUpperCase + // ABC_DEF_GHI + ``` + ```scala + "abcDefGhi".toSnakeUpperCase + // ABC_DEF_GHI + ``` + ```scala + "abc".toSnakeUpperCase + // ABC + ``` + ```scala + "ABC".toSnakeUpperCase + // ABC + ``` + ```scala + "Abc_Def_Ghi".toSnakeUpperCase + // ABC_DEF_GHI + ``` + ```scala + "abc_def_ghi".toSnakeUpperCase + // ABC_DEF_GHI + ``` + ```scala + "ABC_DEF_GHI".toSnakeUpperCase + // ABC_DEF_GHI + ``` + ```scala + "abc-def-ghi".toSnakeUpperCase + // ABC_DEF_GHI + ``` + ```scala + "Abc-Def-Ghi".toSnakeUpperCase + // ABC_DEF_GHI + ``` + ```scala + "ABC-DEF-GHI".toSnakeUpperCase + // ABC_DEF_GHI + ``` + ```scala + "abc def ghi".toSnakeUpperCase + // ABC_DEF_GHI + ``` + ```scala + "Abc Def Ghi".toSnakeUpperCase + // ABC_DEF_GHI + ``` + ```scala + "ABC DEF GHI".toSnakeUpperCase + // ABC_DEF_GHI + ``` +* [`extras-string`] Add case conversion - `string.toSnakeLowerCase` (#466) + ```scala + import extras.strings.syntax.cases._ + // or + import extras.strings.syntax.all._ + ``` + ```scala + "Abc".toSnakeLowerCase + // abc + ``` + ```scala + "AbcDefGhi".toSnakeLowerCase + // abc_def_ghi + ``` + ```scala + "abcDefGhi".toSnakeLowerCase + // abc_def_ghi + ``` + ```scala + "abc".toSnakeLowerCase + // abc + ``` + ```scala + "ABC".toSnakeLowerCase + // abc + ``` + ```scala + "Abc_Def_Ghi".toSnakeLowerCase + // abc_def_ghi + ``` + ```scala + "abc_def_ghi".toSnakeLowerCase + // abc_def_ghi + ``` + ```scala + "ABC_DEF_GHI".toSnakeLowerCase + // abc_def_ghi + ``` + ```scala + "abc-def-ghi".toSnakeLowerCase + // abc_def_ghi + ``` + ```scala + "Abc-Def-Ghi".toSnakeLowerCase + // abc_def_ghi + ``` + ```scala + "ABC-DEF-GHI".toSnakeLowerCase + // abc_def_ghi + ``` + ```scala + "abc def ghi".toSnakeLowerCase + // abc_def_ghi + ``` + ```scala + "Abc Def Ghi".toSnakeLowerCase + // abc_def_ghi + ``` + ```scala + "ABC DEF GHI".toSnakeLowerCase + // abc_def_ghi + ``` +* [`extras-string`] Add case conversion - `string.toKebabCase` (#446) + ```scala + import extras.strings.syntax.cases._ + // or + import extras.strings.syntax.all._ + ``` + ```scala + "Abc".toKebabCase + // Abc + ``` + ```scala + "AbcDefGhi".toKebabCase + // Abc-Def-Ghi + ``` + ```scala + "abcDefGhi".toKebabCase + // abc-Def-Ghi + ``` + ```scala + "abc".toKebabCase + // abc + ``` + ```scala + "ABC".toKebabCase + // ABC + ``` + ```scala + "Abc_Def_Ghi".toKebabCase + // Abc-Def-Ghi + ``` + ```scala + "abc_def_ghi".toKebabCase + // abc-def-ghi + ``` + ```scala + "ABC_DEF_GHI".toKebabCase + // ABC-DEF-GHI + ``` + ```scala + "abc-def-ghi".toKebabCase + // abc-def-ghi + ``` + ```scala + "Abc-Def-Ghi".toKebabCase + // Abc-Def-Ghi + ``` + ```scala + "ABC-DEF-GHI".toKebabCase + // ABC-DEF-GHI + ``` + ```scala + "abc def ghi".toKebabCase + // abc-def-ghi + ``` + ```scala + "Abc Def Ghi".toKebabCase + // Abc-Def-Ghi + ``` + ```scala + "ABC DEF GHI".toKebabCase + // ABC-DEF-GHI + ``` +* [`extras-string`] Add case conversion - `string.toKebabUpperCase` (#467) + ```scala + import extras.strings.syntax.cases._ + // or + import extras.strings.syntax.all._ + ``` + ```scala + "Abc".toKebabUpperCase + // ABC + ``` + ```scala + "AbcDefGhi".toKebabUpperCase + // ABC-DEF-GHI + ``` + ```scala + "abcDefGhi".toKebabUpperCase + // ABC-DEF-GHI + ``` + ```scala + "abc".toKebabUpperCase + // ABC + ``` + ```scala + "ABC".toKebabUpperCase + // ABC + ``` + ```scala + "Abc_Def_Ghi".toKebabUpperCase + // ABC-DEF-GHI + ``` + ```scala + "abc_def_ghi".toKebabUpperCase + // ABC-DEF-GHI + ``` + ```scala + "ABC_DEF_GHI".toKebabUpperCase + // ABC-DEF-GHI + ``` + ```scala + "abc-def-ghi".toKebabUpperCase + // ABC-DEF-GHI + ``` + ```scala + "Abc-Def-Ghi".toKebabUpperCase + // ABC-DEF-GHI + ``` + ```scala + "ABC-DEF-GHI".toKebabUpperCase + // ABC-DEF-GHI + ``` + ```scala + "abc def ghi".toKebabUpperCase + // ABC-DEF-GHI + ``` + ```scala + "Abc Def Ghi".toKebabUpperCase + // ABC-DEF-GHI + ``` + ```scala + "ABC DEF GHI".toKebabUpperCase + // ABC-DEF-GHI + ``` +* [`extras-string`] Add case conversion - `string.toKebabLowerCase` (#468) + ```scala + import extras.strings.syntax.cases._ + // or + import extras.strings.syntax.all._ + ``` + ```scala + "Abc".toKebabLowerCase + // abc + ``` + ```scala + "AbcDefGhi".toKebabLowerCase + // abc-def-ghi + ``` + ```scala + "abcDefGhi".toKebabLowerCase + // abc-def-ghi + ``` + ```scala + "abc".toKebabLowerCase + // abc + ``` + ```scala + "ABC".toKebabLowerCase + // abc + ``` + ```scala + "Abc_Def_Ghi".toKebabLowerCase + // abc-def-ghi + ``` + ```scala + "abc_def_ghi".toKebabLowerCase + // abc-def-ghi + ``` + ```scala + "ABC_DEF_GHI".toKebabLowerCase + // abc-def-ghi + ``` + ```scala + "abc-def-ghi".toKebabLowerCase + // abc-def-ghi + ``` + ```scala + "Abc-Def-Ghi".toKebabLowerCase + // abc-def-ghi + ``` + ```scala + "ABC-DEF-GHI".toKebabLowerCase + // abc-def-ghi + ``` + ```scala + "abc def ghi".toKebabLowerCase + // abc-def-ghi + ``` + ```scala + "Abc Def Ghi".toKebabLowerCase + // abc-def-ghi + ``` + ```scala + "ABC DEF GHI".toKebabLowerCase + // abc-def-ghi + ``` +* [`extras-string`] Add case conversion - `Seq[String].mkPascalCaseString` (#447) + ```scala + import extras.strings.syntax.cases._ + // or + import extras.strings.syntax.all._ + ``` + ```scala + List("Abc", "Def").mkPascalCaseString + // AbcDef + ``` + ```scala + List("AbcDef", "Ghi", "jkl", "MnoPqr").mkPascalCaseString + // AbcDefGhiJklMnoPqr + ``` + ```scala + List("abcDef", "Ghi", "jkl", "MnoPqr").mkPascalCaseString + // AbcDefGhiJklMnoPqr + ``` + ```scala + List("abc").mkPascalCaseString + // Abc + ``` + ```scala + List("ABC").mkPascalCaseString + // Abc + ``` + ```scala + List("Abc_Def_Ghi", "jkl_mno_Pqr").mkPascalCaseString + // AbcDefGhiJklMnoPqr + ``` + ```scala + List("abc_def_ghi", "jkl_mno_pqr", "st_u").mkPascalCaseString + // AbcDefGhiJklMnoPqrStU + ``` + ```scala + List("ABC_DEF_GHI", "JKL_MNO_PQR", "ST_U").mkPascalCaseString + // AbcDefGhiJklMnoPqrStU + ``` + ```scala + List("Abc-Def-Ghi", "jkl-mno-Pqr").mkPascalCaseString + // AbcDefGhiJklMnoPqr + ``` + ```scala + List("abc-def-ghi", "jkl-mno-pqr", "st-u").mkPascalCaseString + // AbcDefGhiJklMnoPqrStU + ``` + ```scala + List("ABC-DEF-GHI", "JKL-MNO-PQR", "ST-U").mkPascalCaseString + // AbcDefGhiJklMnoPqrStU + ``` + ```scala + List("Abc Def Ghi", "jkl mno Pqr").mkPascalCaseString + // AbcDefGhiJklMnoPqr + ``` + ```scala + List("abc def ghi", "jkl mno pqr", "st u").mkPascalCaseString + // AbcDefGhiJklMnoPqrStU + ``` + ```scala + List("ABC DEF GHI", "JKL MNO PQR", "ST U").mkPascalCaseString + // AbcDefGhiJklMnoPqrStU + ``` +* [`extras-string`] Add case conversion - `Seq[String].mkCamelCaseString` (#448) + ```scala + import extras.strings.syntax.cases._ + // or + import extras.strings.syntax.all._ + ``` + ```scala + List("Abc", "Def").mkCamelCaseString + // abcDef + ``` + ```scala + List("AbcDef", "Ghi", "jkl", "MnoPqr").mkCamelCaseString + // abcDefGhiJklMnoPqr + ``` + ```scala + List("abcDef", "Ghi", "jkl", "MnoPqr").mkCamelCaseString + // abcDefGhiJklMnoPqr + ``` + ```scala + List("abc").mkCamelCaseString + // abc + ``` + ```scala + List("ABC").mkCamelCaseString + // abc + ``` + ```scala + List("Abc_Def_Ghi", "jkl_mno_Pqr").mkCamelCaseString + // abcDefGhiJklMnoPqr + ``` + ```scala + List("abc_def_ghi", "jkl_mno_pqr", "st_u").mkCamelCaseString + // abcDefGhiJklMnoPqrStU + ``` + ```scala + List("ABC_DEF_GHI", "JKL_MNO_PQR", "ST_U").mkCamelCaseString + // abcDefGhiJklMnoPqrStU + ``` + ```scala + List("Abc-Def-Ghi", "jkl-mno-Pqr").mkCamelCaseString + // abcDefGhiJklMnoPqr + ``` + ```scala + List("abc-def-ghi", "jkl-mno-pqr", "st-u").mkCamelCaseString + // abcDefGhiJklMnoPqrStU + ``` + ```scala + List("ABC-DEF-GHI", "JKL-MNO-PQR", "ST-U").mkCamelCaseString + // abcDefGhiJklMnoPqrStU + ``` + ```scala + List("Abc Def Ghi", "jkl mno Pqr").mkCamelCaseString + // abcDefGhiJklMnoPqr + ``` + ```scala + List("abc def ghi", "jkl mno pqr", "st u").mkCamelCaseString + // abcDefGhiJklMnoPqrStU + ``` + ```scala + List("ABC DEF GHI", "JKL MNO PQR", "ST U").mkCamelCaseString + // abcDefGhiJklMnoPqrStU + ``` +* [`extras-string`] Add case conversion - `Seq[String].mkSnakeCaseString` (#449) + ```scala + import extras.strings.syntax.cases._ + // or + import extras.strings.syntax.all._ + ``` + ```scala + List("Abc", "Def").mkSnakeCaseString + // Abc_Def + ``` + ```scala + List("AbcDef", "Ghi", "jkl", "MnoPqr").mkSnakeCaseString + // Abc_Def_Ghi_jkl_Mno_Pqr + ``` + ```scala + List("abcDef", "Ghi", "jkl", "MnoPqr").mkSnakeCaseString + // abc_Def_Ghi_jkl_Mno_Pqr + ``` + ```scala + List("abc").mkSnakeCaseString + // Abc + ``` + ```scala + List("ABC").mkSnakeCaseString + // Abc + ``` + ```scala + List("Abc_Def_Ghi", "jkl_mno_Pqr").mkSnakeCaseString + // Abc_Def_Ghi_jkl_mno_Pqr + ``` + ```scala + List("abc_def_ghi", "jkl_mno_pqr", "st_u").mkSnakeCaseString + // abc_def_ghi_jkl_mno_pqr_st_u + ``` + ```scala + List("ABC_DEF_GHI", "JKL_MNO_PQR", "ST_U").mkSnakeCaseString + // ABC_DEF_GHI_JKL_MNO_PQR_ST_U + ``` + ```scala + List("Abc-Def-Ghi", "jkl-mno-Pqr").mkSnakeCaseString + // Abc_Def_Ghi_jkl_mno_Pqr + ``` + ```scala + List("abc-def-ghi", "jkl-mno-pqr", "st-u").mkSnakeCaseString + // abc_def_ghi_jkl_mno_pqr_st_u + ``` + ```scala + List("ABC-DEF-GHI", "JKL-MNO-PQR", "ST-U").mkSnakeCaseString + // ABC_DEF_GHI_JKL_MNO_PQR_ST_U + ``` + ```scala + List("Abc Def Ghi", "jkl mno Pqr").mkSnakeCaseString + // Abc_Def_Ghi_jkl_mno_Pqr + ``` + ```scala + List("abc def ghi", "jkl mno pqr", "st u").mkSnakeCaseString + // abc_def_ghi_jkl_mno_pqr_st_u + ``` + ```scala + List("ABC DEF GHI", "JKL MNO PQR", "ST U").mkSnakeCaseString + // ABC_DEF_GHI_JKL_MNO_PQR_ST_U + ``` +* [`extras-string`] Add case conversion - `Seq[String].mkSnakeUpperCaseString` (#478) + ```scala + import extras.strings.syntax.cases._ + // or + import extras.strings.syntax.all._ + ``` + ```scala + List("Abc", "Def").mkSnakeUpperCaseString + // ABC_DEF + ``` + ```scala + List("AbcDef", "Ghi", "jkl", "MnoPqr").mkSnakeUpperCaseString + // ABC_DEF_GHI_JKL_MNO_PQR + ``` + ```scala + List("abcDef", "Ghi", "jkl", "MnoPqr").mkSnakeUpperCaseString + // ABC_DEF_GHI_JKL_MNO_PQR + ``` + ```scala + List("abc").mkSnakeUpperCaseString + // ABC + ``` + ```scala + List("ABC").mkSnakeUpperCaseString + // ABC + ``` + ```scala + List("Abc_Def_Ghi", "jkl_mno_Pqr").mkSnakeUpperCaseString + // ABC_DEF_GHI_JKL_MNO_PQR + ``` + ```scala + List("abc_def_ghi", "jkl_mno_pqr", "st_u").mkSnakeUpperCaseString + // ABC_DEF_GHI_JKL_MNO_PQR_ST_U + ``` + ```scala + List("ABC_DEF_GHI", "JKL_MNO_PQR", "ST_U").mkSnakeUpperCaseString + // ABC_DEF_GHI_JKL_MNO_PQR_ST_U + ``` + ```scala + List("Abc-Def-Ghi", "jkl-mno-Pqr").mkSnakeUpperCaseString + // ABC_DEF_GHI_JKL_MNO_PQR + ``` + ```scala + List("abc-def-ghi", "jkl-mno-pqr", "st-u").mkSnakeUpperCaseString + // ABC_DEF_GHI_JKL_MNO_PQR_ST_U + ``` + ```scala + List("ABC-DEF-GHI", "JKL-MNO-PQR", "ST-U").mkSnakeUpperCaseString + // ABC_DEF_GHI_JKL_MNO_PQR_ST_U + ``` + ```scala + List("Abc Def Ghi", "jkl mno Pqr").mkSnakeUpperCaseString + // ABC_DEF_GHI_JKL_MNO_PQR + ``` + ```scala + List("abc def ghi", "jkl mno pqr", "st u").mkSnakeUpperCaseString + // ABC_DEF_GHI_JKL_MNO_PQR_ST_U + ``` + ```scala + List("ABC DEF GHI", "JKL MNO PQR", "ST U").mkSnakeUpperCaseString + // ABC_DEF_GHI_JKL_MNO_PQR_ST_U + ``` +* [`extras-string`] Add case conversion - `Seq[String].mkSnakeLowerCaseString` (#479) + ```scala + import extras.strings.syntax.cases._ + // or + import extras.strings.syntax.all._ + ``` + ```scala + List("Abc", "Def").mkSnakeLowerCaseString + // abc_def + ``` + ```scala + List("AbcDef", "Ghi", "jkl", "MnoPqr").mkSnakeLowerCaseString + // abc_def_ghi_jkl_mno_pqr + ``` + ```scala + List("abcDef", "Ghi", "jkl", "MnoPqr").mkSnakeLowerCaseString + // abc_def_ghi_jkl_mno_pqr + ``` + ```scala + List("abc").mkSnakeLowerCaseString + // abc + ``` + ```scala + List("ABC").mkSnakeLowerCaseString + // abc + ``` + ```scala + List("Abc_Def_Ghi", "jkl_mno_Pqr").mkSnakeLowerCaseString + // abc_def_ghi_jkl_mno_pqr + ``` + ```scala + List("abc_def_ghi", "jkl_mno_pqr", "st_u").mkSnakeLowerCaseString + // abc_def_ghi_jkl_mno_pqr_st_u + ``` + ```scala + List("ABC_DEF_GHI", "JKL_MNO_PQR", "ST_U").mkSnakeLowerCaseString + // abc_def_ghi_jkl_mno_pqr_st_u + ``` + ```scala + List("Abc-Def-Ghi", "jkl-mno-Pqr").mkSnakeLowerCaseString + // abc_def_ghi_jkl_mno_pqr + ``` + ```scala + List("abc-def-ghi", "jkl-mno-pqr", "st-u").mkSnakeLowerCaseString + // abc_def_ghi_jkl_mno_pqr_st_u + ``` + ```scala + List("ABC-DEF-GHI", "JKL-MNO-PQR", "ST-U").mkSnakeLowerCaseString + // abc_def_ghi_jkl_mno_pqr_st_u + ``` + ```scala + List("Abc Def Ghi", "jkl mno Pqr").mkSnakeLowerCaseString + // abc_def_ghi_jkl_mno_pqr + ``` + ```scala + List("abc def ghi", "jkl mno pqr", "st u").mkSnakeLowerCaseString + // abc_def_ghi_jkl_mno_pqr_st_u + ``` + ```scala + List("ABC DEF GHI", "JKL MNO PQR", "ST U").mkSnakeLowerCaseString + // abc_def_ghi_jkl_mno_pqr_st_u + ``` +* [`extras-string`] Add case conversion - `Seq[String].mkKebabCaseString` (#450) + ```scala + import extras.strings.syntax.cases._ + // or + import extras.strings.syntax.all._ + ``` + ```scala + List("Abc", "Def").mkKebabCaseString + // Abc-Def + ``` + ```scala + List("AbcDef", "Ghi", "jkl", "MnoPqr").mkKebabCaseString + // Abc-Def-Ghi-jkl-Mno-Pqr + ``` + ```scala + List("abcDef", "Ghi", "jkl", "MnoPqr").mkKebabCaseString + // abc-Def-Ghi-jkl-Mno-Pqr + ``` + ```scala + List("abc").mkKebabCaseString + // Abc + ``` + ```scala + List("ABC").mkKebabCaseString + // Abc + ``` + ```scala + List("Abc_Def_Ghi", "jkl_mno_Pqr").mkKebabCaseString + // Abc-Def-Ghi-jkl-mno-Pqr + ``` + ```scala + List("abc_def_ghi", "jkl_mno_pqr", "st_u").mkKebabCaseString + // abc-def-ghi-jkl-mno-pqr-st-u + ``` + ```scala + List("ABC_DEF_GHI", "JKL_MNO_PQR", "ST_U").mkKebabCaseString + // ABC-DEF-GHI-JKL-MNO-PQR-ST-U + ``` + ```scala + List("Abc-Def-Ghi", "jkl-mno-Pqr").mkKebabCaseString + // Abc-Def-Ghi-jkl-mno-Pqr + ``` + ```scala + List("abc-def-ghi", "jkl-mno-pqr", "st-u").mkKebabCaseString + // abc-def-ghi-jkl-mno-pqr-st-u + ``` + ```scala + List("ABC-DEF-GHI", "JKL-MNO-PQR", "ST-U").mkKebabCaseString + // ABC-DEF-GHI-JKL-MNO-PQR-ST-U + ``` + ```scala + List("Abc Def Ghi", "jkl mno Pqr").mkKebabCaseString + // Abc-Def-Ghi-jkl-mno-Pqr + ``` + ```scala + List("abc def ghi", "jkl mno pqr", "st u").mkKebabCaseString + // abc-def-ghi-jkl-mno-pqr-st-u + ``` + ```scala + List("ABC DEF GHI", "JKL MNO PQR", "ST U").mkKebabCaseString + // ABC-DEF-GHI-JKL-MNO-PQR-ST-U + ``` +* [`extras-string`] Add case conversion - `Seq[String].mkKebabUpperCaseString` (#480) + ```scala + import extras.strings.syntax.cases._ + // or + import extras.strings.syntax.all._ + ``` + ```scala + List("Abc", "Def").mkKebabUpperCaseString + // ABC-DEF + ``` + ```scala + List("AbcDef", "Ghi", "jkl", "MnoPqr").mkKebabUpperCaseString + // ABC-DEF-GHI-JKL-MNO-PQR + ``` + ```scala + List("abcDef", "Ghi", "jkl", "MnoPqr").mkKebabUpperCaseString + // ABC-DEF-GHI-JKL-MNO-PQR + ``` + ```scala + List("abc").mkKebabUpperCaseString + // ABC + ``` + ```scala + List("ABC").mkKebabUpperCaseString + // ABC + ``` + ```scala + List("Abc_Def_Ghi", "jkl_mno_Pqr").mkKebabUpperCaseString + // ABC-DEF-GHI-JKL-MNO-PQR + ``` + ```scala + List("abc_def_ghi", "jkl_mno_pqr", "st_u").mkKebabUpperCaseString + // ABC-DEF-GHI-JKL-MNO-PQR-ST-U + ``` + ```scala + List("ABC_DEF_GHI", "JKL_MNO_PQR", "ST_U").mkKebabUpperCaseString + // ABC-DEF-GHI-JKL-MNO-PQR-ST-U + ``` + ```scala + List("Abc-Def-Ghi", "jkl-mno-Pqr").mkKebabUpperCaseString + // ABC-DEF-GHI-JKL-MNO-PQR + ``` + ```scala + List("abc-def-ghi", "jkl-mno-pqr", "st-u").mkKebabUpperCaseString + // ABC-DEF-GHI-JKL-MNO-PQR-ST-U + ``` + ```scala + List("ABC-DEF-GHI", "JKL-MNO-PQR", "ST-U").mkKebabUpperCaseString + // ABC-DEF-GHI-JKL-MNO-PQR-ST-U + ``` + ```scala + List("Abc Def Ghi", "jkl mno Pqr").mkKebabUpperCaseString + // ABC-DEF-GHI-JKL-MNO-PQR + ``` + ```scala + List("abc def ghi", "jkl mno pqr", "st u").mkKebabUpperCaseString + // ABC-DEF-GHI-JKL-MNO-PQR-ST-U + ``` + ```scala + List("ABC DEF GHI", "JKL MNO PQR", "ST U").mkKebabUpperCaseString + // ABC-DEF-GHI-JKL-MNO-PQR-ST-U + ``` +* [`extras-string`] Add case conversion - `Seq[String].mkKebabLowerCaseString` (#481) + ```scala + import extras.strings.syntax.cases._ + // or + import extras.strings.syntax.all._ + ``` + ```scala + List("Abc", "Def").mkKebabLowerCaseString + // abc-def + ``` + ```scala + List("AbcDef", "Ghi", "jkl", "MnoPqr").mkKebabLowerCaseString + // abc-def-ghi-jkl-mno-pqr + ``` + ```scala + List("abcDef", "Ghi", "jkl", "MnoPqr").mkKebabLowerCaseString + // abc-def-ghi-jkl-mno-pqr + ``` + ```scala + List("abc").mkKebabLowerCaseString + // abc + ``` + ```scala + List("ABC").mkKebabLowerCaseString + // abc + ``` + ```scala + List("Abc_Def_Ghi", "jkl_mno_Pqr").mkKebabLowerCaseString + // abc-def-ghi-jkl-mno-pqr + ``` + ```scala + List("abc_def_ghi", "jkl_mno_pqr", "st_u").mkKebabLowerCaseString + // abc-def-ghi-jkl-mno-pqr-st-u + ``` + ```scala + List("ABC_DEF_GHI", "JKL_MNO_PQR", "ST_U").mkKebabLowerCaseString + // abc-def-ghi-jkl-mno-pqr-st-u + ``` + ```scala + List("Abc-Def-Ghi", "jkl-mno-Pqr").mkKebabLowerCaseString + // abc-def-ghi-jkl-mno-pqr + ``` + ```scala + List("abc-def-ghi", "jkl-mno-pqr", "st-u").mkKebabLowerCaseString + // abc-def-ghi-jkl-mno-pqr-st-u + ``` + ```scala + List("ABC-DEF-GHI", "JKL-MNO-PQR", "ST-U").mkKebabLowerCaseString + // abc-def-ghi-jkl-mno-pqr-st-u + ``` + ```scala + List("Abc Def Ghi", "jkl mno Pqr").mkKebabLowerCaseString + // abc-def-ghi-jkl-mno-pqr + ``` + ```scala + List("abc def ghi", "jkl mno pqr", "st u").mkKebabLowerCaseString + // abc-def-ghi-jkl-mno-pqr-st-u + ``` + ```scala + List("ABC DEF GHI", "JKL MNO PQR", "ST U").mkKebabLowerCaseString + // abc-def-ghi-jkl-mno-pqr-st-u + ``` +* [`extras-string`] Add `String.splitByCase` (#451) + ```scala + import extras.strings.syntax.cases._ + // or + import extras.strings.syntax.all._ + ``` + ```scala + "AbcDefGhijklMnop".splitByCase + ``` + results in + ```scala + Vector("Abc", "Def", "Ghijkl", "Mnop") + ``` + ```scala + "abcDefGhijklMnop".splitByCase + ``` + results in + ```scala + Vector("abc", "Def", "Ghijkl", "Mnop") + ```