úÎqŸn˜"      ! © 2016 Justin LeitgebMIT)Justin Leitgeb <justin@stackbuilders.com> experimentalportableNone %&,059:;D :The exceptions that is thrown when parsing of input fails. since 0.3.0.0"Non public stuff.{An existential wrapper that allows to keep words and acronyms in single list for example. The only thing that receiver of  can do is to apply  ) on it, of course. This is faciliated by  . since 0.3.0.0A type-level tag for words. since 0.3.0.0 A #= value that should be kept whole through applied inflections. Create a word from given #_. The input should consist of only alpha-numeric characters (no white spaces or punctuation)  will be thrown. since 0.3.0.0 Create an acronym from given #=. The input should consist of only alpha-numeric characters t will be thrown. Acronym is different from normal word by that it may not be transformed by inflections (also see  ). since 0.3.0.0 Get a # value from  . since 0.3.0.0 Extract # from E and apply given function only if the word inside wasn't an acronym. since 0.3.0.0"$ % &'()*+, "$ % &'()*+,© 2016 Justin LeitgebMIT)Justin Leitgeb <justin@stackbuilders.com> experimentalportableNone$Separate given words by underscores.!foo <- SomeWord <$> mkWord "foo"$bar <- SomeWord <$> mkAcronym "bar""bazz <- SomeWord <$> mkWord "bazz"underscore [foo,bar,bazz]"foo_bar_bazz"(Input words to separate with underscoresThe underscored String© 2016 Justin LeitgebMIT)Justin Leitgeb <justin@stackbuilders.com> experimentalportableNone+Capitalize all the Words in the input list.!foo <- SomeWord <$> mkWord "foo"$bar <- SomeWord <$> mkAcronym "bar""bazz <- SomeWord <$> mkWord "bazz"titleize [foo,bar,bazz]"Foo bar Bazz"1List of words, first of which will be capitalizedThe titleized #© 2016 Justin LeitgebMIT)Justin Leitgeb <justin@stackbuilders.com> experimentalportableNone,Parse a snake_case string.bar <- mkAcronym "bar"#parseSnakeCase [bar] "foo_bar_bazz",Right [Word "foo",Acronym "bar",Word "bazz"]parseSnakeCase [] "fooBarBazz"1:4:unexpected 'B'0expecting '_', end of input, or lowercase letterCollection of acronymsInputResult of parsing-.-.© 2016 Justin LeitgebMIT)Justin Leitgeb <justin@stackbuilders.com> experimentalportableNone,Parse a CamelCase string.bar <- mkAcronym "bar"!parseCamelCase [bar] "FooBarBazz",Right [Word "Foo",Acronym "Bar",Word "Bazz"] parseCamelCase [] "foo_bar_bazz"1:4:unexpected '_'=expecting end of input, lowercase letter, or uppercase letterCollection of acronymsInputResult of parsing/Collection of acronymsCamelCase parser01/01© 2016 Justin LeitgebMIT)Justin Leitgeb <justin@stackbuilders.com> experimentalportableSafeuTurns a number into an ordinal string used to denote the position in an ordered sequence such as 1st, 2nd, 3rd, 4th. ordinalize 1"1st" ordinalize 2"2nd" ordinalize 10"10th"~Returns the suffix that should be added to a number to denote the position in an ordered sequence such as 1st, 2nd, 3rd, 4th. ordinal 1"st" ordinal 2"nd" ordinal 10"th"© 2016 Justin LeitgebMIT)Justin Leitgeb <justin@stackbuilders.com> experimentalportableNone@Capitalize the first word and separate words with spaces. Like  ,, this is meant for creating pretty output.!foo <- SomeWord <$> mkWord "foo"$bar <- SomeWord <$> mkAcronym "bar""bazz <- SomeWord <$> mkWord "bazz"humanize [foo,bar,bazz]"Foo bar bazz"1List of words, first of which will be capitalizedThe humanized output © 2016 Justin LeitgebMIT)Justin Leitgeb <justin@stackbuilders.com> experimentalportableSafeA 2w containing mappings from international characters to sequences approximating these characters within the ASCII range.MThese default transliterations are stolen from the Ruby i18n library - see  Xhttps://github.com/svenfuchs/i18n/blob/master/lib/i18n/backend/transliterator.rb#L41:L69.-NOTE: before version 0.3.0.0 this was called  defaultMap. © 2016 Justin LeitgebMIT)Justin Leitgeb <justin@stackbuilders.com> experimentalportableSafeLReplace special characters in a string so that it may be used as part of a pretty URL. Uses the .Transliterate #% with a custom transliteration table. © 2016 Justin LeitgebMIT)Justin Leitgeb <justin@stackbuilders.com> experimentalportableSafe Returns a #¼ after default approximations for changing Unicode characters to a valid ASCII range are applied. If you want to supplement the default approximations with your own, you should use the  function instead of . Returns a #b after default approximations for changing Unicode characters to a valid ASCII range are applied.The default replacementThe table of transliterations The input The output © 2016 Justin LeitgebMIT)Justin Leitgeb <justin@stackbuilders.com> experimentalportableNone:Produce a string with words separated by dashes (hyphens).!foo <- SomeWord <$> mkWord "foo"$bar <- SomeWord <$> mkAcronym "bar""bazz <- SomeWord <$> mkWord "bazz"dasherize [foo,bar,bazz]"foo-bar-bazz"#Input words to separate with dashesThe dasherized #© 2016 Justin LeitgebMIT)Justin Leitgeb <justin@stackbuilders.com> experimentalportableNone*Turn an input word list in into CamelCase.!foo <- SomeWord <$> mkWord "foo"$bar <- SomeWord <$> mkAcronym "bar""bazz <- SomeWord <$> mkWord "bazz"camelize [foo,bar,bazz] "FoobarBazz"0Turn an input word list into a CamelCase String.!foo <- SomeWord <$> mkWord "foo"$bar <- SomeWord <$> mkAcronym "bar""bazz <- SomeWord <$> mkWord "bazz"#camelizeCustom False [foo,bar,bazz] "foobarBazz" Input wordsThe camelized #>Whether to capitalize the first character in the output StringThe input WordsThe camelized #?Rails-like inflections library for common Text transformations.(c) Justin LeitgebMITjustin@stackbuilders.comunstableportableNoneCTransforms CamelCasedString to snake_cased_string_with_underscores. 2toUnderscore = fmap underscore . parseCamelCase []toUnderscore "FooBarBazz""foo_bar_bazz">Transforms CamelCasedString to snake-cased-string-with-dashes. -toDashed = fmap dasherize . parseCamelCase []toDashed "FooBarBazz""foo-bar-bazz" ETransforms underscored_text to CamelCasedText. If first argument is 3A then FirstCharacter in result string will be in upper case. If 4+ then firstCharacter will be in lower case. <toCamelCased t = fmap (camelizeCustom t) . parseSnakeCase [] toCamelCased True "foo_bar_bazz" "FooBarBazz"!toCamelCased False "foo_bar_bazz" "fooBarBazz"!Lift something of type 5 (6 7 8) a to an instance of 9U. Useful when you want to shortcut on parsing failures and you're in an instance of 9. This throws  if given value is inside :. since 0.3.0.0 Capitalize the first characterInputOuput!"  !"    ! !;  ! " # $ % & ' ()*+,-./0123456789:;<;=>?@ABCDBCEFGHIJKBCLIJMNOPFGQR*inflections-0.3.0.0-IG32s2CgJqA6S9G0p4E52RText.InflectionsText.Inflections.TypesText.Inflections.UnderscoreText.Inflections.Titleize Text.Inflections.Parse.SnakeCase Text.Inflections.Parse.CamelCaseText.Inflections.OrdinalText.Inflections.HumanizetitleizeText.Inflections.DataText.Inflections.ParameterizeText.Inflections.TransliterateText.Inflections.DasherizeText.Inflections.CamelizeInflectionExceptionInflectionParsingFailedInflectionInvalidWordInflectionInvalidAcronymSomeWordWordTypeNormalAcronymWordmkWord mkAcronymunWord unSomeWord underscoreparseSnakeCaseparseCamelCase ordinalizeordinalhumanizeTransliterationsdefaultTransliterations parameterizeparameterizeCustom transliteratetransliterateCustom dasherizecamelizecamelizeCustom toUnderscoretoDashed toCamelCased betterThrow Transformable#text-1.2.2.1-9Yh8rJoh8fO2JMLWffT3QsData.Text.InternalText transform$fExceptionInflectionException$fTransformableWord$fTransformableWord0 $fEqSomeWord$fShowSomeWord $fShowWord $fShowWord0parserpWordacronymword3unordered-containers-0.2.7.2-5FvILdEAx092lIiPKjCuguData.HashMap.BaseHashMapghc-prim GHC.TypesTrueFalsebase Data.EitherEither'megaparsec-5.1.2-DxTIYqzJXknBdgwA3K2srkText.Megaparsec.Error ParseErrorCharDec'exceptions-0.8.3-5OTPYzRazb4DJ75sPncYEhControl.Monad.Catch MonadThrowLeft