úÎ!‹.ˆ†$      !"# © 2016 Justin LeitgebMIT)Justin Leitgeb <justin@stackbuilders.com> experimentalportableSafe R inflectionsA $w containing mappings from international characters to sequences approximating these characters within the ASCII range. inflectionsMThese 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> experimentalportableSafe¶ inflectionsuTurns 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" inflections~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> experimentalportableSafe7 inflectionsLReplace special characters in a string so that it may be used as part of a pretty URL. Uses the . inflectionsTransliterate %% with a custom transliteration table.© 2016 Justin LeitgebMIT)Justin Leitgeb <justin@stackbuilders.com> experimentalportableSafe˜ inflections 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 . inflections Returns a %b after default approximations for changing Unicode characters to a valid ASCII range are applied. inflectionsThe default replacement inflectionsThe table of transliterations inflections The input inflections The output© 2016 Justin LeitgebMIT)Justin Leitgeb <justin@stackbuilders.com> experimentalportableNone &'.27=>?H0æ  inflections:The exceptions that is thrown when parsing of input fails. since 0.3.0.0& inflectionsNon public stuff.  inflections{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.0 inflectionsA type-level tag for words. since 0.3.0.0 inflectionsA %= value that should be kept whole through applied inflections. inflectionsCreate 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 inflectionsCreate 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 inflectionsGet a % value from . since 0.3.0.0 inflectionsExtract % 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> experimentalportableNone8 inflectionsCapitalize 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" inflectionsList of words, of which all  > words will be capitalized and all acronyms will be left as is inflectionsThe titleized %© 2016 Justin LeitgebMIT)Justin Leitgeb <justin@stackbuilders.com> experimentalportableNone.>Ê inflectionsParse 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 letter inflectionsCollection of acronyms inflectionsInput inflectionsResult of parsing © 2016 Justin LeitgebMIT)Justin Leitgeb <justin@stackbuilders.com> experimentalportableNone.FÜ inflectionsParse 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 letter inflectionsCollection of acronyms inflectionsInput inflectionsResult of parsing' inflectionsCollection of acronyms inflectionsCamelCase parser © 2016 Justin LeitgebMIT)Justin Leitgeb <justin@stackbuilders.com> experimentalportableNoneV€ inflections@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" inflectionsJSeparate words with spaces, optionally capitalizing the first word. Like  ,, this is meant for creating pretty output.!foo <- SomeWord <$> mkWord "foo"$bar <- SomeWord <$> mkAcronym "bar""bazz <- SomeWord <$> mkWord "bazz""humanizeCustom True [foo,bar,bazz]"Foo bar bazz"#humanizeCustom False [foo,bar,bazz]"foo bar bazz" since 0.3.0.0 inflections1List of words, first of which will be capitalized inflectionsThe humanized output inflections>Whether to capitalize the first character in the output String inflections1List of words, first of which will be capitalized inflectionsThe humanized output © 2016 Justin LeitgebMIT)Justin Leitgeb <justin@stackbuilders.com> experimentalportableNone\Å inflections: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" inflections#Input words to separate with dashes inflectionsThe dasherized % © 2016 Justin LeitgebMIT)Justin Leitgeb <justin@stackbuilders.com> experimentalportableNonegÝ inflections*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" inflections0Turn 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" inflections Input words inflectionsThe camelized % inflections>Whether to capitalize the first character in the output String inflectionsThe input Words inflectionsThe camelized %© 2016 Justin LeitgebMIT)Justin Leitgeb <justin@stackbuilders.com> experimentalportableNonemø inflections$Separate given words by underscores.!foo <- SomeWord <$> mkWord "foo"$bar <- SomeWord <$> mkAcronym "bar""bazz <- SomeWord <$> mkWord "bazz"underscore [foo,bar,bazz]"foo_bar_bazz" inflections(Input words to separate with underscores inflectionsThe underscored String?Rails-like inflections library for common Text transformations.(c) Justin LeitgebMITjustin@stackbuilders.comunstableportableNone‡b inflectionsCTransforms CamelCasedString to snake_cased_string_with_underscores. 2toUnderscore = fmap underscore . parseCamelCase []toUnderscore "FooBarBazz""foo_bar_bazz"  inflections>Transforms CamelCasedString to snake-cased-string-with-dashes. -toDashed = fmap dasherize . parseCamelCase []toDashed "FooBarBazz""foo-bar-bazz"! inflectionsETransforms underscored_text to CamelCasedText. If first argument is (J then the first character in the result string will be in upper case. If )0 then the first character will be in lower case. <toCamelCased c = fmap (camelizeCustom c) . parseSnakeCase [] toCamelCased True "foo_bar_bazz" "FooBarBazz"!toCamelCased False "foo_bar_bazz" "fooBarBazz"" inflectionsZTransforms underscored_text to space-separated human-readable text. If first argument is (J then the first character in the result string will be in upper case. If )1 then the first character will be in lower case. ;toHumanized c = fmap (humanizeCustom c) . parseSnakeCase []toHumanized True "foo_bar_bazz""Foo bar bazz" toHumanized False "foo_bar_bazz""foo bar bazz" since 0.3.0.0# inflectionsLift something of type * (+ , -) a to an instance of .U. Useful when you want to shortcut on parsing failures and you're in an instance of .. This throws   if given value is inside /. since 0.3.0.0! inflectionsCapitalize the first character inflectionsInput inflectionsOutput" inflectionsCapitalize the first character inflectionsInput inflectionsOutput$  !"#$   !"#0 !"# $ % & ' ( ) *+,-./01234567 89:;9:<=>?@AB9:C=DEFGH=>IJ*inflections-0.4.0.6-Fo6oyCWwILq4cLKRf8o6fzText.InflectionsText.Inflections.DataText.Inflections.OrdinalText.Inflections.ParameterizeText.Inflections.TransliterateText.Inflections.TypesText.Inflections.Titleize Text.Inflections.Parse.SnakeCase Text.Inflections.Parse.CamelCaseText.Inflections.HumanizetitleizeText.Inflections.DasherizeText.Inflections.CamelizeText.Inflections.UnderscoreTransliterationsdefaultTransliterations ordinalizeordinal parameterizeparameterizeCustom transliteratetransliterateCustomInflectionExceptionInflectionParsingFailedInflectionInvalidWordInflectionInvalidAcronymSomeWordWordTypeNormalAcronymWordmkWord mkAcronymunWord unSomeWordparseSnakeCaseparseCamelCasehumanizehumanizeCustom dasherizecamelizecamelizeCustom underscore toUnderscoretoDashed toCamelCased toHumanized betterThrow4unordered-containers-0.2.12.0-7BikmbtnebBBqNM33KNnUdData.HashMap.InternalHashMap text-1.2.3.1Data.Text.InternalText Transformableparserghc-prim GHC.TypesTrueFalsebase Data.EitherEither'megaparsec-9.0.0-CRKRRSoqPia7uOlYeDVII9Text.Megaparsec.Error ParseErrorChar Data.VoidVoid(exceptions-0.10.4-622ySnQapwMAU2KS1exqorControl.Monad.Catch MonadThrowLeft