Blog about duration

This commit is contained in:
Julien Lengrand-Lambert
2021-12-15 00:09:55 +01:00
parent aa064f32b6
commit 05d6a93839
27 changed files with 4014 additions and 81 deletions

View File

@@ -0,0 +1,8 @@
<component name="ArtifactManager">
<artifact type="jar" name="sample-supabase-1.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/sample-supabase/build/libs</output-path>
<root id="archive" name="sample-supabase-1.0-SNAPSHOT.jar">
<element id="module-output" name="kotlin-samples.sample-supabase.main" />
</root>
</artifact>
</component>

2
.idea/misc.xml generated
View File

@@ -4,7 +4,7 @@
<component name="FrameworkDetectionExcludesConfiguration">
<file type="web" url="file://$PROJECT_DIR$" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8 (2)" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

2054
javascript-repos/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,5 @@
{
"dependencies": {
"firebase": "^9.5.0"
}
}

View File

@@ -17,5 +17,4 @@ dependencies {
implementation("io.ktor:ktor-client-core:$ktorVersion")
implementation("io.ktor:ktor-client-cio:$ktorVersion")
implementation("io.ktor:ktor-client-serialization:$ktorVersion")
}

View File

@@ -0,0 +1,15 @@
plugins {
kotlin("jvm") version "1.6.0"
}
group = "nl.jlengrand"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
}
dependencies {
implementation(kotlin("stdlib"))
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0-RC")
}

View File

@@ -0,0 +1,34 @@
import kotlinx.coroutines.*
fun main() = runBlocking {
doHelloWorld() // returns only when scope is completed
println("------")
val job = launch {
delay(1000L)
println("World!")
}
println("Hello")
job.join() // wait until child coroutine completes
println("Done")
println("------")
repeat(100_000) { // launch a lot of coroutines
launch {
delay(5000L)
print(".")
}
}
}
private suspend fun doHelloWorld() = coroutineScope {
launch { doWorld("World 2", 2000L )}
launch { doWorld() }
println("Hello")
}
private suspend fun doWorld(message : String = "World", duration : Long = 1000L) {
delay(duration)
println(message)
}

View File

@@ -0,0 +1,21 @@
plugins {
kotlin("jvm") version "1.6.0"
java
}
group = "nl.jlengrand"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
}
dependencies {
implementation(kotlin("stdlib"))
testImplementation("org.junit.jupiter:junit-jupiter-api:5.6.0")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine")
}
tasks.getByName<Test>("test") {
useJUnitPlatform()
}

View File

@@ -0,0 +1,72 @@
import kotlin.system.measureNanoTime
import kotlin.time.Duration
import kotlin.time.Duration.Companion.INFINITE
import kotlin.time.Duration.Companion.ZERO
import kotlin.time.Duration.Companion.convert
import kotlin.time.Duration.Companion.days
import kotlin.time.Duration.Companion.hours
import kotlin.time.Duration.Companion.microseconds
import kotlin.time.Duration.Companion.minutes
import kotlin.time.Duration.Companion.milliseconds
import kotlin.time.Duration.Companion.nanoseconds
import kotlin.time.Duration.Companion.parse
import kotlin.time.Duration.Companion.parseIsoStringOrNull
import kotlin.time.Duration.Companion.parseOrNull
import kotlin.time.DurationUnit
import kotlin.time.ExperimentalTime
import kotlin.time.measureTimedValue
//See here for the related blog post : https://lengrand.fr/measuring-time-and-durations-in-kotlin/
fun main() {
val tenDays: Duration = 10.days
val fiveNanoseconds = 5.nanoseconds
println(tenDays + fiveNanoseconds)
// days, hours, minutes, seconds, nanoseconds
// val oneWeek = 1.week -> Nope, won't work
val minusOneDay = (-1).days
println(2.hours - 3.days)
println((2.hours - 3.days).absoluteValue)
println(1.days - INFINITE)
println(ZERO)
println((12.hours + 30.minutes).inWholeDays)
println((12.hours + 30.minutes).toDouble(DurationUnit.DAYS))
println((12.days + 5.hours + 18.minutes).toIsoString())
println(INFINITE.toIsoString())
println(parseIsoStringOrNull("PT283H18M"))
println(parseOrNull("11d 19h 18m"))
// println(parse("11w"))
// All the comparable goodies
println(12.milliseconds > 120.nanoseconds)
println(12.milliseconds.coerceAtMost(1200.microseconds))
println(12.milliseconds.coerceAtLeast(1200.microseconds))
println(12.milliseconds.coerceIn(12.microseconds, 1200.microseconds))
println(12.milliseconds.coerceIn(12.microseconds.rangeTo(1200.microseconds)))
experimentalConversion()
experimentalPrintDuration()
}
@OptIn(ExperimentalTime::class)
fun experimentalConversion(){
val converted = convert(12.32, DurationUnit.DAYS, DurationUnit.MINUTES).minutes
println(converted)
}
@OptIn(ExperimentalTime::class)
fun experimentalPrintDuration(){
val timeToPlop = measureTimedValue {
println("plop")
}
println(timeToPlop.duration)
}

View File

