Safe Haskell | None |
---|---|
Language | Haskell2010 |
A real-world file storage.
Typical usage:
import RON.Storage.FS 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.FS | |
ReplicaClock Storage Source # | |
MonadStorage Storage Source # | |
Defined in RON.Storage.FS 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.FS throwError :: Error -> Storage a # catchError :: Storage a -> (Error -> Storage a) -> Storage a # |
subscribeForever :: Handle -> (CollectionDocId -> IO ()) -> IO () Source #