module FF.CSS.Spec.Common where
open import Agda.Builtin.String using (String)
open import Agda.Primitive using (lzero) renaming (Set to Type)
open import FF.CSS.Core using (Spec; Declaration; Map)
open import FF.CSS.Render using (Renderer; renderVia)
import FF.CSS.Spec.Loose as Loose
open import FF.CSS.Spec.Safe.Property public using (PropertyName; propertyString)
spec : Spec lzero lzero
spec =
record
{ Property = PropertyName
; Value = \ _ -> String
}
DeclarationT : Type lzero
DeclarationT = Declaration spec
renderer : Renderer spec
renderer =
record
{ renderProperty = propertyString
; renderValue = \ _ value -> value
}
toLoose : Map spec Loose.spec
toLoose =
record
{ mapProperty = propertyString
; mapValue = \ _ value -> value
}
renderedByLooseRenderer : DeclarationT -> String
renderedByLooseRenderer = renderVia toLoose Loose.renderer