Kotlin / kotlinx.collections.immutable

Immutable persistent collections for Kotlin
Apache License 2.0
1.12k stars 56 forks source link

Compiler warning: Exported declaration uses non-exportable parameter type #172

Open gino-m opened 5 months ago

gino-m commented 5 months ago

Tried using ImmutableList, ImmutableMap, PersistentList, and PersistentMap both in data class constructors and as fields.

Kotlin lang: 1.9.20. Deps:

 sourceSets {
    commonMain {
      dependencies { implementation("org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.7") }
    }
    jsMain {
        dependencies { implementation("org.jetbrains.kotlinx:kotlinx-collections-immutable-js:0.3.7") }
    }

~Update: Looking at the code, I see the classes in this lib do not @JsExport any classes, making them inaccessible from Koltin JS (IR). Are there any plans to allow this library to be exposed through Kotlin JS libs as well?~

Update 2: I understand what I'm actually looking for is Typescript bindings for Kotlin stdlib or immutable collections. Is that on the roadmap by chance?

qurbonzoda commented 5 months ago

Hi @gino-m If you added the library to the common source set dependencies, there is no need to add it to js. You should be able to use it in all targets, including js.

qurbonzoda commented 5 months ago

The library currently does not export any API to JS code. But the library public API should be accessible from Kotlin code in jsMain source set.

gino-m commented 5 months ago

Thanks, that makes sense. I now understand what I'm actually looking for is Typescript bindings for Kotlin stdlib or immutable collections. Is that on the roadmap? Updated my original post to reflect this question.

qurbonzoda commented 3 months ago

@gino-m There are ongoing efforts in stdlib to make this possible. See

Is it what you are asking for?