@@ -13,77 +13,39 @@ private val spaceOrDashRegex = Regex("\\s|-")
1313/* *
1414 * Base interface for string transformers.
1515 */
16- interface StringTransformer {
16+ fun interface StringTransformer {
1717 fun transform (input : String ): String
1818}
1919
20- /* *
21- * Implements a single standardized sdkId transform.
22- */
23- interface SdkIdTransformer : StringTransformer
24-
25- /* *
26- * Implements a single standardized SigV4 service signing name transform.
27- */
28- interface SigV4NameTransformer : StringTransformer
29-
3020/* *
3121 * Implements all standardized sdkId transforms.
3222 */
33- object SdkIdTransform {
34- /* *
35- * Replace all whitespace from the sdkId with underscores and lowercase all letters.
36- */
37- object LowerSnakeCase : SdkIdTransformer {
38- override fun transform (input : String ): String = input.replaceWhitespace(" _" ).lowercase()
39- }
23+ object SdkIdTransformers {
24+ // Replace all whitespace from the sdkId with underscores and lowercase all letters.
25+ val LowerSnakeCase = StringTransformer { it.replaceWhitespace(" _" ).lowercase() }
4026
41- /* *
42- * None. Directly use the sdkId.
43- */
44- object Identity : SdkIdTransformer {
45- override fun transform (input : String ): String = input
46- }
27+ // None. Directly use the sdkId.
28+ val Identity = StringTransformer { it }
4729
48- /* *
49- * Remove all whitespace from the sdkId.
50- */
51- object NoWhitespace : SdkIdTransformer {
52- override fun transform (input : String ): String = input.replaceWhitespace(" " )
53- }
30+ // Remove all whitespace from the sdkId.
31+ val NoWhitespace = StringTransformer { it.replaceWhitespace(" " ) }
5432
55- /* *
56- * Replace all whitespace from the sdkId with dashes and lowercase all letters.
57- */
58- object LowerKebabCase : SdkIdTransformer {
59- override fun transform (input : String ): String = input.replaceWhitespace(" -" ).lowercase()
60- }
33+ // Replace all whitespace from the sdkId with dashes and lowercase all letters.
34+ val LowerKebabCase = StringTransformer { it.replaceWhitespace(" -" ).lowercase() }
6135
62- /* *
63- * Replace all whitespace from the sdkId with underscores and capitalize all letters.
64- */
65- object UpperSnakeCase : SdkIdTransformer {
66- override fun transform (input : String ): String = input.replaceWhitespace(" _" ).uppercase()
67- }
36+ // Replace all whitespace from the sdkId with underscores and capitalize all letters.
37+ val UpperSnakeCase = StringTransformer { it.replaceWhitespace(" _" ).uppercase() }
6838}
6939
7040/* *
7141 * Implements all standardized SigV4 service signing name transforms.
7242 */
73- object SigV4NameTransform {
74- /* *
75- * Replace all dashes from the SigV4 service signing name with underscores and capitalize all letters.
76- */
77- object UpperSnakeCase : SigV4NameTransformer {
78- override fun transform (input : String ): String = input.lowercase().replaceSpaceOrDash(" _" ).uppercase()
79- }
43+ object SigV4NameTransformers {
44+ // Replace all dashes from the SigV4 service signing name with underscores and capitalize all letters.
45+ val UpperSnakeCase = StringTransformer { it.replaceSpaceOrDash(" _" ).uppercase() }
8046
81- /* *
82- * Remove dashes and convert SigV4 service signing name to PascalCase
83- */
84- object PascalCase : SigV4NameTransformer {
85- override fun transform (input : String ): String = input.toPascalCase()
86- }
47+ // Remove dashes and convert SigV4 service signing name to PascalCase
48+ val PascalCase = StringTransformer { it.toPascalCase() }
8749}
8850
8951/* *
0 commit comments