summaryrefslogtreecommitdiff
path: root/src/Erebos/Storage.hs
blob: 4344b752b6bfa370fea78ddd8b0cd358b0f721fe (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
{-|
Description: Working with storage and heads

Provides functions for opening 'Storage' backed either by disk or memory. For
conveniance also function for working with 'Head's are reexported here.
-}

module Erebos.Storage (
    Storage, PartialStorage,
    openStorage, memoryStorage,
    deriveEphemeralStorage, derivePartialStorage,

    Head, HeadType,
    HeadID, HeadTypeID,
    headId, headStorage, headRef, headObject, headStoredObject,
    loadHeads, loadHead, reloadHead,
    storeHead, replaceHead, updateHead, updateHead_,

    WatchedHead,
    watchHead, watchHeadWith, unwatchHead,
    watchHeadRaw,

    MonadStorage(..),
) where

import Erebos.Object.Internal
import Erebos.Storage.Head