Safe Haskell | None |
---|---|
Language | Haskell2010 |
A real-world file storage.
Typical usage:
import RON.Storage.IO as Storage main = do let dataDir = "./data/" h <- Storage.newHandle
dataDirrunStorage
h $ do obj <-newObject
Note{active = True, text = "Write an example"}createDocument
obj
Synopsis
- module RON.Storage
- data Handle
- newHandle :: FilePath -> IO Handle
- data Storage a
- runStorage :: Handle -> Storage a -> IO a
- subscribeForever :: Handle -> (CollectionDocId -> IO ()) -> IO ()
Documentation
module RON.Storage
Handle
Storage
Environment is the dataDir
Instances
Monad Storage Source # | |
Functor Storage Source # | |
Applicative Storage Source # | |
MonadIO Storage Source # | |
Defined in RON.Storage.IO | |
ReplicaClock Storage Source # | |
MonadStorage Storage Source # | |
Defined in RON.Storage.IO getCollections :: Storage [CollectionName] Source # getDocuments :: Collection a => Storage [DocId a] Source # getDocumentVersions :: Collection a => DocId a -> Storage [DocVersion] Source # saveVersionContent :: Collection a => DocId a -> DocVersion -> ByteStringL -> Storage () Source # loadVersionContent :: Collection a => DocId a -> DocVersion -> Storage ByteStringL Source # deleteVersion :: Collection a => DocId a -> DocVersion -> Storage () Source # changeDocId :: Collection a => DocId a -> DocId a -> Storage () Source # | |
MonadError Error Storage Source # | |
Defined in RON.Storage.IO throwError :: Error -> Storage a # catchError :: Storage a -> (Error -> Storage a) -> Storage a # |
subscribeForever :: Handle -> (CollectionDocId -> IO ()) -> IO () Source #