Description
Flexible string substitution.
Description
Please see README.md
README.md
fillit
Flexible String Substitution library
Features
- Support two kinds of substitutions: required and optional.
- You can change the symbols for substitutions.
Note: This library does not support any sanitization.
Usage
Example:
ghci> :set -XOverloadedStrings
ghci> import Data.Text.Fillit
ghci> import qualified Data.HashMap.Lazy as HM
ghci> let dic = HM.fromList [("name", "Tom"), ("age", "22")]
ghci> fill "$name$ (%age%)" dic
Right "Tom (22)"
ghci> fill "$name$ (%school%)" dic
Right "Tom (%school%)"
ghci> fill "$name$ ($school$)" dic
Left "There is no key in dict, such as school"
By default, the symbol $
means a required substitution. On the other hand, the symbol %
means a optional substitution. These symbols can be changed. See fill'
.
Development
$ git clone [email protected]:ishiy1993/fillit.git
$ cd fillit
$ stack build
$ stack test