Kotlin / dukat

Converter of <any kind of declarations> to Kotlin external declarations
553 stars 44 forks source link

Dukat 0.5.7 generates import statements that are illegal in Kotlin #345

Open abrooksv opened 4 years ago

abrooksv commented 4 years ago

Kotlin does not allow escaped identifiers to be used in imports making this code not work:

import MetadataBearer as $MetadataBearer

@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE")
external interface AccountLimitExceededException : __SmithyException, `$MetadataBearer` {
    override var name: String /* "AccountLimitExceededException" */
    override var `$fault`: String /* "client" */
    var message: String?
        get() = definedExternally
        set(value) = definedExternally

    companion object {
        var filterSensitiveLog: (obj: AccountLimitExceededException) -> Any
        var isa: (o: Any) -> Boolean
    }
}

Dependencies:

    implementation(npm("@aws-sdk/client-codebuild", "1.0.0-gamma.5"))
    implementation(npm("@aws-sdk/types", "1.0.0-gamma.3"))
    implementation(npm("@aws-sdk/smithy-client", "1.0.0-gamma.4"))

Typescript file: https://github.com/aws/aws-sdk-js-v3/blob/97efeeb7ca6dd1d7eb1f06ea0934284db1d45aa6/clients/client-codebuild/models/index.ts#L7