blob: 29c1658d6120e947225314fb806d2e71e2b5cfce (
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
31
32
33
34
35
36
37
|
module MdBlocks.Resolver
( resolveBlock
)
where
import Data.Text (Text)
import MdBlocks.Address
import MdBlocks.Types
resolveBlock
:: Address
-> [Block]
-> Maybe Block
resolveBlock address =
findByFileAndId
(addressFile address)
(addressId address)
findByFileAndId
:: FilePath
-> Text
-> [Block]
-> Maybe Block
findByFileAndId fp ident =
go
where
go [] =
Nothing
go (b:bs)
| blockFile b == fp
, mdId (blockMeta b) == Just ident =
Just b
| otherwise =
go bs
|