From e3726becd008fadbb2e2fe02866053a28df27a97 Mon Sep 17 00:00:00 2001 From: Julien Lengrand-Lambert Date: Tue, 19 Oct 2021 01:35:48 +0200 Subject: [PATCH] working with firebase --- .idea/vcs.xml | 7 + sample-firebase/build.gradle.kts | 5 +- sample-firebase/src/main/kotlin/Client.kt | 42 +- ...rebase.analytics.module_firebase_compat.kt | 616 ++++++++++++++++++ ...dex.firebase.app.module_firebase_compat.kt | 19 + ...irebase.appCheck.module_firebase_compat.kt | 58 ++ ...ex.firebase.auth.module_firebase_compat.kt | 424 ++++++++++++ ...base.ServerValue.module_firebase_compat.kt | 20 + ...irebase.database.module_firebase_compat.kt | 132 ++++ ...rebase.functions.module_firebase_compat.kt | 25 + ...se.installations.module_firebase_compat.kt | 12 + ...rebase.messaging.module_firebase_compat.kt | 60 ++ .../index.firebase.module_firebase_compat.kt | 220 +++++++ ...base.performance.module_firebase_compat.kt | 46 ++ ...ase.remoteConfig.module_firebase_compat.kt | 54 ++ .../src/main/kotlin/lib.es2015.collection.kt | 13 + .../src/main/kotlin/lib.es2015.iterable.kt | 41 ++ .../main/kotlin/lib.es5.Intl.module_dukat.kt | 207 ++++++ sample-firebase/src/main/kotlin/lib.es5.kt | 269 ++++++++ .../src/main/kotlin/lib.scripthost.kt | 5 + .../nonDeclarations.firebase.analytics.kt | 17 + .../kotlin/nonDeclarations.firebase.auth.kt | 19 + .../nonDeclarations.firebase.functions.kt | 17 + .../main/kotlin/nonDeclarations.firebase.kt | 9 + .../nonDeclarations.firebase.storage.kt | 21 + sample-firebase/test | 1 + 26 files changed, 2357 insertions(+), 2 deletions(-) create mode 100644 .idea/vcs.xml create mode 100644 sample-firebase/src/main/kotlin/index.firebase.analytics.module_firebase_compat.kt create mode 100644 sample-firebase/src/main/kotlin/index.firebase.app.module_firebase_compat.kt create mode 100644 sample-firebase/src/main/kotlin/index.firebase.appCheck.module_firebase_compat.kt create mode 100644 sample-firebase/src/main/kotlin/index.firebase.auth.module_firebase_compat.kt create mode 100644 sample-firebase/src/main/kotlin/index.firebase.database.ServerValue.module_firebase_compat.kt create mode 100644 sample-firebase/src/main/kotlin/index.firebase.database.module_firebase_compat.kt create mode 100644 sample-firebase/src/main/kotlin/index.firebase.functions.module_firebase_compat.kt create mode 100644 sample-firebase/src/main/kotlin/index.firebase.installations.module_firebase_compat.kt create mode 100644 sample-firebase/src/main/kotlin/index.firebase.messaging.module_firebase_compat.kt create mode 100644 sample-firebase/src/main/kotlin/index.firebase.module_firebase_compat.kt create mode 100644 sample-firebase/src/main/kotlin/index.firebase.performance.module_firebase_compat.kt create mode 100644 sample-firebase/src/main/kotlin/index.firebase.remoteConfig.module_firebase_compat.kt create mode 100644 sample-firebase/src/main/kotlin/lib.es2015.collection.kt create mode 100644 sample-firebase/src/main/kotlin/lib.es2015.iterable.kt create mode 100644 sample-firebase/src/main/kotlin/lib.es5.Intl.module_dukat.kt create mode 100644 sample-firebase/src/main/kotlin/lib.es5.kt create mode 100644 sample-firebase/src/main/kotlin/lib.scripthost.kt create mode 100644 sample-firebase/src/main/kotlin/nonDeclarations.firebase.analytics.kt create mode 100644 sample-firebase/src/main/kotlin/nonDeclarations.firebase.auth.kt create mode 100644 sample-firebase/src/main/kotlin/nonDeclarations.firebase.functions.kt create mode 100644 sample-firebase/src/main/kotlin/nonDeclarations.firebase.kt create mode 100644 sample-firebase/src/main/kotlin/nonDeclarations.firebase.storage.kt create mode 160000 sample-firebase/test diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..c0be1d9 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/sample-firebase/build.gradle.kts b/sample-firebase/build.gradle.kts index c611b67..e7b741d 100644 --- a/sample-firebase/build.gradle.kts +++ b/sample-firebase/build.gradle.kts @@ -19,10 +19,13 @@ repositories { dependencies { testImplementation(kotlin("test")) implementation("org.jetbrains.kotlinx:kotlinx-html:0.7.2") + implementation(npm("firebase", "9.1.3")) + implementation(npm("is-sorted", "1.0.5")) + } kotlin { - js(IR) { + js(LEGACY) { binaries.executable() browser { commonWebpackConfig { diff --git a/sample-firebase/src/main/kotlin/Client.kt b/sample-firebase/src/main/kotlin/Client.kt index 4837944..3e59ae7 100644 --- a/sample-firebase/src/main/kotlin/Client.kt +++ b/sample-firebase/src/main/kotlin/Client.kt @@ -3,9 +3,46 @@ import kotlinx.html.dom.append import org.w3c.dom.Node import kotlinx.browser.document import kotlinx.browser.window +import kotlinx.html.p +import kotlin.js.Json +import kotlin.js.json + + +//// Import the functions you need from the SDKs you need +//import { initializeApp } from "firebase/app"; +//import { getAnalytics } from "firebase/analytics"; +//const firebaseConfig = { +//}; +// +//const app = initializeApp(firebaseConfig); +//const analytics = getAnalytics(app); + +@JsModule("is-sorted") +@JsNonModule +external fun sorted(a: Array): Boolean fun main() { - window.onload = { document.body?.sayHello() } +// startFirebase() + window.onload = { + console.log(sorted(arrayOf(1, 2, 3))) + startFirebase(); + document.body?.sayHello() } +} + +fun startFirebase(){ + val firebaseConfig: Json = json( + "apiKey" to "AIzaSyD8uQHyfWh2HBdppW-SiVG-clhRiXTRJcM", + "authDomain" to "kanawish-blog-samples.firebaseapp.com", + "databaseURL" to "https://kanawish-blog-samples-default-rtdb.firebaseio.com", + "projectId" to "kanawish-blog-samples", + "storageBucket" to "kanawish-blog-samples.appspot.com", + "messagingSenderId" to "872035858041", + "appId" to "1:872035858041:web:38673c69d5f931261f06a8", + "measurementId" to "G-625CTE2C2L" + ) + + val fire = initializeApp(firebaseConfig) + console.log(fire) } fun Node.sayHello() { @@ -13,5 +50,8 @@ fun Node.sayHello() { div { +"Hello from JS" } + p{ + sorted(arrayOf(1, 2, 3)) + } } } \ No newline at end of file diff --git a/sample-firebase/src/main/kotlin/index.firebase.analytics.module_firebase_compat.kt b/sample-firebase/src/main/kotlin/index.firebase.analytics.module_firebase_compat.kt new file mode 100644 index 0000000..10b4cbf --- /dev/null +++ b/sample-firebase/src/main/kotlin/index.firebase.analytics.module_firebase_compat.kt @@ -0,0 +1,616 @@ +@file:JsQualifier("analytics") +@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS") + +import kotlin.js.* + +external interface `T$17` { + var coupon: String? + get() = definedExternally + set(value) = definedExternally + var currency: String? + get() = definedExternally + set(value) = definedExternally + var items: Array? + get() = definedExternally + set(value) = definedExternally + var payment_type: String? + get() = definedExternally + set(value) = definedExternally + var value: Number? + get() = definedExternally + set(value) = definedExternally + @nativeGetter + operator fun get(key: String): Any? + @nativeSetter + operator fun set(key: String, value: Any) +} + +external interface `T$18` { + var coupon: String? + get() = definedExternally + set(value) = definedExternally + var currency: String? + get() = definedExternally + set(value) = definedExternally + var items: Array? + get() = definedExternally + set(value) = definedExternally + var shipping_tier: String? + get() = definedExternally + set(value) = definedExternally + var value: Number? + get() = definedExternally + set(value) = definedExternally + @nativeGetter + operator fun get(key: String): Any? + @nativeSetter + operator fun set(key: String, value: Any) +} + +external interface `T$19` { + var currency: String? + get() = definedExternally + set(value) = definedExternally + var value: Number? + get() = definedExternally + set(value) = definedExternally + var items: Array? + get() = definedExternally + set(value) = definedExternally + @nativeGetter + operator fun get(key: String): Any? + @nativeSetter + operator fun set(key: String, value: Any) +} + +external interface `T$20` { + var currency: String? + get() = definedExternally + set(value) = definedExternally + var coupon: String? + get() = definedExternally + set(value) = definedExternally + var value: Number? + get() = definedExternally + set(value) = definedExternally + var items: Array? + get() = definedExternally + set(value) = definedExternally + @nativeGetter + operator fun get(key: String): Any? + @nativeSetter + operator fun set(key: String, value: Any) +} + +external interface `T$21` { + var currency: String? + get() = definedExternally + set(value) = definedExternally + var coupon: String? + get() = definedExternally + set(value) = definedExternally + var value: Number? + get() = definedExternally + set(value) = definedExternally + var items: Array? + get() = definedExternally + set(value) = definedExternally + var checkout_step: Number? + get() = definedExternally + set(value) = definedExternally + var checkout_option: String? + get() = definedExternally + set(value) = definedExternally + @nativeGetter + operator fun get(key: String): Any? + @nativeSetter + operator fun set(key: String, value: Any) +} + +external interface `T$22` { + var description: String? + get() = definedExternally + set(value) = definedExternally + var fatal: Boolean? + get() = definedExternally + set(value) = definedExternally + @nativeGetter + operator fun get(key: String): Any? + @nativeSetter + operator fun set(key: String, value: Any) +} + +external interface `T$23` { + var value: Number? + get() = definedExternally + set(value) = definedExternally + var currency: String? + get() = definedExternally + set(value) = definedExternally + @nativeGetter + operator fun get(key: String): Any? + @nativeSetter + operator fun set(key: String, value: Any) +} + +external interface `T$24` { + var method: String? + get() = definedExternally + set(value) = definedExternally + @nativeGetter + operator fun get(key: String): Any? + @nativeSetter + operator fun set(key: String, value: Any) +} + +external interface `T$25` { + var page_title: String? + get() = definedExternally + set(value) = definedExternally + var page_location: String? + get() = definedExternally + set(value) = definedExternally + var page_path: String? + get() = definedExternally + set(value) = definedExternally + @nativeGetter + operator fun get(key: String): Any? + @nativeSetter + operator fun set(key: String, value: Any) +} + +external interface `T$26` { + var value: Number? + get() = definedExternally + set(value) = definedExternally + var currency: String? + get() = definedExternally + set(value) = definedExternally + var transaction_id: String + var tax: dynamic /* String? | Number? */ + get() = definedExternally + set(value) = definedExternally + var shipping: dynamic /* String? | Number? */ + get() = definedExternally + set(value) = definedExternally + var items: Array? + get() = definedExternally + set(value) = definedExternally + var coupon: String? + get() = definedExternally + set(value) = definedExternally + var affiliation: String? + get() = definedExternally + set(value) = definedExternally + @nativeGetter + operator fun get(key: String): Any? + @nativeSetter + operator fun set(key: String, value: Any) +} + +external interface `T$27` { + var firebase_screen: String + var firebase_screen_class: String + @nativeGetter + operator fun get(key: String): Any? + @nativeSetter + operator fun set(key: String, value: Any) +} + +external interface `T$28` { + var search_term: String? + get() = definedExternally + set(value) = definedExternally + @nativeGetter + operator fun get(key: String): Any? + @nativeSetter + operator fun set(key: String, value: Any) +} + +external interface `T$29` { + var content_type: String? + get() = definedExternally + set(value) = definedExternally + var item_id: String? + get() = definedExternally + set(value) = definedExternally + @nativeGetter + operator fun get(key: String): Any? + @nativeSetter + operator fun set(key: String, value: Any) +} + +external interface `T$30` { + var items: Array? + get() = definedExternally + set(value) = definedExternally + var item_list_name: String? + get() = definedExternally + set(value) = definedExternally + var item_list_id: String? + get() = definedExternally + set(value) = definedExternally + @nativeGetter + operator fun get(key: String): Any? + @nativeSetter + operator fun set(key: String, value: Any) +} + +external interface `T$31` { + var items: Array? + get() = definedExternally + set(value) = definedExternally + var promotion_id: String? + get() = definedExternally + set(value) = definedExternally + var promotion_name: String? + get() = definedExternally + set(value) = definedExternally + @nativeGetter + operator fun get(key: String): Any? + @nativeSetter + operator fun set(key: String, value: Any) +} + +external interface `T$32` { + var checkout_step: Number? + get() = definedExternally + set(value) = definedExternally + var checkout_option: String? + get() = definedExternally + set(value) = definedExternally + @nativeGetter + operator fun get(key: String): Any? + @nativeSetter + operator fun set(key: String, value: Any) +} + +external interface `T$33` { + var method: String? + get() = definedExternally + set(value) = definedExternally + var content_type: String? + get() = definedExternally + set(value) = definedExternally + var item_id: String? + get() = definedExternally + set(value) = definedExternally + @nativeGetter + operator fun get(key: String): Any? + @nativeSetter + operator fun set(key: String, value: Any) +} + +external interface `T$34` { + var name: String + var value: Number + var event_category: String? + get() = definedExternally + set(value) = definedExternally + var event_label: String? + get() = definedExternally + set(value) = definedExternally + @nativeGetter + operator fun get(key: String): Any? + @nativeSetter + operator fun set(key: String, value: Any) +} + +external interface `T$35` { + var currency: String? + get() = definedExternally + set(value) = definedExternally + var items: Array? + get() = definedExternally + set(value) = definedExternally + var value: Number? + get() = definedExternally + set(value) = definedExternally + @nativeGetter + operator fun get(key: String): Any? + @nativeSetter + operator fun set(key: String, value: Any) +} + +external interface Analytics { + var app: App + fun logEvent(eventName: String /* "add_payment_info" */, eventParams: `T$17` = definedExternally, options: AnalyticsCallOptions = definedExternally) + fun logEvent(eventName: String /* "add_payment_info" | "add_shipping_info" | "add_to_cart" | "add_to_wishlist" | "remove_from_cart" | "begin_checkout" | "checkout_progress" | "exception" | "generate_lead" | "login" | "page_view" | "purchase" | "refund" | "screen_view" | "search" | "view_search_results" | "select_content" | "select_item" | "select_promotion" | "view_promotion" | "set_checkout_option" | "share" | "sign_up" | "timing_complete" | "view_cart" | "view_item" | "view_item_list" */) + fun logEvent(eventName: String /* "add_payment_info" */, eventParams: `T$17` = definedExternally) + fun logEvent(eventName: String /* "add_shipping_info" */, eventParams: `T$18` = definedExternally, options: AnalyticsCallOptions = definedExternally) + fun logEvent(eventName: String /* "add_shipping_info" */, eventParams: `T$18` = definedExternally) + fun logEvent(eventName: String /* "add_to_cart" | "add_to_wishlist" | "remove_from_cart" */, eventParams: `T$19` = definedExternally, options: AnalyticsCallOptions = definedExternally) + fun logEvent(eventName: String /* "add_to_cart" | "add_to_wishlist" | "remove_from_cart" */, eventParams: `T$19` = definedExternally) + fun logEvent(eventName: String /* "begin_checkout" */, eventParams: `T$20` = definedExternally, options: AnalyticsCallOptions = definedExternally) + fun logEvent(eventName: String /* "begin_checkout" */, eventParams: `T$20` = definedExternally) + fun logEvent(eventName: String /* "checkout_progress" */, eventParams: `T$21` = definedExternally, options: AnalyticsCallOptions = definedExternally) + fun logEvent(eventName: String /* "checkout_progress" */, eventParams: `T$21` = definedExternally) + fun logEvent(eventName: String /* "exception" */, eventParams: `T$22` = definedExternally, options: AnalyticsCallOptions = definedExternally) + fun logEvent(eventName: String /* "exception" */, eventParams: `T$22` = definedExternally) + fun logEvent(eventName: String /* "generate_lead" */, eventParams: `T$23` = definedExternally, options: AnalyticsCallOptions = definedExternally) + fun logEvent(eventName: String /* "generate_lead" */, eventParams: `T$23` = definedExternally) + fun logEvent(eventName: String /* "login" | "sign_up" */, eventParams: `T$24` = definedExternally, options: AnalyticsCallOptions = definedExternally) + fun logEvent(eventName: String /* "login" | "sign_up" */, eventParams: `T$24` = definedExternally) + fun logEvent(eventName: String /* "page_view" */, eventParams: `T$25` = definedExternally, options: AnalyticsCallOptions = definedExternally) + fun logEvent(eventName: String /* "page_view" */, eventParams: `T$25` = definedExternally) + fun logEvent(eventName: String /* "purchase" | "refund" */, eventParams: `T$26` = definedExternally, options: AnalyticsCallOptions = definedExternally) + fun logEvent(eventName: String /* "purchase" | "refund" */, eventParams: `T$26` = definedExternally) + fun logEvent(eventName: String /* "screen_view" */, eventParams: `T$27` = definedExternally, options: AnalyticsCallOptions = definedExternally) + fun logEvent(eventName: String /* "screen_view" */, eventParams: `T$27` = definedExternally) + fun logEvent(eventName: String /* "search" | "view_search_results" */, eventParams: `T$28` = definedExternally, options: AnalyticsCallOptions = definedExternally) + fun logEvent(eventName: String /* "search" | "view_search_results" */, eventParams: `T$28` = definedExternally) + fun logEvent(eventName: String /* "select_content" */, eventParams: `T$29` = definedExternally, options: AnalyticsCallOptions = definedExternally) + fun logEvent(eventName: String /* "select_content" */, eventParams: `T$29` = definedExternally) + fun logEvent(eventName: String /* "select_item" | "view_item_list" */, eventParams: `T$30` = definedExternally, options: AnalyticsCallOptions = definedExternally) + fun logEvent(eventName: String /* "select_item" | "view_item_list" */, eventParams: `T$30` = definedExternally) + fun logEvent(eventName: String /* "select_promotion" | "view_promotion" */, eventParams: `T$31` = definedExternally, options: AnalyticsCallOptions = definedExternally) + fun logEvent(eventName: String /* "select_promotion" | "view_promotion" */, eventParams: `T$31` = definedExternally) + fun logEvent(eventName: String /* "set_checkout_option" */, eventParams: `T$32` = definedExternally, options: AnalyticsCallOptions = definedExternally) + fun logEvent(eventName: String /* "set_checkout_option" */, eventParams: `T$32` = definedExternally) + fun logEvent(eventName: String /* "share" */, eventParams: `T$33` = definedExternally, options: AnalyticsCallOptions = definedExternally) + fun logEvent(eventName: String /* "share" */, eventParams: `T$33` = definedExternally) + fun logEvent(eventName: String /* "timing_complete" */, eventParams: `T$34` = definedExternally, options: AnalyticsCallOptions = definedExternally) + fun logEvent(eventName: String /* "timing_complete" */, eventParams: `T$34` = definedExternally) + fun logEvent(eventName: String /* "view_cart" | "view_item" */, eventParams: `T$35` = definedExternally, options: AnalyticsCallOptions = definedExternally) + fun logEvent(eventName: String /* "view_cart" | "view_item" */, eventParams: `T$35` = definedExternally) + fun logEvent(eventName: CustomEventName, eventParams: Json = definedExternally, options: AnalyticsCallOptions = definedExternally) + fun logEvent(eventName: CustomEventName) + fun logEvent(eventName: CustomEventName, eventParams: Json = definedExternally) + fun setCurrentScreen(screenName: String, options: AnalyticsCallOptions = definedExternally) + fun setUserId(id: String, options: AnalyticsCallOptions = definedExternally) + fun setUserProperties(properties: CustomParams, options: AnalyticsCallOptions = definedExternally) + fun setAnalyticsCollectionEnabled(enabled: Boolean) +} + +external interface AnalyticsCallOptions { + var global: Boolean +} + +external interface SettingsOptions { + var gtagName: String? + get() = definedExternally + set(value) = definedExternally + var dataLayerName: String? + get() = definedExternally + set(value) = definedExternally +} + +external fun settings(settings: SettingsOptions) + +external interface ControlParams { + var groups: dynamic /* String? | Array? */ + get() = definedExternally + set(value) = definedExternally + var send_to: dynamic /* String? | Array? */ + get() = definedExternally + set(value) = definedExternally + var event_callback: (() -> Unit)? + get() = definedExternally + set(value) = definedExternally + var event_timeout: Number? + get() = definedExternally + set(value) = definedExternally +} + +external interface EventParams { + var checkout_option: String? + get() = definedExternally + set(value) = definedExternally + var checkout_step: Number? + get() = definedExternally + set(value) = definedExternally + var item_id: String? + get() = definedExternally + set(value) = definedExternally + var content_type: String? + get() = definedExternally + set(value) = definedExternally + var coupon: String? + get() = definedExternally + set(value) = definedExternally + var currency: String? + get() = definedExternally + set(value) = definedExternally + var description: String? + get() = definedExternally + set(value) = definedExternally + var fatal: Boolean? + get() = definedExternally + set(value) = definedExternally + var items: Array? + get() = definedExternally + set(value) = definedExternally + var method: String? + get() = definedExternally + set(value) = definedExternally + var number: String? + get() = definedExternally + set(value) = definedExternally + var promotions: Array? + get() = definedExternally + set(value) = definedExternally + var screen_name: String? + get() = definedExternally + set(value) = definedExternally + var firebase_screen: String? + get() = definedExternally + set(value) = definedExternally + var firebase_screen_class: String? + get() = definedExternally + set(value) = definedExternally + var search_term: String? + get() = definedExternally + set(value) = definedExternally + var shipping: dynamic /* String? | Number? */ + get() = definedExternally + set(value) = definedExternally + var tax: dynamic /* String? | Number? */ + get() = definedExternally + set(value) = definedExternally + var transaction_id: String? + get() = definedExternally + set(value) = definedExternally + var value: Number? + get() = definedExternally + set(value) = definedExternally + var event_label: String? + get() = definedExternally + set(value) = definedExternally + var event_category: String + var shipping_tier: String? + get() = definedExternally + set(value) = definedExternally + var item_list_id: String? + get() = definedExternally + set(value) = definedExternally + var item_list_name: String? + get() = definedExternally + set(value) = definedExternally + var promotion_id: String? + get() = definedExternally + set(value) = definedExternally + var promotion_name: String? + get() = definedExternally + set(value) = definedExternally + var payment_type: String? + get() = definedExternally + set(value) = definedExternally + var affiliation: String? + get() = definedExternally + set(value) = definedExternally +} + +external interface CustomParams { + @nativeGetter + operator fun get(key: String): Any? + @nativeSetter + operator fun set(key: String, value: Any) +} + +external enum class EventName { + ADD_PAYMENT_INFO /* = 'add_payment_info' */, + ADD_SHIPPING_INFO /* = 'add_shipping_info' */, + ADD_TO_CART /* = 'add_to_cart' */, + ADD_TO_WISHLIST /* = 'add_to_wishlist' */, + BEGIN_CHECKOUT /* = 'begin_checkout' */, + CHECKOUT_PROGRESS /* = 'checkout_progress' */, + EXCEPTION /* = 'exception' */, + GENERATE_LEAD /* = 'generate_lead' */, + LOGIN /* = 'login' */, + PAGE_VIEW /* = 'page_view' */, + PURCHASE /* = 'purchase' */, + REFUND /* = 'refund' */, + REMOVE_FROM_CART /* = 'remove_from_cart' */, + SCREEN_VIEW /* = 'screen_view' */, + SEARCH /* = 'search' */, + SELECT_CONTENT /* = 'select_content' */, + SELECT_ITEM /* = 'select_item' */, + SELECT_PROMOTION /* = 'select_promotion' */, + SET_CHECKOUT_OPTION /* = 'set_checkout_option' */, + SHARE /* = 'share' */, + SIGN_UP /* = 'sign_up' */, + TIMING_COMPLETE /* = 'timing_complete' */, + VIEW_CART /* = 'view_cart' */, + VIEW_ITEM /* = 'view_item' */, + VIEW_ITEM_LIST /* = 'view_item_list' */, + VIEW_PROMOTION /* = 'view_promotion' */, + VIEW_SEARCH_RESULTS /* = 'view_search_results' */ +} + +external interface Item { + var item_id: String? + get() = definedExternally + set(value) = definedExternally + var item_name: String? + get() = definedExternally + set(value) = definedExternally + var item_brand: String? + get() = definedExternally + set(value) = definedExternally + var item_category: String? + get() = definedExternally + set(value) = definedExternally + var item_category2: String? + get() = definedExternally + set(value) = definedExternally + var item_category3: String? + get() = definedExternally + set(value) = definedExternally + var item_category4: String? + get() = definedExternally + set(value) = definedExternally + var item_category5: String? + get() = definedExternally + set(value) = definedExternally + var item_variant: String? + get() = definedExternally + set(value) = definedExternally + var price: dynamic /* String? | Number? */ + get() = definedExternally + set(value) = definedExternally + var quantity: Number? + get() = definedExternally + set(value) = definedExternally + var index: Number? + get() = definedExternally + set(value) = definedExternally + var coupon: String? + get() = definedExternally + set(value) = definedExternally + var item_list_name: String? + get() = definedExternally + set(value) = definedExternally + var item_list_id: String? + get() = definedExternally + set(value) = definedExternally + var discount: dynamic /* String? | Number? */ + get() = definedExternally + set(value) = definedExternally + var affiliation: String? + get() = definedExternally + set(value) = definedExternally + var creative_name: String? + get() = definedExternally + set(value) = definedExternally + var creative_slot: String? + get() = definedExternally + set(value) = definedExternally + var promotion_id: String? + get() = definedExternally + set(value) = definedExternally + var promotion_name: String? + get() = definedExternally + set(value) = definedExternally + var location_id: String? + get() = definedExternally + set(value) = definedExternally + var brand: String? + get() = definedExternally + set(value) = definedExternally + var category: String? + get() = definedExternally + set(value) = definedExternally + var id: String? + get() = definedExternally + set(value) = definedExternally + var name: String? + get() = definedExternally + set(value) = definedExternally +} + +external interface Promotion { + var creative_name: String? + get() = definedExternally + set(value) = definedExternally + var creative_slot: String? + get() = definedExternally + set(value) = definedExternally + var id: String? + get() = definedExternally + set(value) = definedExternally + var name: String? + get() = definedExternally + set(value) = definedExternally +} + +external fun isSupported(): Promise \ No newline at end of file diff --git a/sample-firebase/src/main/kotlin/index.firebase.app.module_firebase_compat.kt b/sample-firebase/src/main/kotlin/index.firebase.app.module_firebase_compat.kt new file mode 100644 index 0000000..79a0927 --- /dev/null +++ b/sample-firebase/src/main/kotlin/index.firebase.app.module_firebase_compat.kt @@ -0,0 +1,19 @@ +@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS") + +import kotlin.js.* + +external interface App { + fun auth(): Auth + fun database(url: String = definedExternally): Database + fun delete(): Promise + fun installations(): Installations + fun messaging(): Messaging + var name: String + var automaticDataCollectionEnabled: Boolean + var options: Any + fun functions(regionOrCustomDomain: String = definedExternally): Functions + fun performance(): Performance + fun remoteConfig(): RemoteConfig + fun analytics(): Analytics + fun appCheck(): AppCheck +} \ No newline at end of file diff --git a/sample-firebase/src/main/kotlin/index.firebase.appCheck.module_firebase_compat.kt b/sample-firebase/src/main/kotlin/index.firebase.appCheck.module_firebase_compat.kt new file mode 100644 index 0000000..4d1c1bf --- /dev/null +++ b/sample-firebase/src/main/kotlin/index.firebase.appCheck.module_firebase_compat.kt @@ -0,0 +1,58 @@ +@file:JsQualifier("appCheck") +@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS") + +import kotlin.js.* + +external interface AppCheckTokenResult { + var token: String +} + +external open class ReCaptchaV3Provider(siteKey: String) + +external open class CustomProvider(options: CustomProviderOptions) + +external interface CustomProviderOptions { + var getToken: () -> Promise +} + +external interface `T$6` { + var getToken: () -> AppCheckToken +} + +external interface `T$7` { + var next: (tokenResult: AppCheckTokenResult) -> Unit + var error: ((error: Error) -> Unit)? + get() = definedExternally + set(value) = definedExternally + var complete: (() -> Unit)? + get() = definedExternally + set(value) = definedExternally +} + +external interface AppCheck { + fun activate(provider: ReCaptchaV3Provider, isTokenAutoRefreshEnabled: Boolean = definedExternally) + fun activate(provider: ReCaptchaV3Provider) + fun activate(provider: CustomProvider, isTokenAutoRefreshEnabled: Boolean = definedExternally) + fun activate(provider: CustomProvider) + fun activate(provider: AppCheckProvider, isTokenAutoRefreshEnabled: Boolean = definedExternally) + fun activate(provider: AppCheckProvider) + fun activate(provider: `T$6`, isTokenAutoRefreshEnabled: Boolean = definedExternally) + fun activate(provider: `T$6`) + fun activate(provider: String, isTokenAutoRefreshEnabled: Boolean = definedExternally) + fun activate(provider: String) + fun setTokenAutoRefreshEnabled(isTokenAutoRefreshEnabled: Boolean) + fun getToken(forceRefresh: Boolean = definedExternally): Promise + fun onTokenChanged(observer: `T$7`): Unsubscribe + fun onTokenChanged(onNext: (tokenResult: AppCheckTokenResult) -> Unit, onError: (error: Error) -> Unit = definedExternally, onCompletion: () -> Unit = definedExternally): Unsubscribe + fun onTokenChanged(onNext: (tokenResult: AppCheckTokenResult) -> Unit): Unsubscribe + fun onTokenChanged(onNext: (tokenResult: AppCheckTokenResult) -> Unit, onError: (error: Error) -> Unit = definedExternally): Unsubscribe +} + +external interface AppCheckProvider { + fun getToken(): Promise +} + +external interface AppCheckToken { + var token: String + var expireTimeMillis: Number +} \ No newline at end of file diff --git a/sample-firebase/src/main/kotlin/index.firebase.auth.module_firebase_compat.kt b/sample-firebase/src/main/kotlin/index.firebase.auth.module_firebase_compat.kt new file mode 100644 index 0000000..8069401 --- /dev/null +++ b/sample-firebase/src/main/kotlin/index.firebase.auth.module_firebase_compat.kt @@ -0,0 +1,424 @@ +@file:JsQualifier("auth") +@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS") + +import kotlin.js.* + +external open class ActionCodeURL { + open var apiKey: String + open var code: String + open var continueUrl: String? + open var languageCode: String? + open var operation: Operation + open var tenantId: String? + + companion object { + fun parseLink(link: String): ActionCodeURL? + } +} + +external interface `T$13` { + var email: String? + get() = definedExternally + set(value) = definedExternally + var fromEmail: String? + get() = definedExternally + set(value) = definedExternally + var multiFactorInfo: MultiFactorInfo? + get() = definedExternally + set(value) = definedExternally + var previousEmail: String? + get() = definedExternally + set(value) = definedExternally +} + +external interface ActionCodeInfo { + var data: `T$13` + var operation: String +} + +external interface `T$14` { + var installApp: Boolean? + get() = definedExternally + set(value) = definedExternally + var minimumVersion: String? + get() = definedExternally + set(value) = definedExternally + var packageName: String +} + +external interface `T$15` { + var bundleId: String +} + +external interface ActionCodeSettings { + var android: `T$14`? + get() = definedExternally + set(value) = definedExternally + var handleCodeInApp: Boolean? + get() = definedExternally + set(value) = definedExternally + var iOS: `T$15`? + get() = definedExternally + set(value) = definedExternally + var url: String + var dynamicLinkDomain: String? + get() = definedExternally + set(value) = definedExternally +} + +external interface AdditionalUserInfo { + var isNewUser: Boolean + var profile: Any? + var providerId: String + var username: String? + get() = definedExternally + set(value) = definedExternally +} + +external interface ApplicationVerifier { + var type: String + fun verify(): Promise +} + +external interface AuthSettings { + var appVerificationDisabledForTesting: Boolean +} + +external interface Config { + var apiKey: String + var apiHost: String + var apiScheme: String + var tokenApiHost: String + var sdkClientVersion: String + var authDomain: String? + get() = definedExternally + set(value) = definedExternally +} + +external interface `T$16` { + var disableWarnings: Boolean +} + +external interface EmulatorConfig { + var protocol: String + var host: String + var port: Number? + var options: `T$16` +} + +external interface Auth { + var name: String + var config: Config + var emulatorConfig: EmulatorConfig? + var app: App + fun applyActionCode(code: String): Promise + fun checkActionCode(code: String): Promise + fun confirmPasswordReset(code: String, newPassword: String): Promise + fun createUserWithEmailAndPassword(email: String, password: String): Promise + var currentUser: User? + fun fetchSignInMethodsForEmail(email: String): Promise> + fun isSignInWithEmailLink(emailLink: String): Boolean + fun getRedirectResult(): Promise + var languageCode: String? + var settings: AuthSettings + fun onAuthStateChanged(nextOrObserver: Observer__1, error: (a: Error) -> Any = definedExternally, completed: Unsubscribe = definedExternally): Unsubscribe + fun onAuthStateChanged(nextOrObserver: Observer__1): Unsubscribe + fun onAuthStateChanged(nextOrObserver: Observer__1, error: (a: Error) -> Any = definedExternally): Unsubscribe + fun onAuthStateChanged(nextOrObserver: (a: User?) -> Any, error: (a: Error) -> Any = definedExternally, completed: Unsubscribe = definedExternally): Unsubscribe + fun onAuthStateChanged(nextOrObserver: (a: User?) -> Any): Unsubscribe + fun onAuthStateChanged(nextOrObserver: (a: User?) -> Any, error: (a: Error) -> Any = definedExternally): Unsubscribe + fun onIdTokenChanged(nextOrObserver: Observer__1, error: (a: Error) -> Any = definedExternally, completed: Unsubscribe = definedExternally): Unsubscribe + fun onIdTokenChanged(nextOrObserver: Observer__1): Unsubscribe + fun onIdTokenChanged(nextOrObserver: Observer__1, error: (a: Error) -> Any = definedExternally): Unsubscribe + fun onIdTokenChanged(nextOrObserver: (a: User?) -> Any, error: (a: Error) -> Any = definedExternally, completed: Unsubscribe = definedExternally): Unsubscribe + fun onIdTokenChanged(nextOrObserver: (a: User?) -> Any): Unsubscribe + fun onIdTokenChanged(nextOrObserver: (a: User?) -> Any, error: (a: Error) -> Any = definedExternally): Unsubscribe + fun sendSignInLinkToEmail(email: String, actionCodeSettings: ActionCodeSettings): Promise + fun sendPasswordResetEmail(email: String, actionCodeSettings: ActionCodeSettings? = definedExternally): Promise + fun setPersistence(persistence: Persistence): Promise + fun signInAndRetrieveDataWithCredential(credential: AuthCredential): Promise + fun signInAnonymously(): Promise + fun signInWithCredential(credential: AuthCredential): Promise + fun signInWithCustomToken(token: String): Promise + fun signInWithEmailAndPassword(email: String, password: String): Promise + fun signInWithPhoneNumber(phoneNumber: String, applicationVerifier: ApplicationVerifier): Promise + fun signInWithEmailLink(email: String, emailLink: String = definedExternally): Promise + fun signInWithPopup(provider: AuthProvider): Promise + fun signInWithRedirect(provider: AuthProvider): Promise + fun signOut(): Promise + var tenantId: String? + fun updateCurrentUser(user: User?): Promise + fun useDeviceLanguage() + fun useEmulator(url: String) + fun verifyPasswordResetCode(code: String): Promise +} + +external open class AuthCredential { + open var providerId: String + open var signInMethod: String + open fun toJSON(): Any + + companion object { + fun fromJSON(json: Any): AuthCredential? + fun fromJSON(json: String): AuthCredential? + } +} + +external open class OAuthCredential : AuthCredential { + open var idToken: String + open var accessToken: String + open var secret: String +} + +external interface AuthProvider { + var providerId: String +} + +external interface ConfirmationResult { + fun confirm(verificationCode: String): Promise + var verificationId: String +} + +external open class EmailAuthProvider : EmailAuthProvider_Instance { + companion object { + var PROVIDER_ID: String + var EMAIL_PASSWORD_SIGN_IN_METHOD: String + var EMAIL_LINK_SIGN_IN_METHOD: String + fun credential(email: String, password: String): AuthCredential + fun credentialWithLink(email: String, emailLink: String): AuthCredential + } +} + +external open class EmailAuthProvider_Instance : AuthProvider { + override var providerId: String +} + +external interface Error { + var name: String + var code: String + var message: String +} + +external interface AuthError : Error { + var credential: AuthCredential? + get() = definedExternally + set(value) = definedExternally + var email: String? + get() = definedExternally + set(value) = definedExternally + var phoneNumber: String? + get() = definedExternally + set(value) = definedExternally + var tenantId: String? + get() = definedExternally + set(value) = definedExternally +} + +external interface MultiFactorError : AuthError { + var resolver: MultiFactorResolver +} + +external open class FacebookAuthProvider : FacebookAuthProvider_Instance { + companion object { + var PROVIDER_ID: String + var FACEBOOK_SIGN_IN_METHOD: String + fun credential(token: String): OAuthCredential + } +} + +external open class FacebookAuthProvider_Instance : AuthProvider { + open fun addScope(scope: String): AuthProvider + override var providerId: String + open fun setCustomParameters(customOAuthParameters: Any): AuthProvider +} + +external open class GithubAuthProvider : GithubAuthProvider_Instance { + companion object { + var PROVIDER_ID: String + var GITHUB_SIGN_IN_METHOD: String + fun credential(token: String): OAuthCredential + } +} + +external open class GithubAuthProvider_Instance : AuthProvider { + open fun addScope(scope: String): AuthProvider + override var providerId: String + open fun setCustomParameters(customOAuthParameters: Any): AuthProvider +} + +external open class GoogleAuthProvider : GoogleAuthProvider_Instance { + companion object { + var PROVIDER_ID: String + var GOOGLE_SIGN_IN_METHOD: String + fun credential(idToken: String? = definedExternally, accessToken: String? = definedExternally): OAuthCredential + } +} + +external open class GoogleAuthProvider_Instance : AuthProvider { + open fun addScope(scope: String): AuthProvider + override var providerId: String + open fun setCustomParameters(customOAuthParameters: Any): AuthProvider +} + +external open class OAuthProvider(providerId: String) : AuthProvider { + override var providerId: String + open fun addScope(scope: String): AuthProvider + open fun credential(optionsOrIdToken: OAuthCredentialOptions?, accessToken: String = definedExternally): OAuthCredential + open fun credential(optionsOrIdToken: OAuthCredentialOptions?): OAuthCredential + open fun credential(optionsOrIdToken: String?, accessToken: String = definedExternally): OAuthCredential + open fun credential(optionsOrIdToken: String?): OAuthCredential + open fun setCustomParameters(customOAuthParameters: Any): AuthProvider +} + +external open class SAMLAuthProvider(providerId: String) : AuthProvider { + override var providerId: String +} + +external interface IdTokenResult { + var token: String + var expirationTime: String + var authTime: String + var issuedAtTime: String + var signInProvider: String? + var signInSecondFactor: String? + var claims: Json +} + +external interface OAuthCredentialOptions { + var idToken: String? + get() = definedExternally + set(value) = definedExternally + var accessToken: String? + get() = definedExternally + set(value) = definedExternally + var rawNonce: String? + get() = definedExternally + set(value) = definedExternally +} + +external open class MultiFactorAssertion { + open var factorId: String +} + +external open class PhoneMultiFactorAssertion : MultiFactorAssertion + +external open class PhoneMultiFactorGenerator { + companion object { + var FACTOR_ID: String + fun assertion(phoneAuthCredential: PhoneAuthCredential): PhoneMultiFactorAssertion + } +} + +external interface MultiFactorInfo { + var uid: String + var displayName: String? + get() = definedExternally + set(value) = definedExternally + var enrollmentTime: String + var factorId: String +} + +external interface PhoneMultiFactorInfo : MultiFactorInfo { + var phoneNumber: String +} + +external interface PhoneSingleFactorInfoOptions { + var phoneNumber: String +} + +external interface PhoneMultiFactorEnrollInfoOptions { + var phoneNumber: String + var session: MultiFactorSession +} + +external interface PhoneMultiFactorSignInInfoOptions { + var multiFactorHint: MultiFactorInfo? + get() = definedExternally + set(value) = definedExternally + var multiFactorUid: String? + get() = definedExternally + set(value) = definedExternally + var session: MultiFactorSession +} + +external open class MultiFactorResolver { + open var auth: Auth + open var session: MultiFactorSession + open var hints: Array + open fun resolveSignIn(assertion: MultiFactorAssertion): Promise +} + +external open class MultiFactorSession + +external open class PhoneAuthCredential : AuthCredential + +external open class PhoneAuthProvider(auth: Auth? = definedExternally) : PhoneAuthProvider_Instance { + companion object { + var PROVIDER_ID: String + var PHONE_SIGN_IN_METHOD: String + fun credential(verificationId: String, verificationCode: String): AuthCredential + } +} + +external open class PhoneAuthProvider_Instance(auth: Auth? = definedExternally) : AuthProvider { + override var providerId: String + open fun verifyPhoneNumber(phoneInfoOptions: PhoneSingleFactorInfoOptions, applicationVerifier: ApplicationVerifier): Promise + open fun verifyPhoneNumber(phoneInfoOptions: PhoneMultiFactorEnrollInfoOptions, applicationVerifier: ApplicationVerifier): Promise + open fun verifyPhoneNumber(phoneInfoOptions: PhoneMultiFactorSignInInfoOptions, applicationVerifier: ApplicationVerifier): Promise + open fun verifyPhoneNumber(phoneInfoOptions: String, applicationVerifier: ApplicationVerifier): Promise +} + +external open class RecaptchaVerifier : RecaptchaVerifier_Instance { + constructor(container: Any, parameters: Any? = definedExternally, app: App? = definedExternally) + constructor(container: Any) + constructor(container: Any, parameters: Any? = definedExternally) + constructor(container: String, parameters: Any? = definedExternally, app: App? = definedExternally) + constructor(container: String) + constructor(container: String, parameters: Any? = definedExternally) +} + +external open class RecaptchaVerifier_Instance : ApplicationVerifier { + constructor(container: Any, parameters: Any? = definedExternally, app: App? = definedExternally) + constructor(container: Any) + constructor(container: Any, parameters: Any? = definedExternally) + constructor(container: String, parameters: Any? = definedExternally, app: App? = definedExternally) + constructor(container: String) + constructor(container: String, parameters: Any? = definedExternally) + open fun clear() + open fun render(): Promise + override var type: String + override fun verify(): Promise +} + +external open class TwitterAuthProvider : TwitterAuthProvider_Instance { + companion object { + var PROVIDER_ID: String + var TWITTER_SIGN_IN_METHOD: String + fun credential(token: String, secret: String): OAuthCredential + } +} + +external open class TwitterAuthProvider_Instance : AuthProvider { + override var providerId: String + open fun setCustomParameters(customOAuthParameters: Any): AuthProvider +} + +external interface UserCredential { + var additionalUserInfo: AdditionalUserInfo? + get() = definedExternally + set(value) = definedExternally + var credential: AuthCredential? + var operationType: String? + get() = definedExternally + set(value) = definedExternally + var user: User? +} + +external interface UserMetadata { + var creationTime: String? + get() = definedExternally + set(value) = definedExternally + var lastSignInTime: String? + get() = definedExternally + set(value) = definedExternally +} \ No newline at end of file diff --git a/sample-firebase/src/main/kotlin/index.firebase.database.ServerValue.module_firebase_compat.kt b/sample-firebase/src/main/kotlin/index.firebase.database.ServerValue.module_firebase_compat.kt new file mode 100644 index 0000000..4d16a79 --- /dev/null +++ b/sample-firebase/src/main/kotlin/index.firebase.database.ServerValue.module_firebase_compat.kt @@ -0,0 +1,20 @@ +@file:JsQualifier("database.ServerValue") +@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 var TIMESTAMP: Any + +external fun increment(delta: Number): Any \ No newline at end of file diff --git a/sample-firebase/src/main/kotlin/index.firebase.database.module_firebase_compat.kt b/sample-firebase/src/main/kotlin/index.firebase.database.module_firebase_compat.kt new file mode 100644 index 0000000..18eb531 --- /dev/null +++ b/sample-firebase/src/main/kotlin/index.firebase.database.module_firebase_compat.kt @@ -0,0 +1,132 @@ +@file:JsQualifier("database") +@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS") + +import kotlin.js.* + +external interface DataSnapshot { + fun child(path: String): DataSnapshot + fun exists(): Boolean + fun exportVal(): Any + fun forEach(action: (a: DataSnapshot) -> Any): Boolean + fun getPriority(): dynamic /* String? | Number? */ + fun hasChild(path: String): Boolean + fun hasChildren(): Boolean + var key: String? + fun numChildren(): Number + fun `val`(): Any + var ref: Reference + fun toJSON(): Any? +} + +external interface `T$36` { + var mockUserToken: dynamic /* typealias EmulatorMockTokenOptions = dynamic | String? */ + get() = definedExternally + set(value) = definedExternally +} + +external interface Database { + var app: App + fun useEmulator(host: String, port: Number, options: `T$36` = definedExternally) + fun goOffline(): Any + fun goOnline(): Any + fun ref(path: String = definedExternally): Reference + fun refFromURL(url: String): Reference +} + +external interface OnDisconnect { + fun cancel(onComplete: (a: Error?) -> Any = definedExternally): Promise + fun remove(onComplete: (a: Error?) -> Any = definedExternally): Promise + fun set(value: Any, onComplete: (a: Error?) -> Any = definedExternally): Promise + fun setWithPriority(value: Any, priority: Number?, onComplete: (a: Error?) -> Any = definedExternally): Promise + fun setWithPriority(value: Any, priority: Number?): Promise + fun setWithPriority(value: Any, priority: String?, onComplete: (a: Error?) -> Any = definedExternally): Promise + fun setWithPriority(value: Any, priority: String?): Promise + fun update(values: Any, onComplete: (a: Error?) -> Any = definedExternally): Promise +} + +external interface Query { + fun endAt(value: Number?, key: String = definedExternally): Query + fun endAt(value: Number?): Query + fun endAt(value: String?, key: String = definedExternally): Query + fun endAt(value: String?): Query + fun endAt(value: Boolean?, key: String = definedExternally): Query + fun endAt(value: Boolean?): Query + fun endBefore(value: Number?, key: String = definedExternally): Query + fun endBefore(value: Number?): Query + fun endBefore(value: String?, key: String = definedExternally): Query + fun endBefore(value: String?): Query + fun endBefore(value: Boolean?, key: String = definedExternally): Query + fun endBefore(value: Boolean?): Query + fun equalTo(value: Number?, key: String = definedExternally): Query + fun equalTo(value: Number?): Query + fun equalTo(value: String?, key: String = definedExternally): Query + fun equalTo(value: String?): Query + fun equalTo(value: Boolean?, key: String = definedExternally): Query + fun equalTo(value: Boolean?): Query + fun isEqual(other: Query?): Boolean + fun limitToFirst(limit: Number): Query + fun limitToLast(limit: Number): Query + fun off(eventType: String /* "value" | "child_added" | "child_changed" | "child_moved" | "child_removed" */ = definedExternally, callback: (a: DataSnapshot, b: String?) -> Any = definedExternally, context: Any? = definedExternally) + fun get(): Promise + fun on(eventType: String /* "value" | "child_added" | "child_changed" | "child_moved" | "child_removed" */, callback: (a: DataSnapshot, b: String?) -> Any, cancelCallbackOrContext: ((a: Error) -> Any)? = definedExternally, context: Any? = definedExternally): (a: DataSnapshot?, b: String?) -> Any + fun on(eventType: String /* "value" | "child_added" | "child_changed" | "child_moved" | "child_removed" */, callback: (a: DataSnapshot, b: String?) -> Any): (a: DataSnapshot?, b: String?) -> Any + fun on(eventType: String /* "value" | "child_added" | "child_changed" | "child_moved" | "child_removed" */, callback: (a: DataSnapshot, b: String?) -> Any, cancelCallbackOrContext: ((a: Error) -> Any)? = definedExternally): (a: DataSnapshot?, b: String?) -> Any + fun on(eventType: String /* "value" | "child_added" | "child_changed" | "child_moved" | "child_removed" */, callback: (a: DataSnapshot, b: String?) -> Any, cancelCallbackOrContext: Any? = definedExternally, context: Any? = definedExternally): (a: DataSnapshot?, b: String?) -> Any + fun on(eventType: String /* "value" | "child_added" | "child_changed" | "child_moved" | "child_removed" */, callback: (a: DataSnapshot, b: String?) -> Any, cancelCallbackOrContext: Any? = definedExternally): (a: DataSnapshot?, b: String?) -> Any + fun once(eventType: String /* "value" | "child_added" | "child_changed" | "child_moved" | "child_removed" */, successCallback: (a: DataSnapshot, b: String?) -> Any = definedExternally, failureCallbackOrContext: ((a: Error) -> Unit)? = definedExternally, context: Any? = definedExternally): Promise + fun once(eventType: String /* "value" | "child_added" | "child_changed" | "child_moved" | "child_removed" */): Promise + fun once(eventType: String /* "value" | "child_added" | "child_changed" | "child_moved" | "child_removed" */, successCallback: (a: DataSnapshot, b: String?) -> Any = definedExternally): Promise + fun once(eventType: String /* "value" | "child_added" | "child_changed" | "child_moved" | "child_removed" */, successCallback: (a: DataSnapshot, b: String?) -> Any = definedExternally, failureCallbackOrContext: ((a: Error) -> Unit)? = definedExternally): Promise + fun once(eventType: String /* "value" | "child_added" | "child_changed" | "child_moved" | "child_removed" */, successCallback: (a: DataSnapshot, b: String?) -> Any = definedExternally, failureCallbackOrContext: Any? = definedExternally, context: Any? = definedExternally): Promise + fun once(eventType: String /* "value" | "child_added" | "child_changed" | "child_moved" | "child_removed" */, successCallback: (a: DataSnapshot, b: String?) -> Any = definedExternally, failureCallbackOrContext: Any? = definedExternally): Promise + fun orderByChild(path: String): Query + fun orderByKey(): Query + fun orderByPriority(): Query + fun orderByValue(): Query + var ref: Reference + fun startAt(value: Number?, key: String = definedExternally): Query + fun startAt(value: Number?): Query + fun startAt(value: String?, key: String = definedExternally): Query + fun startAt(value: String?): Query + fun startAt(value: Boolean?, key: String = definedExternally): Query + fun startAt(value: Boolean?): Query + fun startAfter(value: Number?, key: String = definedExternally): Query + fun startAfter(value: Number?): Query + fun startAfter(value: String?, key: String = definedExternally): Query + fun startAfter(value: String?): Query + fun startAfter(value: Boolean?, key: String = definedExternally): Query + fun startAfter(value: Boolean?): Query + fun toJSON(): Any + override fun toString(): String +} + +external interface Reference : Query { + fun child(path: String): Reference + var key: String? + fun onDisconnect(): OnDisconnect + var parent: Reference? + fun push(value: Any = definedExternally, onComplete: (a: Error?) -> Any = definedExternally): ThenableReference + fun remove(onComplete: (a: Error?) -> Any = definedExternally): Promise + var root: Reference + fun set(value: Any, onComplete: (a: Error?) -> Any = definedExternally): Promise + fun setPriority(priority: String?, onComplete: (a: Error?) -> Any): Promise + fun setPriority(priority: Number?, onComplete: (a: Error?) -> Any): Promise + fun setWithPriority(newVal: Any, newPriority: String?, onComplete: (a: Error?) -> Any = definedExternally): Promise + fun setWithPriority(newVal: Any, newPriority: String?): Promise + fun setWithPriority(newVal: Any, newPriority: Number?, onComplete: (a: Error?) -> Any = definedExternally): Promise + fun setWithPriority(newVal: Any, newPriority: Number?): Promise + fun transaction(transactionUpdate: (a: Any) -> Any, onComplete: (a: Error?, b: Boolean, c: DataSnapshot?) -> Any = definedExternally, applyLocally: Boolean = definedExternally): Promise + fun update(values: Any, onComplete: (a: Error?) -> Any = definedExternally): Promise +} + +external interface ThenableReference : Reference, Pick, String /* "then" | "catch" */> + +external fun enableLogging(logger: Boolean = definedExternally, persistent: Boolean = definedExternally): Any + +external fun enableLogging(): Any + +external fun enableLogging(logger: Boolean = definedExternally): Any + +external fun enableLogging(logger: (a: String) -> Any = definedExternally, persistent: Boolean = definedExternally): Any + +external fun enableLogging(logger: (a: String) -> Any = definedExternally): Any \ No newline at end of file diff --git a/sample-firebase/src/main/kotlin/index.firebase.functions.module_firebase_compat.kt b/sample-firebase/src/main/kotlin/index.firebase.functions.module_firebase_compat.kt new file mode 100644 index 0000000..2473d0c --- /dev/null +++ b/sample-firebase/src/main/kotlin/index.firebase.functions.module_firebase_compat.kt @@ -0,0 +1,25 @@ +@file:JsQualifier("functions") +@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS") + +import kotlin.js.* + +external interface HttpsCallableResult { + var data: Any +} + +external interface HttpsCallable { + @nativeInvoke + operator fun invoke(data: Any = definedExternally): Promise +} + +external interface HttpsCallableOptions { + var timeout: Number? + get() = definedExternally + set(value) = definedExternally +} + +external open class Functions { + open fun useEmulator(host: String, port: Number) + open fun useFunctionsEmulator(url: String) + open fun httpsCallable(name: String, options: HttpsCallableOptions = definedExternally): HttpsCallable +} \ No newline at end of file diff --git a/sample-firebase/src/main/kotlin/index.firebase.installations.module_firebase_compat.kt b/sample-firebase/src/main/kotlin/index.firebase.installations.module_firebase_compat.kt new file mode 100644 index 0000000..bffea69 --- /dev/null +++ b/sample-firebase/src/main/kotlin/index.firebase.installations.module_firebase_compat.kt @@ -0,0 +1,12 @@ +@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS") + +import kotlin.js.* +import App + +external interface Installations { + var app: App + fun getId(): Promise + fun getToken(forceRefresh: Boolean = definedExternally): Promise + fun delete(): Promise + fun onIdChange(callback: (installationId: String) -> Unit): () -> Unit +} \ No newline at end of file diff --git a/sample-firebase/src/main/kotlin/index.firebase.messaging.module_firebase_compat.kt b/sample-firebase/src/main/kotlin/index.firebase.messaging.module_firebase_compat.kt new file mode 100644 index 0000000..6be8e63 --- /dev/null +++ b/sample-firebase/src/main/kotlin/index.firebase.messaging.module_firebase_compat.kt @@ -0,0 +1,60 @@ +@file:JsQualifier("messaging") +@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS") + +import kotlin.js.* +import org.w3c.workers.* + +external interface `T$37` { + var vapidKey: String? + get() = definedExternally + set(value) = definedExternally + var serviceWorkerRegistration: ServiceWorkerRegistration? + get() = definedExternally + set(value) = definedExternally +} + +external interface Messaging { + fun deleteToken(): Promise + fun getToken(options: `T$37` = definedExternally): Promise + fun onMessage(nextOrObserver: NextFn): Unsubscribe + fun onMessage(nextOrObserver: Observer__1): Unsubscribe + fun onBackgroundMessage(nextOrObserver: NextFn): Unsubscribe + fun onBackgroundMessage(nextOrObserver: Observer__1): Unsubscribe +} + +external interface MessagePayload { + var notification: NotificationPayload? + get() = definedExternally + set(value) = definedExternally + var data: `T$9`? + get() = definedExternally + set(value) = definedExternally + var fcmOptions: FcmOptions? + get() = definedExternally + set(value) = definedExternally + var from: String + var collapseKey: String +} + +external interface FcmOptions { + var link: String? + get() = definedExternally + set(value) = definedExternally + var analyticsLabel: String? + get() = definedExternally + set(value) = definedExternally +} + +external interface NotificationPayload { + var title: String? + get() = definedExternally + set(value) = definedExternally + var body: String? + get() = definedExternally + set(value) = definedExternally + var image: String? + get() = definedExternally + set(value) = definedExternally +} + +external fun isSupported(): Boolean \ No newline at end of file diff --git a/sample-firebase/src/main/kotlin/index.firebase.module_firebase_compat.kt b/sample-firebase/src/main/kotlin/index.firebase.module_firebase_compat.kt new file mode 100644 index 0000000..1350a80 --- /dev/null +++ b/sample-firebase/src/main/kotlin/index.firebase.module_firebase_compat.kt @@ -0,0 +1,220 @@ +@file:JsQualifier("firebase") +@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS") + +import kotlin.js.* + +external interface FirebaseError { + var code: String + var message: String + var name: String /* "FirebaseError" */ + var stack: String? + get() = definedExternally + set(value) = definedExternally +} + +external interface Observer { + var next: NextFn + var error: ErrorFn + var complete: CompleteFn +} + +external interface Observer__1 : Observer + +external var SDK_VERSION: String + +external fun registerVersion(library: String, version: String, variant: String = definedExternally) + +external fun setLogLevel(logLevel: String /* "debug" | "verbose" | "info" | "warn" | "error" | "silent" */) + +external interface `T$0` { + var level: String /* "debug" | "verbose" | "info" | "warn" | "error" | "silent" */ + var message: String + var args: Array + var type: String +} + +external interface `T$1` { + var level: String /* "debug" | "verbose" | "info" | "warn" | "error" | "silent" */ +} + +external fun onLog(logCallback: (callbackParams: `T$0`) -> Unit, options: `T$1` = definedExternally) + +external interface `T$2` { + var displayName: String? + get() = definedExternally + set(value) = definedExternally + var photoURL: String? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +external interface User : UserInfo { + fun delete(): Promise + var emailVerified: Boolean + fun getIdTokenResult(forceRefresh: Boolean = definedExternally): Promise + fun getIdToken(forceRefresh: Boolean = definedExternally): Promise + var isAnonymous: Boolean + fun linkAndRetrieveDataWithCredential(credential: AuthCredential): Promise + fun linkWithCredential(credential: AuthCredential): Promise + fun linkWithPhoneNumber(phoneNumber: String, applicationVerifier: ApplicationVerifier): Promise + fun linkWithPopup(provider: AuthProvider): Promise + fun linkWithRedirect(provider: AuthProvider): Promise + var metadata: UserMetadata + var multiFactor: MultiFactorUser + override var phoneNumber: String? + var providerData: Array + fun reauthenticateAndRetrieveDataWithCredential(credential: AuthCredential): Promise + fun reauthenticateWithCredential(credential: AuthCredential): Promise + fun reauthenticateWithPhoneNumber(phoneNumber: String, applicationVerifier: ApplicationVerifier): Promise + fun reauthenticateWithPopup(provider: AuthProvider): Promise + fun reauthenticateWithRedirect(provider: AuthProvider): Promise + var refreshToken: String + fun reload(): Promise + fun sendEmailVerification(actionCodeSettings: ActionCodeSettings? = definedExternally): Promise + var tenantId: String? + fun toJSON(): Any + fun unlink(providerId: String): Promise + fun updateEmail(newEmail: String): Promise + fun updatePassword(newPassword: String): Promise + fun updatePhoneNumber(phoneCredential: AuthCredential): Promise + fun updateProfile(profile: `T$2`): Promise + fun verifyBeforeUpdateEmail(newEmail: String, actionCodeSettings: ActionCodeSettings? = definedExternally): Promise + interface MultiFactorUser { + var enrolledFactors: Array + fun enroll(assertion: MultiFactorAssertion, displayName: String? = definedExternally): Promise + fun getSession(): Promise + fun unenroll(option: MultiFactorInfo): Promise + fun unenroll(option: String): Promise + } +} + +external interface UserInfo { + var displayName: String? + var email: String? + var phoneNumber: String? + var photoURL: String? + var providerId: String + var uid: String +} + +external interface `T$3` { + 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$3` + @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$3`? + get() = definedExternally + set(value) = definedExternally + var uid: Any? + get() = definedExternally + set(value) = definedExternally +} + +external interface `T$4` { + var user_id: String +} + +external interface `T$5` { + var sub: String +} + +external fun app(name: String = definedExternally): App + +external var apps: Array + +external fun auth(app: App = definedExternally): Auth + +external fun database(app: App = definedExternally): Database + +external fun initializeApp(options: Any, name: String = definedExternally): App + +external fun messaging(app: App = definedExternally): Messaging + +external fun functions(app: App = definedExternally): Functions + +external fun performance(app: App = definedExternally): Performance + +external fun remoteConfig(app: App = definedExternally): RemoteConfig + +external fun analytics(app: App = definedExternally): Analytics + +external fun appCheck(app: App = definedExternally): AppCheck \ No newline at end of file diff --git a/sample-firebase/src/main/kotlin/index.firebase.performance.module_firebase_compat.kt b/sample-firebase/src/main/kotlin/index.firebase.performance.module_firebase_compat.kt new file mode 100644 index 0000000..5fcc96b --- /dev/null +++ b/sample-firebase/src/main/kotlin/index.firebase.performance.module_firebase_compat.kt @@ -0,0 +1,46 @@ +@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS") + +import kotlin.js.* + +external interface Performance { + var app: App + fun trace(traceName: String): Trace + var instrumentationEnabled: Boolean + var dataCollectionEnabled: Boolean +} + +external interface `T$8` { + @nativeGetter + operator fun get(key: String): Number? + @nativeSetter + operator fun set(key: String, value: Number) +} + +external interface `T$9` { + @nativeGetter + operator fun get(key: String): String? + @nativeSetter + operator fun set(key: String, value: String) +} + +external interface `T$10` { + var metrics: `T$8`? + get() = definedExternally + set(value) = definedExternally + var attributes: `T$9`? + get() = definedExternally + set(value) = definedExternally +} + +external interface Trace { + fun start() + fun stop() + fun record(startTime: Number, duration: Number, options: `T$10` = definedExternally) + fun incrementMetric(metricName: String, num: Number = definedExternally) + fun putMetric(metricName: String, num: Number) + fun getMetric(metricName: String): Number + fun putAttribute(attr: String, value: String) + fun getAttribute(attr: String): String? + fun removeAttribute(attr: String) + fun getAttributes(): `T$9` +} \ No newline at end of file diff --git a/sample-firebase/src/main/kotlin/index.firebase.remoteConfig.module_firebase_compat.kt b/sample-firebase/src/main/kotlin/index.firebase.remoteConfig.module_firebase_compat.kt new file mode 100644 index 0000000..42d235d --- /dev/null +++ b/sample-firebase/src/main/kotlin/index.firebase.remoteConfig.module_firebase_compat.kt @@ -0,0 +1,54 @@ +@file:JsQualifier("remoteConfig") +@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS") + +import kotlin.js.* + +external interface `T$11` { + @nativeGetter + operator fun get(key: String): dynamic /* String? | Number? | Boolean? */ + @nativeSetter + operator fun set(key: String, value: String) + @nativeSetter + operator fun set(key: String, value: Number) + @nativeSetter + operator fun set(key: String, value: Boolean) +} + +external interface `T$12` { + @nativeGetter + operator fun get(key: String): Value? + @nativeSetter + operator fun set(key: String, value: Value) +} + +external interface RemoteConfig { + var app: App + var settings: Settings + var defaultConfig: `T$11` + var fetchTimeMillis: Number + var lastFetchStatus: String /* "no-fetch-yet" | "success" | "failure" | "throttle" */ + fun activate(): Promise + fun ensureInitialized(): Promise + fun fetch(): Promise + fun fetchAndActivate(): Promise + fun getAll(): `T$12` + fun getBoolean(key: String): Boolean + fun getNumber(key: String): Number + fun getString(key: String): String + fun getValue(key: String): Value + fun setLogLevel(logLevel: String /* "debug" | "error" | "silent" */) +} + +external interface Value { + fun asBoolean(): Boolean + fun asNumber(): Number + fun asString(): String + fun getSource(): String /* "static" | "default" | "remote" */ +} + +external interface Settings { + var minimumFetchIntervalMillis: Number + var fetchTimeoutMillis: Number +} + +external fun isSupported(): Promise \ No newline at end of file diff --git a/sample-firebase/src/main/kotlin/lib.es2015.collection.kt b/sample-firebase/src/main/kotlin/lib.es2015.collection.kt new file mode 100644 index 0000000..1c1a7fe --- /dev/null +++ b/sample-firebase/src/main/kotlin/lib.es2015.collection.kt @@ -0,0 +1,13 @@ +@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS") + +import kotlin.js.* + +external interface ReadonlyMap { + fun entries(): IterableIterator */> + fun keys(): IterableIterator + fun values(): IterableIterator + fun forEach(callbackfn: (value: V, key: K, map: ReadonlyMap) -> Unit, thisArg: Any = definedExternally) + fun get(key: K): V? + fun has(key: K): Boolean + var size: Number +} \ No newline at end of file diff --git a/sample-firebase/src/main/kotlin/lib.es2015.iterable.kt b/sample-firebase/src/main/kotlin/lib.es2015.iterable.kt new file mode 100644 index 0000000..26f9487 --- /dev/null +++ b/sample-firebase/src/main/kotlin/lib.es2015.iterable.kt @@ -0,0 +1,41 @@ +@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS") + +import kotlin.js.* + +external interface IteratorYieldResult { + var done: Boolean? + get() = definedExternally + set(value) = definedExternally + var value: TYield +} + +external interface IteratorReturnResult { + var done: Boolean + var value: TReturn +} + +external interface Iterator { + fun next(vararg args: Any /* JsTuple<> | JsTuple */): dynamic /* IteratorYieldResult | IteratorReturnResult */ + val `return`: ((value: TReturn) -> dynamic)? + val `throw`: ((e: Any) -> dynamic)? +} + +typealias Iterator__1 = Iterator + +external interface Iterable + +external interface IterableIterator : Iterator__1 + +external interface PromiseConstructor { + var prototype: Promise + fun all(values: Any /* JsTuple | JsTuple | JsTuple | JsTuple | JsTuple | JsTuple | JsTuple | JsTuple | JsTuple */): Promise | JsTuple | JsTuple | JsTuple | JsTuple | JsTuple | JsTuple | JsTuple | JsTuple */> + fun all(values: Array */>): Promise> + fun race(values: Array): Promise + fun reject(reason: Any = definedExternally): Promise + fun resolve(value: T): Promise + fun resolve(value: PromiseLike): Promise + fun resolve(): Promise + fun all(values: Iterable */>): Promise> + fun race(values: Iterable): Promise + fun race(values: Iterable */>): Promise +} \ No newline at end of file diff --git a/sample-firebase/src/main/kotlin/lib.es5.Intl.module_dukat.kt b/sample-firebase/src/main/kotlin/lib.es5.Intl.module_dukat.kt new file mode 100644 index 0000000..ee119cc --- /dev/null +++ b/sample-firebase/src/main/kotlin/lib.es5.Intl.module_dukat.kt @@ -0,0 +1,207 @@ +@file:JsQualifier("tsstdlib.Intl") +@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS") + +import kotlin.js.* + +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 */ = definedExternally, options: CollatorOptions = definedExternally): Collator + fun supportedLocalesOf(locales: Any /* String | Array */, options: CollatorOptions = definedExternally): Array + } +} + +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 */ = definedExternally, options: NumberFormatOptions = definedExternally): NumberFormat + fun supportedLocalesOf(locales: Any /* String | Array */, options: NumberFormatOptions = definedExternally): Array + } +} + +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 */ = definedExternally, options: DateTimeFormatOptions = definedExternally): DateTimeFormat + fun supportedLocalesOf(locales: Any /* String | Array */, options: DateTimeFormatOptions = definedExternally): Array + } +} \ No newline at end of file diff --git a/sample-firebase/src/main/kotlin/lib.es5.kt b/sample-firebase/src/main/kotlin/lib.es5.kt new file mode 100644 index 0000000..043814f --- /dev/null +++ b/sample-firebase/src/main/kotlin/lib.es5.kt @@ -0,0 +1,269 @@ +@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS") + +import kotlin.js.* +import org.khronos.webgl.* + +external interface PropertyDescriptor { + var configurable: Boolean? + get() = definedExternally + set(value) = definedExternally + var enumerable: Boolean? + get() = definedExternally + set(value) = definedExternally + var value: Any? + get() = definedExternally + set(value) = definedExternally + var writable: Boolean? + get() = definedExternally + set(value) = definedExternally + val get: (() -> Any)? + val set: ((v: Any) -> Unit)? +} + +external interface PropertyDescriptorMap { + @nativeGetter + operator fun get(s: String): PropertyDescriptor? + @nativeSetter + operator fun set(s: String, value: PropertyDescriptor) +} + +external interface Object { + var constructor: Function<*> + override fun toString(): String + fun toLocaleString(): String + fun valueOf(): Any + fun hasOwnProperty(v: String): Boolean + fun hasOwnProperty(v: Number): Boolean + fun hasOwnProperty(v: Any): Boolean + fun isPrototypeOf(v: Any): Boolean + fun propertyIsEnumerable(v: String): Boolean + fun propertyIsEnumerable(v: Number): Boolean + fun propertyIsEnumerable(v: Any): Boolean +} + +external interface ObjectConstructor { + fun assign(target: T, source: U): T /* T & U */ + fun assign(target: T, source1: U, source2: V): T /* T & U & V */ + fun assign(target: T, source1: U, source2: V, source3: W): T /* T & U & V & W */ + fun assign(target: Any?, vararg sources: Any): Any + fun getOwnPropertySymbols(o: Any): Array + fun keys(o: Any): Array + fun `is`(value1: Any, value2: Any): Boolean + fun setPrototypeOf(o: Any, proto: Any?): Any + @nativeInvoke + operator fun invoke(): Any + @nativeInvoke + operator fun invoke(value: Any): Any + var prototype: Any + fun getPrototypeOf(o: Any): Any + fun getOwnPropertyDescriptor(o: Any, p: String): PropertyDescriptor? + fun getOwnPropertyDescriptor(o: Any, p: Number): PropertyDescriptor? + fun getOwnPropertyDescriptor(o: Any, p: Any): PropertyDescriptor? + fun getOwnPropertyNames(o: Any): Array + fun create(o: Any?): Any + fun create(o: Any?, properties: PropertyDescriptorMap /* PropertyDescriptorMap & ThisType */): Any + fun defineProperty(o: Any, p: String, attributes: PropertyDescriptor /* PropertyDescriptor & ThisType */): Any + fun defineProperty(o: Any, p: Number, attributes: PropertyDescriptor /* PropertyDescriptor & ThisType */): Any + fun defineProperty(o: Any, p: Any, attributes: PropertyDescriptor /* PropertyDescriptor & ThisType */): Any + fun defineProperties(o: Any, properties: PropertyDescriptorMap /* PropertyDescriptorMap & ThisType */): Any + fun seal(o: T): T + fun freeze(a: Array): Array + fun > freeze(f: T): dynamic + fun preventExtensions(o: T): T + fun isSealed(o: Any): Boolean + fun isFrozen(o: Any): Boolean + fun isExtensible(o: Any): Boolean + fun keys(o: Any?): Array +} + +external interface FunctionConstructor { + @nativeInvoke + operator fun invoke(vararg args: String): Function<*> + var prototype: Function<*> +} + +external interface DateConstructor { + @nativeInvoke + operator fun invoke(): String + var prototype: Date + fun parse(s: String): Number + fun UTC(year: Number, month: Number, date: Number = definedExternally, hours: Number = definedExternally, minutes: Number = definedExternally, seconds: Number = definedExternally, ms: Number = definedExternally): Number + fun now(): Number +} + +external interface ErrorConstructor { + @nativeInvoke + operator fun invoke(message: String = definedExternally): Error + var prototype: Error +} + +external interface ConcatArray { + var length: Number + @nativeGetter + operator fun get(n: Number): T? + @nativeSetter + operator fun set(n: Number, value: T) + fun join(separator: String = definedExternally): String + fun slice(start: Number = definedExternally, end: Number = definedExternally): Array +} + +external interface ArrayConstructor { + fun from(iterable: Iterable): Array + fun from(iterable: ArrayLike): Array + fun from(iterable: Iterable, mapfn: (v: T, k: Number) -> U, thisArg: Any = definedExternally): Array + fun from(iterable: Iterable, mapfn: (v: T, k: Number) -> U): Array + fun from(iterable: ArrayLike, mapfn: (v: T, k: Number) -> U, thisArg: Any = definedExternally): Array + fun from(iterable: ArrayLike, mapfn: (v: T, k: Number) -> U): Array + fun of(vararg items: T): Array + @nativeInvoke + operator fun invoke(arrayLength: Number = definedExternally): Array + @nativeInvoke + operator fun invoke(): Array + @nativeInvoke + operator fun invoke(arrayLength: Number): Array + @nativeInvoke + operator fun invoke(vararg items: T): Array + fun isArray(arg: Any): Boolean + var prototype: Array +} + +external interface PromiseLike { + fun then(onfulfilled: ((value: T) -> Any?)? = definedExternally, onrejected: ((reason: Any) -> Any?)? = definedExternally): PromiseLike +} + +external interface ArrayLike { + var length: Number + @nativeGetter + operator fun get(n: Number): T? + @nativeSetter + operator fun set(n: Number, value: T) +} + +typealias Partial = Any + +typealias Readonly = Any + +typealias Pick = Any + +typealias Record = Any + +external interface ThisType + +external interface ArrayBufferTypes { + var ArrayBuffer: ArrayBuffer +} + +external interface ArrayBufferConstructor { + var prototype: ArrayBuffer + fun isView(arg: Any): Boolean +} + +external interface DataViewConstructor + +external interface Int8ArrayConstructor { + fun from(arrayLike: Iterable, mapfn: (v: Number, k: Number) -> Number = definedExternally, thisArg: Any = definedExternally): Int8Array + fun from(arrayLike: Iterable): Int8Array + fun from(arrayLike: Iterable, mapfn: (v: Number, k: Number) -> Number = definedExternally): Int8Array + var prototype: Int8Array + var BYTES_PER_ELEMENT: Number + fun of(vararg items: Number): Int8Array + fun from(arrayLike: ArrayLike): Int8Array + fun from(arrayLike: ArrayLike, mapfn: (v: T, k: Number) -> Number, thisArg: Any = definedExternally): Int8Array + fun from(arrayLike: ArrayLike, mapfn: (v: T, k: Number) -> Number): Int8Array +} + +external interface Uint8ArrayConstructor { + fun from(arrayLike: Iterable, mapfn: (v: Number, k: Number) -> Number = definedExternally, thisArg: Any = definedExternally): Uint8Array + fun from(arrayLike: Iterable): Uint8Array + fun from(arrayLike: Iterable, mapfn: (v: Number, k: Number) -> Number = definedExternally): Uint8Array + var prototype: Uint8Array + var BYTES_PER_ELEMENT: Number + fun of(vararg items: Number): Uint8Array + fun from(arrayLike: ArrayLike): Uint8Array + fun from(arrayLike: ArrayLike, mapfn: (v: T, k: Number) -> Number, thisArg: Any = definedExternally): Uint8Array + fun from(arrayLike: ArrayLike, mapfn: (v: T, k: Number) -> Number): Uint8Array +} + +external interface Uint8ClampedArrayConstructor { + fun from(arrayLike: Iterable, mapfn: (v: Number, k: Number) -> Number = definedExternally, thisArg: Any = definedExternally): Uint8ClampedArray + fun from(arrayLike: Iterable): Uint8ClampedArray + fun from(arrayLike: Iterable, mapfn: (v: Number, k: Number) -> Number = definedExternally): Uint8ClampedArray + var prototype: Uint8ClampedArray + var BYTES_PER_ELEMENT: Number + fun of(vararg items: Number): Uint8ClampedArray + fun from(arrayLike: ArrayLike): Uint8ClampedArray + fun from(arrayLike: ArrayLike, mapfn: (v: T, k: Number) -> Number, thisArg: Any = definedExternally): Uint8ClampedArray + fun from(arrayLike: ArrayLike, mapfn: (v: T, k: Number) -> Number): Uint8ClampedArray +} + +external interface Int16ArrayConstructor { + fun from(arrayLike: Iterable, mapfn: (v: Number, k: Number) -> Number = definedExternally, thisArg: Any = definedExternally): Int16Array + fun from(arrayLike: Iterable): Int16Array + fun from(arrayLike: Iterable, mapfn: (v: Number, k: Number) -> Number = definedExternally): Int16Array + var prototype: Int16Array + var BYTES_PER_ELEMENT: Number + fun of(vararg items: Number): Int16Array + fun from(arrayLike: ArrayLike): Int16Array + fun from(arrayLike: ArrayLike, mapfn: (v: T, k: Number) -> Number, thisArg: Any = definedExternally): Int16Array + fun from(arrayLike: ArrayLike, mapfn: (v: T, k: Number) -> Number): Int16Array +} + +external interface Uint16ArrayConstructor { + fun from(arrayLike: Iterable, mapfn: (v: Number, k: Number) -> Number = definedExternally, thisArg: Any = definedExternally): Uint16Array + fun from(arrayLike: Iterable): Uint16Array + fun from(arrayLike: Iterable, mapfn: (v: Number, k: Number) -> Number = definedExternally): Uint16Array + var prototype: Uint16Array + var BYTES_PER_ELEMENT: Number + fun of(vararg items: Number): Uint16Array + fun from(arrayLike: ArrayLike): Uint16Array + fun from(arrayLike: ArrayLike, mapfn: (v: T, k: Number) -> Number, thisArg: Any = definedExternally): Uint16Array + fun from(arrayLike: ArrayLike, mapfn: (v: T, k: Number) -> Number): Uint16Array +} + +external interface Int32ArrayConstructor { + fun from(arrayLike: Iterable, mapfn: (v: Number, k: Number) -> Number = definedExternally, thisArg: Any = definedExternally): Int32Array + fun from(arrayLike: Iterable): Int32Array + fun from(arrayLike: Iterable, mapfn: (v: Number, k: Number) -> Number = definedExternally): Int32Array + var prototype: Int32Array + var BYTES_PER_ELEMENT: Number + fun of(vararg items: Number): Int32Array + fun from(arrayLike: ArrayLike): Int32Array + fun from(arrayLike: ArrayLike, mapfn: (v: T, k: Number) -> Number, thisArg: Any = definedExternally): Int32Array + fun from(arrayLike: ArrayLike, mapfn: (v: T, k: Number) -> Number): Int32Array +} + +external interface Uint32ArrayConstructor { + fun from(arrayLike: Iterable, mapfn: (v: Number, k: Number) -> Number = definedExternally, thisArg: Any = definedExternally): Uint32Array + fun from(arrayLike: Iterable): Uint32Array + fun from(arrayLike: Iterable, mapfn: (v: Number, k: Number) -> Number = definedExternally): Uint32Array + var prototype: Uint32Array + var BYTES_PER_ELEMENT: Number + fun of(vararg items: Number): Uint32Array + fun from(arrayLike: ArrayLike): Uint32Array + fun from(arrayLike: ArrayLike, mapfn: (v: T, k: Number) -> Number, thisArg: Any = definedExternally): Uint32Array + fun from(arrayLike: ArrayLike, mapfn: (v: T, k: Number) -> Number): Uint32Array +} + +external interface Float32ArrayConstructor { + fun from(arrayLike: Iterable, mapfn: (v: Number, k: Number) -> Number = definedExternally, thisArg: Any = definedExternally): Float32Array + fun from(arrayLike: Iterable): Float32Array + fun from(arrayLike: Iterable, mapfn: (v: Number, k: Number) -> Number = definedExternally): Float32Array + var prototype: Float32Array + var BYTES_PER_ELEMENT: Number + fun of(vararg items: Number): Float32Array + fun from(arrayLike: ArrayLike): Float32Array + fun from(arrayLike: ArrayLike, mapfn: (v: T, k: Number) -> Number, thisArg: Any = definedExternally): Float32Array + fun from(arrayLike: ArrayLike, mapfn: (v: T, k: Number) -> Number): Float32Array +} + +external interface Float64ArrayConstructor { + fun from(arrayLike: Iterable, mapfn: (v: Number, k: Number) -> Number = definedExternally, thisArg: Any = definedExternally): Float64Array + fun from(arrayLike: Iterable): Float64Array + fun from(arrayLike: Iterable, mapfn: (v: Number, k: Number) -> Number = definedExternally): Float64Array + var prototype: Float64Array + var BYTES_PER_ELEMENT: Number + fun of(vararg items: Number): Float64Array + fun from(arrayLike: ArrayLike): Float64Array + fun from(arrayLike: ArrayLike, mapfn: (v: T, k: Number) -> Number, thisArg: Any = definedExternally): Float64Array + fun from(arrayLike: ArrayLike, mapfn: (v: T, k: Number) -> Number): Float64Array +} \ No newline at end of file diff --git a/sample-firebase/src/main/kotlin/lib.scripthost.kt b/sample-firebase/src/main/kotlin/lib.scripthost.kt new file mode 100644 index 0000000..1061987 --- /dev/null +++ b/sample-firebase/src/main/kotlin/lib.scripthost.kt @@ -0,0 +1,5 @@ +@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS") + +external open class VarDate { + open var VarDate_typekey: VarDate +} \ No newline at end of file diff --git a/sample-firebase/src/main/kotlin/nonDeclarations.firebase.analytics.kt b/sample-firebase/src/main/kotlin/nonDeclarations.firebase.analytics.kt new file mode 100644 index 0000000..7009c18 --- /dev/null +++ b/sample-firebase/src/main/kotlin/nonDeclarations.firebase.analytics.kt @@ -0,0 +1,17 @@ +@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.* + +typealias CustomEventName = Any \ No newline at end of file diff --git a/sample-firebase/src/main/kotlin/nonDeclarations.firebase.auth.kt b/sample-firebase/src/main/kotlin/nonDeclarations.firebase.auth.kt new file mode 100644 index 0000000..c5d0831 --- /dev/null +++ b/sample-firebase/src/main/kotlin/nonDeclarations.firebase.auth.kt @@ -0,0 +1,19 @@ +@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.* + +typealias Persistence = String + +typealias Operation = String \ No newline at end of file diff --git a/sample-firebase/src/main/kotlin/nonDeclarations.firebase.functions.kt b/sample-firebase/src/main/kotlin/nonDeclarations.firebase.functions.kt new file mode 100644 index 0000000..e13e4b9 --- /dev/null +++ b/sample-firebase/src/main/kotlin/nonDeclarations.firebase.functions.kt @@ -0,0 +1,17 @@ +@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.* + +typealias HttpsError = Error \ No newline at end of file diff --git a/sample-firebase/src/main/kotlin/nonDeclarations.firebase.kt b/sample-firebase/src/main/kotlin/nonDeclarations.firebase.kt new file mode 100644 index 0000000..4e82079 --- /dev/null +++ b/sample-firebase/src/main/kotlin/nonDeclarations.firebase.kt @@ -0,0 +1,9 @@ +@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS") + +typealias NextFn = (value: T) -> Unit + +typealias ErrorFn = (error: E) -> Unit + +typealias CompleteFn = () -> Unit + +typealias Unsubscribe = () -> Unit \ No newline at end of file diff --git a/sample-firebase/src/main/kotlin/nonDeclarations.firebase.storage.kt b/sample-firebase/src/main/kotlin/nonDeclarations.firebase.storage.kt new file mode 100644 index 0000000..d663281 --- /dev/null +++ b/sample-firebase/src/main/kotlin/nonDeclarations.firebase.storage.kt @@ -0,0 +1,21 @@ +@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.* + +typealias StringFormat = String + +typealias TaskEvent = String + +typealias TaskState = String \ No newline at end of file diff --git a/sample-firebase/test b/sample-firebase/test new file mode 160000 index 0000000..a2814b3 --- /dev/null +++ b/sample-firebase/test @@ -0,0 +1 @@ +Subproject commit a2814b311ee9112ae5a40e00591ba64da52019f3