{-# LANGUAGE NoImplicitPrelude #-} module Avers ( -- * The Avers Monad Avers , evalAvers -- * Types , Path(..) , Pk(..) , ObjId(..) , rootObjId , RevId(..) , zeroRevId , ObjectId(..) , Operation(..) -- * Object , Object(..) , exists , createObject , createObject' , lookupObject , deleteObject , pruneObject , objectsOfType , allObjectsOfType , createCheckpoint , vacuumObject -- * Patch , Patch(..) , PatchError(..) , lookupPatch -- * Snapshot , Snapshot(..) , lookupLatestSnapshot , objectContent -- * Release , Release(..) , lookupRelease , createRelease , lookupLatestRelease -- * Patching , resolvePathIn -- * Session , SessionId(..) , Session(..) , saveSession , lookupSession , dropSession , ObjectType(..) , SomeObjectType(..) , lookupObjectType , AversError(..) , Config(..) , Handle , newHandle , newState , strErr , parseValueAs , bootstrap -- * Blob , BlobId(..) , Blob(..) , createBlob , lookupBlob -- * Secret , SecretId(..) , Secret(..) , updateSecret , verifySecret , applyObjectUpdates , runQuery , runQueryCollect , parseValue , parseDatum , newId , objectsTable , blobsTable , validateObject -- * Views , View(..) , SomeView(..) , viewTable , updateView -- * Index , Index(..) , SomeIndex(..) -- * Metrics , Measurement(..) , measurementLabels -- * Change , Change(..) , changeChannel ) where import Avers.Handle import Avers.Index import Avers.Metrics.Measurements import Avers.Patching import Avers.Storage import Avers.Storage.Backend import Avers.Storage.Expressions import Avers.Types import Avers.Views