Surreal

class Surreal(host: String, port: Int = 8000)

SurrealDB driver

The entry point for connection to SurrealDB.

Parameters

host

SurrealDB host (e.g. localhost)

port

SurrealDB port

Constructors

Link copied to clipboard
constructor(host: String, port: Int = 8000)

Functions

Link copied to clipboard
suspend fun Surreal.authenticate(token: String)

Authenticate

Link copied to clipboard
suspend fun connect()

Connects to SurrealDB and removes the existing connection if one exists.

Link copied to clipboard
Link copied to clipboard
suspend fun Surreal.delete(table: String)
suspend fun Surreal.delete(id: Thing<*>)
suspend fun Surreal.delete(table: String, id: String)

Delete

Link copied to clipboard
inline suspend fun <T> Surreal.info(): T

Info

Link copied to clipboard
@JvmName(name = "JsonInfo")
suspend fun Surreal.infoAsJson(): JsonElement

Info

Link copied to clipboard
Link copied to clipboard
suspend fun Surreal.invalidate()

Invalidate

Link copied to clipboard
suspend fun Surreal.kill(liveQueryId: String)

Kill

Link copied to clipboard
inline suspend fun <T> Surreal.let(name: String, value: T)
@JvmName(name = "letJson")
suspend fun Surreal.let(name: String, value: JsonElement)

Let

Link copied to clipboard
suspend fun Surreal.live(table: String): String

Live

Link copied to clipboard
inline suspend fun <T> Surreal.observeLiveQuery(table: String): LiveQueryFlow<T>

Observe live query

Link copied to clipboard
@JvmName(name = "observeJson")
suspend fun Surreal.observeLiveQueryAsJson(table: String): LiveQueryFlow<JsonElement>

Observe live query as json

Link copied to clipboard
suspend fun Surreal.query(queryText: String, vararg bindings: Bind): List<QueryResponse>
suspend fun Surreal.query(queryText: String, bindings: List<Bind>): List<QueryResponse>

Query

Link copied to clipboard
inline suspend fun <T> Surreal.select(table: String): List<T>
inline suspend fun <T> Surreal.select(id: Thing<T>): T
inline suspend fun <T> Surreal.select(table: String, id: String): T

Select

Link copied to clipboard
suspend fun Surreal.selectAsJson(table: String): JsonArray
suspend fun Surreal.selectAsJson(id: Thing<*>): JsonObject
suspend fun Surreal.selectAsJson(table: String, id: String): JsonObject

Select

Link copied to clipboard
suspend fun Surreal.signin(user: String, pass: String)
suspend fun Surreal.signin(ns: String, db: String, scope: String, vararg params: Bind): String
suspend fun Surreal.signin(ns: String, db: String, scope: String, params: List<Bind>): String

Signin

Link copied to clipboard
suspend fun Surreal.signup(ns: String, db: String, scope: String, vararg params: Bind): String
suspend fun Surreal.signup(ns: String, db: String, scope: String, params: List<Bind>): String

Signup

Link copied to clipboard
inline fun <T> subscribe(liveQueryId: String): Flow<LiveQueryAction<T>>
Link copied to clipboard
fun subscribeAsJson(liveQueryId: String): Flow<LiveQueryAction<JsonElement>>
Link copied to clipboard
suspend fun Surreal.unset(name: String)

Unset

Link copied to clipboard
fun unsubscribe(liveQueryId: String)
Link copied to clipboard
Link copied to clipboard
suspend fun Surreal.use(ns: String, db: String)

Use