based

Types

pub type Adapter(a, c) =
  fn(Query(a), c) -> Result(Returned(a), Nil)
pub type DB(a, c) {
  DB(conn: c, execute: Adapter(a, c))
}

Constructors

  • DB(conn: c, execute: Adapter(a, c))
pub type Query(a) {
  Query(
    sql: String,
    args: List(Value),
    decoder: Option(dynamic.Decoder(a)),
  )
}

Constructors

  • Query(
      sql: String,
      args: List(Value),
      decoder: Option(dynamic.Decoder(a)),
    )
pub type Returned(a) {
  Returned(count: Int, rows: List(a))
}

Constructors

  • Returned(count: Int, rows: List(a))
pub type Value {
  String(String)
  Int(Int)
  Float(Float)
  Bool(Bool)
  Null
}

Constructors

  • String(String)
  • Int(Int)
  • Float(Float)
  • Bool(Bool)
  • Null
pub type WithConnection(a, b, c) =
  fn(b, fn(DB(a, c)) -> a) -> a

Functions

pub fn all(
  query: Query(a),
  db: DB(a, b),
) -> Result(Returned(a), Nil)
pub fn bool(value: Bool) -> Value
pub fn exec(
  query: Query(a),
  db: DB(a, b),
) -> Result(Returned(a), Nil)
pub fn float(value: Float) -> Value
pub fn int(value: Int) -> Value
pub fn null() -> Value
pub fn one(query: Query(a), db: DB(a, b)) -> Result(a, Nil)
pub fn string(value: String) -> Value
Search Document