All Downloads are FREE. Search and download functionalities are using the official Maven repository.

main.com.squareup.sqldelight.drivers.sqljs.sqljs.kt Maven / Gradle / Ivy

There is a newer version: 1.5.5
Show newest version
package com.squareup.sqldelight.drivers.sqljs

import org.khronos.webgl.Uint8Array
import kotlin.js.Promise

operator fun InitStatementJsStatic.invoke(): Statement = createInstance(this)
operator fun InitDatabaseJsStatic.invoke(): Database = createInstance(this)
operator fun InitDatabaseJsStatic.invoke(data: Array): Database = createInstance(this, data)
operator fun InitDatabaseJsStatic.invoke(data: Uint8Array): Database = createInstance(this, data)
operator fun InitSqlJsStatic.invoke(): Promise = asDynamic()()
operator fun InitSqlJsStatic.invoke(config: Config?): Promise = asDynamic()(config)

@JsNonModule @JsModule("sql.js")
external val initSqlJs: InitSqlJsStatic

@Suppress("UNUSED_VARIABLE", "UNUSED_PARAMETER")
fun createInstance(type: dynamic, vararg args: dynamic): dynamic {
  val argsArray = (listOf(null) + args).toTypedArray()
  return js("new (Function.prototype.bind.apply(type, argsArray))")
}

fun initDb(config: Config? = js("{}")): Promise = initSqlJs(config).then { it.Database() }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy