diff --git a/src/Common.elm b/src/Common.elm index 141f10d..a085bc3 100644 --- a/src/Common.elm +++ b/src/Common.elm @@ -276,7 +276,7 @@ replaceSymbolsWith replacement input = input |> String.map (\c -> - if c /= '_' && not (Char.isAlphaNum c) then + if Char.toCode c /= {- '_' -} 95 && not (Char.isAlphaNum c) then replacement else diff --git a/src/OpenApi/Generate.elm b/src/OpenApi/Generate.elm index c3e7029..0d415a7 100644 --- a/src/OpenApi/Generate.elm +++ b/src/OpenApi/Generate.elm @@ -2734,7 +2734,7 @@ makeNamespaceValid : String -> String makeNamespaceValid str = String.map (\char -> - if List.member char invalidModuleNameChars then + if isInvalidForModuleName char then '_' else @@ -2745,18 +2745,22 @@ makeNamespaceValid str = removeInvalidChars : String -> String removeInvalidChars str = - String.filter (\char -> char /= '\'') str - - -invalidModuleNameChars : List Char -invalidModuleNameChars = - [ ' ' - , '.' - , '/' - , '{' - , '}' - , '-' - , ':' - , '(' - , ')' - ] + String.filter (\char -> Char.toCode char /= {- '\'' -} 39) str + + +isInvalidForModuleName : Char -> Bool +isInvalidForModuleName char = + let + code : Int + code = + Char.toCode char + in + (code == {- ' ' -} 32) + || (code == {- '.' -} 46) + || (code == {- '/' -} 47) + || (code == {- '{' -} 123) + || (code == {- '}' -} 125) + || (code == {- '-' -} 45) + || (code == {- ':' -} 58) + || (code == {- '(' -} 40) + || (code == {- ')' -} 41) diff --git a/src/Utils.elm b/src/Utils.elm index e81974a..0237d85 100644 --- a/src/Utils.elm +++ b/src/Utils.elm @@ -12,10 +12,16 @@ sanitizeModuleName str = String.filter (\char -> Char.isAlphaNum char - || (char == '_') - || (char == '-') - || (char == ' ') - || (char == ':') + || (let + code : Int + code = + Char.toCode char + in + (code == {- '_' -} 95) + || (code == {- '-' -} 45) + || (code == {- ' ' -} 32) + || (code == {- ':' -} 58) + ) ) str |> String.replace "_" " " diff --git a/tests/TestCommon.elm b/tests/TestCommon.elm index 0b9f710..b82e994 100644 --- a/tests/TestCommon.elm +++ b/tests/TestCommon.elm @@ -179,7 +179,7 @@ isLower c = isAlphaNumOrUnderscore : Char -> Bool isAlphaNumOrUnderscore c = - Char.isAlphaNum c || c == '_' || Unicode.isAlphaNum c + Char.isAlphaNum c || Char.toCode c == {- '_' -} 95 || Unicode.isAlphaNum c escape : String -> String