Module
Yoga.Format
- Package
- purescript-yoga-format
- Repository
- rowtype-yoga/purescript-yoga-format
#format Source
format :: forall @tmpl segments input. IsSymbol tmpl => ParseTemplate tmpl segments => RenderInput segments input => input -> String#fmt Source
fmt :: forall @tmpl segments input. IsSymbol tmpl => ParseTemplate tmpl segments => RenderInput segments input => input -> StringRe-exports from Yoga.Format.Interpolate
#Interpolate Source
Re-exports from Yoga.Format.Parse
#ParseTemplate Source
class ParseTemplate :: Symbol -> SList -> Constraintclass ParseTemplate sym segments | sym -> segments
Parse a template string into a list of segments
Instances
ParseTemplate "" SNil(Cons h t sym, ParseNormal h t "" segments) => ParseTemplate sym segments
Re-exports from Yoga.Format.Render
#RenderInput Source
class RenderInput :: SList -> Type -> Constraintclass RenderInput segments input where
Typeclass dispatching between record and bare value input
Members
renderInput :: Proxy segments -> input -> Array String
Instances
(RenderSegments segments row) => RenderInput segments (Record row)(Interpolate a, RenderSingle segments) => RenderInput segments a
#RenderSegments Source
class RenderSegments :: SList -> Row Type -> Constraintclass RenderSegments segments row where
Render a parsed template's segments against a record
Members
renderSegments :: Proxy segments -> Record row -> Array String
Instances
RenderSegments SNil row(IsSymbol s, RenderSegments rest row) => RenderSegments (SCons (Lit s) rest) row(IsSymbol path, ResolveAndInterpolate path row, RenderSegments rest row) => RenderSegments (SCons (Var path) rest) row
#RenderSingle Source
class RenderSingle :: SList -> Constraintclass RenderSingle segments
Render a single-var template with a bare value
Instances
RenderSingle SNil(IsSymbol s, RenderSingle rest) => RenderSingle (SCons (Lit s) rest)(RenderLitOnly rest) => RenderSingle (SCons (Var v) rest)