@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
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ Generate idiomatic Android / JVM Kotlin client SDKs from an OpenAPI 3.x spec —
|
|
|
4
4
|
|
|
5
5
|
Built on the [`@hey-api`](https://github.com/hey-api/openapi-ts) toolchain (`@hey-api/json-schema-ref-parser` for spec loading, `@hey-api/shared` IR for normalization). 2.0 / 3.0 / 3.1 inputs all produce the same output.
|
|
6
6
|
|
|
7
|
-
Sibling package to [`@ir-kit/openapi-swift`](../openapi-swift). Part of [ir-kit](https://github.com/
|
|
7
|
+
Sibling package to [`@ir-kit/openapi-swift`](../openapi-swift). Part of [ir-kit](https://github.com/ahmedrowaihi/ir-kit). Companion to the [`openapi-sdk-petstore` example](../../examples/openapi-sdk-petstore).
|
|
8
8
|
|
|
9
9
|
## Install
|
|
10
10
|
|
|
@@ -38,18 +38,18 @@ public data class Pet(
|
|
|
38
38
|
public val category: Category? = null,
|
|
39
39
|
public val photoUrls: List<String>,
|
|
40
40
|
public val tags: List<Tag>? = null,
|
|
41
|
-
public val status:
|
|
41
|
+
public val status: PetStatus? = null,
|
|
42
42
|
)
|
|
43
43
|
|
|
44
44
|
@Serializable
|
|
45
|
-
public enum class
|
|
45
|
+
public enum class PetStatus(public val raw: String) {
|
|
46
46
|
@SerialName("available") AVAILABLE("available"),
|
|
47
47
|
@SerialName("pending") PENDING("pending"),
|
|
48
48
|
@SerialName("sold") SOLD("sold"),
|
|
49
49
|
}
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
-
Inline enums on a property get promoted to a top-level `
|
|
52
|
+
Inline enums on a property get promoted to a top-level `OwnerProperty` enum class. Renamed JSON keys (snake_case → camelCase) get a `@SerialName` so the wire format stays untouched.
|
|
53
53
|
|
|
54
54
|
### Operations → interfaces + impls
|
|
55
55
|
|
|
@@ -150,10 +150,10 @@ public sealed class APIError(message: String? = null, cause: Throwable? = null)
|
|
|
150
150
|
When an operation declares more than one 2xx response code with distinct schemas, the generator emits a sealed-class hierarchy and the impl dispatches on `response.code`:
|
|
151
151
|
|
|
152
152
|
```kotlin
|
|
153
|
-
public sealed class
|
|
154
|
-
public data class Status200(public val value: JobResult) :
|
|
155
|
-
public data class Status202(public val value: Pending) :
|
|
156
|
-
public object Status204 :
|
|
153
|
+
public sealed class SubmitJobResponse {
|
|
154
|
+
public data class Status200(public val value: JobResult) : SubmitJobResponse()
|
|
155
|
+
public data class Status202(public val value: Pending) : SubmitJobResponse()
|
|
156
|
+
public object Status204 : SubmitJobResponse()
|
|
157
157
|
}
|
|
158
158
|
```
|
|
159
159
|
|
|
@@ -212,7 +212,7 @@ sdk-kotlin/
|
|
|
212
212
|
│ │ └── RequestOptions.kt
|
|
213
213
|
│ └── models/
|
|
214
214
|
│ ├── Pet.kt # @Serializable data classes
|
|
215
|
-
│ ├──
|
|
215
|
+
│ ├── PetStatus.kt # enum classes
|
|
216
216
|
│ └── …
|
|
217
217
|
└── (build.gradle.kts + settings.gradle.kts when `gradle:` is set)
|
|
218
218
|
```
|
|
@@ -245,15 +245,15 @@ Runtime dependencies (set up by the `gradle:` option, or by the consuming module
|
|
|
245
245
|
| `printFile(file)` / `kt*` builders | Lower-level Kotlin AST + printer. |
|
|
246
246
|
|
|
247
247
|
```text
|
|
248
|
-
src/kt
|
|
249
|
-
src/kt-compiler/
|
|
248
|
+
src/ast/ kt* builders returning @ir-kit/compiler-kotlin nodes; KtDecl
|
|
249
|
+
src/kt-compiler/ printFile / printDecl via @ir-kit/compiler-kotlin
|
|
250
250
|
src/ir/
|
|
251
251
|
├── type/ IR.SchemaObject → KtType
|
|
252
252
|
├── operation/ IR.OperationObject → signature shared by interface + impl
|
|
253
253
|
├── impl/ OkHttp body builders (url, request, headers, body, decode)
|
|
254
|
-
├── runtime/
|
|
254
|
+
├── runtime/ Copies runtime/*.kt into the SDK
|
|
255
255
|
├── schema.ts schemasToDecls
|
|
256
256
|
└── operations.ts paths → interfaces + impl classes (orchestrator)
|
|
257
257
|
```
|
|
258
258
|
|
|
259
|
-
|
|
259
|
+
Per-method bodies are built as `@ir-kit/compiler-kotlin` nodes; imports are collected from those nodes. Runtime helpers (the same Kotlin every time) are real, ktlint-checked sources in `runtime/` and are copied with the package header rewritten.
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { kt } from "@ir-kit/compiler-kotlin";
|
|
2
|
+
export type KtType = kt.Type;
|
|
3
|
+
export type KtExpr = kt.Expression;
|
|
4
|
+
export type KtStmt = kt.Statement;
|
|
5
|
+
export type KtCallArg = kt.ValueArgument;
|
|
6
|
+
export type KtLambdaExpr = kt.LambdaExpression;
|
|
7
|
+
export type KtAnnotation = kt.Annotation;
|
|
8
|
+
export type KtEnumEntry = kt.EnumEntry;
|
|
9
|
+
export type KtFun = kt.FunctionDeclaration;
|
|
10
|
+
export type KtProp = kt.Property;
|
|
11
|
+
export type KtWhenCase = kt.WhenEntry;
|
|
12
|
+
export type KtCatchClause = kt.CatchClause;
|
|
13
|
+
export type KtSealedSubclass = kt.ClassDeclaration | kt.ObjectDeclaration;
|
|
14
|
+
export type KtVisibility = "public" | "internal" | "private" | "protected";
|
|
15
|
+
export type KtClassModifier = "open" | "abstract" | "final";
|
|
16
|
+
export type KtFunModifier = "override" | "open" | "abstract" | "suspend";
|
|
17
|
+
export declare const ktString: KtType;
|
|
18
|
+
export declare const ktInt: KtType;
|
|
19
|
+
export declare const ktLong: KtType;
|
|
20
|
+
export declare const ktDouble: KtType;
|
|
21
|
+
export declare const ktFloat: KtType;
|
|
22
|
+
export declare const ktBoolean: KtType;
|
|
23
|
+
export declare const ktUnit: KtType;
|
|
24
|
+
export declare const ktAny: KtType;
|
|
25
|
+
export declare const ktJsonElement: KtType;
|
|
26
|
+
export declare const ktByteArray: KtType;
|
|
27
|
+
export declare const ktNullable: (inner: KtType) => KtType;
|
|
28
|
+
export declare const ktList: (element: KtType) => KtType;
|
|
29
|
+
export declare const ktMap: (key: KtType, value: KtType) => KtType;
|
|
30
|
+
export declare const ktRef: (name: string, args?: ReadonlyArray<KtType>) => KtType;
|
|
31
|
+
/** `Pet` for `Pet` / `Pair<Pet, Response>`; `undefined` for composites. */
|
|
32
|
+
export declare const typeName: (t: KtType) => string | undefined;
|
|
33
|
+
export declare const typeArgs: (t: KtType) => ReadonlyArray<KtType>;
|
|
34
|
+
export declare const isUnit: (t: KtType) => boolean;
|
|
35
|
+
export declare const ktIdent: (name: string) => KtExpr;
|
|
36
|
+
export declare const ktMember: (on: KtExpr, name: string) => KtExpr;
|
|
37
|
+
export declare const ktSafeMember: (on: KtExpr, name: string) => KtExpr;
|
|
38
|
+
export declare const ktIndex: (on: KtExpr, index: KtExpr) => KtExpr;
|
|
39
|
+
export declare const ktStr: (value: string) => KtExpr;
|
|
40
|
+
export declare const ktIntLit: (value: number) => KtExpr;
|
|
41
|
+
export declare const ktBoolLit: (value: boolean) => KtExpr;
|
|
42
|
+
export declare const ktNull: KtExpr;
|
|
43
|
+
export declare const ktInterp: (parts: ReadonlyArray<string | KtExpr>) => KtExpr;
|
|
44
|
+
export declare const ktListLit: (items: ReadonlyArray<KtExpr>) => KtExpr;
|
|
45
|
+
export declare const ktArg: (expression: KtExpr, name?: string) => KtCallArg;
|
|
46
|
+
export declare const ktCall: (callee: KtExpr, args?: ReadonlyArray<KtCallArg>, trailingLambda?: KtLambdaExpr, typeArgs?: ReadonlyArray<KtType>) => KtExpr;
|
|
47
|
+
export declare const ktLambda: (params: ReadonlyArray<string>, body: ReadonlyArray<KtStmt>) => KtLambdaExpr;
|
|
48
|
+
type BinOp = "==" | "!=" | "<" | "<=" | ">" | ">=" | "&&" | "||" | "+";
|
|
49
|
+
export declare const ktBinOp: (op: BinOp, left: KtExpr, right: KtExpr) => KtExpr;
|
|
50
|
+
export declare const ktNe: (l: KtExpr, r: KtExpr) => KtExpr;
|
|
51
|
+
export declare const ktElvis: (l: KtExpr, r: KtExpr) => KtExpr;
|
|
52
|
+
export declare const ktVal: (name: string, expr: KtExpr, type?: KtType) => KtStmt;
|
|
53
|
+
export declare const ktVar: (name: string, expr: KtExpr, type?: KtType) => KtStmt;
|
|
54
|
+
export declare const ktAssign: (target: KtExpr, value: KtExpr) => KtStmt;
|
|
55
|
+
export declare const ktExprStmt: (expr: KtExpr) => KtStmt;
|
|
56
|
+
export declare const ktReturn: (expr?: KtExpr) => KtStmt;
|
|
57
|
+
export declare const ktThrow: (expr: KtExpr) => KtStmt;
|
|
58
|
+
export declare const ktIf: (cond: KtExpr, then: ReadonlyArray<KtStmt>, else_?: ReadonlyArray<KtStmt>) => KtStmt;
|
|
59
|
+
export declare const ktWhenCase: (patterns: ReadonlyArray<KtExpr>, body: ReadonlyArray<KtStmt>) => KtWhenCase;
|
|
60
|
+
export declare const ktWhen: (on: KtExpr | undefined, cases: ReadonlyArray<KtWhenCase>, default_?: ReadonlyArray<KtStmt>) => KtStmt;
|
|
61
|
+
export declare const ktForIn: (name: string, source: KtExpr, body: ReadonlyArray<KtStmt>) => KtStmt;
|
|
62
|
+
/** A function parameter as carried on operation signatures. */
|
|
63
|
+
export interface KtFunParam {
|
|
64
|
+
name: string;
|
|
65
|
+
type: KtType;
|
|
66
|
+
default?: string;
|
|
67
|
+
}
|
|
68
|
+
export declare const ktFunParam: (opts: KtFunParam) => KtFunParam;
|
|
69
|
+
export declare const ktAnnotation: (name: string, arg?: KtExpr) => KtAnnotation;
|
|
70
|
+
export declare function ktProp(opts: {
|
|
71
|
+
name: string;
|
|
72
|
+
type: KtType;
|
|
73
|
+
mutable?: boolean;
|
|
74
|
+
default?: string;
|
|
75
|
+
visibility?: KtVisibility;
|
|
76
|
+
annotations?: ReadonlyArray<KtAnnotation>;
|
|
77
|
+
}): KtProp;
|
|
78
|
+
export declare function ktFun(opts: {
|
|
79
|
+
name: string;
|
|
80
|
+
params: ReadonlyArray<KtFunParam>;
|
|
81
|
+
returnType: KtType;
|
|
82
|
+
modifiers?: ReadonlyArray<KtFunModifier>;
|
|
83
|
+
body?: ReadonlyArray<KtStmt>;
|
|
84
|
+
doc?: string;
|
|
85
|
+
visibility?: KtVisibility;
|
|
86
|
+
receiver?: KtType;
|
|
87
|
+
}): KtFun;
|
|
88
|
+
export declare const ktEnumEntry: (name: string, arg?: KtExpr, annotations?: ReadonlyArray<KtAnnotation>) => KtEnumEntry;
|
|
89
|
+
export declare function ktSealedSubclass(opts: {
|
|
90
|
+
variant: "class" | "object";
|
|
91
|
+
name: string;
|
|
92
|
+
properties?: ReadonlyArray<KtProp>;
|
|
93
|
+
annotations?: ReadonlyArray<KtAnnotation>;
|
|
94
|
+
}): KtSealedSubclass;
|
|
95
|
+
/**
|
|
96
|
+
* A top-level declaration plus the facts the project layer needs to
|
|
97
|
+
* place and import it.
|
|
98
|
+
*/
|
|
99
|
+
export interface KtDecl {
|
|
100
|
+
kind: "dataClass" | "class" | "sealedClass" | "object" | "interface" | "enum" | "typeAlias" | "topLevelFun";
|
|
101
|
+
name: string;
|
|
102
|
+
/** Target of a `typeAlias` declaration. */
|
|
103
|
+
aliasOf?: KtType;
|
|
104
|
+
/** Runtime-helper types live with the API surface. */
|
|
105
|
+
runtime?: boolean;
|
|
106
|
+
/** Receiver type name of a top-level extension fun. */
|
|
107
|
+
receiver?: string;
|
|
108
|
+
node: kt.Declaration;
|
|
109
|
+
}
|
|
110
|
+
interface DeclOpts {
|
|
111
|
+
name: string;
|
|
112
|
+
annotations?: ReadonlyArray<KtAnnotation>;
|
|
113
|
+
superTypes?: ReadonlyArray<string>;
|
|
114
|
+
visibility?: KtVisibility;
|
|
115
|
+
funs?: ReadonlyArray<KtFun>;
|
|
116
|
+
runtime?: boolean;
|
|
117
|
+
}
|
|
118
|
+
export declare function ktDataClass(opts: DeclOpts & {
|
|
119
|
+
properties: ReadonlyArray<KtProp>;
|
|
120
|
+
}): KtDecl;
|
|
121
|
+
export declare function ktClass(opts: DeclOpts & {
|
|
122
|
+
properties?: ReadonlyArray<KtProp>;
|
|
123
|
+
modifiers?: ReadonlyArray<KtClassModifier>;
|
|
124
|
+
}): KtDecl;
|
|
125
|
+
export declare function ktSealedClass(opts: DeclOpts & {
|
|
126
|
+
subclasses: ReadonlyArray<KtSealedSubclass>;
|
|
127
|
+
}): KtDecl;
|
|
128
|
+
export declare function ktInterface(opts: DeclOpts & {
|
|
129
|
+
funs: ReadonlyArray<KtFun>;
|
|
130
|
+
}): KtDecl;
|
|
131
|
+
export declare function ktEnum(opts: DeclOpts & {
|
|
132
|
+
entries: ReadonlyArray<KtEnumEntry>;
|
|
133
|
+
properties?: ReadonlyArray<KtProp>;
|
|
134
|
+
}): KtDecl;
|
|
135
|
+
export declare function ktTypeAlias(opts: {
|
|
136
|
+
name: string;
|
|
137
|
+
type: KtType;
|
|
138
|
+
visibility?: KtVisibility;
|
|
139
|
+
}): KtDecl;
|
|
140
|
+
export declare const ktTopLevelFun: (fn: KtFun) => KtDecl;
|
|
141
|
+
export interface KtFile {
|
|
142
|
+
pkg?: string;
|
|
143
|
+
imports: ReadonlyArray<string>;
|
|
144
|
+
decls: ReadonlyArray<KtDecl>;
|
|
145
|
+
}
|
|
146
|
+
export declare const ktFile: (opts: {
|
|
147
|
+
decls: ReadonlyArray<KtDecl>;
|
|
148
|
+
pkg?: string;
|
|
149
|
+
imports?: ReadonlyArray<string>;
|
|
150
|
+
}) => KtFile;
|
|
151
|
+
export {};
|
|
152
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { kt } from "@ir-kit/compiler-kotlin";
|
|
2
|
+
const f = kt.factory;
|
|
3
|
+
const K = kt.KotlinNodeKind;
|
|
4
|
+
const VISIBILITIES = new Set([
|
|
5
|
+
"public",
|
|
6
|
+
"internal",
|
|
7
|
+
"private",
|
|
8
|
+
"protected",
|
|
9
|
+
]);
|
|
10
|
+
/** Verbatim source fragment (defaults, annotation args). */
|
|
11
|
+
const raw = (text) => f.createIdentifier(text);
|
|
12
|
+
// Types
|
|
13
|
+
const named = (name) => f.createUserType(name);
|
|
14
|
+
export const ktString = named("String");
|
|
15
|
+
export const ktInt = named("Int");
|
|
16
|
+
export const ktLong = named("Long");
|
|
17
|
+
export const ktDouble = named("Double");
|
|
18
|
+
export const ktFloat = named("Float");
|
|
19
|
+
export const ktBoolean = named("Boolean");
|
|
20
|
+
export const ktUnit = named("Unit");
|
|
21
|
+
export const ktAny = named("Any");
|
|
22
|
+
export const ktJsonElement = named("JsonElement");
|
|
23
|
+
export const ktByteArray = named("ByteArray");
|
|
24
|
+
export const ktNullable = (inner) => f.createNullableType(inner);
|
|
25
|
+
export const ktList = (element) => f.createUserType("List", [element]);
|
|
26
|
+
export const ktMap = (key, value) => f.createUserType("Map", [key, value]);
|
|
27
|
+
export const ktRef = (name, args) => f.createUserType(name, args?.length ? args : undefined);
|
|
28
|
+
/** `Pet` for `Pet` / `Pair<Pet, Response>`; `undefined` for composites. */
|
|
29
|
+
export const typeName = (t) => t.kind === K.UserType ? t.name : undefined;
|
|
30
|
+
export const typeArgs = (t) => t.kind === K.UserType ? (t.typeArguments ?? []) : [];
|
|
31
|
+
export const isUnit = (t) => typeName(t) === "Unit";
|
|
32
|
+
// Expressions
|
|
33
|
+
export const ktIdent = (name) => f.createIdentifier(name);
|
|
34
|
+
export const ktMember = (on, name) => f.createNavigationExpression(on, f.createIdentifier(name));
|
|
35
|
+
export const ktSafeMember = (on, name) => f.createNavigationExpression(on, f.createIdentifier(name), true);
|
|
36
|
+
export const ktIndex = (on, index) => f.createIndexingExpression(on, [index]);
|
|
37
|
+
export const ktStr = (value) => f.createStringLiteral([{ text: value }]);
|
|
38
|
+
export const ktIntLit = (value) => f.createLiteral(String(value), "int");
|
|
39
|
+
export const ktBoolLit = (value) => f.createLiteral(String(value), "boolean");
|
|
40
|
+
export const ktNull = f.createLiteral("null", "null");
|
|
41
|
+
export const ktInterp = (parts) => f.createStringLiteral(parts.map((p) => (typeof p === "string" ? { text: p } : { expression: p })));
|
|
42
|
+
export const ktListLit = (items) => ktCall(ktIdent("listOf"), items.map((i) => ktArg(i)));
|
|
43
|
+
export const ktArg = (expression, name) => ({
|
|
44
|
+
expression,
|
|
45
|
+
name,
|
|
46
|
+
});
|
|
47
|
+
export const ktCall = (callee, args = [], trailingLambda, typeArgs) => f.createCallExpression(callee, args, typeArgs?.length ? typeArgs : undefined, trailingLambda);
|
|
48
|
+
export const ktLambda = (params, body) => f.createLambdaExpression(body, params.map((name) => ({ name })));
|
|
49
|
+
export const ktBinOp = (op, left, right) => f.createBinaryExpression(left, op, right);
|
|
50
|
+
export const ktNe = (l, r) => ktBinOp("!=", l, r);
|
|
51
|
+
export const ktElvis = (l, r) => f.createElvisExpression(l, r);
|
|
52
|
+
// Statements
|
|
53
|
+
export const ktVal = (name, expr, type) => f.createProperty(name, "val", type, expr);
|
|
54
|
+
export const ktVar = (name, expr, type) => f.createProperty(name, "var", type, expr);
|
|
55
|
+
export const ktAssign = (target, value) => f.createAssignment(target, value);
|
|
56
|
+
export const ktExprStmt = (expr) => f.createExpressionStatement(expr);
|
|
57
|
+
export const ktReturn = (expr) => f.createReturnStatement(expr);
|
|
58
|
+
export const ktThrow = (expr) => f.createThrowStatement(expr);
|
|
59
|
+
const block = (body) => f.createBlock(body);
|
|
60
|
+
export const ktIf = (cond, then, else_) => f.createIfStatement(cond, block(then), else_ && block(else_));
|
|
61
|
+
export const ktWhenCase = (patterns, body) => ({ conditions: patterns, body: block(body) });
|
|
62
|
+
export const ktWhen = (on, cases, default_) => f.createWhenStatement(default_ ? [...cases, { body: block(default_) }] : cases, on);
|
|
63
|
+
export const ktForIn = (name, source, body) => f.createForStatement([name], source, block(body));
|
|
64
|
+
export const ktFunParam = (opts) => ({ ...opts });
|
|
65
|
+
export const ktAnnotation = (name, arg) => f.createAnnotation(name, arg === undefined ? undefined : [ktArg(arg)]);
|
|
66
|
+
export function ktProp(opts) {
|
|
67
|
+
return f.createProperty(opts.name, opts.mutable ? "var" : "val", opts.type, opts.default === undefined ? undefined : raw(opts.default), undefined, [opts.visibility ?? "public"], opts.annotations);
|
|
68
|
+
}
|
|
69
|
+
/** Properties of data/enum/impl classes live in the primary constructor. */
|
|
70
|
+
const primaryConstructor = (props) => f.createPrimaryConstructor(props.map((p) => f.createParameter(p.name, p.type ?? ktAny, p.initializer, p.valOrVar, p.modifiers, p.annotations)));
|
|
71
|
+
const superTypes = (names) => names?.map((name) => ({ type: f.createUserType(name) }));
|
|
72
|
+
export function ktFun(opts) {
|
|
73
|
+
const abstract = opts.body === undefined;
|
|
74
|
+
const fn = f.createFunctionDeclaration(opts.name, opts.params.map((p) => f.createParameter(p.name, p.type, abstract || p.default === undefined ? undefined : raw(p.default))), isUnit(opts.returnType) ? undefined : opts.returnType, opts.body, undefined, [opts.visibility ?? "public", ...(opts.modifiers ?? [])], undefined, opts.receiver);
|
|
75
|
+
return opts.doc
|
|
76
|
+
? {
|
|
77
|
+
...fn,
|
|
78
|
+
leadingComments: opts.doc.split("\n").map((l) => `/** ${l} */`),
|
|
79
|
+
}
|
|
80
|
+
: fn;
|
|
81
|
+
}
|
|
82
|
+
export const ktEnumEntry = (name, arg, annotations) => f.createEnumEntry(name, arg === undefined ? undefined : [ktArg(arg)], undefined, annotations);
|
|
83
|
+
export function ktSealedSubclass(opts) {
|
|
84
|
+
return opts.variant === "object"
|
|
85
|
+
? f.createObjectDeclaration(opts.name, undefined, ["public"], opts.annotations)
|
|
86
|
+
: f.createClassDeclaration(opts.name, primaryConstructor(opts.properties ?? []), undefined, ["public", "data"], opts.annotations);
|
|
87
|
+
}
|
|
88
|
+
export function ktDataClass(opts) {
|
|
89
|
+
return {
|
|
90
|
+
kind: "dataClass",
|
|
91
|
+
name: opts.name,
|
|
92
|
+
runtime: opts.runtime,
|
|
93
|
+
// A data class needs at least one constructor property.
|
|
94
|
+
node: f.createClassDeclaration(opts.name, opts.properties.length ? primaryConstructor(opts.properties) : undefined, opts.funs, opts.properties.length
|
|
95
|
+
? [opts.visibility ?? "public", "data"]
|
|
96
|
+
: [opts.visibility ?? "public"], opts.annotations, superTypes(opts.superTypes)),
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
export function ktClass(opts) {
|
|
100
|
+
return {
|
|
101
|
+
kind: "class",
|
|
102
|
+
name: opts.name,
|
|
103
|
+
runtime: opts.runtime,
|
|
104
|
+
node: f.createClassDeclaration(opts.name, opts.properties?.length ? primaryConstructor(opts.properties) : undefined, opts.funs, [opts.visibility ?? "public", ...(opts.modifiers ?? [])], opts.annotations, superTypes(opts.superTypes)),
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
export function ktSealedClass(opts) {
|
|
108
|
+
const parent = [{ type: f.createUserType(opts.name), arguments: [] }];
|
|
109
|
+
return {
|
|
110
|
+
kind: "sealedClass",
|
|
111
|
+
name: opts.name,
|
|
112
|
+
runtime: opts.runtime,
|
|
113
|
+
node: f.createClassDeclaration(opts.name, undefined, [
|
|
114
|
+
...opts.subclasses.map((sc) => ({ ...sc, superTypes: parent })),
|
|
115
|
+
...(opts.funs ?? []),
|
|
116
|
+
], [opts.visibility ?? "public", "sealed"], opts.annotations, superTypes(opts.superTypes)),
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
export function ktInterface(opts) {
|
|
120
|
+
return {
|
|
121
|
+
kind: "interface",
|
|
122
|
+
name: opts.name,
|
|
123
|
+
runtime: opts.runtime,
|
|
124
|
+
node: f.createClassDeclaration(opts.name, undefined, opts.funs.map((fn) => ({
|
|
125
|
+
...fn,
|
|
126
|
+
modifiers: fn.modifiers?.filter((m) => !VISIBILITIES.has(m)),
|
|
127
|
+
})), [opts.visibility ?? "public"], opts.annotations, superTypes(opts.superTypes), undefined, true),
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
export function ktEnum(opts) {
|
|
131
|
+
return {
|
|
132
|
+
kind: "enum",
|
|
133
|
+
name: opts.name,
|
|
134
|
+
runtime: opts.runtime,
|
|
135
|
+
node: f.createClassDeclaration(opts.name, opts.properties?.length ? primaryConstructor(opts.properties) : undefined, opts.funs, [opts.visibility ?? "public", "enum"], opts.annotations, superTypes(opts.superTypes), opts.entries),
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
export function ktTypeAlias(opts) {
|
|
139
|
+
return {
|
|
140
|
+
kind: "typeAlias",
|
|
141
|
+
name: opts.name,
|
|
142
|
+
aliasOf: opts.type,
|
|
143
|
+
node: f.createTypeAlias(opts.name, opts.type, [
|
|
144
|
+
opts.visibility ?? "public",
|
|
145
|
+
]),
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
export const ktTopLevelFun = (fn) => ({
|
|
149
|
+
kind: "topLevelFun",
|
|
150
|
+
name: fn.name,
|
|
151
|
+
receiver: fn.receiverType && typeName(fn.receiverType),
|
|
152
|
+
node: fn,
|
|
153
|
+
});
|
|
154
|
+
export const ktFile = (opts) => ({
|
|
155
|
+
pkg: opts.pkg,
|
|
156
|
+
imports: opts.imports ?? [],
|
|
157
|
+
decls: opts.decls,
|
|
158
|
+
});
|
|
159
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"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"}
|
package/dist/generate.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { NormalizeOptions } from "@ir-kit/openapi";
|
|
2
2
|
import { type OperationsOptions } from "./ir/index.js";
|
|
3
3
|
import { type BuildOptions, type BuiltFile, type GradleOptions } from "./project/index.js";
|
|
4
4
|
/**
|
package/dist/generate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAIxD,OAAO,EAEL,KAAK,iBAAiB,EAGvB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,SAAS,EAGd,KAAK,aAAa,EAEnB,MAAM,oBAAoB,CAAC;AAE5B;;;;GAIG;AACH,KAAK,0BAA0B,GAAG,IAAI,CACpC,iBAAiB,EACjB,qBAAqB,CACtB,CAAC;AAEF,MAAM,WAAW,eACf,SAAQ,YAAY,EAClB,0BAA0B;IAC5B;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;IACjC,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CA0C7E"}
|
package/dist/generate.js
CHANGED
|
@@ -1,36 +1,30 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { assertSafeOutputDir, defaultProjectName } from "@ir-kit/codegen-core";
|
|
4
|
-
import { extractSecuritySchemeNames, } from "@ir-kit/openapi";
|
|
1
|
+
import { resolve } from "node:path";
|
|
2
|
+
import { defaultProjectName, writeOutput } from "@ir-kit/codegen-core";
|
|
5
3
|
import { loadOpenAPI } from "@ir-kit/openapi-loader";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
4
|
+
import { parseForCodegen } from "@ir-kit/openapi-tools/parse";
|
|
5
|
+
import { newTypeNames } from "./ir/identifiers.js";
|
|
6
|
+
import { aliasesOf, operationsToDecls, schemasToDecls, } from "./ir/index.js";
|
|
8
7
|
import { buildRuntimeFiles } from "./ir/runtime/index.js";
|
|
9
8
|
import { buildGradleFile, buildKotlinProject, settingsGradleFile, } from "./project/index.js";
|
|
10
9
|
export async function generate(opts) {
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
});
|
|
15
|
-
const ir = parseSpec(bundled);
|
|
16
|
-
const schemaDecls = schemasToDecls(ir.components?.schemas ?? {});
|
|
10
|
+
const { ir, securitySchemeNames } = parseForCodegen(await loadOpenAPI({ input: opts.input, normalize: opts.normalize }));
|
|
11
|
+
const names = newTypeNames();
|
|
12
|
+
const schemaDecls = schemasToDecls(ir.components?.schemas ?? {}, names);
|
|
17
13
|
const opsResult = operationsToDecls(ir.paths, {
|
|
18
14
|
defaultTag: opts.defaultTag,
|
|
19
15
|
interfaceName: opts.interfaceName,
|
|
20
16
|
clientClassName: opts.clientClassName,
|
|
21
17
|
interfaceOnly: opts.interfaceOnly,
|
|
22
18
|
openImpl: opts.openImpl,
|
|
23
|
-
securitySchemeNames
|
|
19
|
+
securitySchemeNames,
|
|
20
|
+
names,
|
|
21
|
+
aliases: new Map(aliasesOf(schemaDecls)),
|
|
24
22
|
});
|
|
25
23
|
const decls = [...schemaDecls, ...opsResult.decls];
|
|
26
24
|
const sdkFiles = buildKotlinProject(decls, opts);
|
|
27
25
|
const pkg = opts.packageName ?? "com.example.api";
|
|
28
26
|
const apiSubDir = (opts.layout ?? "split") === "flat" ? "" : "api";
|
|
29
|
-
const runtimeFiles = buildRuntimeFiles({
|
|
30
|
-
hasAuth: opsResult.needsAuth,
|
|
31
|
-
hasMultipart: opsResult.needsMultipart,
|
|
32
|
-
hasFormUrlEncoded: false,
|
|
33
|
-
}, runtimeSubPackage(pkg, apiSubDir)).map((rf) => ({
|
|
27
|
+
const runtimeFiles = buildRuntimeFiles({ hasMultipart: opsResult.needsMultipart }, runtimeSubPackage(pkg, apiSubDir)).map((rf) => ({
|
|
34
28
|
path: runtimePath(pkg, apiSubDir, rf.name),
|
|
35
29
|
content: rf.content,
|
|
36
30
|
}));
|
|
@@ -41,15 +35,7 @@ export async function generate(opts) {
|
|
|
41
35
|
files.push(buildGradleFile(gradleOpts));
|
|
42
36
|
files.push(settingsGradleFile(defaultProjectName(out)));
|
|
43
37
|
}
|
|
44
|
-
|
|
45
|
-
assertSafeOutputDir(out);
|
|
46
|
-
await rm(out, { recursive: true, force: true });
|
|
47
|
-
}
|
|
48
|
-
for (const file of files) {
|
|
49
|
-
const full = join(out, file.path);
|
|
50
|
-
await mkdir(dirname(full), { recursive: true });
|
|
51
|
-
await writeFile(full, file.content);
|
|
52
|
-
}
|
|
38
|
+
await writeOutput(out, files, { clean: opts.clean });
|
|
53
39
|
return { files, output: out };
|
|
54
40
|
}
|
|
55
41
|
function runtimeSubPackage(rootPkg, dir) {
|
package/dist/generate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC"}
|
package/dist/ir/identifiers.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Namespace } from "@ir-kit/codegen-core";
|
|
1
2
|
/**
|
|
2
3
|
* Kotlin-specific identifier transforms. Generic case helpers
|
|
3
4
|
* (`pascal`, `camel`, `safeIdent`, `safeCaseName`, `synthName`,
|
|
@@ -20,4 +21,10 @@ export declare function paramIdent(name: string): string;
|
|
|
20
21
|
* leading underscore if the result starts with a digit.
|
|
21
22
|
*/
|
|
22
23
|
export declare function enumEntryIdent(s: string): string;
|
|
24
|
+
/** `typeIdent` joined into the PascalCase form Kotlin's class-naming convention expects. */
|
|
25
|
+
export declare function kotlinTypeIdent(name: string): string;
|
|
26
|
+
/** Operation parameter name that cannot shadow a local of the generated method body. */
|
|
27
|
+
export declare function operationParamIdent(name: string): string;
|
|
28
|
+
/** Owns every top-level Kotlin type name for one generation run. */
|
|
29
|
+
export declare function newTypeNames(): Namespace;
|
|
23
30
|
//# sourceMappingURL=identifiers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identifiers.d.ts","sourceRoot":"","sources":["../../src/ir/identifiers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"identifiers.d.ts","sourceRoot":"","sources":["../../src/ir/identifiers.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EAGV,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;GAOG;AAEH;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO/C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAUhD;AAuCD,4FAA4F;AAC5F,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED,wFAAwF;AACxF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED,oEAAoE;AACpE,wBAAgB,YAAY,IAAI,SAAS,CAKxC"}
|