@@ -28,6 +28,7 @@ fun main() {
// startFirebase()
window.onload = {
val firebaseConfig = object : FirebaseOptions{}
console.log(firebaseConfig)
val fire = initializeApp(firebaseConfig)
console.log(fire)
console.log(sorted(arrayOf(1, 2, 3)))

View File

@@ -1,68 +1,48 @@
@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS")
@file:JsModule("firebase")
@file:JsNonModule
@file:JsQualifier("app")
import kotlin.js.*
import org.khronos.webgl.*
import org.w3c.dom.*
import org.w3c.dom.events.*
import org.w3c.dom.parsing.*
import org.w3c.dom.svg.*
import org.w3c.dom.url.*
import org.w3c.fetch.*
import org.w3c.files.*
import org.w3c.notifications.*
import org.w3c.performance.*
import org.w3c.workers.*
import org.w3c.xhr.*
external fun deleteApp(app: FirebaseApp): Promise<Unit>
//external interface FirebaseApp {
// var name: String
// var options: FirebaseOptions
// var automaticDataCollectionEnabled: Boolean
//}
external interface FirebaseApp {
var name: String
var options: FirebaseOptions
var automaticDataCollectionEnabled: Boolean
}
external interface FirebaseAppSettings {
var name: String?
get() = definedExternally
set(value) = definedExternally
var automaticDataCollectionEnabled: Boolean?
get() = definedExternally
set(value) = definedExternally
}
external interface FirebaseOptions {
var apiKey: String?
get() = definedExternally
set(value) = definedExternally
var authDomain: String?
get() = definedExternally
set(value) = definedExternally
var databaseURL: String?
get() = definedExternally
set(value) = definedExternally
var projectId: String?
get() = definedExternally
set(value) = definedExternally
var storageBucket: String?
get() = definedExternally
set(value) = definedExternally
var messagingSenderId: String?
get() = definedExternally
set(value) = definedExternally
var appId: String?
get() = definedExternally
set(value) = definedExternally
var measurementId: String?
get() = definedExternally
set(value) = definedExternally
}
external fun getApp(name: String = definedExternally): FirebaseApp
external fun getApps(): Array<FirebaseApp>
external fun initializeApp(options: FirebaseOptions, name: String = definedExternally): FirebaseApp
external fun initializeApp(options: FirebaseOptions): FirebaseApp
external fun initializeApp(options: FirebaseOptions, config: FirebaseAppSettings = definedExternally): FirebaseApp
external fun onLog(logCallback: LogCallback?, options: LogOptions = definedExternally)
external fun registerVersion(libraryKeyOrName: String, version: String, variant: String = definedExternally)
external var SDK_VERSION: String
external fun setLogLevel(logLevel: String /* "debug" | "verbose" | "info" | "warn" | "error" | "silent" */)
//external interface FirebaseOptions {
// var apiKey: String?
// get() = definedExternally
// set(value) = definedExternally
// var authDomain: String?
// get() = definedExternally
// set(value) = definedExternally
// var databaseURL: String?
// get() = definedExternally
// set(value) = definedExternally
// var projectId: String?
// get() = definedExternally
// set(value) = definedExternally
// var storageBucket: String?
// get() = definedExternally
// set(value) = definedExternally
// var messagingSenderId: String?
// get() = definedExternally
// set(value) = definedExternally
// var appId: String?
// get() = definedExternally
// set(value) = definedExternally
// var measurementId: String?
// get() = definedExternally
// set(value) = definedExternally
//}

View File

@@ -0,0 +1,107 @@
@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS")
import kotlin.js.*
import org.khronos.webgl.*
import org.w3c.dom.*
import org.w3c.dom.events.*
import org.w3c.dom.parsing.*
import org.w3c.dom.svg.*
import org.w3c.dom.url.*
import org.w3c.fetch.*
import org.w3c.files.*
import org.w3c.notifications.*
import org.w3c.performance.*
import org.w3c.workers.*
import org.w3c.xhr.*
import tsstdlib.Map
external fun <T : Nothing?> _addComponent(app: FirebaseApp, component: Component<T>)
external fun _addOrOverwriteComponent(app: FirebaseApp, component: Component__0)
external var _apps: Map<String, FirebaseApp>
external fun _clearComponents()
//external var _components: Map<String, Component<Any>>
external var _DEFAULT_ENTRY_NAME: Any
external fun deleteApp(app: FirebaseApp): Promise<Unit>
external interface FirebaseApp {
var name: String
var options: FirebaseOptions
var automaticDataCollectionEnabled: Boolean
}
external interface _FirebaseAppInternal : FirebaseApp {
var container: ComponentContainer
var isDeleted: Boolean
fun checkDestroyed()
}
external interface FirebaseAppSettings {
var name: String?
get() = definedExternally
set(value) = definedExternally
var automaticDataCollectionEnabled: Boolean?
get() = definedExternally
set(value) = definedExternally
}
external interface FirebaseOptions {
var apiKey: String?
get() = definedExternally
set(value) = definedExternally
var authDomain: String?
get() = definedExternally
set(value) = definedExternally
var databaseURL: String?
get() = definedExternally
set(value) = definedExternally
var projectId: String?
get() = definedExternally
set(value) = definedExternally
var storageBucket: String?
get() = definedExternally
set(value) = definedExternally
var messagingSenderId: String?
get() = definedExternally
set(value) = definedExternally
var appId: String?
get() = definedExternally
set(value) = definedExternally
var measurementId: String?
get() = definedExternally
set(value) = definedExternally
}
external interface _FirebaseService {
var app: FirebaseApp
fun _delete(): Promise<Unit>
}
external fun getApp(name: String = definedExternally): FirebaseApp
external fun getApps(): Array<FirebaseApp>
external fun <T : Nothing?> _getProvider(app: FirebaseApp, name: T): Provider<T>
external fun initializeApp(options: FirebaseOptions, name: String = definedExternally): FirebaseApp
external fun initializeApp(options: FirebaseOptions): FirebaseApp
external fun initializeApp(options: FirebaseOptions, config: FirebaseAppSettings = definedExternally): FirebaseApp
external fun onLog(logCallback: LogCallback?, options: LogOptions = definedExternally)
external fun <T : Nothing?> _registerComponent(component: Component<T>): Boolean
external fun registerVersion(libraryKeyOrName: String, version: String, variant: String = definedExternally)
external fun <T : Nothing?> _removeServiceInstance(app: FirebaseApp, name: T, instanceIdentifier: String = definedExternally)
external var SDK_VERSION: String
external fun setLogLevel(logLevel: String /* "debug" | "verbose" | "info" | "warn" | "error" | "silent" */)

View File

@@ -27,3 +27,5 @@ external open class Component<T : Nothing?>(name: T, instanceFactory: InstanceFa
open fun setServiceProps(props: Dictionary): Component<T> /* this */
open fun setInstanceCreatedCallback(callback: onInstanceCreatedCallback<T>): Component<T> /* this */
}
external open class Component__0 : Component<Nothing?>

View File

@@ -1,5 +1,18 @@
@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS")
import kotlin.js.*
import org.khronos.webgl.*
import org.w3c.dom.*
import org.w3c.dom.events.*
import org.w3c.dom.parsing.*
import org.w3c.dom.svg.*
import org.w3c.dom.url.*
import org.w3c.fetch.*
import org.w3c.files.*
import org.w3c.notifications.*
import org.w3c.performance.*
import org.w3c.workers.*
import org.w3c.xhr.*
external open class ComponentContainer(name: String) {
open var name: Any

View File

@@ -0,0 +1,106 @@
@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS")
import kotlin.js.*
import org.khronos.webgl.*
import org.w3c.dom.*
import org.w3c.dom.events.*
import org.w3c.dom.parsing.*
import org.w3c.dom.svg.*
import org.w3c.dom.url.*
import org.w3c.fetch.*
import org.w3c.files.*
import org.w3c.notifications.*
import org.w3c.performance.*
import org.w3c.workers.*
import org.w3c.xhr.*
external interface `T$10` {
var sign_in_provider: String /* "custom" | "email" | "password" | "phone" | "anonymous" | "google.com" | "facebook.com" | "github.com" | "twitter.com" | "microsoft.com" | "apple.com" */
var identities: Any?
get() = definedExternally
set(value) = definedExternally
}
external interface FirebaseIdToken {
var iss: String
var aud: String
var sub: String
var iat: Number
var exp: Number
var user_id: String
var auth_time: Number
var provider_id: String? /* "anonymous" */
get() = definedExternally
set(value) = definedExternally
var email: String?
get() = definedExternally
set(value) = definedExternally
var email_verified: Boolean?
get() = definedExternally
set(value) = definedExternally
var phone_number: String?
get() = definedExternally
set(value) = definedExternally
var name: String?
get() = definedExternally
set(value) = definedExternally
var picture: String?
get() = definedExternally
set(value) = definedExternally
var firebase: `T$10`
@nativeGetter
operator fun get(claim: String): Any?
@nativeSetter
operator fun set(claim: String, value: Any)
var uid: Any?
get() = definedExternally
set(value) = definedExternally
}
external interface FirebaseIdTokenPartial {
var iss: String?
get() = definedExternally
set(value) = definedExternally
var aud: String?
get() = definedExternally
set(value) = definedExternally
var sub: String?
get() = definedExternally
set(value) = definedExternally
var iat: Number?
get() = definedExternally
set(value) = definedExternally
var exp: Number?
get() = definedExternally
set(value) = definedExternally
var user_id: String?
get() = definedExternally
set(value) = definedExternally
var auth_time: Number?
get() = definedExternally
set(value) = definedExternally
var provider_id: String? /* "anonymous" */
get() = definedExternally
set(value) = definedExternally
var email: String?
get() = definedExternally
set(value) = definedExternally
var email_verified: Boolean?
get() = definedExternally
set(value) = definedExternally
var phone_number: String?
get() = definedExternally
set(value) = definedExternally
var name: String?
get() = definedExternally
set(value) = definedExternally
var picture: String?
get() = definedExternally
set(value) = definedExternally
var firebase: `T$10`?
get() = definedExternally
set(value) = definedExternally
var uid: Any?
get() = definedExternally
set(value) = definedExternally
}

View File

@@ -0,0 +1,483 @@
@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS")
import kotlin.js.*
import org.khronos.webgl.*
import org.w3c.dom.*
import org.w3c.dom.events.*
import org.w3c.dom.parsing.*
import org.w3c.dom.svg.*
import org.w3c.dom.url.*
import org.w3c.fetch.*
import org.w3c.files.*
import org.w3c.notifications.*
import org.w3c.performance.*
import org.w3c.workers.*
import org.w3c.xhr.*
//import tsstdlib.Partial
import tsstdlib.ReadableStream
import tsstdlib.PromiseLike
external fun <T> addDoc(reference: CollectionReference<T>, data: T): Promise<DocumentReference<T>>
external fun <T> addDoc(reference: CollectionReference<T>, data: Any): Promise<DocumentReference<T>>
typealias AddPrefixToKeys<Prefix, T> = Any
external fun arrayRemove(vararg elements: Any): FieldValue
external fun arrayUnion(vararg elements: Any): FieldValue
external open class Bytes {
open fun toBase64(): String
open fun toUint8Array(): Uint8Array
override fun toString(): String
open fun isEqual(other: Bytes): Boolean
companion object {
fun fromBase64String(base64: String): Bytes
fun fromUint8Array(array: Uint8Array): Bytes
}
}
external var CACHE_SIZE_UNLIMITED: Any
typealias ChildUpdateFields<K, V> = Any
external fun clearIndexedDbPersistence(firestore: Firestore): Promise<Unit>
external fun collection(firestore: Firestore, path: String, vararg pathSegments: String): CollectionReference<DocumentData>
external fun collection(reference: CollectionReference<Any>, path: String, vararg pathSegments: String): CollectionReference<DocumentData>
external fun collection(reference: DocumentReference__0, path: String, vararg pathSegments: String): CollectionReference<DocumentData>
external fun collectionGroup(firestore: Firestore, collectionId: String): Query<DocumentData>
external open class CollectionReference<T> : Query<T> {
override fun <U> withConverter(converter: FirestoreDataConverter<U>): CollectionReference<U>
override fun withConverter(converter: Nothing?): CollectionReference<DocumentData>
}
external interface `T$0` {
var mockUserToken: dynamic /* `T$11`? | `T$12`? | String? */
get() = definedExternally
set(value) = definedExternally
}
external fun connectFirestoreEmulator(firestore: Firestore, host: String, port: Number, options: `T$0` = definedExternally)
external fun deleteDoc(reference: DocumentReference<Any>): Promise<Unit>
external fun deleteField(): FieldValue
external fun disableNetwork(firestore: Firestore): Promise<Unit>
external fun doc(firestore: Firestore, path: String, vararg pathSegments: String): DocumentReference<DocumentData>
external fun <T> doc(reference: CollectionReference<T>, path: String = definedExternally, vararg pathSegments: String): DocumentReference<T>
external fun doc(reference: DocumentReference<Any>, path: String, vararg pathSegments: String): DocumentReference<DocumentData>
external interface DocumentChange<T> {
var type: String /* "added" | "removed" | "modified" */
var doc: QueryDocumentSnapshot<T>
var oldIndex: Number
var newIndex: Number
}
external interface DocumentData {
@nativeGetter
operator fun get(field: String): Any?
@nativeSetter
operator fun set(field: String, value: Any)
}
external fun documentId(): FieldPath
external open class DocumentReference<T> {
open var converter: FirestoreDataConverter<T>?
open var type: Any //= "document"
open var firestore: Firestore
open fun <U> withConverter(converter: FirestoreDataConverter<U>): DocumentReference<U>
open fun withConverter(converter: Nothing?): DocumentReference<DocumentData>
}
external open class DocumentReference__0 : DocumentReference<DocumentData>
external open class DocumentSnapshot<T> {
open var metadata: SnapshotMetadata
open fun exists(): Boolean
open fun data(options: SnapshotOptions = definedExternally): T?
open fun get(fieldPath: String, options: SnapshotOptions = definedExternally): Any
open fun get(fieldPath: String): Any
open fun get(fieldPath: FieldPath, options: SnapshotOptions = definedExternally): Any
open fun get(fieldPath: FieldPath): Any
}
external fun enableIndexedDbPersistence(firestore: Firestore, persistenceSettings: PersistenceSettings = definedExternally): Promise<Unit>
external fun enableMultiTabIndexedDbPersistence(firestore: Firestore): Promise<Unit>
external fun enableNetwork(firestore: Firestore): Promise<Unit>
external fun endAt(snapshot: DocumentSnapshot<Any>): QueryConstraint
external fun endAt(vararg fieldValues: Any): QueryConstraint
external fun endBefore(snapshot: DocumentSnapshot<Any>): QueryConstraint
external fun endBefore(vararg fieldValues: Any): QueryConstraint
external open class FieldPath(vararg fieldNames: String) {
open fun isEqual(other: FieldPath): Boolean
}
external open class FieldValue {
open fun isEqual(other: FieldValue): Boolean
}
external open class Firestore {
open var type: String /* "firestore-lite" | "firestore" */
open fun toJSON(): Any?
}
external interface FirestoreDataConverter<T> {
fun toFirestore(modelObject: T): DocumentData
fun toFirestore(modelObject: Any): DocumentData
// fun toFirestore(modelObject: Partial, options: `T$6`): DocumentData
// fun toFirestore(modelObject: Partial, options: `T$7`): DocumentData
fun fromFirestore(snapshot: QueryDocumentSnapshot<DocumentData>, options: SnapshotOptions = definedExternally): T
}
typealias FirestoreError = Error
external interface FirestoreSettings {
var cacheSizeBytes: Number?
get() = definedExternally
set(value) = definedExternally
var experimentalForceLongPolling: Boolean?
get() = definedExternally
set(value) = definedExternally
var experimentalAutoDetectLongPolling: Boolean?
get() = definedExternally
set(value) = definedExternally
var host: String?
get() = definedExternally
set(value) = definedExternally
var ssl: Boolean?
get() = definedExternally
set(value) = definedExternally
var ignoreUndefinedProperties: Boolean?
get() = definedExternally
set(value) = definedExternally
}
external interface `T$1` {
var latitude: Number
var longitude: Number
}
external open class GeoPoint(latitude: Number, longitude: Number) {
open fun isEqual(other: GeoPoint): Boolean
open fun toJSON(): `T$1`
}
external fun <T> getDoc(reference: DocumentReference<T>): Promise<DocumentSnapshot<T>>
external fun <T> getDocFromCache(reference: DocumentReference<T>): Promise<DocumentSnapshot<T>>
external fun <T> getDocFromServer(reference: DocumentReference<T>): Promise<DocumentSnapshot<T>>
external fun <T> getDocs(query: Query<T>): Promise<QuerySnapshot<T>>
external fun <T> getDocsFromCache(query: Query<T>): Promise<QuerySnapshot<T>>
external fun <T> getDocsFromServer(query: Query<T>): Promise<QuerySnapshot<T>>
external fun getFirestore(app: FirebaseApp = definedExternally): Firestore
external fun increment(n: Number): FieldValue
external fun initializeFirestore(app: FirebaseApp, settings: FirestoreSettings): Firestore
external fun limit(limit: Number): QueryConstraint
external fun limitToLast(limit: Number): QueryConstraint
//external fun loadBundle(firestore: Firestore, bundleData: ReadableStream<Uint8Array>): LoadBundleTask
//
//external fun loadBundle(firestore: Firestore, bundleData: ArrayBuffer): LoadBundleTask
//
//external fun loadBundle(firestore: Firestore, bundleData: String): LoadBundleTask
//external open class LoadBundleTask : PromiseLike<LoadBundleTaskProgress> {
// open fun onProgress(next: (progress: LoadBundleTaskProgress) -> Any = definedExternally, error: (err: Error) -> Any = definedExternally, complete: () -> Unit = definedExternally)
// open fun catch(onRejected: (a: Error) -> Any?): Promise<dynamic /* R | LoadBundleTaskProgress */>
// open fun then(onFulfilled: (a: LoadBundleTaskProgress) -> Any? = definedExternally, onRejected: (a: Error) -> Any? = definedExternally): Promise<dynamic /* T | R */>
//}
external interface LoadBundleTaskProgress {
var documentsLoaded: Number
var totalDocuments: Number
var bytesLoaded: Number
var totalBytes: Number
var taskState: String /* "Error" | "Running" | "Success" */
}
external fun namedQuery(firestore: Firestore, name: String): Promise<Query__0?>
typealias NestedUpdateFields<T> = UnionToIntersection<Any>
external interface `T$2`<T> {
var next: ((snapshot: DocumentSnapshot<T>) -> Unit)?
get() = definedExternally
set(value) = definedExternally
var error: ((error: FirestoreError) -> Unit)?
get() = definedExternally
set(value) = definedExternally
var complete: (() -> Unit)?
get() = definedExternally
set(value) = definedExternally
}
external fun <T> onSnapshot(reference: DocumentReference<T>, observer: `T$2`<T>): Unsubscribe
external fun <T> onSnapshot(reference: DocumentReference<T>, options: SnapshotListenOptions, observer: `T$2`<T>): Unsubscribe
external fun <T> onSnapshot(reference: DocumentReference<T>, onNext: (snapshot: DocumentSnapshot<T>) -> Unit, onError: (error: FirestoreError) -> Unit = definedExternally, onCompletion: () -> Unit = definedExternally): Unsubscribe
external fun <T> onSnapshot(reference: DocumentReference<T>, onNext: (snapshot: DocumentSnapshot<T>) -> Unit): Unsubscribe
external fun <T> onSnapshot(reference: DocumentReference<T>, onNext: (snapshot: DocumentSnapshot<T>) -> Unit, onError: (error: FirestoreError) -> Unit = definedExternally): Unsubscribe
external fun <T> onSnapshot(reference: DocumentReference<T>, options: SnapshotListenOptions, onNext: (snapshot: DocumentSnapshot<T>) -> Unit, onError: (error: FirestoreError) -> Unit = definedExternally, onCompletion: () -> Unit = definedExternally): Unsubscribe
external fun <T> onSnapshot(reference: DocumentReference<T>, options: SnapshotListenOptions, onNext: (snapshot: DocumentSnapshot<T>) -> Unit): Unsubscribe
external fun <T> onSnapshot(reference: DocumentReference<T>, options: SnapshotListenOptions, onNext: (snapshot: DocumentSnapshot<T>) -> Unit, onError: (error: FirestoreError) -> Unit = definedExternally): Unsubscribe
external interface `T$3`<T> {
var next: ((snapshot: QuerySnapshot<T>) -> Unit)?
get() = definedExternally
set(value) = definedExternally
var error: ((error: FirestoreError) -> Unit)?
get() = definedExternally
set(value) = definedExternally
var complete: (() -> Unit)?
get() = definedExternally
set(value) = definedExternally
}
external fun <T> onSnapshot(query: Query<T>, observer: `T$3`<T>): Unsubscribe
external fun <T> onSnapshot(query: Query<T>, options: SnapshotListenOptions, observer: `T$3`<T>): Unsubscribe
external fun <T> onSnapshot(query: Query<T>, onNext: (snapshot: QuerySnapshot<T>) -> Unit, onError: (error: FirestoreError) -> Unit = definedExternally, onCompletion: () -> Unit = definedExternally): Unsubscribe
external fun <T> onSnapshot(query: Query<T>, onNext: (snapshot: QuerySnapshot<T>) -> Unit): Unsubscribe
external fun <T> onSnapshot(query: Query<T>, onNext: (snapshot: QuerySnapshot<T>) -> Unit, onError: (error: FirestoreError) -> Unit = definedExternally): Unsubscribe
external fun <T> onSnapshot(query: Query<T>, options: SnapshotListenOptions, onNext: (snapshot: QuerySnapshot<T>) -> Unit, onError: (error: FirestoreError) -> Unit = definedExternally, onCompletion: () -> Unit = definedExternally): Unsubscribe
external fun <T> onSnapshot(query: Query<T>, options: SnapshotListenOptions, onNext: (snapshot: QuerySnapshot<T>) -> Unit): Unsubscribe
external fun <T> onSnapshot(query: Query<T>, options: SnapshotListenOptions, onNext: (snapshot: QuerySnapshot<T>) -> Unit, onError: (error: FirestoreError) -> Unit = definedExternally): Unsubscribe
external interface `T$4` {
var next: ((value: Unit) -> Unit)?
get() = definedExternally
set(value) = definedExternally
var error: ((error: FirestoreError) -> Unit)?
get() = definedExternally
set(value) = definedExternally
var complete: (() -> Unit)?
get() = definedExternally
set(value) = definedExternally
}
external fun onSnapshotsInSync(firestore: Firestore, observer: `T$4`): Unsubscribe
external fun onSnapshotsInSync(firestore: Firestore, onSync: () -> Unit): Unsubscribe
external fun orderBy(fieldPath: String, directionStr: String /* "desc" | "asc" */ = definedExternally): QueryConstraint
external fun orderBy(fieldPath: String): QueryConstraint
external fun orderBy(fieldPath: FieldPath, directionStr: String /* "desc" | "asc" */ = definedExternally): QueryConstraint
external fun orderBy(fieldPath: FieldPath): QueryConstraint
external interface PersistenceSettings {
var forceOwnership: Boolean?
get() = definedExternally
set(value) = definedExternally
}
external open class Query<T> {
open var converter: FirestoreDataConverter<T>?
open var type: String /* "query" | "collection" */
open var firestore: Firestore
open fun withConverter(converter: Nothing?): Query<DocumentData>
open fun <U> withConverter(converter: FirestoreDataConverter<U>): Query<U>
}
external open class Query__0 : Query<DocumentData>
external fun <T> query(query: Query<T>, vararg queryConstraints: QueryConstraint): Query<T>
external open class QueryConstraint {
open var type: String /* "where" | "orderBy" | "limit" | "limitToLast" | "startAt" | "startAfter" | "endAt" | "endBefore" */
}
external open class QueryDocumentSnapshot<T> : DocumentSnapshot<T> {
override fun data(options: SnapshotOptions): T
}
external fun <T> queryEqual(left: Query<T>, right: Query<T>): Boolean
external open class QuerySnapshot<T> {
open var metadata: SnapshotMetadata
open var query: Query<T>
open fun forEach(callback: (result: QueryDocumentSnapshot<T>) -> Unit, thisArg: Any = definedExternally)
open fun docChanges(options: SnapshotListenOptions = definedExternally): Array<DocumentChange<T>>
}
external fun <T> refEqual(left: DocumentReference<T>, right: DocumentReference<T>): Boolean
external fun <T> refEqual(left: DocumentReference<T>, right: CollectionReference<T>): Boolean
external fun <T> refEqual(left: CollectionReference<T>, right: DocumentReference<T>): Boolean
external fun <T> refEqual(left: CollectionReference<T>, right: CollectionReference<T>): Boolean
external fun <T> runTransaction(firestore: Firestore, updateFunction: (transaction: Transaction) -> Promise<T>): Promise<T>
external fun serverTimestamp(): FieldValue
external fun <T> setDoc(reference: DocumentReference<T>, data: T): Promise<Unit>
external fun <T> setDoc(reference: DocumentReference<T>, data: Any): Promise<Unit>
//external fun <T> setDoc(reference: DocumentReference<T>, data: Partial, options: `T$6`): Promise<Unit>
//external fun <T> setDoc(reference: DocumentReference<T>, data: Partial, options: `T$7`): Promise<Unit>
external fun setLogLevel(logLevel: String /* "debug" | "verbose" | "info" | "warn" | "error" | "silent" */)
external interface `T$6` {
var merge: Boolean?
get() = definedExternally
set(value) = definedExternally
}
external interface `T$7` {
var mergeFields: Array<dynamic /* String | FieldPath */>?
get() = definedExternally
set(value) = definedExternally
}
external fun <T> snapshotEqual(left: DocumentSnapshot<T>, right: DocumentSnapshot<T>): Boolean
external fun <T> snapshotEqual(left: DocumentSnapshot<T>, right: QuerySnapshot<T>): Boolean
external fun <T> snapshotEqual(left: QuerySnapshot<T>, right: DocumentSnapshot<T>): Boolean
external fun <T> snapshotEqual(left: QuerySnapshot<T>, right: QuerySnapshot<T>): Boolean
external interface SnapshotListenOptions {
var includeMetadataChanges: Boolean?
get() = definedExternally
set(value) = definedExternally
}
external open class SnapshotMetadata {
open var hasPendingWrites: Boolean
open var fromCache: Boolean
open fun isEqual(other: SnapshotMetadata): Boolean
}
external interface SnapshotOptions {
var serverTimestamps: String? /* "estimate" | "previous" | "none" */
get() = definedExternally
set(value) = definedExternally
}
external fun startAfter(snapshot: DocumentSnapshot<Any>): QueryConstraint
external fun startAfter(vararg fieldValues: Any): QueryConstraint
external fun startAt(snapshot: DocumentSnapshot<Any>): QueryConstraint
external fun startAt(vararg fieldValues: Any): QueryConstraint
external fun terminate(firestore: Firestore): Promise<Unit>
external interface `T$5` {
var seconds: Number
var nanoseconds: Number
}
external open class Timestamp(seconds: Number, nanoseconds: Number) {
open var seconds: Number
open var nanoseconds: Number
open fun toDate(): Date
open fun toMillis(): Number
open fun isEqual(other: Timestamp): Boolean
override fun toString(): String
open fun toJSON(): `T$5`
open fun valueOf(): String
companion object {
fun now(): Timestamp
fun fromDate(date: Date): Timestamp
fun fromMillis(milliseconds: Number): Timestamp
}
}
external open class Transaction {
open fun <T> get(documentRef: DocumentReference<T>): Promise<DocumentSnapshot<T>>
open fun <T> set(documentRef: DocumentReference<T>, data: T): Transaction /* this */
open fun <T> set(documentRef: DocumentReference<T>, data: Any): Transaction /* this */
// open fun <T> set(documentRef: DocumentReference<T>, data: Partial, options: `T$6`): Transaction /* this */
// open fun <T> set(documentRef: DocumentReference<T>, data: Partial, options: `T$7`): Transaction /* this */
open fun <T> update(documentRef: DocumentReference<T>, data: UpdateData<T>): Transaction /* this */
open fun update(documentRef: DocumentReference<Any>, field: String, value: Any, vararg moreFieldsAndValues: Any): Transaction /* this */
open fun update(documentRef: DocumentReference<Any>, field: FieldPath, value: Any, vararg moreFieldsAndValues: Any): Transaction /* this */
open fun delete(documentRef: DocumentReference<Any>): Transaction /* this */
}
typealias UnionToIntersection<U> = Any
external interface Unsubscribe {
@nativeInvoke
operator fun invoke()
}
typealias UpdateData<T> = Any
external fun <T> updateDoc(reference: DocumentReference<T>, data: UpdateData<T>): Promise<Unit>
external fun updateDoc(reference: DocumentReference<Any>, field: String, value: Any, vararg moreFieldsAndValues: Any): Promise<Unit>
external fun updateDoc(reference: DocumentReference<Any>, field: FieldPath, value: Any, vararg moreFieldsAndValues: Any): Promise<Unit>
external fun waitForPendingWrites(firestore: Firestore): Promise<Unit>
external fun where(fieldPath: String, opStr: String /* "<" | "<=" | "==" | "!=" | ">=" | ">" | "array-contains" | "in" | "array-contains-any" | "not-in" */, value: Any): QueryConstraint
external fun where(fieldPath: FieldPath, opStr: String /* "<" | "<=" | "==" | "!=" | ">=" | ">" | "array-contains" | "in" | "array-contains-any" | "not-in" */, value: Any): QueryConstraint
external open class WriteBatch {
open fun <T> set(documentRef: DocumentReference<T>, data: T): WriteBatch
open fun <T> set(documentRef: DocumentReference<T>, data: Any): WriteBatch
// open fun <T> set(documentRef: DocumentReference<T>, data: Partial, options: `T$6`): WriteBatch
// open fun <T> set(documentRef: DocumentReference<T>, data: Partial, options: `T$7`): WriteBatch
open fun <T> update(documentRef: DocumentReference<T>, data: UpdateData<T>): WriteBatch
open fun update(documentRef: DocumentReference<Any>, field: String, value: Any, vararg moreFieldsAndValues: Any): WriteBatch
open fun update(documentRef: DocumentReference<Any>, field: FieldPath, value: Any, vararg moreFieldsAndValues: Any): WriteBatch
open fun delete(documentRef: DocumentReference<Any>): WriteBatch
open fun commit(): Promise<Unit>
}
external fun writeBatch(firestore: Firestore): WriteBatch

View File

@@ -0,0 +1,258 @@
@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS")
package tsstdlib
import kotlin.js.*
import org.khronos.webgl.*
import org.w3c.dom.*
import org.w3c.dom.events.*
import org.w3c.dom.parsing.*
import org.w3c.dom.svg.*
import org.w3c.dom.url.*
import org.w3c.fetch.*
import org.w3c.files.*
import org.w3c.notifications.*
import org.w3c.performance.*
import org.w3c.workers.*
import org.w3c.xhr.*
external interface PipeOptions {
var preventAbort: Boolean?
get() = definedExternally
set(value) = definedExternally
var preventCancel: Boolean?
get() = definedExternally
set(value) = definedExternally
var preventClose: Boolean?
get() = definedExternally
set(value) = definedExternally
var signal: AbortSignal?
get() = definedExternally
set(value) = definedExternally
}
external interface QueuingStrategy<T> {
var highWaterMark: Number?
get() = definedExternally
set(value) = definedExternally
var size: QueuingStrategySizeCallback<T>?
get() = definedExternally
set(value) = definedExternally
}
external interface ReadableStreamReadDoneResult<T> {
var done: Boolean
var value: T?
get() = definedExternally
set(value) = definedExternally
}
external interface ReadableStreamReadValueResult<T> {
var done: Boolean
var value: T
}
external interface UnderlyingByteSource {
var autoAllocateChunkSize: Number?
get() = definedExternally
set(value) = definedExternally
var cancel: ReadableStreamErrorCallback?
get() = definedExternally
set(value) = definedExternally
var pull: ReadableByteStreamControllerCallback?
get() = definedExternally
set(value) = definedExternally
var start: ReadableByteStreamControllerCallback?
get() = definedExternally
set(value) = definedExternally
var type: String /* "bytes" */
}
external interface UnderlyingSink<W> {
var abort: WritableStreamErrorCallback?
get() = definedExternally
set(value) = definedExternally
var close: WritableStreamDefaultControllerCloseCallback?
get() = definedExternally
set(value) = definedExternally
var start: WritableStreamDefaultControllerStartCallback?
get() = definedExternally
set(value) = definedExternally
var type: Any?
get() = definedExternally
set(value) = definedExternally
var write: WritableStreamDefaultControllerWriteCallback<W>?
get() = definedExternally
set(value) = definedExternally
}
external interface UnderlyingSource<R> {
var cancel: ReadableStreamErrorCallback?
get() = definedExternally
set(value) = definedExternally
var pull: ReadableStreamDefaultControllerCallback<R>?
get() = definedExternally
set(value) = definedExternally
var start: ReadableStreamDefaultControllerCallback<R>?
get() = definedExternally
set(value) = definedExternally
var type: Any?
get() = definedExternally
set(value) = definedExternally
}
external interface AbortSignalEventMap {
var abort: Event
}
external interface AbortSignal : EventTarget {
var aborted: Boolean
var onabort: ((self: AbortSignal, ev: Event) -> Any)?
fun <K : String> addEventListener(type: K, listener: (self: AbortSignal, ev: Any) -> Any, options: Boolean = definedExternally)
fun <K : String> addEventListener(type: K, listener: (self: AbortSignal, ev: Any) -> Any)
fun <K : String> addEventListener(type: K, listener: (self: AbortSignal, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally)
fun addEventListener(type: String, listener: EventListener, options: Boolean = definedExternally)
override fun addEventListener(type: String, listener: EventListener?, options: Boolean)
fun addEventListener(type: String, listener: EventListener)
fun addEventListener(type: String, listener: EventListener?)
fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions = definedExternally)
override fun addEventListener(type: String, listener: EventListener?, options: AddEventListenerOptions)
fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally)
fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean)
fun addEventListener(type: String, listener: EventListenerObject)
fun addEventListener(type: String, listener: EventListenerObject?)
fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally)
fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions)
fun <K : String> removeEventListener(type: K, listener: (self: AbortSignal, ev: Any) -> Any, options: Boolean = definedExternally)
fun <K : String> removeEventListener(type: K, listener: (self: AbortSignal, ev: Any) -> Any)
fun <K : String> removeEventListener(type: K, listener: (self: AbortSignal, ev: Any) -> Any, options: EventListenerOptions = definedExternally)
fun removeEventListener(type: String, listener: EventListener, options: Boolean = definedExternally)
override fun removeEventListener(type: String, callback: EventListener?, options: Boolean)
fun removeEventListener(type: String, listener: EventListener)
fun removeEventListener(type: String, callback: EventListener?)
fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions = definedExternally)
override fun removeEventListener(type: String, callback: EventListener?, options: EventListenerOptions)
fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally)
fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean)
fun removeEventListener(type: String, listener: EventListenerObject)
fun removeEventListener(type: String, callback: EventListenerObject?)
fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally)
fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions)
}
external interface EventListenerObject {
fun handleEvent(evt: Event)
}
external interface ReadableByteStreamController {
var byobRequest: ReadableStreamBYOBRequest?
var desiredSize: Number?
fun close()
fun enqueue(chunk: ArrayBufferView)
fun error(error: Any = definedExternally)
}
external interface `T$13` {
var mode: String /* "byob" */
}
external interface `T$14`<R, T> {
var writable: WritableStream<R>
var readable: ReadableStream<T>
}
external interface ReadableStream<R> {
var locked: Boolean
fun cancel(reason: Any = definedExternally): Promise<Unit>
fun getReader(options: `T$13`): ReadableStreamBYOBReader
fun getReader(): ReadableStreamDefaultReader<R>
fun <T> pipeThrough(__0: `T$14`<R, T>, options: PipeOptions = definedExternally): ReadableStream<T>
fun pipeTo(dest: WritableStream<R>, options: PipeOptions = definedExternally): Promise<Unit>
fun tee(): dynamic /* JsTuple<ReadableStream<R>, ReadableStream<R>> */
}
external interface ReadableStreamBYOBReader {
var closed: Promise<Unit>
fun cancel(reason: Any = definedExternally): Promise<Unit>
fun <T : ArrayBufferView> read(view: T): Promise<dynamic /* ReadableStreamReadValueResult<T> | ReadableStreamReadDoneResult<T> */>
fun releaseLock()
}
external interface ReadableStreamBYOBRequest {
var view: ArrayBufferView
fun respond(bytesWritten: Number)
fun respondWithNewView(view: ArrayBufferView)
}
external interface ReadableStreamDefaultController<R> {
var desiredSize: Number?
fun close()
fun enqueue(chunk: R)
fun error(error: Any = definedExternally)
}
external interface ReadableStreamDefaultReader<R> {
var closed: Promise<Unit>
fun cancel(reason: Any = definedExternally): Promise<Unit>
fun read(): Promise<dynamic /* ReadableStreamReadValueResult<R> | ReadableStreamReadDoneResult<R> */>
fun releaseLock()
}
external interface WritableStream<W> {
var locked: Boolean
fun abort(reason: Any = definedExternally): Promise<Unit>
fun getWriter(): WritableStreamDefaultWriter<W>
}
external interface WritableStreamDefaultController {
fun error(error: Any = definedExternally)
}
external interface WritableStreamDefaultWriter<W> {
var closed: Promise<Unit>
var desiredSize: Number?
var ready: Promise<Unit>
fun abort(reason: Any = definedExternally): Promise<Unit>
fun close(): Promise<Unit>
fun releaseLock()
fun write(chunk: W): Promise<Unit>
}
external interface QueuingStrategySizeCallback<T> {
@nativeInvoke
operator fun invoke(chunk: T): Number
}
external interface ReadableByteStreamControllerCallback {
@nativeInvoke
operator fun invoke(controller: ReadableByteStreamController): dynamic /* Unit | PromiseLike<Unit> */
}
external interface ReadableStreamDefaultControllerCallback<R> {
@nativeInvoke
operator fun invoke(controller: ReadableStreamDefaultController<R>): dynamic /* Unit | PromiseLike<Unit> */
}
external interface ReadableStreamErrorCallback {
@nativeInvoke
operator fun invoke(reason: Any): dynamic /* Unit | PromiseLike<Unit> */
}
external interface WritableStreamDefaultControllerCloseCallback {
@nativeInvoke
operator fun invoke(): dynamic /* Unit | PromiseLike<Unit> */
}
external interface WritableStreamDefaultControllerStartCallback {
@nativeInvoke
operator fun invoke(controller: WritableStreamDefaultController): dynamic /* Unit | PromiseLike<Unit> */
}
external interface WritableStreamDefaultControllerWriteCallback<W> {
@nativeInvoke
operator fun invoke(chunk: W, controller: WritableStreamDefaultController): dynamic /* Unit | PromiseLike<Unit> */
}
external interface WritableStreamErrorCallback {
@nativeInvoke
operator fun invoke(reason: Any): dynamic /* Unit | PromiseLike<Unit> */
}

