module Data.Text.Format.Params
(
Params(..)
) where
import Data.Text.Buildable
import Data.Text.Format.Types
import Data.Text.Lazy.Builder
class Params ps where
buildParams :: ps -> [Builder]
instance Params () where
buildParams _ = []
instance (Buildable a) => Params (Only a) where
buildParams (Only a) = [build a]
instance (Buildable a) => Params [a] where
buildParams = map build
instance (Buildable a, Buildable b) => Params (a,b) where
buildParams (a,b) = [build a, build b]
instance (Buildable a, Buildable b, Buildable c) => Params (a,b,c) where
buildParams (a,b,c) = [build a, build b, build c]
instance (Buildable a, Buildable b, Buildable c, Buildable d)
=> Params (a,b,c,d) where
buildParams (a,b,c,d) =
[build a, build b, build c, build d]
instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e)
=> Params (a,b,c,d,e) where
buildParams (a,b,c,d,e) =
[build a, build b, build c, build d, build e]
instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e,
Buildable f)
=> Params (a,b,c,d,e,f) where
buildParams (a,b,c,d,e,f) =
[build a, build b, build c, build d, build e,
build f]
instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e,
Buildable f, Buildable g)
=> Params (a,b,c,d,e,f,g) where
buildParams (a,b,c,d,e,f,g) =
[build a, build b, build c, build d, build e,
build f, build g]
instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e,
Buildable f, Buildable g, Buildable h)
=> Params (a,b,c,d,e,f,g,h) where
buildParams (a,b,c,d,e,f,g,h) =
[build a, build b, build c, build d, build e,
build f, build g, build h]
instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e,
Buildable f, Buildable g, Buildable h, Buildable i)
=> Params (a,b,c,d,e,f,g,h,i) where
buildParams (a,b,c,d,e,f,g,h,i) =
[build a, build b, build c, build d, build e,
build f, build g, build h, build i]
instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e,
Buildable f, Buildable g, Buildable h, Buildable i, Buildable j)
=> Params (a,b,c,d,e,f,g,h,i,j) where
buildParams (a,b,c,d,e,f,g,h,i,j) =
[build a, build b, build c, build d, build e,
build f, build g, build h, build i, build j]
instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e,
Buildable f, Buildable g, Buildable h, Buildable i, Buildable j,
Buildable k)
=> Params (a,b,c,d,e,f,g,h,i,j,k) where
buildParams (a,b,c,d,e,f,g,h,i,j,k) =
[build a, build b, build c, build d, build e,
build f, build g, build h, build i, build j,
build k]
instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e,
Buildable f, Buildable g, Buildable h, Buildable i, Buildable j,
Buildable k, Buildable l)
=> Params (a,b,c,d,e,f,g,h,i,j,k,l) where
buildParams (a,b,c,d,e,f,g,h,i,j,k,l) =
[build a, build b, build c, build d, build e,
build f, build g, build h, build i, build j,
build k, build l]
instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e,
Buildable f, Buildable g, Buildable h, Buildable i, Buildable j,
Buildable k, Buildable l, Buildable m)
=> Params (a,b,c,d,e,f,g,h,i,j,k,l,m) where
buildParams (a,b,c,d,e,f,g,h,i,j,k,l,m) =
[build a, build b, build c, build d, build e,
build f, build g, build h, build i, build j,
build k, build l, build m]
instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e,
Buildable f, Buildable g, Buildable h, Buildable i, Buildable j,
Buildable k, Buildable l, Buildable m, Buildable n)
=> Params (a,b,c,d,e,f,g,h,i,j,k,l,m,n) where
buildParams (a,b,c,d,e,f,g,h,i,j,k,l,m,n) =
[build a, build b, build c, build d, build e,
build f, build g, build h, build i, build j,
build k, build l, build m, build n]
instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e,
Buildable f, Buildable g, Buildable h, Buildable i, Buildable j,
Buildable k, Buildable l, Buildable m, Buildable n, Buildable o)
=> Params (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) where
buildParams (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) =
[build a, build b, build c, build d, build e,
build f, build g, build h, build i, build j,
build k, build l, build m, build n, build o]
instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e,
Buildable f, Buildable g, Buildable h, Buildable i, Buildable j,
Buildable k, Buildable l, Buildable m, Buildable n, Buildable o,
Buildable p)
=> Params (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) where
buildParams (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) =
[build a, build b, build c, build d, build e,
build f, build g, build h, build i, build j,
build k, build l, build m, build n, build o,
build p]
instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e,
Buildable f, Buildable g, Buildable h, Buildable i, Buildable j,
Buildable k, Buildable l, Buildable m, Buildable n, Buildable o,
Buildable p, Buildable r)
=> Params (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r) where
buildParams (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r) =
[build a, build b, build c, build d, build e,
build f, build g, build h, build i, build j,
build k, build l, build m, build n, build o,
build p, build r]
instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e,
Buildable f, Buildable g, Buildable h, Buildable i, Buildable j,
Buildable k, Buildable l, Buildable m, Buildable n, Buildable o,
Buildable p, Buildable r, Buildable s)
=> Params (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r,s) where
buildParams (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r,s) =
[build a, build b, build c, build d, build e,
build f, build g, build h, build i, build j,
build k, build l, build m, build n, build o,
build p, build r, build s]
instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e,
Buildable f, Buildable g, Buildable h, Buildable i, Buildable j,
Buildable k, Buildable l, Buildable m, Buildable n, Buildable o,
Buildable p, Buildable r, Buildable s, Buildable t)
=> Params (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r,s,t) where
buildParams (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r,s,t) =
[build a, build b, build c, build d, build e,
build f, build g, build h, build i, build j,
build k, build l, build m, build n, build o,
build p, build r, build s, build t]
instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e,
Buildable f, Buildable g, Buildable h, Buildable i, Buildable j,
Buildable k, Buildable l, Buildable m, Buildable n, Buildable o,
Buildable p, Buildable r, Buildable s, Buildable t, Buildable u)
=> Params (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r,s,t,u) where
buildParams (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r,s,t,u) =
[build a, build b, build c, build d, build e,
build f, build g, build h, build i, build j,
build k, build l, build m, build n, build o,
build p, build r, build s, build t, build u]