diff options
author | Roman Smrž <roman.smrz@seznam.cz> | 2024-10-30 21:42:35 +0100 |
---|---|---|
committer | Roman Smrž <roman.smrz@seznam.cz> | 2024-11-06 21:03:16 +0100 |
commit | d144e1d0b45421d102751cdf584126810ab33ba5 (patch) | |
tree | e2e8bb8d068a89ce814d4fdc25ebbebabfdf43a5 /src/Erebos/Storable.hs | |
parent | c4ff2f54c52e9ebb1c47aeb79284faf3fcbad4e3 (diff) |
Create new Object, Storable and Storage modules
Changelog: API: Split Erebos.Storage into multiple modules
Diffstat (limited to 'src/Erebos/Storable.hs')
-rw-r--r-- | src/Erebos/Storable.hs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/Erebos/Storable.hs b/src/Erebos/Storable.hs new file mode 100644 index 0000000..15f43b3 --- /dev/null +++ b/src/Erebos/Storable.hs @@ -0,0 +1,39 @@ +{-| +Description: Encoding custom types into Erebos objects + +Module provides the 'Storable' class for types that can be serialized to/from +Erebos objects, along with various helpers, mostly for encoding using records. + +The 'Stored' wrapper for objects actually encoded and stored in some storage is +defined here as well. +-} + +module Erebos.Storable ( + Storable(..), ZeroStorable(..), + StorableText(..), StorableDate(..), StorableUUID(..), + + Store, StoreRec, + storeBlob, storeRec, storeZero, + storeEmpty, storeInt, storeNum, storeText, storeBinary, storeDate, storeUUID, storeRef, storeRawRef, + storeMbEmpty, storeMbInt, storeMbNum, storeMbText, storeMbBinary, storeMbDate, storeMbUUID, storeMbRef, storeMbRawRef, + storeZRef, + storeRecItems, + + Load, LoadRec, + loadCurrentRef, loadCurrentObject, + loadRecCurrentRef, loadRecItems, + + loadBlob, loadRec, loadZero, + loadEmpty, loadInt, loadNum, loadText, loadBinary, loadDate, loadUUID, loadRef, loadRawRef, + loadMbEmpty, loadMbInt, loadMbNum, loadMbText, loadMbBinary, loadMbDate, loadMbUUID, loadMbRef, loadMbRawRef, + loadTexts, loadBinaries, loadRefs, loadRawRefs, + loadZRef, + + Stored, + fromStored, storedRef, + wrappedStore, wrappedLoad, + copyStored, + unsafeMapStored, +) where + +import Erebos.Object.Internal |