View File

@@ -0,0 +1,33 @@
@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS")
package tsstdlib
import kotlin.js.*
import org.khronos.webgl.*
import org.w3c.dom.*
import org.w3c.dom.events.*
import org.w3c.dom.parsing.*
import org.w3c.dom.svg.*
import org.w3c.dom.url.*
import org.w3c.fetch.*
import org.w3c.files.*
import org.w3c.notifications.*
import org.w3c.performance.*
import org.w3c.workers.*
import org.w3c.xhr.*
external interface Map<K, V> {
fun entries(): IterableIterator<dynamic /* JsTuple<K, V> */>
fun keys(): IterableIterator<K>
fun values(): IterableIterator<V>
fun clear()
fun delete(key: K): Boolean
fun forEach(callbackfn: (value: V, key: K, map: Map<K, V>) -> Unit, thisArg: Any = definedExternally)
fun get(key: K): V?
fun has(key: K): Boolean
fun set(key: K, value: V): Map<K, V> /* this */
var size: Number
}
external interface MapConstructor {
var prototype: Map<Any, Any>
}

View File

@@ -0,0 +1,220 @@
@file:JsQualifier("tsstdlib.Intl")
@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS")
package tsstdlib.Intl
import kotlin.js.*
import org.khronos.webgl.*
import org.w3c.dom.*
import org.w3c.dom.events.*
import org.w3c.dom.parsing.*
import org.w3c.dom.svg.*
import org.w3c.dom.url.*
import org.w3c.fetch.*
import org.w3c.files.*
import org.w3c.notifications.*
import org.w3c.performance.*
import org.w3c.workers.*
import org.w3c.xhr.*
external interface CollatorOptions {
var usage: String?
get() = definedExternally
set(value) = definedExternally
var localeMatcher: String?
get() = definedExternally
set(value) = definedExternally
var numeric: Boolean?
get() = definedExternally
set(value) = definedExternally
var caseFirst: String?
get() = definedExternally
set(value) = definedExternally
var sensitivity: String?
get() = definedExternally
set(value) = definedExternally
var ignorePunctuation: Boolean?
get() = definedExternally
set(value) = definedExternally
}
external interface ResolvedCollatorOptions {
var locale: String
var usage: String
var sensitivity: String
var ignorePunctuation: Boolean
var collation: String
var caseFirst: String
var numeric: Boolean
}
@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE")
external interface Collator {
fun compare(x: String, y: String): Number
fun resolvedOptions(): ResolvedCollatorOptions
companion object {
@nativeInvoke
operator fun invoke(locales: Any /* String | Array<String> */ = definedExternally, options: CollatorOptions = definedExternally): Collator
fun supportedLocalesOf(locales: Any /* String | Array<String> */, options: CollatorOptions = definedExternally): Array<String>
}
}
external interface NumberFormatOptions {
var localeMatcher: String?
get() = definedExternally
set(value) = definedExternally
var style: String?
get() = definedExternally
set(value) = definedExternally
var currency: String?
get() = definedExternally
set(value) = definedExternally
var currencyDisplay: String?
get() = definedExternally
set(value) = definedExternally
var useGrouping: Boolean?
get() = definedExternally
set(value) = definedExternally
var minimumIntegerDigits: Number?
get() = definedExternally
set(value) = definedExternally
var minimumFractionDigits: Number?
get() = definedExternally
set(value) = definedExternally
var maximumFractionDigits: Number?
get() = definedExternally
set(value) = definedExternally
var minimumSignificantDigits: Number?
get() = definedExternally
set(value) = definedExternally
var maximumSignificantDigits: Number?
get() = definedExternally
set(value) = definedExternally
}
external interface ResolvedNumberFormatOptions {
var locale: String
var numberingSystem: String
var style: String
var currency: String?
get() = definedExternally
set(value) = definedExternally
var currencyDisplay: String?
get() = definedExternally
set(value) = definedExternally
var minimumIntegerDigits: Number
var minimumFractionDigits: Number
var maximumFractionDigits: Number
var minimumSignificantDigits: Number?
get() = definedExternally
set(value) = definedExternally
var maximumSignificantDigits: Number?
get() = definedExternally
set(value) = definedExternally
var useGrouping: Boolean
}
@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE")
external interface NumberFormat {
fun format(value: Number): String
fun resolvedOptions(): ResolvedNumberFormatOptions
companion object {
@nativeInvoke
operator fun invoke(locales: Any /* String | Array<String> */ = definedExternally, options: NumberFormatOptions = definedExternally): NumberFormat
fun supportedLocalesOf(locales: Any /* String | Array<String> */, options: NumberFormatOptions = definedExternally): Array<String>
}
}
external interface DateTimeFormatOptions {
var localeMatcher: String?
get() = definedExternally
set(value) = definedExternally
var weekday: String?
get() = definedExternally
set(value) = definedExternally
var era: String?
get() = definedExternally
set(value) = definedExternally
var year: String?
get() = definedExternally
set(value) = definedExternally
var month: String?
get() = definedExternally
set(value) = definedExternally
var day: String?
get() = definedExternally
set(value) = definedExternally
var hour: String?
get() = definedExternally
set(value) = definedExternally
var minute: String?
get() = definedExternally
set(value) = definedExternally
var second: String?
get() = definedExternally
set(value) = definedExternally
var timeZoneName: String?
get() = definedExternally
set(value) = definedExternally
var formatMatcher: String?
get() = definedExternally
set(value) = definedExternally
var hour12: Boolean?
get() = definedExternally
set(value) = definedExternally
var timeZone: String?
get() = definedExternally
set(value) = definedExternally
}
external interface ResolvedDateTimeFormatOptions {
var locale: String
var calendar: String
var numberingSystem: String
var timeZone: String
var hour12: Boolean?
get() = definedExternally
set(value) = definedExternally
var weekday: String?
get() = definedExternally
set(value) = definedExternally
var era: String?
get() = definedExternally
set(value) = definedExternally
var year: String?
get() = definedExternally
set(value) = definedExternally
var month: String?
get() = definedExternally
set(value) = definedExternally
var day: String?
get() = definedExternally
set(value) = definedExternally
var hour: String?
get() = definedExternally
set(value) = definedExternally
var minute: String?
get() = definedExternally
set(value) = definedExternally
var second: String?
get() = definedExternally
set(value) = definedExternally
var timeZoneName: String?
get() = definedExternally
set(value) = definedExternally
}
@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE")
external interface DateTimeFormat {
fun format(date: Date = definedExternally): String
fun format(): String
fun format(date: Number = definedExternally): String
fun resolvedOptions(): ResolvedDateTimeFormatOptions
companion object {
@nativeInvoke
operator fun invoke(locales: Any /* String | Array<String> */ = definedExternally, options: DateTimeFormatOptions = definedExternally): DateTimeFormat
fun supportedLocalesOf(locales: Any /* String | Array<String> */, options: DateTimeFormatOptions = definedExternally): Array<String>
}
}

