data Script
= ScriptFile
{ scriptId :: Text,
ScriptBody
do
let id = Text.pack (takeBaseName out)
url <- Route.url out
(url, integrity) <- (,) <$> Route.url out <*> ?getDigest out
return $
ScriptFile
{ scriptId = "script-" <> id,
scriptUrl = url,
scriptIntegrity = integrity
}
toJSON ScriptFile {..} =
object
[ "id" .= scriptId,
"url" .= scriptUrl,
"integrity" .= scriptIntegrity
]
toJSON (ScriptBody scriptBody) =
object
[ "body" .= scriptBody
]