@ir-kit/openapi-kotlin 2.0.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -13
- package/dist/ast/index.d.ts +152 -0
- package/dist/ast/index.d.ts.map +1 -0
- package/dist/ast/index.js +159 -0
- package/dist/ast/index.js.map +1 -0
- package/dist/generate.d.ts +1 -1
- package/dist/generate.d.ts.map +1 -1
- package/dist/generate.js +13 -27
- package/dist/generate.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/ir/identifiers.d.ts +7 -0
- package/dist/ir/identifiers.d.ts.map +1 -1
- package/dist/ir/identifiers.js +92 -3
- package/dist/ir/identifiers.js.map +1 -1
- package/dist/ir/impl/body.d.ts +4 -3
- package/dist/ir/impl/body.d.ts.map +1 -1
- package/dist/ir/impl/body.js +36 -37
- package/dist/ir/impl/body.js.map +1 -1
- package/dist/ir/impl/decode.d.ts +3 -2
- package/dist/ir/impl/decode.d.ts.map +1 -1
- package/dist/ir/impl/decode.js +16 -16
- package/dist/ir/impl/decode.js.map +1 -1
- package/dist/ir/impl/headers.d.ts +1 -1
- package/dist/ir/impl/headers.d.ts.map +1 -1
- package/dist/ir/impl/headers.js +3 -3
- package/dist/ir/impl/headers.js.map +1 -1
- package/dist/ir/impl/index.d.ts +5 -2
- package/dist/ir/impl/index.d.ts.map +1 -1
- package/dist/ir/impl/index.js +6 -7
- package/dist/ir/impl/index.js.map +1 -1
- package/dist/ir/impl/request.d.ts +6 -6
- package/dist/ir/impl/request.d.ts.map +1 -1
- package/dist/ir/impl/request.js +18 -8
- package/dist/ir/impl/request.js.map +1 -1
- package/dist/ir/impl/serializer.d.ts +4 -2
- package/dist/ir/impl/serializer.d.ts.map +1 -1
- package/dist/ir/impl/serializer.js +41 -60
- package/dist/ir/impl/serializer.js.map +1 -1
- package/dist/ir/impl/url.d.ts +1 -1
- package/dist/ir/impl/url.d.ts.map +1 -1
- package/dist/ir/impl/url.js +4 -4
- package/dist/ir/impl/url.js.map +1 -1
- package/dist/ir/index.d.ts +1 -1
- package/dist/ir/index.d.ts.map +1 -1
- package/dist/ir/index.js +1 -1
- package/dist/ir/index.js.map +1 -1
- package/dist/ir/operation/body.d.ts +1 -1
- package/dist/ir/operation/body.d.ts.map +1 -1
- package/dist/ir/operation/body.js +3 -3
- package/dist/ir/operation/body.js.map +1 -1
- package/dist/ir/operation/params.d.ts +1 -1
- package/dist/ir/operation/params.d.ts.map +1 -1
- package/dist/ir/operation/params.js +3 -3
- package/dist/ir/operation/params.js.map +1 -1
- package/dist/ir/operation/response.d.ts +3 -1
- package/dist/ir/operation/response.d.ts.map +1 -1
- package/dist/ir/operation/response.js +3 -4
- package/dist/ir/operation/response.js.map +1 -1
- package/dist/ir/operation/signature.d.ts +4 -2
- package/dist/ir/operation/signature.d.ts.map +1 -1
- package/dist/ir/operation/signature.js +5 -4
- package/dist/ir/operation/signature.js.map +1 -1
- package/dist/ir/operations.d.ts +7 -1
- package/dist/ir/operations.d.ts.map +1 -1
- package/dist/ir/operations.js +14 -17
- package/dist/ir/operations.js.map +1 -1
- package/dist/ir/runtime/index.d.ts +1 -1
- package/dist/ir/runtime/index.d.ts.map +1 -1
- package/dist/ir/runtime/index.js +1 -1
- package/dist/ir/runtime/index.js.map +1 -1
- package/dist/ir/runtime/templates.d.ts +1 -21
- package/dist/ir/runtime/templates.d.ts.map +1 -1
- package/dist/ir/runtime/templates.js +24 -428
- package/dist/ir/runtime/templates.js.map +1 -1
- package/dist/ir/schema.d.ts +3 -5
- package/dist/ir/schema.d.ts.map +1 -1
- package/dist/ir/schema.js +25 -37
- package/dist/ir/schema.js.map +1 -1
- package/dist/ir/type/context.d.ts +1 -1
- package/dist/ir/type/context.d.ts.map +1 -1
- package/dist/ir/type/index.d.ts +5 -3
- package/dist/ir/type/index.d.ts.map +1 -1
- package/dist/ir/type/index.js +12 -8
- package/dist/ir/type/index.js.map +1 -1
- package/dist/ir/type/primitive.d.ts +1 -1
- package/dist/ir/type/primitive.d.ts.map +1 -1
- package/dist/ir/type/primitive.js +1 -1
- package/dist/ir/type/primitive.js.map +1 -1
- package/dist/ir/type-ops.d.ts +2 -2
- package/dist/ir/type-ops.d.ts.map +1 -1
- package/dist/ir/type-ops.js +13 -17
- package/dist/ir/type-ops.js.map +1 -1
- package/dist/kt-compiler/index.d.ts +3 -6
- package/dist/kt-compiler/index.d.ts.map +1 -1
- package/dist/kt-compiler/index.js +7 -22
- package/dist/kt-compiler/index.js.map +1 -1
- package/dist/project/build.d.ts +1 -1
- package/dist/project/build.d.ts.map +1 -1
- package/dist/project/build.js +6 -8
- package/dist/project/build.js.map +1 -1
- package/dist/project/imports.d.ts +12 -12
- package/dist/project/imports.d.ts.map +1 -1
- package/dist/project/imports.js +60 -138
- package/dist/project/imports.js.map +1 -1
- package/dist/project/layout.d.ts +1 -1
- package/dist/project/layout.d.ts.map +1 -1
- package/dist/project/layout.js +1 -3
- package/dist/project/layout.js.map +1 -1
- package/package.json +12 -10
- package/runtime/APIClient.kt +140 -0
- package/runtime/APIError.kt +42 -0
- package/runtime/APIInterceptors.kt +14 -0
- package/runtime/APIKeyLocation.kt +7 -0
- package/runtime/Auth.kt +86 -0
- package/runtime/MultipartFormBody.kt +41 -0
- package/runtime/QueryStyle.kt +12 -0
- package/runtime/RequestOptions.kt +29 -0
- package/runtime/URLEncoding.kt +45 -0
- package/dist/kt-compiler/decl/class.d.ts +0 -6
- package/dist/kt-compiler/decl/class.d.ts.map +0 -1
- package/dist/kt-compiler/decl/class.js +0 -38
- package/dist/kt-compiler/decl/class.js.map +0 -1
- package/dist/kt-compiler/decl/dataClass.d.ts +0 -3
- package/dist/kt-compiler/decl/dataClass.d.ts.map +0 -1
- package/dist/kt-compiler/decl/dataClass.js +0 -18
- package/dist/kt-compiler/decl/dataClass.js.map +0 -1
- package/dist/kt-compiler/decl/enum.d.ts +0 -3
- package/dist/kt-compiler/decl/enum.d.ts.map +0 -1
- package/dist/kt-compiler/decl/enum.js +0 -32
- package/dist/kt-compiler/decl/enum.js.map +0 -1
- package/dist/kt-compiler/decl/fun.d.ts +0 -11
- package/dist/kt-compiler/decl/fun.d.ts.map +0 -1
- package/dist/kt-compiler/decl/fun.js +0 -69
- package/dist/kt-compiler/decl/fun.js.map +0 -1
- package/dist/kt-compiler/decl/index.d.ts +0 -13
- package/dist/kt-compiler/decl/index.d.ts.map +0 -1
- package/dist/kt-compiler/decl/index.js +0 -39
- package/dist/kt-compiler/decl/index.js.map +0 -1
- package/dist/kt-compiler/decl/interface.d.ts +0 -3
- package/dist/kt-compiler/decl/interface.d.ts.map +0 -1
- package/dist/kt-compiler/decl/interface.js +0 -15
- package/dist/kt-compiler/decl/interface.js.map +0 -1
- package/dist/kt-compiler/decl/object.d.ts +0 -3
- package/dist/kt-compiler/decl/object.d.ts.map +0 -1
- package/dist/kt-compiler/decl/object.js +0 -19
- package/dist/kt-compiler/decl/object.js.map +0 -1
- package/dist/kt-compiler/decl/prop.d.ts +0 -20
- package/dist/kt-compiler/decl/prop.d.ts.map +0 -1
- package/dist/kt-compiler/decl/prop.js +0 -42
- package/dist/kt-compiler/decl/prop.js.map +0 -1
- package/dist/kt-compiler/decl/sealedClass.d.ts +0 -3
- package/dist/kt-compiler/decl/sealedClass.d.ts.map +0 -1
- package/dist/kt-compiler/decl/sealedClass.js +0 -32
- package/dist/kt-compiler/decl/sealedClass.js.map +0 -1
- package/dist/kt-compiler/decl/topLevel.d.ts +0 -3
- package/dist/kt-compiler/decl/topLevel.d.ts.map +0 -1
- package/dist/kt-compiler/decl/topLevel.js +0 -5
- package/dist/kt-compiler/decl/topLevel.js.map +0 -1
- package/dist/kt-compiler/decl/typeAlias.d.ts +0 -3
- package/dist/kt-compiler/decl/typeAlias.d.ts.map +0 -1
- package/dist/kt-compiler/decl/typeAlias.js +0 -6
- package/dist/kt-compiler/decl/typeAlias.js.map +0 -1
- package/dist/kt-compiler/expr.d.ts +0 -4
- package/dist/kt-compiler/expr.d.ts.map +0 -1
- package/dist/kt-compiler/expr.js +0 -123
- package/dist/kt-compiler/expr.js.map +0 -1
- package/dist/kt-compiler/format.d.ts +0 -20
- package/dist/kt-compiler/format.d.ts.map +0 -1
- package/dist/kt-compiler/format.js +0 -27
- package/dist/kt-compiler/format.js.map +0 -1
- package/dist/kt-compiler/stmt.d.ts +0 -4
- package/dist/kt-compiler/stmt.d.ts.map +0 -1
- package/dist/kt-compiler/stmt.js +0 -72
- package/dist/kt-compiler/stmt.js.map +0 -1
- package/dist/kt-compiler/type.d.ts +0 -3
- package/dist/kt-compiler/type.d.ts.map +0 -1
- package/dist/kt-compiler/type.js +0 -28
- package/dist/kt-compiler/type.js.map +0 -1
- package/dist/kt-dsl/decl/class.d.ts +0 -50
- package/dist/kt-dsl/decl/class.d.ts.map +0 -1
- package/dist/kt-dsl/decl/class.js +0 -33
- package/dist/kt-dsl/decl/class.js.map +0 -1
- package/dist/kt-dsl/decl/dataClass.d.ts +0 -36
- package/dist/kt-dsl/decl/dataClass.d.ts.map +0 -1
- package/dist/kt-dsl/decl/dataClass.js +0 -25
- package/dist/kt-dsl/decl/dataClass.js.map +0 -1
- package/dist/kt-dsl/decl/enum.d.ts +0 -60
- package/dist/kt-dsl/decl/enum.d.ts.map +0 -1
- package/dist/kt-dsl/decl/enum.js +0 -38
- package/dist/kt-dsl/decl/enum.js.map +0 -1
- package/dist/kt-dsl/decl/index.d.ts +0 -11
- package/dist/kt-dsl/decl/index.d.ts.map +0 -1
- package/dist/kt-dsl/decl/index.js +0 -11
- package/dist/kt-dsl/decl/index.js.map +0 -1
- package/dist/kt-dsl/decl/interface.d.ts +0 -33
- package/dist/kt-dsl/decl/interface.d.ts.map +0 -1
- package/dist/kt-dsl/decl/interface.js +0 -24
- package/dist/kt-dsl/decl/interface.js.map +0 -1
- package/dist/kt-dsl/decl/object.d.ts +0 -34
- package/dist/kt-dsl/decl/object.d.ts.map +0 -1
- package/dist/kt-dsl/decl/object.js +0 -24
- package/dist/kt-dsl/decl/object.js.map +0 -1
- package/dist/kt-dsl/decl/prop.d.ts +0 -47
- package/dist/kt-dsl/decl/prop.d.ts.map +0 -1
- package/dist/kt-dsl/decl/prop.js +0 -28
- package/dist/kt-dsl/decl/prop.js.map +0 -1
- package/dist/kt-dsl/decl/sealedClass.d.ts +0 -68
- package/dist/kt-dsl/decl/sealedClass.d.ts.map +0 -1
- package/dist/kt-dsl/decl/sealedClass.js +0 -52
- package/dist/kt-dsl/decl/sealedClass.js.map +0 -1
- package/dist/kt-dsl/decl/topLevel.d.ts +0 -19
- package/dist/kt-dsl/decl/topLevel.d.ts.map +0 -1
- package/dist/kt-dsl/decl/topLevel.js +0 -17
- package/dist/kt-dsl/decl/topLevel.js.map +0 -1
- package/dist/kt-dsl/decl/typeAlias.d.ts +0 -23
- package/dist/kt-dsl/decl/typeAlias.d.ts.map +0 -1
- package/dist/kt-dsl/decl/typeAlias.js +0 -18
- package/dist/kt-dsl/decl/typeAlias.js.map +0 -1
- package/dist/kt-dsl/decl/types.d.ts +0 -10
- package/dist/kt-dsl/decl/types.d.ts.map +0 -1
- package/dist/kt-dsl/decl/types.js +0 -2
- package/dist/kt-dsl/decl/types.js.map +0 -1
- package/dist/kt-dsl/expr/access.d.ts +0 -48
- package/dist/kt-dsl/expr/access.d.ts.map +0 -1
- package/dist/kt-dsl/expr/access.js +0 -59
- package/dist/kt-dsl/expr/access.js.map +0 -1
- package/dist/kt-dsl/expr/call.d.ts +0 -38
- package/dist/kt-dsl/expr/call.d.ts.map +0 -1
- package/dist/kt-dsl/expr/call.js +0 -38
- package/dist/kt-dsl/expr/call.js.map +0 -1
- package/dist/kt-dsl/expr/index.d.ts +0 -7
- package/dist/kt-dsl/expr/index.d.ts.map +0 -1
- package/dist/kt-dsl/expr/index.js +0 -7
- package/dist/kt-dsl/expr/index.js.map +0 -1
- package/dist/kt-dsl/expr/literal.d.ts +0 -100
- package/dist/kt-dsl/expr/literal.d.ts.map +0 -1
- package/dist/kt-dsl/expr/literal.js +0 -108
- package/dist/kt-dsl/expr/literal.js.map +0 -1
- package/dist/kt-dsl/expr/misc.d.ts +0 -45
- package/dist/kt-dsl/expr/misc.d.ts.map +0 -1
- package/dist/kt-dsl/expr/misc.js +0 -63
- package/dist/kt-dsl/expr/misc.js.map +0 -1
- package/dist/kt-dsl/expr/op.d.ts +0 -25
- package/dist/kt-dsl/expr/op.d.ts.map +0 -1
- package/dist/kt-dsl/expr/op.js +0 -24
- package/dist/kt-dsl/expr/op.js.map +0 -1
- package/dist/kt-dsl/expr/types.d.ts +0 -93
- package/dist/kt-dsl/expr/types.d.ts.map +0 -1
- package/dist/kt-dsl/expr/types.js +0 -2
- package/dist/kt-dsl/expr/types.js.map +0 -1
- package/dist/kt-dsl/file.d.ts +0 -14
- package/dist/kt-dsl/file.d.ts.map +0 -1
- package/dist/kt-dsl/file.js +0 -9
- package/dist/kt-dsl/file.js.map +0 -1
- package/dist/kt-dsl/fun.d.ts +0 -73
- package/dist/kt-dsl/fun.d.ts.map +0 -1
- package/dist/kt-dsl/fun.js +0 -50
- package/dist/kt-dsl/fun.js.map +0 -1
- package/dist/kt-dsl/index.d.ts +0 -8
- package/dist/kt-dsl/index.d.ts.map +0 -1
- package/dist/kt-dsl/index.js +0 -8
- package/dist/kt-dsl/index.js.map +0 -1
- package/dist/kt-dsl/stmt/binding.d.ts +0 -56
- package/dist/kt-dsl/stmt/binding.d.ts.map +0 -1
- package/dist/kt-dsl/stmt/binding.js +0 -70
- package/dist/kt-dsl/stmt/binding.js.map +0 -1
- package/dist/kt-dsl/stmt/control.d.ts +0 -80
- package/dist/kt-dsl/stmt/control.d.ts.map +0 -1
- package/dist/kt-dsl/stmt/control.js +0 -77
- package/dist/kt-dsl/stmt/control.js.map +0 -1
- package/dist/kt-dsl/stmt/index.d.ts +0 -4
- package/dist/kt-dsl/stmt/index.d.ts.map +0 -1
- package/dist/kt-dsl/stmt/index.js +0 -4
- package/dist/kt-dsl/stmt/index.js.map +0 -1
- package/dist/kt-dsl/stmt/types.d.ts +0 -62
- package/dist/kt-dsl/stmt/types.d.ts.map +0 -1
- package/dist/kt-dsl/stmt/types.js +0 -2
- package/dist/kt-dsl/stmt/types.js.map +0 -1
- package/dist/kt-dsl/type/builders.d.ts +0 -75
- package/dist/kt-dsl/type/builders.d.ts.map +0 -1
- package/dist/kt-dsl/type/builders.js +0 -83
- package/dist/kt-dsl/type/builders.js.map +0 -1
- package/dist/kt-dsl/type/index.d.ts +0 -3
- package/dist/kt-dsl/type/index.d.ts.map +0 -1
- package/dist/kt-dsl/type/index.js +0 -3
- package/dist/kt-dsl/type/index.js.map +0 -1
- package/dist/kt-dsl/type/types.d.ts +0 -25
- package/dist/kt-dsl/type/types.d.ts.map +0 -1
- package/dist/kt-dsl/type/types.js +0 -2
- package/dist/kt-dsl/type/types.js.map +0 -1
- package/dist/kt-dsl/visibility.d.ts +0 -2
- package/dist/kt-dsl/visibility.d.ts.map +0 -1
- package/dist/kt-dsl/visibility.js +0 -2
- package/dist/kt-dsl/visibility.js.map +0 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
package dev.irkit.runtime
|
|
2
|
+
|
|
3
|
+
import okhttp3.MediaType.Companion.toMediaTypeOrNull
|
|
4
|
+
import okhttp3.MultipartBody
|
|
5
|
+
import okhttp3.RequestBody
|
|
6
|
+
import okhttp3.RequestBody.Companion.toRequestBody
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Thin wrapper over OkHttp's `MultipartBody.Builder` — keeps the impl
|
|
10
|
+
* code symmetric with the JSON / form-urlencoded paths.
|
|
11
|
+
*
|
|
12
|
+
* - `appendText(name, value)` — text part.
|
|
13
|
+
* - `appendFile(name, filename, bytes,`
|
|
14
|
+
* `mimeType)` — binary part.
|
|
15
|
+
* - `build()` — finalizes and returns a
|
|
16
|
+
* `RequestBody` ready to pass
|
|
17
|
+
* into `.method("POST", body)`.
|
|
18
|
+
*/
|
|
19
|
+
public class MultipartFormBody {
|
|
20
|
+
private val builder: MultipartBody.Builder =
|
|
21
|
+
MultipartBody.Builder().setType(MultipartBody.FORM)
|
|
22
|
+
|
|
23
|
+
public fun appendText(
|
|
24
|
+
name: String,
|
|
25
|
+
value: String,
|
|
26
|
+
) {
|
|
27
|
+
builder.addFormDataPart(name, value)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
public fun appendFile(
|
|
31
|
+
name: String,
|
|
32
|
+
filename: String,
|
|
33
|
+
bytes: ByteArray,
|
|
34
|
+
mimeType: String = "application/octet-stream",
|
|
35
|
+
) {
|
|
36
|
+
val body: RequestBody = bytes.toRequestBody(mimeType.toMediaTypeOrNull())
|
|
37
|
+
builder.addFormDataPart(name, filename, body)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
public fun build(): RequestBody = builder.build()
|
|
41
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
package dev.irkit.runtime
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Query-array serialization style — matches the OpenAPI 3 `style` field
|
|
5
|
+
* for query parameters whose value is an array. The default is `form`
|
|
6
|
+
* with explode=true; the others appear when the spec opts into them.
|
|
7
|
+
*/
|
|
8
|
+
public enum class QueryStyle {
|
|
9
|
+
FORM,
|
|
10
|
+
SPACE_DELIMITED,
|
|
11
|
+
PIPE_DELIMITED,
|
|
12
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
package dev.irkit.runtime
|
|
2
|
+
|
|
3
|
+
import okhttp3.HttpUrl
|
|
4
|
+
import okhttp3.Request
|
|
5
|
+
import okhttp3.Response
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Per-call options bag — every generated method takes a
|
|
9
|
+
* `RequestOptions` last param. Mirrors hey-api's TS SDK options shape.
|
|
10
|
+
*
|
|
11
|
+
* - `client` — override the impl's bound `APIClient`.
|
|
12
|
+
* - `baseUrl` — override `client.baseUrl` for one call.
|
|
13
|
+
* - `timeout` — per-call call-timeout in milliseconds.
|
|
14
|
+
* - `headers` — extra/override headers, applied last.
|
|
15
|
+
* - `requestInterceptors` — extra suspend interceptors, run after
|
|
16
|
+
* client-level ones.
|
|
17
|
+
* - `responseValidator` — runs after a 2xx response; throwing
|
|
18
|
+
* converts the call into an exception.
|
|
19
|
+
* - `responseTransformer` — rewrite the response body before decode.
|
|
20
|
+
*/
|
|
21
|
+
public data class RequestOptions(
|
|
22
|
+
public val client: APIClient? = null,
|
|
23
|
+
public val baseUrl: HttpUrl? = null,
|
|
24
|
+
public val timeout: Long? = null,
|
|
25
|
+
public val headers: Map<String, String> = emptyMap(),
|
|
26
|
+
public val requestInterceptors: List<suspend (Request) -> Request> = emptyList(),
|
|
27
|
+
public val responseValidator: (suspend (ByteArray, Response) -> Unit)? = null,
|
|
28
|
+
public val responseTransformer: (suspend (ByteArray) -> ByteArray)? = null,
|
|
29
|
+
)
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
package dev.irkit.runtime
|
|
2
|
+
|
|
3
|
+
import okhttp3.HttpUrl
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Helpers used by generated impl code to add OpenAPI-shaped query
|
|
7
|
+
* parameters onto an `HttpUrl.Builder` without each call site having to
|
|
8
|
+
* know the style/explode rules.
|
|
9
|
+
*
|
|
10
|
+
* - `addScalar` skips when the value is `null` so optional-and-missing
|
|
11
|
+
* params don't emit a key at all.
|
|
12
|
+
* - `addArray` honours `style` + `explode`: explode=true emits one
|
|
13
|
+
* `?name=v` per element; explode=false joins per the style separator.
|
|
14
|
+
*/
|
|
15
|
+
public object URLEncoding {
|
|
16
|
+
public fun addScalar(
|
|
17
|
+
builder: HttpUrl.Builder,
|
|
18
|
+
name: String,
|
|
19
|
+
value: Any?,
|
|
20
|
+
) {
|
|
21
|
+
if (value == null) return
|
|
22
|
+
builder.addQueryParameter(name, value.toString())
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
public fun addArray(
|
|
26
|
+
builder: HttpUrl.Builder,
|
|
27
|
+
name: String,
|
|
28
|
+
values: List<Any>?,
|
|
29
|
+
style: QueryStyle = QueryStyle.FORM,
|
|
30
|
+
explode: Boolean = true,
|
|
31
|
+
) {
|
|
32
|
+
if (values == null) return
|
|
33
|
+
if (explode) {
|
|
34
|
+
for (v in values) builder.addQueryParameter(name, v.toString())
|
|
35
|
+
return
|
|
36
|
+
}
|
|
37
|
+
val sep =
|
|
38
|
+
when (style) {
|
|
39
|
+
QueryStyle.FORM -> ","
|
|
40
|
+
QueryStyle.SPACE_DELIMITED -> " "
|
|
41
|
+
QueryStyle.PIPE_DELIMITED -> "|"
|
|
42
|
+
}
|
|
43
|
+
builder.addQueryParameter(name, values.joinToString(sep) { it.toString() })
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"class.d.ts","sourceRoot":"","sources":["../../../src/kt-compiler/decl/class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAG1D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAiC7C;AAED,wCAAwC;AACxC,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { INDENT, superTypeTail, visibilityPrefix } from "../format.js";
|
|
2
|
-
import { printStmt } from "../stmt.js";
|
|
3
|
-
import { printType } from "../type.js";
|
|
4
|
-
import { printFun, printFunParam } from "./fun.js";
|
|
5
|
-
import { printAnnotations, printPrimaryProp, printProp } from "./prop.js";
|
|
6
|
-
export function printClass(d) {
|
|
7
|
-
const annLines = printAnnotations(d.annotations, "");
|
|
8
|
-
const vis = visibilityPrefix(d.visibility);
|
|
9
|
-
const modifiers = d.modifiers.length > 0 ? `${d.modifiers.join(" ")} ` : "";
|
|
10
|
-
const primaryProps = d.properties.filter((p) => p.inPrimary);
|
|
11
|
-
const bodyProps = d.properties.filter((p) => !p.inPrimary);
|
|
12
|
-
const ctorEntries = [];
|
|
13
|
-
for (const p of primaryProps)
|
|
14
|
-
ctorEntries.push(printPrimaryProp(p, INDENT));
|
|
15
|
-
for (const p of d.ctorParams)
|
|
16
|
-
ctorEntries.push(`${INDENT}${printFunParam(p)}`);
|
|
17
|
-
const ctor = ctorEntries.length === 0 ? "" : `(\n${ctorEntries.join(",\n")},\n)`;
|
|
18
|
-
const head = `${annLines}${vis}${modifiers}class ${d.name}${ctor}${superTypeTail(d.superTypes)}`;
|
|
19
|
-
const sections = [];
|
|
20
|
-
if (bodyProps.length > 0) {
|
|
21
|
-
sections.push(bodyProps.map((p) => printProp(p, INDENT)).join("\n"));
|
|
22
|
-
}
|
|
23
|
-
if (d.initBlock && d.initBlock.length > 0) {
|
|
24
|
-
const inner = d.initBlock
|
|
25
|
-
.map((s) => printStmt(s, INDENT + INDENT))
|
|
26
|
-
.join("\n");
|
|
27
|
-
sections.push(`${INDENT}init {\n${inner}\n${INDENT}}`);
|
|
28
|
-
}
|
|
29
|
-
if (d.funs.length > 0) {
|
|
30
|
-
sections.push(d.funs.map((f) => printFun(f, INDENT)).join("\n\n"));
|
|
31
|
-
}
|
|
32
|
-
if (sections.length === 0)
|
|
33
|
-
return head;
|
|
34
|
-
return `${head} {\n${sections.join("\n\n")}\n}`;
|
|
35
|
-
}
|
|
36
|
-
/** Used by sealed-subclass lowering. */
|
|
37
|
-
export { printType };
|
|
38
|
-
//# sourceMappingURL=class.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"class.js","sourceRoot":"","sources":["../../../src/kt-compiler/decl/class.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dataClass.d.ts","sourceRoot":"","sources":["../../../src/kt-compiler/decl/dataClass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAKlE,wBAAgB,cAAc,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CAarD"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { INDENT, superTypeTail, visibilityPrefix } from "../format.js";
|
|
2
|
-
import { printFun } from "./fun.js";
|
|
3
|
-
import { printAnnotations, printPrimaryProp } from "./prop.js";
|
|
4
|
-
export function printDataClass(d) {
|
|
5
|
-
const annLines = printAnnotations(d.annotations, "");
|
|
6
|
-
const vis = visibilityPrefix(d.visibility);
|
|
7
|
-
// Data classes carry all properties in the primary constructor.
|
|
8
|
-
const primaryProps = d.properties
|
|
9
|
-
.map((p) => printPrimaryProp({ ...p, inPrimary: true }, INDENT))
|
|
10
|
-
.join(",\n");
|
|
11
|
-
const ctor = d.properties.length === 0 ? "()" : `(\n${primaryProps},\n)`;
|
|
12
|
-
const head = `${annLines}${vis}data class ${d.name}${ctor}${superTypeTail(d.superTypes)}`;
|
|
13
|
-
if (d.funs.length === 0)
|
|
14
|
-
return head;
|
|
15
|
-
const funs = d.funs.map((f) => printFun(f, INDENT)).join("\n\n");
|
|
16
|
-
return `${head} {\n${funs}\n}`;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=dataClass.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dataClass.js","sourceRoot":"","sources":["../../../src/kt-compiler/decl/dataClass.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE/D,MAAM,UAAU,cAAc,CAAC,CAAc;IAC3C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3C,gEAAgE;IAChE,MAAM,YAAY,GAAG,CAAC,CAAC,UAAU;SAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;SAC/D,IAAI,CAAC,KAAK,CAAC,CAAC;IACf,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,YAAY,MAAM,CAAC;IACzE,MAAM,IAAI,GAAG,GAAG,QAAQ,GAAG,GAAG,cAAc,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;IAE1F,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjE,OAAO,GAAG,IAAI,OAAO,IAAI,KAAK,CAAC;AACjC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../src/kt-compiler/decl/enum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAKxD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAiC3C"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { INDENT, superTypeTail, visibilityPrefix } from "../format.js";
|
|
2
|
-
import { printFun } from "./fun.js";
|
|
3
|
-
import { printAnnotation, printAnnotations, printPrimaryProp } from "./prop.js";
|
|
4
|
-
export function printEnum(d) {
|
|
5
|
-
const annLines = printAnnotations(d.annotations, "");
|
|
6
|
-
const vis = visibilityPrefix(d.visibility);
|
|
7
|
-
const ctor = d.properties.length === 0
|
|
8
|
-
? ""
|
|
9
|
-
: `(\n${d.properties.map((p) => printPrimaryProp({ ...p, inPrimary: true }, INDENT)).join(",\n")},\n)`;
|
|
10
|
-
const head = `${annLines}${vis}enum class ${d.name}${ctor}${superTypeTail(d.superTypes)}`;
|
|
11
|
-
if (d.entries.length === 0 && d.funs.length === 0) {
|
|
12
|
-
return `${head} {}`;
|
|
13
|
-
}
|
|
14
|
-
const entryLines = d.entries.map((e) => {
|
|
15
|
-
const annPrefix = e.annotations && e.annotations.length > 0
|
|
16
|
-
? `${e.annotations.map(printAnnotation).join(" ")} `
|
|
17
|
-
: "";
|
|
18
|
-
const args = e.args === undefined ? "" : `(${e.args})`;
|
|
19
|
-
return `${INDENT}${annPrefix}${e.name}${args}`;
|
|
20
|
-
});
|
|
21
|
-
// Trailing semicolon is required by Kotlin when the enum class has
|
|
22
|
-
// additional members (funs/companion) below the entry list.
|
|
23
|
-
const entriesBlock = d.funs.length > 0
|
|
24
|
-
? `${entryLines.join(",\n")};`
|
|
25
|
-
: `${entryLines.join(",\n")},`;
|
|
26
|
-
const sections = [entriesBlock];
|
|
27
|
-
if (d.funs.length > 0) {
|
|
28
|
-
sections.push(d.funs.map((f) => printFun(f, INDENT)).join("\n\n"));
|
|
29
|
-
}
|
|
30
|
-
return `${head} {\n${sections.join("\n\n")}\n}`;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=enum.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../src/kt-compiler/decl/enum.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAEhF,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,IAAI,GACR,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;QACvB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3G,MAAM,IAAI,GAAG,GAAG,QAAQ,GAAG,GAAG,cAAc,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;IAE1F,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,GAAG,IAAI,KAAK,CAAC;IACtB,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACrC,MAAM,SAAS,GACb,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YACvC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;YACpD,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC;QACvD,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;IACH,mEAAmE;IACnE,4DAA4D;IAC5D,MAAM,YAAY,GAChB,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QACf,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG;QAC9B,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IAEnC,MAAM,QAAQ,GAAa,CAAC,YAAY,CAAC,CAAC;IAC1C,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,GAAG,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAClD,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { KtFun, KtFunParam } from "../../kt-dsl/fun.js";
|
|
2
|
-
export declare function printFunParam(p: KtFunParam, includeDefault?: boolean): string;
|
|
3
|
-
export declare function printParamsBlock(params: ReadonlyArray<KtFunParam>, indent: string, includeDefault?: boolean): string;
|
|
4
|
-
export declare function printFun(fn: KtFun, indent?: string,
|
|
5
|
-
/**
|
|
6
|
-
* Suppress the visibility modifier — required when the function lives
|
|
7
|
-
* inside an interface (members inherit the interface's visibility),
|
|
8
|
-
* or as part of an enum entry's member list.
|
|
9
|
-
*/
|
|
10
|
-
suppressVisibility?: boolean): string;
|
|
11
|
-
//# sourceMappingURL=fun.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fun.d.ts","sourceRoot":"","sources":["../../../src/kt-compiler/decl/fun.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAe,MAAM,qBAAqB,CAAC;AAgB1E,wBAAgB,aAAa,CAC3B,CAAC,EAAE,UAAU,EACb,cAAc,GAAE,OAAc,GAC7B,MAAM,CAIR;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,EACjC,MAAM,EAAE,MAAM,EACd,cAAc,GAAE,OAAc,GAC7B,MAAM,CAKR;AAED,wBAAgB,QAAQ,CACtB,EAAE,EAAE,KAAK,EACT,MAAM,GAAE,MAAW;AACnB;;;;GAIG;AACH,kBAAkB,GAAE,OAAe,GAClC,MAAM,CAqCR"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { printExpr } from "../expr.js";
|
|
2
|
-
import { INDENT, visibilityPrefix } from "../format.js";
|
|
3
|
-
import { printStmt } from "../stmt.js";
|
|
4
|
-
import { printType } from "../type.js";
|
|
5
|
-
function printTypeParams(typeParams) {
|
|
6
|
-
if (typeParams.length === 0)
|
|
7
|
-
return "";
|
|
8
|
-
return `<${typeParams
|
|
9
|
-
.map((t) => {
|
|
10
|
-
if (!t.bounds || t.bounds.length === 0)
|
|
11
|
-
return t.name;
|
|
12
|
-
return `${t.name} : ${t.bounds.join(" & ")}`;
|
|
13
|
-
})
|
|
14
|
-
.join(", ")}>`;
|
|
15
|
-
}
|
|
16
|
-
export function printFunParam(p, includeDefault = true) {
|
|
17
|
-
const def = includeDefault && p.default !== undefined ? ` = ${p.default}` : "";
|
|
18
|
-
return `${p.name}: ${printType(p.type)}${def}`;
|
|
19
|
-
}
|
|
20
|
-
export function printParamsBlock(params, indent, includeDefault = true) {
|
|
21
|
-
if (params.length === 0)
|
|
22
|
-
return "()";
|
|
23
|
-
return `(\n${params
|
|
24
|
-
.map((p) => `${indent}${INDENT}${printFunParam(p, includeDefault)}`)
|
|
25
|
-
.join(",\n")}\n${indent})`;
|
|
26
|
-
}
|
|
27
|
-
export function printFun(fn, indent = "",
|
|
28
|
-
/**
|
|
29
|
-
* Suppress the visibility modifier — required when the function lives
|
|
30
|
-
* inside an interface (members inherit the interface's visibility),
|
|
31
|
-
* or as part of an enum entry's member list.
|
|
32
|
-
*/
|
|
33
|
-
suppressVisibility = false) {
|
|
34
|
-
const lines = [];
|
|
35
|
-
if (fn.doc) {
|
|
36
|
-
for (const line of fn.doc.split("\n"))
|
|
37
|
-
lines.push(`${indent}/** ${line} */`);
|
|
38
|
-
}
|
|
39
|
-
const vis = suppressVisibility ? "" : visibilityPrefix(fn.visibility);
|
|
40
|
-
const isAbstract = fn.body === undefined;
|
|
41
|
-
// `abstract`/`override`/`open` are mutually exclusive with `final`; the
|
|
42
|
-
// DSL doesn't model `final` since Kotlin's default is final and we
|
|
43
|
-
// don't need the keyword.
|
|
44
|
-
const modifiers = fn.modifiers.length > 0 ? `${fn.modifiers.join(" ")} ` : "";
|
|
45
|
-
const typeParams = printTypeParams(fn.typeParams);
|
|
46
|
-
const params = printParamsBlock(fn.params, indent, !isAbstract);
|
|
47
|
-
const isUnit = fn.returnType.kind === "primitive" && fn.returnType.name === "Unit";
|
|
48
|
-
const ret = isUnit ? "" : `: ${printType(fn.returnType)}`;
|
|
49
|
-
const receiver = fn.receiver ? `${printType(fn.receiver)}.` : "";
|
|
50
|
-
const tp = typeParams ? `${typeParams} ` : "";
|
|
51
|
-
const head = `${indent}${vis}${modifiers}fun ${tp}${receiver}${fn.name}${params}${ret}`;
|
|
52
|
-
if (fn.body === undefined) {
|
|
53
|
-
lines.push(head);
|
|
54
|
-
return lines.join("\n");
|
|
55
|
-
}
|
|
56
|
-
if (fn.body.length === 0) {
|
|
57
|
-
lines.push(`${head} {}`);
|
|
58
|
-
return lines.join("\n");
|
|
59
|
-
}
|
|
60
|
-
// Single-expression body shorthand: `fun foo(): T = expr`.
|
|
61
|
-
if (fn.body.length === 1 && fn.body[0].kind === "returnExpr") {
|
|
62
|
-
lines.push(`${head} = ${printExpr(fn.body[0].expr)}`);
|
|
63
|
-
return lines.join("\n");
|
|
64
|
-
}
|
|
65
|
-
const body = fn.body.map((s) => printStmt(s, indent + INDENT)).join("\n");
|
|
66
|
-
lines.push(`${head} {\n${body}\n${indent}}`);
|
|
67
|
-
return lines.join("\n");
|
|
68
|
-
}
|
|
69
|
-
//# sourceMappingURL=fun.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fun.js","sourceRoot":"","sources":["../../../src/kt-compiler/decl/fun.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { KtDecl } from "../../kt-dsl/decl/types.js";
|
|
2
|
-
export declare function printDecl(d: KtDecl): string;
|
|
3
|
-
export { printClass } from "./class.js";
|
|
4
|
-
export { printDataClass } from "./dataClass.js";
|
|
5
|
-
export { printEnum } from "./enum.js";
|
|
6
|
-
export { printFun, printFunParam, printParamsBlock } from "./fun.js";
|
|
7
|
-
export { printInterface } from "./interface.js";
|
|
8
|
-
export { printObject } from "./object.js";
|
|
9
|
-
export { printPrimaryProp, printProp } from "./prop.js";
|
|
10
|
-
export { printSealedClass } from "./sealedClass.js";
|
|
11
|
-
export { printTopLevelFun } from "./topLevel.js";
|
|
12
|
-
export { printTypeAlias } from "./typeAlias.js";
|
|
13
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kt-compiler/decl/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAUzD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAmB3C;AAED,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { printClass } from "./class.js";
|
|
2
|
-
import { printDataClass } from "./dataClass.js";
|
|
3
|
-
import { printEnum } from "./enum.js";
|
|
4
|
-
import { printInterface } from "./interface.js";
|
|
5
|
-
import { printObject } from "./object.js";
|
|
6
|
-
import { printSealedClass } from "./sealedClass.js";
|
|
7
|
-
import { printTopLevelFun } from "./topLevel.js";
|
|
8
|
-
import { printTypeAlias } from "./typeAlias.js";
|
|
9
|
-
export function printDecl(d) {
|
|
10
|
-
switch (d.kind) {
|
|
11
|
-
case "dataClass":
|
|
12
|
-
return printDataClass(d);
|
|
13
|
-
case "class":
|
|
14
|
-
return printClass(d);
|
|
15
|
-
case "sealedClass":
|
|
16
|
-
return printSealedClass(d);
|
|
17
|
-
case "object":
|
|
18
|
-
return printObject(d);
|
|
19
|
-
case "interface":
|
|
20
|
-
return printInterface(d);
|
|
21
|
-
case "enum":
|
|
22
|
-
return printEnum(d);
|
|
23
|
-
case "typeAlias":
|
|
24
|
-
return printTypeAlias(d);
|
|
25
|
-
case "topLevelFun":
|
|
26
|
-
return printTopLevelFun(d);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
export { printClass } from "./class.js";
|
|
30
|
-
export { printDataClass } from "./dataClass.js";
|
|
31
|
-
export { printEnum } from "./enum.js";
|
|
32
|
-
export { printFun, printFunParam, printParamsBlock } from "./fun.js";
|
|
33
|
-
export { printInterface } from "./interface.js";
|
|
34
|
-
export { printObject } from "./object.js";
|
|
35
|
-
export { printPrimaryProp, printProp } from "./prop.js";
|
|
36
|
-
export { printSealedClass } from "./sealedClass.js";
|
|
37
|
-
export { printTopLevelFun } from "./topLevel.js";
|
|
38
|
-
export { printTypeAlias } from "./typeAlias.js";
|
|
39
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/kt-compiler/decl/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,WAAW;YACd,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;QAC3B,KAAK,OAAO;YACV,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;QACvB,KAAK,aAAa;YAChB,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC7B,KAAK,QAAQ;YACX,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;QACxB,KAAK,WAAW;YACd,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;QAC3B,KAAK,MAAM;YACT,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,KAAK,WAAW;YACd,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;QAC3B,KAAK,aAAa;YAChB,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/kt-compiler/decl/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAKlE,wBAAgB,cAAc,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CASrD"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { INDENT, superTypeTail, visibilityPrefix } from "../format.js";
|
|
2
|
-
import { printFun } from "./fun.js";
|
|
3
|
-
import { printAnnotations } from "./prop.js";
|
|
4
|
-
export function printInterface(d) {
|
|
5
|
-
const annLines = printAnnotations(d.annotations, "");
|
|
6
|
-
const vis = visibilityPrefix(d.visibility);
|
|
7
|
-
const head = `${annLines}${vis}interface ${d.name}${superTypeTail(d.superTypes)}`;
|
|
8
|
-
if (d.funs.length === 0)
|
|
9
|
-
return `${head} {}`;
|
|
10
|
-
// Members of an interface inherit the interface's visibility — emitting
|
|
11
|
-
// `public` on each requirement is redundant and noisy.
|
|
12
|
-
const funs = d.funs.map((f) => printFun(f, INDENT, true)).join("\n\n");
|
|
13
|
-
return `${head} {\n${funs}\n}`;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=interface.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/kt-compiler/decl/interface.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,UAAU,cAAc,CAAC,CAAc;IAC3C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,GAAG,QAAQ,GAAG,GAAG,aAAa,CAAC,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;IAClF,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,IAAI,KAAK,CAAC;IAC7C,wEAAwE;IACxE,uDAAuD;IACvD,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvE,OAAO,GAAG,IAAI,OAAO,IAAI,KAAK,CAAC;AACjC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../src/kt-compiler/decl/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAK5D,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,CAc/C"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { INDENT, superTypeTail, visibilityPrefix } from "../format.js";
|
|
2
|
-
import { printFun } from "./fun.js";
|
|
3
|
-
import { printAnnotations, printProp } from "./prop.js";
|
|
4
|
-
export function printObject(d) {
|
|
5
|
-
const annLines = printAnnotations(d.annotations, "");
|
|
6
|
-
const vis = visibilityPrefix(d.visibility);
|
|
7
|
-
const head = `${annLines}${vis}object ${d.name}${superTypeTail(d.superTypes)}`;
|
|
8
|
-
const sections = [];
|
|
9
|
-
if (d.properties.length > 0) {
|
|
10
|
-
sections.push(d.properties.map((p) => printProp(p, INDENT)).join("\n"));
|
|
11
|
-
}
|
|
12
|
-
if (d.funs.length > 0) {
|
|
13
|
-
sections.push(d.funs.map((f) => printFun(f, INDENT)).join("\n\n"));
|
|
14
|
-
}
|
|
15
|
-
if (sections.length === 0)
|
|
16
|
-
return head;
|
|
17
|
-
return `${head} {\n${sections.join("\n\n")}\n}`;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=object.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/kt-compiler/decl/object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,UAAU,WAAW,CAAC,CAAW;IACrC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,GAAG,QAAQ,GAAG,GAAG,UAAU,CAAC,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;IAE/E,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,GAAG,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAClD,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { KtAnnotation, KtProp } from "../../kt-dsl/decl/prop.js";
|
|
2
|
-
export declare function printAnnotation(a: KtAnnotation): string;
|
|
3
|
-
export declare function printAnnotations(annotations: ReadonlyArray<KtAnnotation>, indent: string, inline?: boolean): string;
|
|
4
|
-
/**
|
|
5
|
-
* Body-level property — emitted as `[annotations] [vis] val|var name: T [= default]`.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```kotlin
|
|
9
|
-
* // ktProp({ name: "id", type: ktString })
|
|
10
|
-
* // → public val id: String
|
|
11
|
-
* ```
|
|
12
|
-
*/
|
|
13
|
-
export declare function printProp(p: KtProp, indent?: string): string;
|
|
14
|
-
/**
|
|
15
|
-
* Primary-constructor property — emitted as a single line inside the
|
|
16
|
-
* class header's parameter list. Annotations render inline so the
|
|
17
|
-
* ctor block stays one-per-line readable.
|
|
18
|
-
*/
|
|
19
|
-
export declare function printPrimaryProp(p: KtProp, indent: string): string;
|
|
20
|
-
//# sourceMappingURL=prop.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prop.d.ts","sourceRoot":"","sources":["../../../src/kt-compiler/decl/prop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAItE,wBAAgB,eAAe,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAEvD;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,aAAa,CAAC,YAAY,CAAC,EACxC,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,OAAe,GACtB,MAAM,CAMR;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,MAAW,GAAG,MAAM,CAMhE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CASlE"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { visibilityPrefix } from "../format.js";
|
|
2
|
-
import { printType } from "../type.js";
|
|
3
|
-
export function printAnnotation(a) {
|
|
4
|
-
return a.args === undefined ? `@${a.name}` : `@${a.name}(${a.args})`;
|
|
5
|
-
}
|
|
6
|
-
export function printAnnotations(annotations, indent, inline = false) {
|
|
7
|
-
if (annotations.length === 0)
|
|
8
|
-
return "";
|
|
9
|
-
const sep = inline ? " " : "\n";
|
|
10
|
-
return (annotations.map((a) => `${indent}${printAnnotation(a)}`).join(sep) + sep);
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Body-level property — emitted as `[annotations] [vis] val|var name: T [= default]`.
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* ```kotlin
|
|
17
|
-
* // ktProp({ name: "id", type: ktString })
|
|
18
|
-
* // → public val id: String
|
|
19
|
-
* ```
|
|
20
|
-
*/
|
|
21
|
-
export function printProp(p, indent = "") {
|
|
22
|
-
const annLines = printAnnotations(p.annotations, indent);
|
|
23
|
-
const vis = visibilityPrefix(p.visibility);
|
|
24
|
-
const keyword = p.mutable ? "var" : "val";
|
|
25
|
-
const def = p.default !== undefined ? ` = ${p.default}` : "";
|
|
26
|
-
return `${annLines}${indent}${vis}${keyword} ${p.name}: ${printType(p.type)}${def}`;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Primary-constructor property — emitted as a single line inside the
|
|
30
|
-
* class header's parameter list. Annotations render inline so the
|
|
31
|
-
* ctor block stays one-per-line readable.
|
|
32
|
-
*/
|
|
33
|
-
export function printPrimaryProp(p, indent) {
|
|
34
|
-
const ann = p.annotations.length > 0
|
|
35
|
-
? `${p.annotations.map(printAnnotation).join(" ")} `
|
|
36
|
-
: "";
|
|
37
|
-
const vis = visibilityPrefix(p.visibility);
|
|
38
|
-
const keyword = p.mutable ? "var" : "val";
|
|
39
|
-
const def = p.default !== undefined ? ` = ${p.default}` : "";
|
|
40
|
-
return `${indent}${ann}${vis}${keyword} ${p.name}: ${printType(p.type)}${def}`;
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=prop.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prop.js","sourceRoot":"","sources":["../../../src/kt-compiler/decl/prop.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,UAAU,eAAe,CAAC,CAAe;IAC7C,OAAO,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,WAAwC,EACxC,MAAc,EACd,SAAkB,KAAK;IAEvB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAChC,OAAO,CACL,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CACzE,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CAAC,CAAS,EAAE,SAAiB,EAAE;IACtD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1C,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;AACtF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAS,EAAE,MAAc;IACxD,MAAM,GAAG,GACP,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QACtB,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;QACpD,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1C,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;AACjF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sealedClass.d.ts","sourceRoot":"","sources":["../../../src/kt-compiler/decl/sealedClass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAEd,MAAM,kCAAkC,CAAC;AAK1C,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAgBzD"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { INDENT, superTypeTail, visibilityPrefix } from "../format.js";
|
|
2
|
-
import { printFun } from "./fun.js";
|
|
3
|
-
import { printAnnotations, printPrimaryProp } from "./prop.js";
|
|
4
|
-
export function printSealedClass(d) {
|
|
5
|
-
const annLines = printAnnotations(d.annotations, "");
|
|
6
|
-
const vis = visibilityPrefix(d.visibility);
|
|
7
|
-
const head = `${annLines}${vis}sealed class ${d.name}${superTypeTail(d.superTypes)}`;
|
|
8
|
-
const sections = [];
|
|
9
|
-
if (d.subclasses.length > 0) {
|
|
10
|
-
sections.push(d.subclasses.map((sc) => printSubclass(sc, d.name, INDENT)).join("\n\n"));
|
|
11
|
-
}
|
|
12
|
-
if (d.funs.length > 0) {
|
|
13
|
-
sections.push(d.funs.map((f) => printFun(f, INDENT)).join("\n\n"));
|
|
14
|
-
}
|
|
15
|
-
if (sections.length === 0)
|
|
16
|
-
return head;
|
|
17
|
-
return `${head} {\n${sections.join("\n\n")}\n}`;
|
|
18
|
-
}
|
|
19
|
-
function printSubclass(sc, parent, indent) {
|
|
20
|
-
const annLines = sc.annotations.length > 0
|
|
21
|
-
? `${sc.annotations.map((a) => `${indent}@${a.name}${a.args ? `(${a.args})` : ""}`).join("\n")}\n`
|
|
22
|
-
: "";
|
|
23
|
-
if (sc.variant === "object") {
|
|
24
|
-
return `${annLines}${indent}public object ${sc.name} : ${parent}()`;
|
|
25
|
-
}
|
|
26
|
-
// data class subclass
|
|
27
|
-
const props = sc.properties.length === 0
|
|
28
|
-
? "()"
|
|
29
|
-
: `(\n${sc.properties.map((p) => printPrimaryProp({ ...p, inPrimary: true }, `${indent}${INDENT}`)).join(",\n")},\n${indent})`;
|
|
30
|
-
return `${annLines}${indent}public data class ${sc.name}${props} : ${parent}()`;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=sealedClass.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sealedClass.js","sourceRoot":"","sources":["../../../src/kt-compiler/decl/sealedClass.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE/D,MAAM,UAAU,gBAAgB,CAAC,CAAgB;IAC/C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,GAAG,QAAQ,GAAG,GAAG,gBAAgB,CAAC,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;IAErF,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,QAAQ,CAAC,IAAI,CACX,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CACzE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,GAAG,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAClD,CAAC;AAED,SAAS,aAAa,CACpB,EAAoB,EACpB,MAAc,EACd,MAAc;IAEd,MAAM,QAAQ,GACZ,EAAE,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QACvB,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QAClG,CAAC,CAAC,EAAE,CAAC;IACT,IAAI,EAAE,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,GAAG,QAAQ,GAAG,MAAM,iBAAiB,EAAE,CAAC,IAAI,MAAM,MAAM,IAAI,CAAC;IACtE,CAAC;IACD,sBAAsB;IACtB,MAAM,KAAK,GACT,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;QACxB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,MAAM,GAAG,CAAC;IACnI,OAAO,GAAG,QAAQ,GAAG,MAAM,qBAAqB,EAAE,CAAC,IAAI,GAAG,KAAK,MAAM,MAAM,IAAI,CAAC;AAClF,CAAC"}
|