View File

@@ -0,0 +1,20 @@
@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS")
package tsstdlib
import kotlin.js.*
import org.khronos.webgl.*
import org.w3c.dom.*
import org.w3c.dom.events.*
import org.w3c.dom.parsing.*
import org.w3c.dom.svg.*
import org.w3c.dom.url.*
import org.w3c.fetch.*
import org.w3c.files.*
import org.w3c.notifications.*
import org.w3c.performance.*
import org.w3c.workers.*
import org.w3c.xhr.*
external open class VarDate {
open var VarDate_typekey: VarDate
}

View File

@@ -15,21 +15,21 @@ import org.w3c.workers.*
import org.w3c.xhr.*
import tsstdlib.Record
external interface `T$0` {
var identifier: String?
get() = definedExternally
set(value) = definedExternally
var optional: Boolean
}
external interface `T$1` {
var identifier: String?
get() = definedExternally
set(value) = definedExternally
var optional: Boolean?
get() = definedExternally
set(value) = definedExternally
}
//external interface `T$0` {
// var identifier: String?
// get() = definedExternally
// set(value) = definedExternally
// var optional: Boolean
//}
//
//external interface `T$1` {
// var identifier: String?
// get() = definedExternally
// set(value) = definedExternally
// var optional: Boolean?
// get() = definedExternally
// set(value) = definedExternally
//}
external open class Provider<T : Nothing?>(name: T, container: ComponentContainer) {
open var name: Any

View File

@@ -0,0 +1,30 @@
plugins {
id("org.jetbrains.kotlin.js") version "1.5.31"
}
group = "nl.jlengrand"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
maven("https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven")
}
dependencies {
testImplementation(kotlin("test"))
implementation("org.jetbrains.kotlinx:kotlinx-html:0.7.2")
implementation(npm("@supabase/supabase-js", "1.28.1"))
}
kotlin {
js(IR) {
binaries.executable()
browser {
commonWebpackConfig {
cssSupport.enabled = true
}
}
}
}

