packages feed

ron-storage-0.6: ron-storage.cabal

cabal-version:  2.2

name:           ron-storage
version:        0.6

bug-reports:    https://github.com/ff-notes/ron/issues
category:       Distributed Systems, Protocol, Database
copyright:      2018-2019 Yuriy Syrovetskiy
homepage:       https://github.com/ff-notes/ron
license:        BSD-3-Clause
license-file:   LICENSE
maintainer:     Yuriy Syrovetskiy <haskell@cblp.su>
synopsis:       RON Storage

description:
    Replicated Object Notation (RON), data types (RDT), and RON-Schema
    .
    Typical usage:
    .
    > import RON.Data
    > import RON.Schema.TH
    > import RON.Storage.IO as Storage
    >
    > [mkReplicated|
    >     (struct_lww Note
    >         active Boole
    >         text RgaString)
    > |]
    >
    > instance Collection Note where
    >     collectionName = "note"
    >
    > main :: IO ()
    > main = do
    >     let dataDir = "./data/"
    >     h <- Storage.newHandle dataDir
    >     runStorage h $ do
    >         obj <- newObject
    >             Note{active = True, text = "Write a task manager"}
    >         createDocument obj

build-type:     Simple

common language
    build-depends: base >= 4.10 && < 4.13, integer-gmp
    default-extensions: MonadFailDesugaring StrictData
    default-language: Haskell2010
    hs-source-dirs: prelude
    other-modules: Prelude

library
    import: language
    build-depends:
        -- global
        bytestring,
        containers,
        directory,
        filepath,
        mtl,
        network-info,
        stm,
        text,
        transformers,
        -- project
        ron,
        ron-rdt
    exposed-modules:
        RON.Storage
        RON.Storage.IO
        RON.Storage.Test
    hs-source-dirs: lib