
main.app.cash.sqldelight.driver.sqljs.InitDb.kt Maven / Gradle / Ivy
package app.cash.sqldelight.driver.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