bolty-0.1.0.0: src/Database/Bolty/Record.hs
-- | Query result records.
module Database.Bolty.Record
( Record
, lookupField
) where
import Data.Kind (Type)
import qualified Data.Text as T
import qualified Data.Vector as V
import Database.Bolty.Value.Type (Bolt)
-- | A single result row: a vector of 'Bolt' values, one per column.
type Record :: Type
type Record = V.Vector Bolt
-- | Look up a field value by column name, given the column name vector
-- from the query's SuccessRun response.
lookupField :: V.Vector T.Text -> T.Text -> Record -> Maybe Bolt
lookupField columns name record =
V.elemIndex name columns >>= (record V.!?)