View File

@@ -0,0 +1,21 @@
import kotlinx.browser.document
import kotlinx.browser.window
import kotlinx.html.div
import kotlinx.html.dom.append
import org.w3c.dom.Node
fun main() {
window.onload = {
// val supabase = createClient("", "", null)
// console.log(supabase)
document.body?.sayHello()
}
}
fun Node.sayHello() {
append {
div {
+"Hello from Sample Supabase"
}
}
}

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>sample-supabase</title>
<script src="sample-supabase.js"></script>
</head>
<body>
</body>
</html>

430
sample-supabase/test/package-lock.json generated Normal file
View File

@@ -0,0 +1,430 @@
{
"name": "test",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"dependencies": {
"@supabase/supabase-js": "^1.25.1"
}
},
"node_modules/@supabase/gotrue-js": {
"version": "1.18.0",
"resolved": "https://registry.npmjs.org/@supabase/gotrue-js/-/gotrue-js-1.18.0.tgz",
"integrity": "sha512-kGKy6EkMwait89yUYQF7umUDCeOsnNZD/rrfRTDH5jVDwuudvrF/5Dw0mBMHh8lQdZDFaF6Q8bVHlD3vXguGdw==",
"dependencies": {
"cross-fetch": "^3.0.6"
}
},
"node_modules/@supabase/postgrest-js": {
"version": "0.34.1",
"resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-0.34.1.tgz",
"integrity": "sha512-64RQhBpwZDXOpPRCHqrCrlVcyPWE/p4nH6/ALnJCvTkQHkyzXNPDoTlX6OjbuyMH9/BNvgVhEZth0e6hfpWDXw==",
"dependencies": {
"cross-fetch": "^3.0.6"
}
},
"node_modules/@supabase/realtime-js": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-1.2.1.tgz",
"integrity": "sha512-nhwSvizonT8hiMoQHOqs+2MZNV8qkhKn552g7NIJktVmqpz//O1dGjdcXyjhbAurW18z0Y7Qa9G7UXfEYJKRPQ==",
"dependencies": {
"@types/websocket": "^1.0.3",
"websocket": "^1.0.34"
}
},
"node_modules/@supabase/storage-js": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-1.4.1.tgz",
"integrity": "sha512-sMhFbuiSPh31m5NPuEZmDVbOLe0QjvkOVXceGk0J1KtApz+3LOXf+BZLNG8Ss9djc8ZkT2HWgu/m8cunJm9Mig==",
"dependencies": {
"cross-fetch": "^3.1.0"
}
},
"node_modules/@supabase/supabase-js": {
"version": "1.25.1",
"resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-1.25.1.tgz",
"integrity": "sha512-FNPOpbjMfsVEogHCqQOVVETV4/NbF2xIVbaQEnIVqMHPEuuRiYr0a8p8VO2I2aNj7CAbevsco9H4BofoltSaHA==",
"dependencies": {
"@supabase/gotrue-js": "^1.18.0",
"@supabase/postgrest-js": "^0.34.0",
"@supabase/realtime-js": "^1.2.1",
"@supabase/storage-js": "^1.4.0"
}
},
"node_modules/@types/node": {
"version": "16.11.5",
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.5.tgz",
"integrity": "sha512-NyUV2DGcqYIx9op++MG2+Z4Nhw1tPhi0Wfs81TgncuX1aJC4zf2fgCJlJhl4BW9bCSS04e34VkqmOS96w0XQdg=="
},
"node_modules/@types/websocket": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.4.tgz",
"integrity": "sha512-qn1LkcFEKK8RPp459jkjzsfpbsx36BBt3oC3pITYtkoBw/aVX+EZFa5j3ThCRTNpLFvIMr5dSTD4RaMdilIOpA==",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/bufferutil": {
"version": "4.0.5",
"resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz",
"integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==",
"hasInstallScript": true,
"dependencies": {
"node-gyp-build": "^4.3.0"
},
"engines": {
"node": ">=6.14.2"
}
},
"node_modules/cross-fetch": {
"version": "3.1.4",
"resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz",
"integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==",
"dependencies": {
"node-fetch": "2.6.1"
}
},
"node_modules/d": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
"integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
"dependencies": {
"es5-ext": "^0.10.50",
"type": "^1.0.1"
}
},
"node_modules/debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dependencies": {
"ms": "2.0.0"
}
},
"node_modules/es5-ext": {
"version": "0.10.53",
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
"integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
"dependencies": {
"es6-iterator": "~2.0.3",
"es6-symbol": "~3.1.3",
"next-tick": "~1.0.0"
}
},
"node_modules/es6-iterator": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
"integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
"dependencies": {
"d": "1",
"es5-ext": "^0.10.35",
"es6-symbol": "^3.1.1"
}
},
"node_modules/es6-symbol": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
"integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
"dependencies": {
"d": "^1.0.1",
"ext": "^1.1.2"
}
},
"node_modules/ext": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz",
"integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==",
"dependencies": {
"type": "^2.5.0"
}
},
"node_modules/ext/node_modules/type": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz",
"integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw=="
},
"node_modules/is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
},
"node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"node_modules/next-tick": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
"integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
},
"node_modules/node-fetch": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
"engines": {
"node": "4.x || >=6.0.0"
}
},
"node_modules/node-gyp-build": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz",
"integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==",
"bin": {
"node-gyp-build": "bin.js",
"node-gyp-build-optional": "optional.js",
"node-gyp-build-test": "build-test.js"
}
},
"node_modules/type": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
"integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
},
"node_modules/typedarray-to-buffer": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
"integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
"dependencies": {
"is-typedarray": "^1.0.0"
}
},
"node_modules/utf-8-validate": {
"version": "5.0.7",
"resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz",
"integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==",
"hasInstallScript": true,
"dependencies": {
"node-gyp-build": "^4.3.0"
},
"engines": {
"node": ">=6.14.2"
}
},
"node_modules/websocket": {
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz",
"integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==",
"dependencies": {
"bufferutil": "^4.0.1",
"debug": "^2.2.0",
"es5-ext": "^0.10.50",
"typedarray-to-buffer": "^3.1.5",
"utf-8-validate": "^5.0.2",
"yaeti": "^0.0.6"
},
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/yaeti": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz",
"integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=",
"engines": {
"node": ">=0.10.32"
}
}
},
"dependencies": {
"@supabase/gotrue-js": {
"version": "1.18.0",
"resolved": "https://registry.npmjs.org/@supabase/gotrue-js/-/gotrue-js-1.18.0.tgz",
"integrity": "sha512-kGKy6EkMwait89yUYQF7umUDCeOsnNZD/rrfRTDH5jVDwuudvrF/5Dw0mBMHh8lQdZDFaF6Q8bVHlD3vXguGdw==",
"requires": {
"cross-fetch": "^3.0.6"
}
},
"@supabase/postgrest-js": {
"version": "0.34.1",
"resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-0.34.1.tgz",
"integrity": "sha512-64RQhBpwZDXOpPRCHqrCrlVcyPWE/p4nH6/ALnJCvTkQHkyzXNPDoTlX6OjbuyMH9/BNvgVhEZth0e6hfpWDXw==",
"requires": {
"cross-fetch": "^3.0.6"
}
},
"@supabase/realtime-js": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-1.2.1.tgz",
"integrity": "sha512-nhwSvizonT8hiMoQHOqs+2MZNV8qkhKn552g7NIJktVmqpz//O1dGjdcXyjhbAurW18z0Y7Qa9G7UXfEYJKRPQ==",
"requires": {
"@types/websocket": "^1.0.3",
"websocket": "^1.0.34"
}
},
"@supabase/storage-js": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-1.4.1.tgz",
"integrity": "sha512-sMhFbuiSPh31m5NPuEZmDVbOLe0QjvkOVXceGk0J1KtApz+3LOXf+BZLNG8Ss9djc8ZkT2HWgu/m8cunJm9Mig==",
"requires": {
"cross-fetch": "^3.1.0"
}
},
"@supabase/supabase-js": {
"version": "1.25.1",
"resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-1.25.1.tgz",
"integrity": "sha512-FNPOpbjMfsVEogHCqQOVVETV4/NbF2xIVbaQEnIVqMHPEuuRiYr0a8p8VO2I2aNj7CAbevsco9H4BofoltSaHA==",
"requires": {
"@supabase/gotrue-js": "^1.18.0",
"@supabase/postgrest-js": "^0.34.0",
"@supabase/realtime-js": "^1.2.1",
"@supabase/storage-js": "^1.4.0"
}
},
"@types/node": {
"version": "16.11.5",
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.5.tgz",
"integrity": "sha512-NyUV2DGcqYIx9op++MG2+Z4Nhw1tPhi0Wfs81TgncuX1aJC4zf2fgCJlJhl4BW9bCSS04e34VkqmOS96w0XQdg=="
},
"@types/websocket": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.4.tgz",
"integrity": "sha512-qn1LkcFEKK8RPp459jkjzsfpbsx36BBt3oC3pITYtkoBw/aVX+EZFa5j3ThCRTNpLFvIMr5dSTD4RaMdilIOpA==",
"requires": {
"@types/node": "*"
}
},
"bufferutil": {
"version": "4.0.5",
"resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz",
"integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==",
"requires": {
"node-gyp-build": "^4.3.0"
}
},
"cross-fetch": {
"version": "3.1.4",
"resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz",
"integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==",
"requires": {
"node-fetch": "2.6.1"
}
},
"d": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
"integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
"requires": {
"es5-ext": "^0.10.50",
"type": "^1.0.1"
}
},
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"requires": {
"ms": "2.0.0"
}
},
"es5-ext": {
"version": "0.10.53",
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
"integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
"requires": {
"es6-iterator": "~2.0.3",
"es6-symbol": "~3.1.3",
"next-tick": "~1.0.0"
}
},
"es6-iterator": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
"integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
"requires": {
"d": "1",
"es5-ext": "^0.10.35",
"es6-symbol": "^3.1.1"
}
},
"es6-symbol": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
"integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
"requires": {
"d": "^1.0.1",
"ext": "^1.1.2"
}
},
"ext": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz",
"integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==",
"requires": {
"type": "^2.5.0"
},
"dependencies": {
"type": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz",
"integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw=="
}
}
},
"is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"next-tick": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
"integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
},
"node-fetch": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
},
"node-gyp-build": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz",
"integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q=="
},
"type": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
"integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
},
"typedarray-to-buffer": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
"integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
"requires": {
"is-typedarray": "^1.0.0"
}
},
"utf-8-validate": {
"version": "5.0.7",
"resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz",
"integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==",
"requires": {
"node-gyp-build": "^4.3.0"
}
},
"websocket": {
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz",
"integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==",
"requires": {
"bufferutil": "^4.0.1",
"debug": "^2.2.0",
"es5-ext": "^0.10.50",
"typedarray-to-buffer": "^3.1.5",
"utf-8-validate": "^5.0.2",
"yaeti": "^0.0.6"
}
},
"yaeti": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz",
"integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc="
}
}
}

View File

@@ -0,0 +1,5 @@
{
"dependencies": {
"@supabase/supabase-js": "^1.25.1"
}
}

View File

@@ -1,3 +1,8 @@
rootProject.name = "kotlin-samples"
include("sample-firebase")
include("kotlin-github-hacktoberfest-tags")
include("sample-supabase")
include("sample-supabase")
include("sample-coroutines")
include("sample-duration")
include("sample-duration")