owoify-hs 1.0.0.1 → 1.1.0.0
raw patch · 5 files changed
+133/−18 lines, 5 filesdep ~regexdep ~regex-with-pcredep ~textPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: regex, regex-with-pcre, text
API changes (from Hackage documentation)
+ Data.Owoify.Internal.Data.Mappings: mapAviatToAwiat :: InnerWord -> IO InnerWord
+ Data.Owoify.Internal.Data.Mappings: mapDedicatToDeditat :: InnerWord -> IO InnerWord
+ Data.Owoify.Internal.Data.Mappings: mapFeelToFell :: InnerWord -> IO InnerWord
+ Data.Owoify.Internal.Data.Mappings: mapFrightenedToFrigten :: InnerWord -> IO InnerWord
+ Data.Owoify.Internal.Data.Mappings: mapGreatToGwate :: InnerWord -> IO InnerWord
+ Data.Owoify.Internal.Data.Mappings: mapMemToMwem :: InnerWord -> IO InnerWord
+ Data.Owoify.Internal.Data.Mappings: mapMemeToMem :: InnerWord -> IO InnerWord
+ Data.Owoify.Internal.Data.Mappings: mapRememberToRember :: InnerWord -> IO InnerWord
+ Data.Owoify.Internal.Data.Mappings: mapWhenToWen :: InnerWord -> IO InnerWord
+ Data.Owoify.Internal.Data.Mappings: unmapNywoToNyo :: InnerWord -> IO InnerWord
+ Data.Owoify.Owoify: uvuify :: Text -> IO Text
+ Data.Owoify.Owoify: uwuify :: Text -> IO Text
Files
- README.md +2/−2
- owoify-hs.cabal +9/−9
- src/Data/Owoify/Internal/Data/Mappings.hs +90/−5
- src/Data/Owoify/Internal/Data/Presets.hs +12/−2
- src/Data/Owoify/Owoify.hs +20/−0
README.md view
@@ -31,7 +31,7 @@ ```yaml dependencies:-- owoify-hs == 1.0.0.1+- owoify-hs == 1.1.0.0 ``` If you are using Cabal, add the package the usual way.@@ -93,7 +93,7 @@ MIT License -Copyright (c) 2021 Chehui Chou+Copyright (c) 2023 Chehui Chou Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal
owoify-hs.cabal view
@@ -1,9 +1,9 @@ cabal-version: 1.12 name: owoify-hs-version: 1.0.0.1+version: 1.1.0.0 license: MIT license-file: LICENSE-copyright: 2021 Chehui Chou+copyright: 2023 Chehui Chou maintainer: tetsuki.syu1315@gmail.com author: Chehui Chou homepage: https://github.com/deadshot465/owoify-hs#readme@@ -37,9 +37,9 @@ build-depends: base >=4.7 && <5, random >=1.2.0 && <1.3,- regex ==1.1.0.0,- regex-with-pcre ==1.1.0.0,- text >=1.2.4 && <1.3+ regex ==1.1.0.2,+ regex-with-pcre ==1.1.0.2,+ text >=2.0.2 && <2.1 test-suite owoify-hs-test type: exitcode-stdio-1.0@@ -51,8 +51,8 @@ build-depends: HUnit >=1.6.2.0 && <1.7, base >=4.7 && <5,- owoify-hs -any,+ owoify-hs, random >=1.2.0 && <1.3,- regex ==1.1.0.0,- regex-with-pcre ==1.1.0.0,- text >=1.2.4 && <1.3+ regex ==1.1.0.2,+ regex-with-pcre ==1.1.0.2,+ text >=2.0.2 && <2.1
src/Data/Owoify/Internal/Data/Mappings.hs view
@@ -14,6 +14,8 @@ , mapMeToMwe , mapMomToMwom , mapNrToNw+ , mapMemToMwem+ , unmapNywoToNyo , mapNVowelTToNd , mapNVowelToNy , mapOldToOwld@@ -39,6 +41,14 @@ , mapVowelOrRExceptOLToWl , mapWorseToWose , mapYouToU+ , mapGreatToGwate+ , mapAviatToAwiat+ , mapDedicatToDeditat+ , mapRememberToRember+ , mapWhenToWen+ , mapFrightenedToFrigten+ , mapMemeToMem+ , mapFeelToFell ) where @@ -186,17 +196,29 @@ nrToNwUpper = compileDefaultOptionRegex "NR" nrToNwLower :: IO RE-nrToNwLower = compileDefaultOptionRegex "nr"+nrToNwLower = compileDefaultOptionRegex "([Nn])r" +memToMwemUpper :: IO RE+memToMwemUpper = compileDefaultOptionRegex "Mem"++memToMwemLower :: IO RE+memToMwemLower = compileDefaultOptionRegex "mem"++nywoToNyo :: IO RE+nywoToNyo = compileDefaultOptionRegex "([Nn])ywo"+ funcToFwuc :: IO RE funcToFwuc = compileDefaultOptionRegex "([Ff])uc" momToMwom :: IO RE momToMwom = compileDefaultOptionRegex "([Mm])om" -meToMwe :: IO RE-meToMwe = compileDefaultOptionRegex "([Mm])e"+meToMweUpper :: IO RE+meToMweUpper = compileDefaultOptionRegex "^Me$" +meToMweLower :: IO RE+meToMweLower = compileDefaultOptionRegex "^me$"+ nVowelToNyFirst :: IO RE nVowelToNyFirst = compileDefaultOptionRegex "n([aeiou])" @@ -233,6 +255,33 @@ worseToWose :: IO RE worseToWose = compileDefaultOptionRegex "([Ww])orse" +greatToGwate :: IO RE+greatToGwate = compileDefaultOptionRegex "([Gg])reat"++aviatToAwiat :: IO RE+aviatToAwiat = compileDefaultOptionRegex "([Aa])viat"++dedicatToDeditat :: IO RE+dedicatToDeditat = compileDefaultOptionRegex "([Dd])edicat"++rememberToRember :: IO RE+rememberToRember = compileDefaultOptionRegex "([Rr])emember"++whenToWen :: IO RE+whenToWen = compileDefaultOptionRegex "([Ww])hen"++frightenedToFrigten :: IO RE+frightenedToFrigten = compileDefaultOptionRegex "([Ff])righten(ed)*"++memeToMemFirst :: IO RE+memeToMemFirst = compileDefaultOptionRegex "Meme"++memeToMemSecond :: IO RE+memeToMemSecond = compileDefaultOptionRegex "Mem"++feelToFell :: IO RE+feelToFell = compileDefaultOptionRegex "^([Ff])eel$"+ faces :: [Text] faces = pack <$> [ "(・`ω´・)"@@ -397,9 +446,17 @@ mapNrToNw :: InnerWord -> IO InnerWord mapNrToNw word = do- w <- nrToNwLower >>= \re -> pure $ innerReplace word re (pack "nw") False+ w <- nrToNwLower >>= \re -> pure $ innerReplace word re (pack "$1w") False nrToNwUpper >>= \re -> pure $ innerReplace w re (pack "NW") False +mapMemToMwem :: InnerWord -> IO InnerWord+mapMemToMwem word = do+ w <- memToMwemUpper >>= \re -> pure $ innerReplace word re (pack "mwem") False+ memToMwemLower >>= \re -> pure $ innerReplace w re (pack "Mwem") False++unmapNywoToNyo :: InnerWord -> IO InnerWord+unmapNywoToNyo word = nywoToNyo >>= \re -> pure $ innerReplace word re (pack "$1yo") False+ mapFucToFwuc :: InnerWord -> IO InnerWord mapFucToFwuc word = funcToFwuc >>= \re -> pure $ innerReplace word re (pack "$1wuc") False @@ -407,7 +464,9 @@ mapMomToMwom word = momToMwom >>= \re -> pure $ innerReplace word re (pack "$1wom") False mapMeToMwe :: InnerWord -> IO InnerWord-mapMeToMwe word = meToMwe >>= \re -> pure $ innerReplace word re (pack "$1we") False+mapMeToMwe word = do+ w <- meToMweUpper >>= \re -> pure $ innerReplace word re (pack "Mwe") False+ meToMweLower >>= \re -> pure $ innerReplace word re (pack "mwe") False mapNVowelToNy :: InnerWord -> IO InnerWord mapNVowelToNy word = do@@ -439,3 +498,29 @@ mapWorseToWose :: InnerWord -> IO InnerWord mapWorseToWose word = worseToWose >>= \re -> pure $ innerReplace word re (pack "$1ose") False++mapGreatToGwate :: InnerWord -> IO InnerWord+mapGreatToGwate word = greatToGwate >>= \re -> pure $ innerReplace word re (pack "$1wate") False++mapAviatToAwiat :: InnerWord -> IO InnerWord+mapAviatToAwiat word = aviatToAwiat >>= \re -> pure $ innerReplace word re (pack "$1wiat") False++mapDedicatToDeditat :: InnerWord -> IO InnerWord+mapDedicatToDeditat word = dedicatToDeditat >>= \re -> pure $ innerReplace word re (pack "$1editat") False++mapRememberToRember :: InnerWord -> IO InnerWord+mapRememberToRember word = rememberToRember >>= \re -> pure $ innerReplace word re (pack "$1ember") False++mapWhenToWen :: InnerWord -> IO InnerWord+mapWhenToWen word = whenToWen >>= \re -> pure $ innerReplace word re (pack "$1en") False++mapFrightenedToFrigten :: InnerWord -> IO InnerWord+mapFrightenedToFrigten word = frightenedToFrigten >>= \re -> pure $ innerReplace word re (pack "$1rigten") False++mapMemeToMem :: InnerWord -> IO InnerWord+mapMemeToMem word = do+ w <- memeToMemFirst >>= \re -> pure $ innerReplace word re (pack "mem") False+ memeToMemSecond >>= \re -> pure $ innerReplace w re (pack "Mem") False++mapFeelToFell :: InnerWord -> IO InnerWord+mapFeelToFell word = feelToFell >>= \re -> pure $ innerReplace word re (pack "$1ell") False
src/Data/Owoify/Internal/Data/Presets.hs view
@@ -9,7 +9,6 @@ , Mappings.mapMomToMwom , Mappings.mapTimeToTim , Mappings.mapMeToMwe- , Mappings.mapNVowelToNy , Mappings.mapOverToOwor , Mappings.mapOveToUv , Mappings.mapHahaToHeheXd@@ -17,6 +16,14 @@ , Mappings.mapYouToU , Mappings.mapReadToWead , Mappings.mapWorseToWose+ , Mappings.mapGreatToGwate+ , Mappings.mapAviatToAwiat+ , Mappings.mapDedicatToDeditat+ , Mappings.mapRememberToRember+ , Mappings.mapWhenToWen+ , Mappings.mapFrightenedToFrigten+ , Mappings.mapMemeToMem+ , Mappings.mapFeelToFell ] uvuMappingList :: [InnerWord -> IO InnerWord]@@ -42,7 +49,8 @@ owoMappingList :: [InnerWord -> IO InnerWord] owoMappingList =- [ Mappings.mapLlToWw+ [ Mappings.mapNVowelToNy+ , Mappings.mapLlToWw , Mappings.mapVowelOrRExceptOLToWl , Mappings.mapOldToOwld , Mappings.mapOlToOwl@@ -57,4 +65,6 @@ , Mappings.mapLyToWy , Mappings.mapPleToPwe , Mappings.mapNrToNw+ , Mappings.mapMemToMwem+ , Mappings.unmapNywoToNyo ]
src/Data/Owoify/Owoify.hs view
@@ -1,5 +1,7 @@ module Data.Owoify.Owoify ( owoify+ , uwuify+ , uvuify , OwoifyLevel(..) ) where@@ -51,3 +53,21 @@ wordsList <- sequence transformedWords <&> fmap toText let interleaved = reverse $ interleave wordsList s pure $ intercalate (pack "") interleaved++-- | Owoify source text using Uwu owoness level and turn text into nonsensical babyspeaks.+--+-- Examples:+--+-- >>> uwuify (Data.Text.Lazy.pack "Hello World!")+-- NOW "Hewwo WowwdUvU"+uwuify :: Text -> IO Text+uwuify source = owoify source Uwu++-- | Owoify source text using Uwu owoness level and turn text into nonsensical babyspeaks.+--+-- Examples:+--+-- >>> uvuify (Data.Text.Lazy.pack "Hello World!")+-- "Hewwowo Wowwd>w<"+uvuify :: Text -> IO Text+uvuify source = owoify source Uvu