blob: 550438b5163ecf713c97e851f7b659b4cf1667ce (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
module Asset (
Asset(..),
AssetPath(..),
) where
import Data.Text (Text)
import Data.Text qualified as T
import Script.Expr.Class
data Asset = Asset
{ assetPath :: AssetPath
}
newtype AssetPath = AssetPath FilePath
textAssetPath :: AssetPath -> Text
textAssetPath (AssetPath path) = T.pack path
instance ExprType Asset where
textExprType _ = "asset"
textExprValue asset = "asset:" <> textAssetPath (assetPath asset)
recordMembers =
[ ( "path", RecordSelector $ assetPath )
]
instance ExprType AssetPath where
textExprType _ = "filepath"
textExprValue = ("filepath:" <>) . textAssetPath
|