@goast/kotlin 0.6.0 → 0.7.0-beta.1
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 +0 -1
- package/dist/mod.d.ts +8 -0
- package/{esm → dist}/src/assets.d.ts +0 -1
- package/dist/src/assets.js +5 -0
- package/{esm → dist}/src/ast/_index.d.ts +28 -29
- package/{esm → dist}/src/ast/_index.js +2 -0
- package/dist/src/ast/index.d.ts +1 -0
- package/{esm → dist}/src/ast/node.d.ts +0 -1
- package/{script → dist}/src/ast/nodes/annotation.d.ts +5 -6
- package/{esm → dist}/src/ast/nodes/annotation.js +5 -21
- package/{esm → dist}/src/ast/nodes/argument.d.ts +5 -6
- package/{esm → dist}/src/ast/nodes/argument.js +3 -14
- package/{esm → dist}/src/ast/nodes/call.d.ts +5 -6
- package/{esm → dist}/src/ast/nodes/call.js +6 -23
- package/{esm → dist}/src/ast/nodes/class.d.ts +15 -16
- package/dist/src/ast/nodes/class.js +100 -0
- package/{esm → dist}/src/ast/nodes/collection-literal.d.ts +4 -5
- package/{esm → dist}/src/ast/nodes/collection-literal.js +2 -8
- package/{esm → dist}/src/ast/nodes/constructor.d.ts +8 -9
- package/{esm → dist}/src/ast/nodes/constructor.js +13 -44
- package/{esm → dist}/src/ast/nodes/doc-tag.d.ts +2 -3
- package/{esm → dist}/src/ast/nodes/doc-tag.js +5 -21
- package/{esm → dist}/src/ast/nodes/doc.d.ts +6 -7
- package/{esm → dist}/src/ast/nodes/doc.js +14 -20
- package/{script → dist}/src/ast/nodes/enum-value.d.ts +8 -9
- package/{esm → dist}/src/ast/nodes/enum-value.js +10 -37
- package/{script → dist}/src/ast/nodes/enum.d.ts +15 -16
- package/dist/src/ast/nodes/enum.js +86 -0
- package/{esm → dist}/src/ast/nodes/function.d.ts +9 -10
- package/dist/src/ast/nodes/function.js +120 -0
- package/{esm → dist}/src/ast/nodes/generic-parameter.d.ts +4 -5
- package/dist/src/ast/nodes/generic-parameter.js +27 -0
- package/{esm → dist}/src/ast/nodes/init-block.d.ts +3 -4
- package/{esm → dist}/src/ast/nodes/init-block.js +1 -6
- package/{esm → dist}/src/ast/nodes/interface.d.ts +13 -14
- package/dist/src/ast/nodes/interface.js +70 -0
- package/{esm → dist}/src/ast/nodes/lambda-type.d.ts +4 -5
- package/{esm → dist}/src/ast/nodes/lambda-type.js +7 -28
- package/{esm → dist}/src/ast/nodes/lambda.d.ts +3 -4
- package/{esm → dist}/src/ast/nodes/lambda.js +6 -22
- package/{script → dist}/src/ast/nodes/object.d.ts +7 -8
- package/dist/src/ast/nodes/object.js +60 -0
- package/{esm → dist}/src/ast/nodes/parameter.d.ts +7 -8
- package/dist/src/ast/nodes/parameter.js +63 -0
- package/{esm → dist}/src/ast/nodes/property.d.ts +10 -11
- package/dist/src/ast/nodes/property.js +144 -0
- package/{script → dist}/src/ast/nodes/reference.d.ts +5 -6
- package/{esm → dist}/src/ast/nodes/reference.js +19 -56
- package/{esm → dist}/src/ast/nodes/string.d.ts +3 -4
- package/{esm → dist}/src/ast/nodes/string.js +13 -45
- package/{esm → dist}/src/ast/nodes/types.d.ts +7 -8
- package/dist/src/ast/references/index.d.ts +10 -0
- package/{script → dist}/src/ast/references/jackson.d.ts +2 -3
- package/{script → dist}/src/ast/references/jakarta.d.ts +1 -2
- package/{esm → dist}/src/ast/references/java.d.ts +1 -2
- package/{esm → dist}/src/ast/references/kotlin.d.ts +1 -2
- package/{esm → dist}/src/ast/references/kotlinx.d.ts +1 -2
- package/{esm → dist}/src/ast/references/okhttp3.d.ts +1 -2
- package/{esm → dist}/src/ast/references/reactor.d.ts +1 -2
- package/{esm → dist}/src/ast/references/spring-reactive.d.ts +1 -2
- package/{script → dist}/src/ast/references/spring.d.ts +1 -2
- package/{script → dist}/src/ast/references/swagger.d.ts +1 -2
- package/{esm → dist}/src/ast/utils/get-kotlin-builder-options.d.ts +1 -2
- package/{esm → dist}/src/ast/utils/to-kt-node.d.ts +2 -3
- package/{esm → dist}/src/ast/utils/write-kt-annotations.d.ts +1 -2
- package/{esm → dist}/src/ast/utils/write-kt-annotations.js +1 -1
- package/{esm → dist}/src/ast/utils/write-kt-arguments.d.ts +1 -2
- package/{script → dist}/src/ast/utils/write-kt-enum-values.d.ts +1 -2
- package/{script → dist}/src/ast/utils/write-kt-generic-parameters.d.ts +1 -2
- package/{script → dist}/src/ast/utils/write-kt-members.d.ts +1 -2
- package/{esm → dist}/src/ast/utils/write-kt-members.js +1 -1
- package/{script → dist}/src/ast/utils/write-kt-node.d.ts +1 -2
- package/{esm → dist}/src/ast/utils/write-kt-node.js +1 -1
- package/{esm → dist}/src/ast/utils/write-kt-parameters.d.ts +1 -2
- package/{esm → dist}/src/common-results.d.ts +0 -1
- package/{script → dist}/src/config.d.ts +0 -1
- package/{esm → dist}/src/file-builder.d.ts +3 -4
- package/{esm → dist}/src/file-builder.js +4 -14
- package/{esm → dist}/src/generators/file-generator.d.ts +1 -2
- package/{esm → dist}/src/generators/file-generator.js +2 -2
- package/dist/src/generators/index.d.ts +5 -0
- package/{esm → dist}/src/generators/models/args.d.ts +0 -1
- package/dist/src/generators/models/index.d.ts +4 -0
- package/{esm → dist}/src/generators/models/model-generator.d.ts +5 -6
- package/{esm → dist}/src/generators/models/model-generator.js +40 -48
- package/{script → dist}/src/generators/models/models-generator.d.ts +2 -3
- package/{esm → dist}/src/generators/models/models-generator.js +2 -7
- package/{script → dist}/src/generators/models/models.d.ts +2 -3
- package/{esm → dist}/src/generators/services/okhttp3-clients/args.d.ts +2 -3
- package/dist/src/generators/services/okhttp3-clients/index.d.ts +4 -0
- package/{esm → dist}/src/generators/services/okhttp3-clients/models.d.ts +5 -6
- package/{script → dist}/src/generators/services/okhttp3-clients/okhttp3-client-generator.d.ts +6 -7
- package/{esm → dist}/src/generators/services/okhttp3-clients/okhttp3-client-generator.js +36 -40
- package/{script → dist}/src/generators/services/okhttp3-clients/okhttp3-clients-generator.d.ts +3 -4
- package/{esm → dist}/src/generators/services/okhttp3-clients/okhttp3-clients-generator.js +7 -15
- package/{script → dist}/src/generators/services/okhttp3-clients/refs.d.ts +1 -2
- package/{esm → dist}/src/generators/services/spring-controllers/args.d.ts +2 -3
- package/dist/src/generators/services/spring-controllers/index.d.ts +4 -0
- package/{script → dist}/src/generators/services/spring-controllers/models.d.ts +4 -5
- package/dist/src/generators/services/spring-controllers/refs.d.ts +5 -0
- package/{script → dist}/src/generators/services/spring-controllers/spring-controller-generator.d.ts +7 -8
- package/{esm → dist}/src/generators/services/spring-controllers/spring-controller-generator.js +85 -159
- package/{script → dist}/src/generators/services/spring-controllers/spring-controllers-generator.d.ts +4 -5
- package/{esm → dist}/src/generators/services/spring-controllers/spring-controllers-generator.js +5 -12
- package/{esm → dist}/src/generators/services/spring-reactive-web-clients/args.d.ts +2 -3
- package/dist/src/generators/services/spring-reactive-web-clients/index.d.ts +4 -0
- package/{script → dist}/src/generators/services/spring-reactive-web-clients/models.d.ts +4 -5
- package/{script → dist}/src/generators/services/spring-reactive-web-clients/refs.d.ts +1 -2
- package/{script → dist}/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.d.ts +6 -7
- package/{esm → dist}/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.js +49 -56
- package/{script → dist}/src/generators/services/spring-reactive-web-clients/spring-reactive-web-clients-generator.d.ts +3 -4
- package/{esm → dist}/src/generators/services/spring-reactive-web-clients/spring-reactive-web-clients-generator.js +5 -12
- package/{esm → dist}/src/import-collection.d.ts +1 -2
- package/{esm → dist}/src/import-collection.js +2 -12
- package/{script → dist}/src/types.d.ts +0 -1
- package/{esm → dist}/src/utils.d.ts +0 -1
- package/{esm → dist}/src/utils.js +3 -5
- package/package.json +23 -14
- package/esm/mod.d.ts +0 -9
- package/esm/mod.d.ts.map +0 -1
- package/esm/package.json +0 -3
- package/esm/src/assets.d.ts.map +0 -1
- package/esm/src/assets.js +0 -6
- package/esm/src/ast/_index.d.ts.map +0 -1
- package/esm/src/ast/common.d.ts +0 -2
- package/esm/src/ast/common.d.ts.map +0 -1
- package/esm/src/ast/index.d.ts +0 -2
- package/esm/src/ast/index.d.ts.map +0 -1
- package/esm/src/ast/node.d.ts.map +0 -1
- package/esm/src/ast/nodes/annotation.d.ts +0 -25
- package/esm/src/ast/nodes/annotation.d.ts.map +0 -1
- package/esm/src/ast/nodes/argument.d.ts.map +0 -1
- package/esm/src/ast/nodes/call.d.ts.map +0 -1
- package/esm/src/ast/nodes/class.d.ts.map +0 -1
- package/esm/src/ast/nodes/class.js +0 -168
- package/esm/src/ast/nodes/collection-literal.d.ts.map +0 -1
- package/esm/src/ast/nodes/constructor.d.ts.map +0 -1
- package/esm/src/ast/nodes/doc-tag.d.ts.map +0 -1
- package/esm/src/ast/nodes/doc.d.ts.map +0 -1
- package/esm/src/ast/nodes/enum-value.d.ts +0 -32
- package/esm/src/ast/nodes/enum-value.d.ts.map +0 -1
- package/esm/src/ast/nodes/enum.d.ts +0 -47
- package/esm/src/ast/nodes/enum.d.ts.map +0 -1
- package/esm/src/ast/nodes/enum.js +0 -133
- package/esm/src/ast/nodes/function.d.ts.map +0 -1
- package/esm/src/ast/nodes/function.js +0 -217
- package/esm/src/ast/nodes/generic-parameter.d.ts.map +0 -1
- package/esm/src/ast/nodes/generic-parameter.js +0 -44
- package/esm/src/ast/nodes/init-block.d.ts.map +0 -1
- package/esm/src/ast/nodes/interface.d.ts.map +0 -1
- package/esm/src/ast/nodes/interface.js +0 -112
- package/esm/src/ast/nodes/lambda-type.d.ts.map +0 -1
- package/esm/src/ast/nodes/lambda.d.ts.map +0 -1
- package/esm/src/ast/nodes/object.d.ts +0 -36
- package/esm/src/ast/nodes/object.d.ts.map +0 -1
- package/esm/src/ast/nodes/object.js +0 -96
- package/esm/src/ast/nodes/parameter.d.ts.map +0 -1
- package/esm/src/ast/nodes/parameter.js +0 -114
- package/esm/src/ast/nodes/property.d.ts.map +0 -1
- package/esm/src/ast/nodes/property.js +0 -264
- package/esm/src/ast/nodes/reference.d.ts +0 -54
- package/esm/src/ast/nodes/reference.d.ts.map +0 -1
- package/esm/src/ast/nodes/string.d.ts.map +0 -1
- package/esm/src/ast/nodes/types.d.ts.map +0 -1
- package/esm/src/ast/references/index.d.ts +0 -11
- package/esm/src/ast/references/index.d.ts.map +0 -1
- package/esm/src/ast/references/jackson.d.ts +0 -26
- package/esm/src/ast/references/jackson.d.ts.map +0 -1
- package/esm/src/ast/references/jakarta.d.ts +0 -9
- package/esm/src/ast/references/jakarta.d.ts.map +0 -1
- package/esm/src/ast/references/java.d.ts.map +0 -1
- package/esm/src/ast/references/kotlin.d.ts.map +0 -1
- package/esm/src/ast/references/kotlinx.d.ts.map +0 -1
- package/esm/src/ast/references/okhttp3.d.ts.map +0 -1
- package/esm/src/ast/references/reactor.d.ts.map +0 -1
- package/esm/src/ast/references/spring-reactive.d.ts.map +0 -1
- package/esm/src/ast/references/spring.d.ts +0 -22
- package/esm/src/ast/references/spring.d.ts.map +0 -1
- package/esm/src/ast/references/swagger.d.ts +0 -9
- package/esm/src/ast/references/swagger.d.ts.map +0 -1
- package/esm/src/ast/utils/get-kotlin-builder-options.d.ts.map +0 -1
- package/esm/src/ast/utils/to-kt-node.d.ts.map +0 -1
- package/esm/src/ast/utils/write-kt-annotations.d.ts.map +0 -1
- package/esm/src/ast/utils/write-kt-arguments.d.ts.map +0 -1
- package/esm/src/ast/utils/write-kt-enum-values.d.ts +0 -4
- package/esm/src/ast/utils/write-kt-enum-values.d.ts.map +0 -1
- package/esm/src/ast/utils/write-kt-generic-parameters.d.ts +0 -4
- package/esm/src/ast/utils/write-kt-generic-parameters.d.ts.map +0 -1
- package/esm/src/ast/utils/write-kt-members.d.ts +0 -6
- package/esm/src/ast/utils/write-kt-members.d.ts.map +0 -1
- package/esm/src/ast/utils/write-kt-node.d.ts +0 -8
- package/esm/src/ast/utils/write-kt-node.d.ts.map +0 -1
- package/esm/src/ast/utils/write-kt-parameters.d.ts.map +0 -1
- package/esm/src/common-results.d.ts.map +0 -1
- package/esm/src/config.d.ts +0 -27
- package/esm/src/config.d.ts.map +0 -1
- package/esm/src/file-builder.d.ts.map +0 -1
- package/esm/src/generators/file-generator.d.ts.map +0 -1
- package/esm/src/generators/index.d.ts +0 -6
- package/esm/src/generators/index.d.ts.map +0 -1
- package/esm/src/generators/models/args.d.ts.map +0 -1
- package/esm/src/generators/models/index.d.ts +0 -5
- package/esm/src/generators/models/index.d.ts.map +0 -1
- package/esm/src/generators/models/model-generator.d.ts.map +0 -1
- package/esm/src/generators/models/models-generator.d.ts +0 -18
- package/esm/src/generators/models/models-generator.d.ts.map +0 -1
- package/esm/src/generators/models/models.d.ts +0 -61
- package/esm/src/generators/models/models.d.ts.map +0 -1
- package/esm/src/generators/services/okhttp3-clients/args.d.ts.map +0 -1
- package/esm/src/generators/services/okhttp3-clients/index.d.ts +0 -5
- package/esm/src/generators/services/okhttp3-clients/index.d.ts.map +0 -1
- package/esm/src/generators/services/okhttp3-clients/models.d.ts.map +0 -1
- package/esm/src/generators/services/okhttp3-clients/okhttp3-client-generator.d.ts +0 -55
- package/esm/src/generators/services/okhttp3-clients/okhttp3-client-generator.d.ts.map +0 -1
- package/esm/src/generators/services/okhttp3-clients/okhttp3-clients-generator.d.ts +0 -23
- package/esm/src/generators/services/okhttp3-clients/okhttp3-clients-generator.d.ts.map +0 -1
- package/esm/src/generators/services/okhttp3-clients/refs.d.ts +0 -22
- package/esm/src/generators/services/okhttp3-clients/refs.d.ts.map +0 -1
- package/esm/src/generators/services/spring-controllers/args.d.ts.map +0 -1
- package/esm/src/generators/services/spring-controllers/index.d.ts +0 -5
- package/esm/src/generators/services/spring-controllers/index.d.ts.map +0 -1
- package/esm/src/generators/services/spring-controllers/models.d.ts +0 -38
- package/esm/src/generators/services/spring-controllers/models.d.ts.map +0 -1
- package/esm/src/generators/services/spring-controllers/refs.d.ts +0 -6
- package/esm/src/generators/services/spring-controllers/refs.d.ts.map +0 -1
- package/esm/src/generators/services/spring-controllers/spring-controller-generator.d.ts +0 -58
- package/esm/src/generators/services/spring-controllers/spring-controller-generator.d.ts.map +0 -1
- package/esm/src/generators/services/spring-controllers/spring-controllers-generator.d.ts +0 -24
- package/esm/src/generators/services/spring-controllers/spring-controllers-generator.d.ts.map +0 -1
- package/esm/src/generators/services/spring-reactive-web-clients/args.d.ts.map +0 -1
- package/esm/src/generators/services/spring-reactive-web-clients/index.d.ts +0 -5
- package/esm/src/generators/services/spring-reactive-web-clients/index.d.ts.map +0 -1
- package/esm/src/generators/services/spring-reactive-web-clients/models.d.ts +0 -48
- package/esm/src/generators/services/spring-reactive-web-clients/models.d.ts.map +0 -1
- package/esm/src/generators/services/spring-reactive-web-clients/refs.d.ts +0 -5
- package/esm/src/generators/services/spring-reactive-web-clients/refs.d.ts.map +0 -1
- package/esm/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.d.ts +0 -62
- package/esm/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.d.ts.map +0 -1
- package/esm/src/generators/services/spring-reactive-web-clients/spring-reactive-web-clients-generator.d.ts +0 -23
- package/esm/src/generators/services/spring-reactive-web-clients/spring-reactive-web-clients-generator.d.ts.map +0 -1
- package/esm/src/import-collection.d.ts.map +0 -1
- package/esm/src/types.d.ts +0 -8
- package/esm/src/types.d.ts.map +0 -1
- package/esm/src/utils.d.ts.map +0 -1
- package/script/mod.d.ts +0 -9
- package/script/mod.d.ts.map +0 -1
- package/script/mod.js +0 -11
- package/script/package.json +0 -3
- package/script/src/assets.d.ts +0 -3
- package/script/src/assets.d.ts.map +0 -1
- package/script/src/assets.js +0 -9
- package/script/src/ast/_index.d.ts +0 -29
- package/script/src/ast/_index.d.ts.map +0 -1
- package/script/src/ast/_index.js +0 -81
- package/script/src/ast/common.d.ts +0 -2
- package/script/src/ast/common.d.ts.map +0 -1
- package/script/src/ast/common.js +0 -2
- package/script/src/ast/index.d.ts +0 -2
- package/script/src/ast/index.d.ts.map +0 -1
- package/script/src/ast/index.js +0 -5
- package/script/src/ast/node.d.ts +0 -5
- package/script/src/ast/node.d.ts.map +0 -1
- package/script/src/ast/node.js +0 -10
- package/script/src/ast/nodes/annotation.d.ts.map +0 -1
- package/script/src/ast/nodes/annotation.js +0 -57
- package/script/src/ast/nodes/argument.d.ts +0 -23
- package/script/src/ast/nodes/argument.d.ts.map +0 -1
- package/script/src/ast/nodes/argument.js +0 -44
- package/script/src/ast/nodes/call.d.ts +0 -24
- package/script/src/ast/nodes/call.d.ts.map +0 -1
- package/script/src/ast/nodes/call.js +0 -65
- package/script/src/ast/nodes/class.d.ts +0 -56
- package/script/src/ast/nodes/class.d.ts.map +0 -1
- package/script/src/ast/nodes/class.js +0 -172
- package/script/src/ast/nodes/collection-literal.d.ts +0 -19
- package/script/src/ast/nodes/collection-literal.d.ts.map +0 -1
- package/script/src/ast/nodes/collection-literal.js +0 -30
- package/script/src/ast/nodes/constructor.d.ts +0 -36
- package/script/src/ast/nodes/constructor.d.ts.map +0 -1
- package/script/src/ast/nodes/constructor.js +0 -111
- package/script/src/ast/nodes/doc-tag.d.ts +0 -36
- package/script/src/ast/nodes/doc-tag.d.ts.map +0 -1
- package/script/src/ast/nodes/doc-tag.js +0 -78
- package/script/src/ast/nodes/doc.d.ts +0 -28
- package/script/src/ast/nodes/doc.d.ts.map +0 -1
- package/script/src/ast/nodes/doc.js +0 -67
- package/script/src/ast/nodes/enum-value.d.ts.map +0 -1
- package/script/src/ast/nodes/enum-value.js +0 -80
- package/script/src/ast/nodes/enum.d.ts.map +0 -1
- package/script/src/ast/nodes/enum.js +0 -137
- package/script/src/ast/nodes/function.d.ts +0 -60
- package/script/src/ast/nodes/function.d.ts.map +0 -1
- package/script/src/ast/nodes/function.js +0 -221
- package/script/src/ast/nodes/generic-parameter.d.ts +0 -23
- package/script/src/ast/nodes/generic-parameter.d.ts.map +0 -1
- package/script/src/ast/nodes/generic-parameter.js +0 -48
- package/script/src/ast/nodes/init-block.d.ts +0 -18
- package/script/src/ast/nodes/init-block.d.ts.map +0 -1
- package/script/src/ast/nodes/init-block.js +0 -25
- package/script/src/ast/nodes/interface.d.ts +0 -43
- package/script/src/ast/nodes/interface.d.ts.map +0 -1
- package/script/src/ast/nodes/interface.js +0 -116
- package/script/src/ast/nodes/lambda-type.d.ts +0 -25
- package/script/src/ast/nodes/lambda-type.d.ts.map +0 -1
- package/script/src/ast/nodes/lambda-type.js +0 -69
- package/script/src/ast/nodes/lambda.d.ts +0 -22
- package/script/src/ast/nodes/lambda.d.ts.map +0 -1
- package/script/src/ast/nodes/lambda.js +0 -59
- package/script/src/ast/nodes/object.d.ts.map +0 -1
- package/script/src/ast/nodes/object.js +0 -100
- package/script/src/ast/nodes/parameter.d.ts +0 -41
- package/script/src/ast/nodes/parameter.d.ts.map +0 -1
- package/script/src/ast/nodes/parameter.js +0 -118
- package/script/src/ast/nodes/property.d.ts +0 -79
- package/script/src/ast/nodes/property.d.ts.map +0 -1
- package/script/src/ast/nodes/property.js +0 -271
- package/script/src/ast/nodes/reference.d.ts.map +0 -1
- package/script/src/ast/nodes/reference.js +0 -120
- package/script/src/ast/nodes/string.d.ts +0 -32
- package/script/src/ast/nodes/string.d.ts.map +0 -1
- package/script/src/ast/nodes/string.js +0 -123
- package/script/src/ast/nodes/types.d.ts +0 -11
- package/script/src/ast/nodes/types.d.ts.map +0 -1
- package/script/src/ast/nodes/types.js +0 -2
- package/script/src/ast/references/index.d.ts +0 -11
- package/script/src/ast/references/index.d.ts.map +0 -1
- package/script/src/ast/references/index.js +0 -14
- package/script/src/ast/references/jackson.d.ts.map +0 -1
- package/script/src/ast/references/jackson.js +0 -41
- package/script/src/ast/references/jakarta.d.ts.map +0 -1
- package/script/src/ast/references/jakarta.js +0 -14
- package/script/src/ast/references/java.d.ts +0 -15
- package/script/src/ast/references/java.d.ts.map +0 -1
- package/script/src/ast/references/java.js +0 -22
- package/script/src/ast/references/kotlin.d.ts +0 -24
- package/script/src/ast/references/kotlin.d.ts.map +0 -1
- package/script/src/ast/references/kotlin.js +0 -29
- package/script/src/ast/references/kotlinx.d.ts +0 -5
- package/script/src/ast/references/kotlinx.d.ts.map +0 -1
- package/script/src/ast/references/kotlinx.js +0 -9
- package/script/src/ast/references/okhttp3.d.ts +0 -4
- package/script/src/ast/references/okhttp3.d.ts.map +0 -1
- package/script/src/ast/references/okhttp3.js +0 -7
- package/script/src/ast/references/reactor.d.ts +0 -4
- package/script/src/ast/references/reactor.d.ts.map +0 -1
- package/script/src/ast/references/reactor.js +0 -7
- package/script/src/ast/references/spring-reactive.d.ts +0 -10
- package/script/src/ast/references/spring-reactive.d.ts.map +0 -1
- package/script/src/ast/references/spring-reactive.js +0 -14
- package/script/src/ast/references/spring.d.ts.map +0 -1
- package/script/src/ast/references/spring.js +0 -34
- package/script/src/ast/references/swagger.d.ts.map +0 -1
- package/script/src/ast/references/swagger.js +0 -14
- package/script/src/ast/utils/get-kotlin-builder-options.d.ts +0 -4
- package/script/src/ast/utils/get-kotlin-builder-options.d.ts.map +0 -1
- package/script/src/ast/utils/get-kotlin-builder-options.js +0 -18
- package/script/src/ast/utils/to-kt-node.d.ts +0 -8
- package/script/src/ast/utils/to-kt-node.d.ts.map +0 -1
- package/script/src/ast/utils/to-kt-node.js +0 -21
- package/script/src/ast/utils/write-kt-annotations.d.ts +0 -6
- package/script/src/ast/utils/write-kt-annotations.d.ts.map +0 -1
- package/script/src/ast/utils/write-kt-annotations.js +0 -12
- package/script/src/ast/utils/write-kt-arguments.d.ts +0 -4
- package/script/src/ast/utils/write-kt-arguments.d.ts.map +0 -1
- package/script/src/ast/utils/write-kt-arguments.js +0 -32
- package/script/src/ast/utils/write-kt-enum-values.d.ts.map +0 -1
- package/script/src/ast/utils/write-kt-enum-values.js +0 -16
- package/script/src/ast/utils/write-kt-generic-parameters.d.ts.map +0 -1
- package/script/src/ast/utils/write-kt-generic-parameters.js +0 -11
- package/script/src/ast/utils/write-kt-members.d.ts.map +0 -1
- package/script/src/ast/utils/write-kt-members.js +0 -15
- package/script/src/ast/utils/write-kt-node.d.ts.map +0 -1
- package/script/src/ast/utils/write-kt-node.js +0 -23
- package/script/src/ast/utils/write-kt-parameters.d.ts +0 -4
- package/script/src/ast/utils/write-kt-parameters.d.ts.map +0 -1
- package/script/src/ast/utils/write-kt-parameters.js +0 -12
- package/script/src/common-results.d.ts +0 -5
- package/script/src/common-results.d.ts.map +0 -1
- package/script/src/common-results.js +0 -2
- package/script/src/config.d.ts.map +0 -1
- package/script/src/config.js +0 -26
- package/script/src/file-builder.d.ts +0 -23
- package/script/src/file-builder.d.ts.map +0 -1
- package/script/src/file-builder.js +0 -92
- package/script/src/generators/file-generator.d.ts +0 -29
- package/script/src/generators/file-generator.d.ts.map +0 -1
- package/script/src/generators/file-generator.js +0 -56
- package/script/src/generators/index.d.ts +0 -6
- package/script/src/generators/index.d.ts.map +0 -1
- package/script/src/generators/index.js +0 -8
- package/script/src/generators/models/args.d.ts +0 -111
- package/script/src/generators/models/args.d.ts.map +0 -1
- package/script/src/generators/models/args.js +0 -2
- package/script/src/generators/models/index.d.ts +0 -5
- package/script/src/generators/models/index.d.ts.map +0 -1
- package/script/src/generators/models/index.js +0 -8
- package/script/src/generators/models/model-generator.d.ts +0 -73
- package/script/src/generators/models/model-generator.d.ts.map +0 -1
- package/script/src/generators/models/model-generator.js +0 -645
- package/script/src/generators/models/models-generator.d.ts.map +0 -1
- package/script/src/generators/models/models-generator.js +0 -39
- package/script/src/generators/models/models.d.ts.map +0 -1
- package/script/src/generators/models/models.js +0 -14
- package/script/src/generators/services/okhttp3-clients/args.d.ts +0 -87
- package/script/src/generators/services/okhttp3-clients/args.d.ts.map +0 -1
- package/script/src/generators/services/okhttp3-clients/args.js +0 -2
- package/script/src/generators/services/okhttp3-clients/index.d.ts +0 -5
- package/script/src/generators/services/okhttp3-clients/index.d.ts.map +0 -1
- package/script/src/generators/services/okhttp3-clients/index.js +0 -8
- package/script/src/generators/services/okhttp3-clients/models.d.ts +0 -46
- package/script/src/generators/services/okhttp3-clients/models.d.ts.map +0 -1
- package/script/src/generators/services/okhttp3-clients/models.js +0 -12
- package/script/src/generators/services/okhttp3-clients/okhttp3-client-generator.d.ts.map +0 -1
- package/script/src/generators/services/okhttp3-clients/okhttp3-client-generator.js +0 -441
- package/script/src/generators/services/okhttp3-clients/okhttp3-clients-generator.d.ts.map +0 -1
- package/script/src/generators/services/okhttp3-clients/okhttp3-clients-generator.js +0 -137
- package/script/src/generators/services/okhttp3-clients/refs.d.ts.map +0 -1
- package/script/src/generators/services/okhttp3-clients/refs.js +0 -35
- package/script/src/generators/services/spring-controllers/args.d.ts +0 -95
- package/script/src/generators/services/spring-controllers/args.d.ts.map +0 -1
- package/script/src/generators/services/spring-controllers/args.js +0 -2
- package/script/src/generators/services/spring-controllers/index.d.ts +0 -5
- package/script/src/generators/services/spring-controllers/index.d.ts.map +0 -1
- package/script/src/generators/services/spring-controllers/index.js +0 -8
- package/script/src/generators/services/spring-controllers/models.d.ts.map +0 -1
- package/script/src/generators/services/spring-controllers/models.js +0 -15
- package/script/src/generators/services/spring-controllers/refs.d.ts +0 -6
- package/script/src/generators/services/spring-controllers/refs.d.ts.map +0 -1
- package/script/src/generators/services/spring-controllers/refs.js +0 -12
- package/script/src/generators/services/spring-controllers/spring-controller-generator.d.ts.map +0 -1
- package/script/src/generators/services/spring-controllers/spring-controller-generator.js +0 -700
- package/script/src/generators/services/spring-controllers/spring-controllers-generator.d.ts.map +0 -1
- package/script/src/generators/services/spring-controllers/spring-controllers-generator.js +0 -80
- package/script/src/generators/services/spring-reactive-web-clients/args.d.ts +0 -115
- package/script/src/generators/services/spring-reactive-web-clients/args.d.ts.map +0 -1
- package/script/src/generators/services/spring-reactive-web-clients/args.js +0 -2
- package/script/src/generators/services/spring-reactive-web-clients/index.d.ts +0 -5
- package/script/src/generators/services/spring-reactive-web-clients/index.d.ts.map +0 -1
- package/script/src/generators/services/spring-reactive-web-clients/index.js +0 -8
- package/script/src/generators/services/spring-reactive-web-clients/models.d.ts.map +0 -1
- package/script/src/generators/services/spring-reactive-web-clients/models.js +0 -12
- package/script/src/generators/services/spring-reactive-web-clients/refs.d.ts.map +0 -1
- package/script/src/generators/services/spring-reactive-web-clients/refs.js +0 -11
- package/script/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.d.ts.map +0 -1
- package/script/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.js +0 -453
- package/script/src/generators/services/spring-reactive-web-clients/spring-reactive-web-clients-generator.d.ts.map +0 -1
- package/script/src/generators/services/spring-reactive-web-clients/spring-reactive-web-clients-generator.js +0 -81
- package/script/src/import-collection.d.ts +0 -20
- package/script/src/import-collection.d.ts.map +0 -1
- package/script/src/import-collection.js +0 -90
- package/script/src/types.d.ts.map +0 -1
- package/script/src/types.js +0 -2
- package/script/src/utils.d.ts +0 -8
- package/script/src/utils.d.ts.map +0 -1
- package/script/src/utils.js +0 -54
- package/src/mod.ts +0 -8
- package/src/src/assets.ts +0 -9
- package/src/src/ast/_index.ts +0 -66
- package/src/src/ast/index.ts +0 -1
- package/src/src/ast/node.ts +0 -10
- package/src/src/ast/nodes/annotation.ts +0 -79
- package/src/src/ast/nodes/argument.ts +0 -62
- package/src/src/ast/nodes/call.ts +0 -75
- package/src/src/ast/nodes/class.ts +0 -178
- package/src/src/ast/nodes/collection-literal.ts +0 -49
- package/src/src/ast/nodes/constructor.ts +0 -126
- package/src/src/ast/nodes/doc-tag.ts +0 -138
- package/src/src/ast/nodes/doc.ts +0 -111
- package/src/src/ast/nodes/enum-value.ts +0 -100
- package/src/src/ast/nodes/enum.ts +0 -163
- package/src/src/ast/nodes/function.ts +0 -178
- package/src/src/ast/nodes/generic-parameter.ts +0 -54
- package/src/src/ast/nodes/init-block.ts +0 -38
- package/src/src/ast/nodes/interface.ts +0 -133
- package/src/src/ast/nodes/lambda-type.ts +0 -73
- package/src/src/ast/nodes/lambda.ts +0 -74
- package/src/src/ast/nodes/object.ts +0 -102
- package/src/src/ast/nodes/parameter.ts +0 -118
- package/src/src/ast/nodes/property.ts +0 -225
- package/src/src/ast/nodes/reference.ts +0 -178
- package/src/src/ast/nodes/string.ts +0 -114
- package/src/src/ast/nodes/types.ts +0 -23
- package/src/src/ast/references/index.ts +0 -10
- package/src/src/ast/references/jackson.ts +0 -70
- package/src/src/ast/references/jakarta.ts +0 -14
- package/src/src/ast/references/java.ts +0 -27
- package/src/src/ast/references/kotlin.ts +0 -41
- package/src/src/ast/references/kotlinx.ts +0 -14
- package/src/src/ast/references/okhttp3.ts +0 -5
- package/src/src/ast/references/reactor.ts +0 -5
- package/src/src/ast/references/spring-reactive.ts +0 -37
- package/src/src/ast/references/spring.ts +0 -86
- package/src/src/ast/references/swagger.ts +0 -23
- package/src/src/ast/utils/get-kotlin-builder-options.ts +0 -19
- package/src/src/ast/utils/to-kt-node.ts +0 -31
- package/src/src/ast/utils/write-kt-annotations.ts +0 -15
- package/src/src/ast/utils/write-kt-arguments.ts +0 -45
- package/src/src/ast/utils/write-kt-enum-values.ts +0 -27
- package/src/src/ast/utils/write-kt-generic-parameters.ts +0 -12
- package/src/src/ast/utils/write-kt-members.ts +0 -25
- package/src/src/ast/utils/write-kt-node.ts +0 -37
- package/src/src/ast/utils/write-kt-parameters.ts +0 -25
- package/src/src/common-results.ts +0 -4
- package/src/src/config.ts +0 -61
- package/src/src/file-builder.ts +0 -112
- package/src/src/generators/file-generator.ts +0 -71
- package/src/src/generators/index.ts +0 -5
- package/src/src/generators/models/args.ts +0 -142
- package/src/src/generators/models/index.ts +0 -4
- package/src/src/generators/models/model-generator.ts +0 -850
- package/src/src/generators/models/models-generator.ts +0 -65
- package/src/src/generators/models/models.ts +0 -95
- package/src/src/generators/services/okhttp3-clients/args.ts +0 -90
- package/src/src/generators/services/okhttp3-clients/index.ts +0 -4
- package/src/src/generators/services/okhttp3-clients/models.ts +0 -73
- package/src/src/generators/services/okhttp3-clients/okhttp3-client-generator.ts +0 -639
- package/src/src/generators/services/okhttp3-clients/okhttp3-clients-generator.ts +0 -190
- package/src/src/generators/services/okhttp3-clients/refs.ts +0 -59
- package/src/src/generators/services/spring-controllers/args.ts +0 -95
- package/src/src/generators/services/spring-controllers/index.ts +0 -4
- package/src/src/generators/services/spring-controllers/models.ts +0 -76
- package/src/src/generators/services/spring-controllers/refs.ts +0 -17
- package/src/src/generators/services/spring-controllers/spring-controller-generator.ts +0 -1129
- package/src/src/generators/services/spring-controllers/spring-controllers-generator.ts +0 -140
- package/src/src/generators/services/spring-reactive-web-clients/args.ts +0 -114
- package/src/src/generators/services/spring-reactive-web-clients/index.ts +0 -4
- package/src/src/generators/services/spring-reactive-web-clients/models.ts +0 -78
- package/src/src/generators/services/spring-reactive-web-clients/refs.ts +0 -11
- package/src/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.ts +0 -657
- package/src/src/generators/services/spring-reactive-web-clients/spring-reactive-web-clients-generator.ts +0 -125
- package/src/src/import-collection.ts +0 -98
- package/src/src/types.ts +0 -3
- package/src/src/utils.ts +0 -55
- /package/{assets → dist/assets}/client/okhttp3/ApiAbstractions.kt +0 -0
- /package/{assets → dist/assets}/client/okhttp3/ApiClient.kt +0 -0
- /package/{assets → dist/assets}/client/okhttp3/ApiResponse.kt +0 -0
- /package/{assets → dist/assets}/client/okhttp3/Errors.kt +0 -0
- /package/{assets → dist/assets}/client/okhttp3/PartConfig.kt +0 -0
- /package/{assets → dist/assets}/client/okhttp3/RequestConfig.kt +0 -0
- /package/{assets → dist/assets}/client/okhttp3/RequestMethod.kt +0 -0
- /package/{assets → dist/assets}/client/okhttp3/ResponseExtensions.kt +0 -0
- /package/{assets → dist/assets}/client/spring-reactive-web-clients/ApiRequestFile.kt +0 -0
- /package/{esm → dist}/mod.js +0 -0
- /package/{src/src/ast/common.ts → dist/src/ast/common.d.ts} +0 -0
- /package/{esm → dist}/src/ast/common.js +0 -0
- /package/{esm → dist}/src/ast/index.js +0 -0
- /package/{esm → dist}/src/ast/node.js +0 -0
- /package/{esm → dist}/src/ast/nodes/types.js +0 -0
- /package/{esm → dist}/src/ast/references/index.js +0 -0
- /package/{esm → dist}/src/ast/references/jackson.js +0 -0
- /package/{esm → dist}/src/ast/references/jakarta.js +0 -0
- /package/{esm → dist}/src/ast/references/java.js +0 -0
- /package/{esm → dist}/src/ast/references/kotlin.js +0 -0
- /package/{esm → dist}/src/ast/references/kotlinx.js +0 -0
- /package/{esm → dist}/src/ast/references/okhttp3.js +0 -0
- /package/{esm → dist}/src/ast/references/reactor.js +0 -0
- /package/{esm → dist}/src/ast/references/spring-reactive.js +0 -0
- /package/{esm → dist}/src/ast/references/spring.js +0 -0
- /package/{esm → dist}/src/ast/references/swagger.js +0 -0
- /package/{esm → dist}/src/ast/utils/get-kotlin-builder-options.js +0 -0
- /package/{esm → dist}/src/ast/utils/to-kt-node.js +0 -0
- /package/{esm → dist}/src/ast/utils/write-kt-arguments.js +0 -0
- /package/{esm → dist}/src/ast/utils/write-kt-enum-values.js +0 -0
- /package/{esm → dist}/src/ast/utils/write-kt-generic-parameters.js +0 -0
- /package/{esm → dist}/src/ast/utils/write-kt-parameters.js +0 -0
- /package/{esm → dist}/src/common-results.js +0 -0
- /package/{esm → dist}/src/config.js +0 -0
- /package/{esm → dist}/src/generators/index.js +0 -0
- /package/{esm → dist}/src/generators/models/args.js +0 -0
- /package/{esm → dist}/src/generators/models/index.js +0 -0
- /package/{esm → dist}/src/generators/models/models.js +0 -0
- /package/{esm → dist}/src/generators/services/okhttp3-clients/args.js +0 -0
- /package/{esm → dist}/src/generators/services/okhttp3-clients/index.js +0 -0
- /package/{esm → dist}/src/generators/services/okhttp3-clients/models.js +0 -0
- /package/{esm → dist}/src/generators/services/okhttp3-clients/refs.js +0 -0
- /package/{esm → dist}/src/generators/services/spring-controllers/args.js +0 -0
- /package/{esm → dist}/src/generators/services/spring-controllers/index.js +0 -0
- /package/{esm → dist}/src/generators/services/spring-controllers/models.js +0 -0
- /package/{esm → dist}/src/generators/services/spring-controllers/refs.js +0 -0
- /package/{esm → dist}/src/generators/services/spring-reactive-web-clients/args.js +0 -0
- /package/{esm → dist}/src/generators/services/spring-reactive-web-clients/index.js +0 -0
- /package/{esm → dist}/src/generators/services/spring-reactive-web-clients/models.js +0 -0
- /package/{esm → dist}/src/generators/services/spring-reactive-web-clients/refs.js +0 -0
- /package/{esm → dist}/src/types.js +0 -0
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type AstNodeOptions,
|
|
3
|
-
type BasicAppendValue,
|
|
4
|
-
notNullish,
|
|
5
|
-
type Nullable,
|
|
6
|
-
type Prettify,
|
|
7
|
-
type SourceBuilder,
|
|
8
|
-
} from '@goast/core';
|
|
9
|
-
|
|
10
|
-
import type { KtAccessModifier } from '../common.js';
|
|
11
|
-
import { KtNode } from '../node.js';
|
|
12
|
-
import { writeKtNode } from '../utils/write-kt-node.js';
|
|
13
|
-
import { writeKtParameters } from '../utils/write-kt-parameters.js';
|
|
14
|
-
import { type KtAnnotation, ktAnnotation } from './annotation.js';
|
|
15
|
-
import type { KtType, KtValue } from './types.js';
|
|
16
|
-
|
|
17
|
-
type Injects = 'modifiers' | 'annotations' | 'name' | 'type' | 'default';
|
|
18
|
-
|
|
19
|
-
type Options<TBuilder extends SourceBuilder, TInjects extends string = never> = AstNodeOptions<
|
|
20
|
-
typeof KtNode<TBuilder, TInjects | Injects>,
|
|
21
|
-
{
|
|
22
|
-
name: string;
|
|
23
|
-
type: KtType<TBuilder>;
|
|
24
|
-
annotations?: Nullable<Nullable<KtAnnotation<TBuilder>>[]>;
|
|
25
|
-
default?: Nullable<KtValue<TBuilder>>;
|
|
26
|
-
vararg?: Nullable<boolean>;
|
|
27
|
-
description?: Nullable<BasicAppendValue<TBuilder>>;
|
|
28
|
-
|
|
29
|
-
// class parameter options
|
|
30
|
-
accessModifier?: Nullable<KtAccessModifier>;
|
|
31
|
-
property?: Nullable<'readonly' | 'mutable'>;
|
|
32
|
-
propertyDescription?: Nullable<BasicAppendValue<TBuilder>>;
|
|
33
|
-
override?: Nullable<boolean>;
|
|
34
|
-
}
|
|
35
|
-
>;
|
|
36
|
-
|
|
37
|
-
export class KtParameter<TBuilder extends SourceBuilder, TInjects extends string = never> extends KtNode<
|
|
38
|
-
TBuilder,
|
|
39
|
-
TInjects | Injects
|
|
40
|
-
> {
|
|
41
|
-
public name: string;
|
|
42
|
-
public type: KtType<TBuilder>;
|
|
43
|
-
public annotations: KtAnnotation<TBuilder>[];
|
|
44
|
-
public default: KtValue<TBuilder> | null;
|
|
45
|
-
public vararg: boolean;
|
|
46
|
-
public description: BasicAppendValue<TBuilder> | null;
|
|
47
|
-
|
|
48
|
-
// class parameter options
|
|
49
|
-
public accessModifier: KtAccessModifier | null;
|
|
50
|
-
public property: 'readonly' | 'mutable' | null;
|
|
51
|
-
public propertyDescription: BasicAppendValue<TBuilder> | null;
|
|
52
|
-
public override: boolean;
|
|
53
|
-
|
|
54
|
-
constructor(options: Options<TBuilder, TInjects>) {
|
|
55
|
-
super(options);
|
|
56
|
-
this.name = options.name;
|
|
57
|
-
this.type = options.type;
|
|
58
|
-
this.annotations = options.annotations?.filter(notNullish) ?? [];
|
|
59
|
-
this.default = options.default ?? null;
|
|
60
|
-
this.vararg = options.vararg ?? false;
|
|
61
|
-
this.description = options.description ?? null;
|
|
62
|
-
|
|
63
|
-
this.accessModifier = options.accessModifier ?? null;
|
|
64
|
-
this.property = options.property ?? null;
|
|
65
|
-
this.propertyDescription = options.propertyDescription ?? null;
|
|
66
|
-
this.override = options.override ?? false;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
protected override onWrite(builder: TBuilder): void {
|
|
70
|
-
builder.append(this.inject.beforeAnnotations);
|
|
71
|
-
ktAnnotation.write(builder, this.annotations, { multiline: true });
|
|
72
|
-
builder.append(this.inject.afterAnnotations);
|
|
73
|
-
|
|
74
|
-
builder.append(this.inject.beforeModifiers);
|
|
75
|
-
if (this.accessModifier && this.property) builder.append(this.accessModifier, ' ');
|
|
76
|
-
if (this.override && this.property) builder.append('override ');
|
|
77
|
-
if (this.vararg) builder.append('vararg ');
|
|
78
|
-
builder.append(this.inject.afterModifiers);
|
|
79
|
-
|
|
80
|
-
if (this.property) builder.append(this.property === 'mutable' ? 'var' : 'val', ' ');
|
|
81
|
-
builder.append(this.inject.beforeName, this.name, this.inject.afterName);
|
|
82
|
-
|
|
83
|
-
builder.append(': ');
|
|
84
|
-
|
|
85
|
-
builder.append(this.inject.beforeType);
|
|
86
|
-
writeKtNode(builder, this.type);
|
|
87
|
-
builder.append(this.inject.afterType);
|
|
88
|
-
|
|
89
|
-
if (this.default) {
|
|
90
|
-
builder.append(' = ');
|
|
91
|
-
builder.append(this.inject.beforeDefault);
|
|
92
|
-
writeKtNode(builder, this.default);
|
|
93
|
-
builder.append(this.inject.afterDefault);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
const createParameter = <TBuilder extends SourceBuilder>(
|
|
99
|
-
name: KtParameter<TBuilder>['name'],
|
|
100
|
-
type: KtParameter<TBuilder>['type'],
|
|
101
|
-
options?: Prettify<
|
|
102
|
-
Omit<Options<TBuilder>, 'name' | 'type' | 'accessModifier' | 'property' | 'propertyDescription' | 'override'>
|
|
103
|
-
>,
|
|
104
|
-
): KtParameter<TBuilder> => new KtParameter<TBuilder>({ ...options, name, type });
|
|
105
|
-
|
|
106
|
-
const createClassParameter = <TBuilder extends SourceBuilder>(
|
|
107
|
-
name: KtParameter<TBuilder>['name'],
|
|
108
|
-
type: KtParameter<TBuilder>['type'],
|
|
109
|
-
options?: Prettify<Omit<Options<TBuilder>, 'name' | 'type'>>,
|
|
110
|
-
): KtParameter<TBuilder> => new KtParameter<TBuilder>({ ...options, name, type });
|
|
111
|
-
|
|
112
|
-
export const ktParameter: typeof createParameter & {
|
|
113
|
-
class: typeof createClassParameter;
|
|
114
|
-
write: typeof writeKtParameters;
|
|
115
|
-
} = Object.assign(createParameter, {
|
|
116
|
-
class: createClassParameter,
|
|
117
|
-
write: writeKtParameters,
|
|
118
|
-
});
|
|
@@ -1,225 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type AppendValue,
|
|
3
|
-
type AstNodeOptions,
|
|
4
|
-
notNullish,
|
|
5
|
-
type Nullable,
|
|
6
|
-
type Prettify,
|
|
7
|
-
type SourceBuilder,
|
|
8
|
-
} from '@goast/core';
|
|
9
|
-
|
|
10
|
-
import type { KtAccessModifier } from '../common.js';
|
|
11
|
-
import { KtNode } from '../node.js';
|
|
12
|
-
import { writeKtNode, writeKtNodes } from '../utils/write-kt-node.js';
|
|
13
|
-
import { type KtAnnotation, ktAnnotation } from './annotation.js';
|
|
14
|
-
import { type KtArgument, ktArgument } from './argument.js';
|
|
15
|
-
import type { KtDoc } from './doc.js';
|
|
16
|
-
import type { KtType, KtValue } from './types.js';
|
|
17
|
-
|
|
18
|
-
type AccessorInjects = 'annotations' | 'modifiers' | 'params' | 'body';
|
|
19
|
-
|
|
20
|
-
type AccessorOptions<TBuilder extends SourceBuilder, TInjects extends string = never> = AstNodeOptions<
|
|
21
|
-
typeof KtNode<TBuilder, TInjects | AccessorInjects>,
|
|
22
|
-
{
|
|
23
|
-
accessModifier?: Nullable<KtAccessModifier>;
|
|
24
|
-
annotations?: Nullable<Nullable<KtAnnotation<TBuilder>>[]>;
|
|
25
|
-
body?: Nullable<AppendValue<TBuilder>>;
|
|
26
|
-
singleExpression?: Nullable<boolean>;
|
|
27
|
-
}
|
|
28
|
-
>;
|
|
29
|
-
|
|
30
|
-
export abstract class KtPropertyAccessor<
|
|
31
|
-
TBuilder extends SourceBuilder,
|
|
32
|
-
TInjects extends string = never,
|
|
33
|
-
> extends KtNode<TBuilder, TInjects | AccessorInjects> {
|
|
34
|
-
public abstract get kind(): 'get' | 'set';
|
|
35
|
-
public accessModifier: KtAccessModifier | null;
|
|
36
|
-
public annotations: KtAnnotation<TBuilder>[];
|
|
37
|
-
public body: AppendValue<TBuilder> | null;
|
|
38
|
-
public singleExpression: boolean;
|
|
39
|
-
|
|
40
|
-
constructor(options: AccessorOptions<TBuilder, TInjects>) {
|
|
41
|
-
super(options);
|
|
42
|
-
this.accessModifier = options.accessModifier ?? null;
|
|
43
|
-
this.annotations = options.annotations?.filter(notNullish) ?? [];
|
|
44
|
-
this.body = options.body ?? null;
|
|
45
|
-
this.singleExpression = options.singleExpression ?? false;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
protected override onWrite(builder: TBuilder): void {
|
|
49
|
-
builder.append(this.inject.beforeAnnotations);
|
|
50
|
-
ktAnnotation.write(builder, this.annotations, { multiline: true });
|
|
51
|
-
builder.append(this.inject.afterAnnotations);
|
|
52
|
-
|
|
53
|
-
builder.append(this.inject.beforeModifiers);
|
|
54
|
-
if (this.accessModifier) builder.append(this.accessModifier, ' ');
|
|
55
|
-
builder.append(this.inject.afterModifiers);
|
|
56
|
-
|
|
57
|
-
builder.append(this.kind);
|
|
58
|
-
|
|
59
|
-
if (this.body) {
|
|
60
|
-
builder.append(this.inject.beforeParams);
|
|
61
|
-
builder.append(this.kind === 'set' ? '(value)' : '()');
|
|
62
|
-
builder.append(this.inject.afterParams);
|
|
63
|
-
|
|
64
|
-
if (this.singleExpression) {
|
|
65
|
-
builder.append(' = ', this.inject.beforeBody);
|
|
66
|
-
builder.indent(this.body);
|
|
67
|
-
} else {
|
|
68
|
-
builder.append(' ', this.inject.beforeBody);
|
|
69
|
-
builder.parenthesize('{}', this.body, { multiline: true });
|
|
70
|
-
}
|
|
71
|
-
builder.append(this.inject.afterBody);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
builder.appendLine();
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
export class KtPropertyGetter<TBuilder extends SourceBuilder> extends KtPropertyAccessor<TBuilder> {
|
|
78
|
-
public override readonly kind = 'get' as const;
|
|
79
|
-
}
|
|
80
|
-
export class KtPropertySetter<TBuilder extends SourceBuilder> extends KtPropertyAccessor<TBuilder> {
|
|
81
|
-
public override readonly kind = 'set' as const;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
type Injects = 'doc' | 'annotations' | 'modifiers' | 'name' | 'type' | 'default' | 'delegate';
|
|
85
|
-
|
|
86
|
-
type Options<TBuilder extends SourceBuilder, TInjects extends string = never> = AstNodeOptions<
|
|
87
|
-
typeof KtNode<TBuilder, TInjects | Injects>,
|
|
88
|
-
{
|
|
89
|
-
doc?: Nullable<KtDoc<TBuilder>>;
|
|
90
|
-
name: string;
|
|
91
|
-
type?: KtType<TBuilder>;
|
|
92
|
-
annotations?: Nullable<Nullable<KtAnnotation<TBuilder>>[]>;
|
|
93
|
-
accessModifier?: Nullable<KtAccessModifier>;
|
|
94
|
-
getter?: Nullable<KtPropertyGetter<TBuilder>>;
|
|
95
|
-
setter?: Nullable<KtPropertySetter<TBuilder>>;
|
|
96
|
-
default?: Nullable<KtValue<TBuilder>>;
|
|
97
|
-
delegate?: Nullable<KtType<TBuilder>>;
|
|
98
|
-
delegateArguments?: Nullable<Nullable<KtArgument<TBuilder> | KtValue<TBuilder>>[]>;
|
|
99
|
-
mutable?: Nullable<boolean>;
|
|
100
|
-
const?: Nullable<boolean>;
|
|
101
|
-
lateinit?: Nullable<boolean>;
|
|
102
|
-
open?: Nullable<boolean>;
|
|
103
|
-
override?: Nullable<boolean>;
|
|
104
|
-
abstract?: Nullable<boolean>;
|
|
105
|
-
}
|
|
106
|
-
>;
|
|
107
|
-
|
|
108
|
-
export class KtProperty<TBuilder extends SourceBuilder, TInjects extends string = never> extends KtNode<
|
|
109
|
-
TBuilder,
|
|
110
|
-
TInjects | Injects
|
|
111
|
-
> {
|
|
112
|
-
public doc: KtDoc<TBuilder> | null;
|
|
113
|
-
public name: string;
|
|
114
|
-
public type: KtType<TBuilder> | null;
|
|
115
|
-
public annotations: KtAnnotation<TBuilder>[];
|
|
116
|
-
public accessModifier: KtAccessModifier | null;
|
|
117
|
-
public getter: KtPropertyGetter<TBuilder> | null;
|
|
118
|
-
public setter: KtPropertySetter<TBuilder> | null;
|
|
119
|
-
public default: KtValue<TBuilder> | null;
|
|
120
|
-
public delegate: KtType<TBuilder> | null;
|
|
121
|
-
public delegateArguments: (KtArgument<TBuilder> | KtValue<TBuilder>)[] | null;
|
|
122
|
-
public mutable: boolean;
|
|
123
|
-
public const: boolean;
|
|
124
|
-
public lateinit: boolean;
|
|
125
|
-
public open: boolean;
|
|
126
|
-
public override: boolean;
|
|
127
|
-
public abstract: boolean;
|
|
128
|
-
|
|
129
|
-
constructor(options: Options<TBuilder, TInjects>) {
|
|
130
|
-
super(options);
|
|
131
|
-
this.doc = options.doc ?? null;
|
|
132
|
-
this.name = options.name;
|
|
133
|
-
this.type = options.type ?? null;
|
|
134
|
-
this.annotations = options.annotations?.filter(notNullish) ?? [];
|
|
135
|
-
this.accessModifier = options.accessModifier ?? null;
|
|
136
|
-
this.getter = options.getter ?? null;
|
|
137
|
-
this.setter = options.setter ?? null;
|
|
138
|
-
this.default = options.default ?? null;
|
|
139
|
-
this.delegate = options.delegate ?? null;
|
|
140
|
-
this.delegateArguments = options.delegateArguments?.filter(notNullish) ?? null;
|
|
141
|
-
this.mutable = options.mutable ?? false;
|
|
142
|
-
this.const = options.const ?? false;
|
|
143
|
-
this.lateinit = options.lateinit ?? false;
|
|
144
|
-
this.open = options.open ?? false;
|
|
145
|
-
this.override = options.override ?? false;
|
|
146
|
-
this.abstract = options.abstract ?? false;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
protected override onWrite(builder: TBuilder): void {
|
|
150
|
-
builder.append(this.inject.beforeDoc);
|
|
151
|
-
this.doc?.write(builder);
|
|
152
|
-
builder.append(this.inject.afterDoc);
|
|
153
|
-
|
|
154
|
-
builder.append(this.inject.beforeAnnotations);
|
|
155
|
-
ktAnnotation.write(builder, this.annotations, { multiline: true });
|
|
156
|
-
builder.append(this.inject.afterAnnotations);
|
|
157
|
-
|
|
158
|
-
builder.append(this.inject.beforeModifiers);
|
|
159
|
-
if (this.accessModifier) builder.append(this.accessModifier, ' ');
|
|
160
|
-
if (this.const) builder.append('const ');
|
|
161
|
-
if (this.lateinit) builder.append('lateinit ');
|
|
162
|
-
if (this.abstract) builder.append('abstract ');
|
|
163
|
-
if (this.override) builder.append('override ');
|
|
164
|
-
if (this.open) builder.append('open ');
|
|
165
|
-
builder.append(this.inject.afterModifiers);
|
|
166
|
-
|
|
167
|
-
builder.append(this.mutable || !!this.setter ? 'var ' : 'val ');
|
|
168
|
-
builder.append(this.inject.beforeName, this.name, this.inject.afterName);
|
|
169
|
-
|
|
170
|
-
if (this.type || (!this.default && !this.getter?.body)) {
|
|
171
|
-
builder.append(': ', this.inject.beforeType);
|
|
172
|
-
writeKtNode(builder, this.type ?? 'Any?');
|
|
173
|
-
builder.append(this.inject.afterType);
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
if (this.default) {
|
|
177
|
-
builder.append(' = ', this.inject.beforeDefault);
|
|
178
|
-
writeKtNode(builder, this.default);
|
|
179
|
-
builder.append(this.inject.afterDefault);
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
if (this.delegate) {
|
|
183
|
-
builder.append(' by ', this.inject.beforeDelegate);
|
|
184
|
-
writeKtNode(builder, this.delegate);
|
|
185
|
-
if (this.delegateArguments) {
|
|
186
|
-
ktArgument.write(builder, this.delegateArguments);
|
|
187
|
-
}
|
|
188
|
-
builder.append(this.inject.afterDelegate);
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
builder.appendLine();
|
|
192
|
-
|
|
193
|
-
if (this.getter || this.setter) {
|
|
194
|
-
builder.indent((b) => {
|
|
195
|
-
this.getter?.write(b);
|
|
196
|
-
this.setter?.write(b);
|
|
197
|
-
});
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
builder.ensureCurrentLineEmpty();
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
const createPropertyGetter = <TBuilder extends SourceBuilder>(
|
|
205
|
-
options?: AccessorOptions<TBuilder>,
|
|
206
|
-
): KtPropertyGetter<TBuilder> => new KtPropertyGetter<TBuilder>(options ?? {});
|
|
207
|
-
|
|
208
|
-
const createPropertySetter = <TBuilder extends SourceBuilder>(
|
|
209
|
-
options?: AccessorOptions<TBuilder>,
|
|
210
|
-
): KtPropertySetter<TBuilder> => new KtPropertySetter<TBuilder>(options ?? {});
|
|
211
|
-
|
|
212
|
-
const createProperty = <TBuilder extends SourceBuilder>(
|
|
213
|
-
name: Options<TBuilder>['name'],
|
|
214
|
-
options?: Prettify<Omit<Options<TBuilder>, 'name'>>,
|
|
215
|
-
): KtProperty<TBuilder> => new KtProperty<TBuilder>({ ...options, name });
|
|
216
|
-
|
|
217
|
-
export const ktProperty: typeof createProperty & {
|
|
218
|
-
getter: typeof createPropertyGetter;
|
|
219
|
-
setter: typeof createPropertySetter;
|
|
220
|
-
write: typeof writeKtNodes;
|
|
221
|
-
} = Object.assign(createProperty, {
|
|
222
|
-
getter: createPropertyGetter,
|
|
223
|
-
setter: createPropertySetter,
|
|
224
|
-
write: writeKtNodes,
|
|
225
|
-
});
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type AstNodeOptions,
|
|
3
|
-
notNullish,
|
|
4
|
-
type Nullable,
|
|
5
|
-
type Prettify,
|
|
6
|
-
type SourceBuilder,
|
|
7
|
-
type TupleWithCount,
|
|
8
|
-
} from '@goast/core';
|
|
9
|
-
|
|
10
|
-
import { KotlinFileBuilder } from '../../file-builder.js';
|
|
11
|
-
import { KtNode } from '../node.js';
|
|
12
|
-
import { writeKtNode, writeKtNodes } from '../utils/write-kt-node.js';
|
|
13
|
-
import { ktGenericParameter } from './generic-parameter.js';
|
|
14
|
-
import type { KtType } from './types.js';
|
|
15
|
-
|
|
16
|
-
import type { KtCall } from './call.js';
|
|
17
|
-
|
|
18
|
-
type Injects = never;
|
|
19
|
-
|
|
20
|
-
type Options<TBuilder extends SourceBuilder, TInjects extends string = never> = AstNodeOptions<
|
|
21
|
-
typeof KtNode<TBuilder, TInjects | Injects>,
|
|
22
|
-
{
|
|
23
|
-
name: string;
|
|
24
|
-
packageName?: Nullable<string>;
|
|
25
|
-
generics?: Nullable<Nullable<KtType<TBuilder>>[]>;
|
|
26
|
-
nullable?: Nullable<boolean>;
|
|
27
|
-
classReference?: Nullable<boolean>;
|
|
28
|
-
subReference?: Nullable<KtReference<TBuilder> | KtCall<TBuilder>>;
|
|
29
|
-
}
|
|
30
|
-
>;
|
|
31
|
-
|
|
32
|
-
type _AddImportHandler<T> = {
|
|
33
|
-
// deno-lint-ignore no-explicit-any
|
|
34
|
-
builderClass: abstract new (...args: any) => T;
|
|
35
|
-
// deno-lint-ignore no-explicit-any
|
|
36
|
-
handler: (builder: T, reference: KtReference<any>) => void;
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
export class KtReference<TBuilder extends SourceBuilder, TInjects extends string = never> extends KtNode<
|
|
40
|
-
TBuilder,
|
|
41
|
-
TInjects | Injects
|
|
42
|
-
> {
|
|
43
|
-
// deno-lint-ignore no-explicit-any
|
|
44
|
-
private static readonly addImportHandlers: _AddImportHandler<any>[] = [
|
|
45
|
-
{
|
|
46
|
-
builderClass: KotlinFileBuilder,
|
|
47
|
-
handler: (builder, reference) => builder.addImport(reference.name, reference.packageName),
|
|
48
|
-
},
|
|
49
|
-
];
|
|
50
|
-
|
|
51
|
-
public name: string;
|
|
52
|
-
public packageName: string | null;
|
|
53
|
-
public generics: KtType<TBuilder>[];
|
|
54
|
-
public nullable: boolean;
|
|
55
|
-
public classReference: boolean;
|
|
56
|
-
public subReference: KtReference<TBuilder> | KtCall<TBuilder> | null;
|
|
57
|
-
|
|
58
|
-
constructor(options: Options<TBuilder, TInjects>) {
|
|
59
|
-
super(options);
|
|
60
|
-
this.name = options.name;
|
|
61
|
-
this.packageName = options.packageName ?? null;
|
|
62
|
-
this.generics = options.generics?.filter(notNullish) ?? [];
|
|
63
|
-
this.nullable = options.nullable ?? false;
|
|
64
|
-
this.classReference = options.classReference ?? false;
|
|
65
|
-
this.subReference = options.subReference ?? null;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
public addImport(builder: TBuilder): void {
|
|
69
|
-
if (this.packageName) {
|
|
70
|
-
const handler = KtReference.addImportHandlers.find((h) => builder instanceof h.builderClass);
|
|
71
|
-
if (handler) {
|
|
72
|
-
handler.handler(builder, this);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
protected override onWrite(builder: TBuilder): void {
|
|
78
|
-
builder.append(this.name);
|
|
79
|
-
ktGenericParameter.write(builder, this.generics);
|
|
80
|
-
if (this.classReference) {
|
|
81
|
-
builder.append('::class');
|
|
82
|
-
} else if (this.subReference) {
|
|
83
|
-
builder.append('::');
|
|
84
|
-
writeKtNode(builder, this.subReference);
|
|
85
|
-
} else if (this.nullable) {
|
|
86
|
-
builder.append('?');
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
this.addImport(builder);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
public static registerAddImportHandler<TBuilder extends SourceBuilder>(
|
|
93
|
-
builderClass: _AddImportHandler<TBuilder>['builderClass'],
|
|
94
|
-
handler: _AddImportHandler<TBuilder>['handler'],
|
|
95
|
-
): void {
|
|
96
|
-
KtReference.addImportHandlers.push({ builderClass, handler });
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
const createReference = <TBuilder extends SourceBuilder>(
|
|
101
|
-
name: Options<TBuilder>['name'],
|
|
102
|
-
packageName?: Options<TBuilder>['packageName'],
|
|
103
|
-
options?: Prettify<Omit<Options<TBuilder>, 'name' | 'packageName'>>,
|
|
104
|
-
): KtReference<TBuilder> => new KtReference<TBuilder>({ ...options, name, packageName });
|
|
105
|
-
|
|
106
|
-
export type KtReferenceFactory =
|
|
107
|
-
& (<TBuilder extends SourceBuilder>(
|
|
108
|
-
options?: Prettify<Omit<Options<TBuilder>, 'name' | 'packageName'>>,
|
|
109
|
-
) => KtReference<TBuilder>)
|
|
110
|
-
& {
|
|
111
|
-
refName: string;
|
|
112
|
-
packageName: Nullable<string>;
|
|
113
|
-
matches: (value: unknown) => value is KtReference<never>;
|
|
114
|
-
};
|
|
115
|
-
|
|
116
|
-
export type KtGenericReferenceFactory<TGenericCount extends number | number[]> =
|
|
117
|
-
& (<TBuilder extends SourceBuilder>(
|
|
118
|
-
generics: TupleWithCount<KtType<TBuilder>, TGenericCount>,
|
|
119
|
-
options?: Prettify<Omit<Options<TBuilder>, 'name' | 'packageName' | 'generics'>>,
|
|
120
|
-
) => KtReference<TBuilder>)
|
|
121
|
-
& {
|
|
122
|
-
refName: string;
|
|
123
|
-
packageName: Nullable<string>;
|
|
124
|
-
infer: <TBuilder extends SourceBuilder>(
|
|
125
|
-
options?: Prettify<Omit<Options<TBuilder>, 'name' | 'packageName' | 'generics'>>,
|
|
126
|
-
) => KtReference<TBuilder>;
|
|
127
|
-
matches: (value: unknown) => value is KtReference<never>;
|
|
128
|
-
};
|
|
129
|
-
|
|
130
|
-
const createFactory = (name: string, packageName?: Nullable<string>): KtReferenceFactory => {
|
|
131
|
-
return Object.assign(
|
|
132
|
-
<TBuilder extends SourceBuilder>(options?: Prettify<Omit<Options<TBuilder>, 'name' | 'packageName'>>) =>
|
|
133
|
-
createReference<TBuilder>(name, packageName, options),
|
|
134
|
-
{
|
|
135
|
-
refName: name,
|
|
136
|
-
packageName,
|
|
137
|
-
matches: (value: unknown): value is KtReference<never> =>
|
|
138
|
-
value instanceof KtReference && value.name === name && value.packageName === (packageName ?? null),
|
|
139
|
-
},
|
|
140
|
-
);
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
const createGenericFactory = <TGenericCount extends number | number[]>(
|
|
144
|
-
name: string,
|
|
145
|
-
packageName?: Nullable<string>,
|
|
146
|
-
): KtGenericReferenceFactory<TGenericCount> => {
|
|
147
|
-
return Object.assign(
|
|
148
|
-
<TBuilder extends SourceBuilder>(
|
|
149
|
-
generics: TupleWithCount<KtType<TBuilder>, TGenericCount>,
|
|
150
|
-
options?: Prettify<Omit<Options<TBuilder>, 'name' | 'packageName' | 'generics'>>,
|
|
151
|
-
) => createReference<TBuilder>(name, packageName, { ...options, generics }),
|
|
152
|
-
{
|
|
153
|
-
refName: name,
|
|
154
|
-
packageName,
|
|
155
|
-
infer: <TBuilder extends SourceBuilder>(
|
|
156
|
-
options?: Prettify<Omit<Options<TBuilder>, 'name' | 'packageName' | 'generics'>>,
|
|
157
|
-
) => createReference<TBuilder>(name, packageName, options),
|
|
158
|
-
matches: (value: unknown): value is KtReference<never> =>
|
|
159
|
-
value instanceof KtReference && value.name === name && value.packageName === (packageName ?? null),
|
|
160
|
-
},
|
|
161
|
-
);
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
const importRefs = <TBuilder extends SourceBuilder>(builder: TBuilder, references: KtReference<TBuilder>[]): void => {
|
|
165
|
-
references.forEach((ref) => ref.addImport(builder));
|
|
166
|
-
};
|
|
167
|
-
|
|
168
|
-
export const ktReference: typeof createReference & {
|
|
169
|
-
factory: typeof createFactory;
|
|
170
|
-
genericFactory: typeof createGenericFactory;
|
|
171
|
-
write: typeof writeKtNodes;
|
|
172
|
-
import: typeof importRefs;
|
|
173
|
-
} = Object.assign(createReference, {
|
|
174
|
-
factory: createFactory,
|
|
175
|
-
genericFactory: createGenericFactory,
|
|
176
|
-
write: writeKtNodes,
|
|
177
|
-
import: importRefs,
|
|
178
|
-
});
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { type AstNodeOptions, type Nullable, type Prettify, type SourceBuilder, spliceString } from '@goast/core';
|
|
2
|
-
|
|
3
|
-
import { KtNode } from '../node.js';
|
|
4
|
-
import { writeKtNodes } from '../utils/write-kt-node.js';
|
|
5
|
-
import { ktArgument } from './argument.js';
|
|
6
|
-
|
|
7
|
-
type Injects = never;
|
|
8
|
-
|
|
9
|
-
type Options<TBuilder extends SourceBuilder, TInjects extends string = never> = AstNodeOptions<
|
|
10
|
-
typeof KtNode<TBuilder, TInjects | Injects>,
|
|
11
|
-
{
|
|
12
|
-
value?: Nullable<string>;
|
|
13
|
-
template?: Nullable<boolean>;
|
|
14
|
-
multiline?: Nullable<boolean>;
|
|
15
|
-
trimMargin?: Nullable<boolean>;
|
|
16
|
-
marginPrefix?: Nullable<string>;
|
|
17
|
-
autoAddMarginPrefix?: Nullable<boolean>;
|
|
18
|
-
}
|
|
19
|
-
>;
|
|
20
|
-
|
|
21
|
-
export class KtString<TBuilder extends SourceBuilder, TInjects extends string = never> extends KtNode<
|
|
22
|
-
TBuilder,
|
|
23
|
-
TInjects | Injects
|
|
24
|
-
> {
|
|
25
|
-
public value: string | null;
|
|
26
|
-
public template: boolean;
|
|
27
|
-
public multiline: boolean;
|
|
28
|
-
public trimMargin: boolean;
|
|
29
|
-
public marginPrefix: string | null;
|
|
30
|
-
public autoAddMarginPrefix: boolean;
|
|
31
|
-
|
|
32
|
-
constructor(options: Options<TBuilder, TInjects>) {
|
|
33
|
-
super(options);
|
|
34
|
-
this.value = options?.value ?? null;
|
|
35
|
-
this.template = options?.template ?? false;
|
|
36
|
-
this.multiline = options?.multiline ?? false;
|
|
37
|
-
this.trimMargin = options?.trimMargin ?? true;
|
|
38
|
-
this.marginPrefix = options?.marginPrefix ?? null;
|
|
39
|
-
this.autoAddMarginPrefix = options?.autoAddMarginPrefix ?? true;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
protected override onWrite(builder: TBuilder): void {
|
|
43
|
-
if (this.value === null) {
|
|
44
|
-
builder.append('null');
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
let value = JSON.stringify(this.value).slice(1, -1);
|
|
49
|
-
if (this.multiline) {
|
|
50
|
-
value = value.replace(/\\n/g, '\n').replace(/\\r/g, '\r');
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
if (!this.template) {
|
|
54
|
-
value = value.replace(/\$/g, '\\$');
|
|
55
|
-
} else {
|
|
56
|
-
const originalParts = this.findTemplateParts(this.value);
|
|
57
|
-
const escapedParts = this.findTemplateParts(value);
|
|
58
|
-
if (originalParts.length !== escapedParts.length) {
|
|
59
|
-
throw new Error('Template parts count mismatch');
|
|
60
|
-
}
|
|
61
|
-
for (let i = originalParts.length - 1; i >= 0; i--) {
|
|
62
|
-
const original = originalParts[i];
|
|
63
|
-
const escaped = escapedParts[i];
|
|
64
|
-
value = spliceString(value, escaped.index, escaped.value.length, original.value);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
builder.append(this.multiline ? '"""' + (this.trimMargin ? '\n' : '') : '"');
|
|
69
|
-
|
|
70
|
-
if (this.multiline && this.trimMargin) {
|
|
71
|
-
builder.indent((b) => {
|
|
72
|
-
if (this.autoAddMarginPrefix) {
|
|
73
|
-
b.appendWithLinePrefix(this.marginPrefix ?? '|', value);
|
|
74
|
-
} else {
|
|
75
|
-
b.append(value);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
b.append('\n""".trimMargin');
|
|
79
|
-
ktArgument.write(b, [this.marginPrefix ? new KtString<TBuilder>({ value: this.marginPrefix }) : null]);
|
|
80
|
-
});
|
|
81
|
-
} else {
|
|
82
|
-
builder.append(value, this.multiline ? '"""' : '"');
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
protected findTemplateParts(value: string): { value: string; index: number }[] {
|
|
87
|
-
const parts: { value: string; index: number }[] = [];
|
|
88
|
-
let start: number | undefined = undefined;
|
|
89
|
-
let bracketCount = 0;
|
|
90
|
-
for (let i = 0; i < value.length; i++) {
|
|
91
|
-
if (value[i] === '$' && value[i + 1] === '{') {
|
|
92
|
-
start = i;
|
|
93
|
-
} else if (value[i] === '{') {
|
|
94
|
-
bracketCount++;
|
|
95
|
-
} else if (value[i] === '}') {
|
|
96
|
-
bracketCount--;
|
|
97
|
-
if (bracketCount === 0 && start !== undefined) {
|
|
98
|
-
parts.push({ value: value.slice(start, i + 1), index: start });
|
|
99
|
-
start = undefined;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
return parts;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
const createString = <TBuilder extends SourceBuilder>(
|
|
108
|
-
value: Options<TBuilder>['value'],
|
|
109
|
-
options?: Prettify<Omit<Options<TBuilder>, 'value'>>,
|
|
110
|
-
): KtString<TBuilder> => new KtString<TBuilder>({ ...options, value });
|
|
111
|
-
|
|
112
|
-
export const ktString: typeof createString & { write: typeof writeKtNodes } = Object.assign(createString, {
|
|
113
|
-
write: writeKtNodes,
|
|
114
|
-
});
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { BasicAppendValue, SourceBuilder } from '@goast/core';
|
|
2
|
-
|
|
3
|
-
import type { KtCall } from './call.js';
|
|
4
|
-
import type { KtCollectionLiteral } from './collection-literal.js';
|
|
5
|
-
import type { KtLambdaType } from './lambda-type.js';
|
|
6
|
-
import type { KtLambda } from './lambda.js';
|
|
7
|
-
import type { KtObject } from './object.js';
|
|
8
|
-
import type { KtReference } from './reference.js';
|
|
9
|
-
import type { KtString } from './string.js';
|
|
10
|
-
|
|
11
|
-
export type KtType<TBuilder extends SourceBuilder> =
|
|
12
|
-
| KtReference<TBuilder>
|
|
13
|
-
| KtLambdaType<TBuilder>
|
|
14
|
-
| BasicAppendValue<TBuilder>;
|
|
15
|
-
|
|
16
|
-
export type KtValue<TBuilder extends SourceBuilder> =
|
|
17
|
-
| KtReference<TBuilder>
|
|
18
|
-
| KtString<TBuilder>
|
|
19
|
-
| KtCall<TBuilder>
|
|
20
|
-
| KtObject<TBuilder>
|
|
21
|
-
| KtLambda<TBuilder>
|
|
22
|
-
| KtCollectionLiteral<TBuilder>
|
|
23
|
-
| BasicAppendValue<TBuilder>;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export * as jackson from './jackson.js';
|
|
2
|
-
export * as jakarta from './jakarta.js';
|
|
3
|
-
export * as java from './java.js';
|
|
4
|
-
export * from './kotlin.js';
|
|
5
|
-
export * as kotlinx from './kotlinx.js';
|
|
6
|
-
export * as okhttp3 from './okhttp3.js';
|
|
7
|
-
export * as reactor from './reactor.js';
|
|
8
|
-
export * as springReactive from './spring-reactive.js';
|
|
9
|
-
export * as spring from './spring.js';
|
|
10
|
-
export * as swagger from './swagger.js';
|