@goast/kotlin 0.4.2-beta1 → 0.4.3
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/LICENSE +21 -21
- package/README.md +45 -45
- package/assets/client/okhttp3/ApiClient.kt +250 -250
- package/esm/_dnt.test_polyfills.d.ts +29 -0
- package/esm/_dnt.test_polyfills.d.ts.map +1 -0
- package/esm/_dnt.test_polyfills.js +31 -0
- package/esm/_dnt.test_shims.d.ts +6 -0
- package/esm/_dnt.test_shims.d.ts.map +1 -0
- package/esm/_dnt.test_shims.js +61 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/assertion_error.d.ts +26 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/assertion_error.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/assertion_error.js +30 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/equal.d.ts +17 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/equal.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/equal.js +136 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/equals.d.ts +22 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/equals.js +45 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/false.d.ts +18 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/false.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/false.js +22 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/instance_of.d.ts +23 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/instance_of.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/instance_of.js +53 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/is_error.d.ts +25 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/is_error.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/is_error.js +54 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/match.d.ts +18 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/match.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/match.js +26 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/not_instance_of.d.ts +20 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/not_instance_of.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/not_instance_of.js +29 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/not_match.d.ts +18 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/not_match.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/not_match.js +26 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/not_strict_equals.d.ts +23 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/not_strict_equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/not_strict_equals.js +32 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/rejects.d.ts +42 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/rejects.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/rejects.js +53 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/strict_equals.d.ts +24 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/strict_equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.7/strict_equals.js +57 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_assert_equals.d.ts +20 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_assert_equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_assert_equals.js +29 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_assert_not_equals.d.ts +17 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_assert_not_equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_assert_not_equals.js +26 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_assertions.d.ts +4 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_assertions.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_assertions.js +13 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_asymmetric_matchers.d.ts +46 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_asymmetric_matchers.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_asymmetric_matchers.js +160 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_build_message.d.ts +6 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_build_message.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_build_message.js +29 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_custom_equality_tester.d.ts +4 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_custom_equality_tester.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_custom_equality_tester.js +11 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_equal.d.ts +9 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_equal.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_equal.js +191 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_extend.d.ts +4 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_extend.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_extend.js +11 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_inspect_args.d.ts +3 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_inspect_args.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_inspect_args.js +12 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_matchers.d.ts +34 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_matchers.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_matchers.js +563 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_mock_util.d.ts +11 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_mock_util.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_mock_util.js +10 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_types.d.ts +838 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_types.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_types.js +3 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_utils.d.ts +9 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_utils.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/_utils.js +218 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/expect.d.ts +59 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/expect.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.7/expect.js +506 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/assertion_state.d.ts +160 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/assertion_state.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/assertion_state.js +199 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts +82 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.js +111 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/diff.d.ts +140 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/diff.js +277 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts +99 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.js +180 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/format.d.ts +2 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/format.js +37 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/styles.d.ts +159 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/styles.js +207 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/types.d.ts +16 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/types.js +2 -0
- package/esm/deps/jsr.io/@std/testing/1.0.4/_mock_utils.d.ts +15 -0
- package/esm/deps/jsr.io/@std/testing/1.0.4/_mock_utils.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/testing/1.0.4/_mock_utils.js +35 -0
- package/esm/deps/jsr.io/@std/testing/1.0.4/_test_suite.d.ts +74 -0
- package/esm/deps/jsr.io/@std/testing/1.0.4/_test_suite.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/testing/1.0.4/_test_suite.js +350 -0
- package/esm/deps/jsr.io/@std/testing/1.0.4/bdd.d.ts +731 -0
- package/esm/deps/jsr.io/@std/testing/1.0.4/bdd.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/testing/1.0.4/bdd.js +581 -0
- package/esm/deps/jsr.io/@std/testing/1.0.4/mock.d.ts +674 -0
- package/esm/deps/jsr.io/@std/testing/1.0.4/mock.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/testing/1.0.4/mock.js +1083 -0
- package/esm/src/ast/nodes/annotation.test.d.ts +2 -0
- package/esm/src/ast/nodes/annotation.test.d.ts.map +1 -0
- package/esm/src/ast/nodes/annotation.test.js +56 -0
- package/esm/src/ast/nodes/argument.test.d.ts +2 -0
- package/esm/src/ast/nodes/argument.test.d.ts.map +1 -0
- package/esm/src/ast/nodes/argument.test.js +33 -0
- package/esm/src/ast/nodes/call.test.d.ts +2 -0
- package/esm/src/ast/nodes/call.test.d.ts.map +1 -0
- package/esm/src/ast/nodes/call.test.js +35 -0
- package/esm/src/ast/nodes/class.test.d.ts +2 -0
- package/esm/src/ast/nodes/class.test.d.ts.map +1 -0
- package/esm/src/ast/nodes/class.test.js +219 -0
- package/esm/src/ast/nodes/constructor.test.d.ts +2 -0
- package/esm/src/ast/nodes/constructor.test.d.ts.map +1 -0
- package/esm/src/ast/nodes/constructor.test.js +139 -0
- package/esm/src/ast/nodes/doc-tag.test.d.ts +2 -0
- package/esm/src/ast/nodes/doc-tag.test.d.ts.map +1 -0
- package/esm/src/ast/nodes/doc-tag.test.js +67 -0
- package/esm/src/ast/nodes/doc.test.d.ts +2 -0
- package/esm/src/ast/nodes/doc.test.d.ts.map +1 -0
- package/esm/src/ast/nodes/doc.test.js +33 -0
- package/esm/src/ast/nodes/enum-value.test.d.ts +2 -0
- package/esm/src/ast/nodes/enum-value.test.d.ts.map +1 -0
- package/esm/src/ast/nodes/enum-value.test.js +115 -0
- package/esm/src/ast/nodes/enum.test.d.ts +2 -0
- package/esm/src/ast/nodes/enum.test.d.ts.map +1 -0
- package/esm/src/ast/nodes/enum.test.js +129 -0
- package/esm/src/ast/nodes/function.test.d.ts +2 -0
- package/esm/src/ast/nodes/function.test.d.ts.map +1 -0
- package/esm/src/ast/nodes/function.test.js +160 -0
- package/esm/src/ast/nodes/generic-parameter.test.d.ts +2 -0
- package/esm/src/ast/nodes/generic-parameter.test.d.ts.map +1 -0
- package/esm/src/ast/nodes/generic-parameter.test.js +49 -0
- package/esm/src/ast/nodes/init-block.test.d.ts +2 -0
- package/esm/src/ast/nodes/init-block.test.d.ts.map +1 -0
- package/esm/src/ast/nodes/init-block.test.js +28 -0
- package/esm/src/ast/nodes/interface.test.d.ts +2 -0
- package/esm/src/ast/nodes/interface.test.d.ts.map +1 -0
- package/esm/src/ast/nodes/interface.test.js +121 -0
- package/esm/src/ast/nodes/object.test.d.ts +2 -0
- package/esm/src/ast/nodes/object.test.d.ts.map +1 -0
- package/esm/src/ast/nodes/object.test.js +78 -0
- package/esm/src/ast/nodes/parameter.test.d.ts +2 -0
- package/esm/src/ast/nodes/parameter.test.d.ts.map +1 -0
- package/esm/src/ast/nodes/parameter.test.js +152 -0
- package/esm/src/ast/nodes/property.test.d.ts +2 -0
- package/esm/src/ast/nodes/property.test.d.ts.map +1 -0
- package/esm/src/ast/nodes/property.test.js +206 -0
- package/esm/src/ast/nodes/reference.test.d.ts +2 -0
- package/esm/src/ast/nodes/reference.test.d.ts.map +1 -0
- package/esm/src/ast/nodes/reference.test.js +36 -0
- package/esm/src/ast/nodes/string.test.d.ts +2 -0
- package/esm/src/ast/nodes/string.test.d.ts.map +1 -0
- package/esm/src/ast/nodes/string.test.js +48 -0
- package/esm/src/generators/services/okhttp3-clients/okhttp3-client-generator.js +26 -26
- package/esm/src/generators/services/spring-controllers/spring-controller-generator.d.ts.map +1 -1
- package/esm/src/generators/services/spring-controllers/spring-controller-generator.js +11 -7
- package/esm/src/import-collection.test.d.ts +2 -0
- package/esm/src/import-collection.test.d.ts.map +1 -0
- package/esm/src/import-collection.test.js +99 -0
- package/esm/tests/openapi-models.test.d.ts +2 -0
- package/esm/tests/openapi-models.test.d.ts.map +1 -0
- package/esm/tests/openapi-models.test.js +45 -0
- package/package.json +2 -2
- package/script/_dnt.test_polyfills.d.ts +29 -0
- package/script/_dnt.test_polyfills.d.ts.map +1 -0
- package/script/_dnt.test_polyfills.js +32 -0
- package/script/_dnt.test_shims.d.ts +6 -0
- package/script/_dnt.test_shims.d.ts.map +1 -0
- package/script/_dnt.test_shims.js +65 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/assertion_error.d.ts +26 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/assertion_error.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/assertion_error.js +34 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/equal.d.ts +17 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/equal.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/equal.js +139 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/equals.d.ts +22 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/equals.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/equals.js +48 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/false.d.ts +18 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/false.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/false.js +25 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/instance_of.d.ts +23 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/instance_of.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/instance_of.js +56 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/is_error.d.ts +25 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/is_error.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/is_error.js +57 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/match.d.ts +18 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/match.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/match.js +29 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/not_instance_of.d.ts +20 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/not_instance_of.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/not_instance_of.js +32 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/not_match.d.ts +18 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/not_match.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/not_match.js +29 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/not_strict_equals.d.ts +23 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/not_strict_equals.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/not_strict_equals.js +35 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/rejects.d.ts +42 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/rejects.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/rejects.js +56 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/strict_equals.d.ts +24 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/strict_equals.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.7/strict_equals.js +60 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_assert_equals.d.ts +20 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_assert_equals.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_assert_equals.js +32 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_assert_not_equals.d.ts +17 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_assert_not_equals.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_assert_not_equals.js +29 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_assertions.d.ts +4 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_assertions.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_assertions.js +18 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_asymmetric_matchers.d.ts +46 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_asymmetric_matchers.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_asymmetric_matchers.js +182 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_build_message.d.ts +6 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_build_message.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_build_message.js +33 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_custom_equality_tester.d.ts +4 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_custom_equality_tester.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_custom_equality_tester.js +15 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_equal.d.ts +9 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_equal.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_equal.js +194 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_extend.d.ts +4 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_extend.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_extend.js +15 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_inspect_args.d.ts +3 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_inspect_args.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_inspect_args.js +17 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_matchers.d.ts +34 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_matchers.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_matchers.js +597 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_mock_util.d.ts +11 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_mock_util.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_mock_util.js +14 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_types.d.ts +838 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_types.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_types.js +4 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_utils.d.ts +9 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_utils.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/_utils.js +226 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/expect.d.ts +59 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/expect.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.7/expect.js +510 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/assertion_state.d.ts +160 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/assertion_state.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/assertion_state.js +204 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts +82 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/build_message.js +116 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/diff.d.ts +140 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/diff.js +284 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts +99 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/diff_str.js +186 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/format.d.ts +2 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/format.js +41 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/styles.d.ts +159 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/styles.js +220 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/types.d.ts +16 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/types.js +3 -0
- package/script/deps/jsr.io/@std/testing/1.0.4/_mock_utils.d.ts +15 -0
- package/script/deps/jsr.io/@std/testing/1.0.4/_mock_utils.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/testing/1.0.4/_mock_utils.js +41 -0
- package/script/deps/jsr.io/@std/testing/1.0.4/_test_suite.d.ts +74 -0
- package/script/deps/jsr.io/@std/testing/1.0.4/_test_suite.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/testing/1.0.4/_test_suite.js +355 -0
- package/script/deps/jsr.io/@std/testing/1.0.4/bdd.d.ts +731 -0
- package/script/deps/jsr.io/@std/testing/1.0.4/bdd.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/testing/1.0.4/bdd.js +592 -0
- package/script/deps/jsr.io/@std/testing/1.0.4/mock.d.ts +674 -0
- package/script/deps/jsr.io/@std/testing/1.0.4/mock.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/testing/1.0.4/mock.js +1102 -0
- package/script/src/ast/nodes/annotation.test.d.ts +2 -0
- package/script/src/ast/nodes/annotation.test.d.ts.map +1 -0
- package/script/src/ast/nodes/annotation.test.js +58 -0
- package/script/src/ast/nodes/argument.test.d.ts +2 -0
- package/script/src/ast/nodes/argument.test.d.ts.map +1 -0
- package/script/src/ast/nodes/argument.test.js +35 -0
- package/script/src/ast/nodes/call.test.d.ts +2 -0
- package/script/src/ast/nodes/call.test.d.ts.map +1 -0
- package/script/src/ast/nodes/call.test.js +37 -0
- package/script/src/ast/nodes/class.test.d.ts +2 -0
- package/script/src/ast/nodes/class.test.d.ts.map +1 -0
- package/script/src/ast/nodes/class.test.js +221 -0
- package/script/src/ast/nodes/constructor.test.d.ts +2 -0
- package/script/src/ast/nodes/constructor.test.d.ts.map +1 -0
- package/script/src/ast/nodes/constructor.test.js +141 -0
- package/script/src/ast/nodes/doc-tag.test.d.ts +2 -0
- package/script/src/ast/nodes/doc-tag.test.d.ts.map +1 -0
- package/script/src/ast/nodes/doc-tag.test.js +69 -0
- package/script/src/ast/nodes/doc.test.d.ts +2 -0
- package/script/src/ast/nodes/doc.test.d.ts.map +1 -0
- package/script/src/ast/nodes/doc.test.js +35 -0
- package/script/src/ast/nodes/enum-value.test.d.ts +2 -0
- package/script/src/ast/nodes/enum-value.test.d.ts.map +1 -0
- package/script/src/ast/nodes/enum-value.test.js +117 -0
- package/script/src/ast/nodes/enum.test.d.ts +2 -0
- package/script/src/ast/nodes/enum.test.d.ts.map +1 -0
- package/script/src/ast/nodes/enum.test.js +131 -0
- package/script/src/ast/nodes/function.test.d.ts +2 -0
- package/script/src/ast/nodes/function.test.d.ts.map +1 -0
- package/script/src/ast/nodes/function.test.js +162 -0
- package/script/src/ast/nodes/generic-parameter.test.d.ts +2 -0
- package/script/src/ast/nodes/generic-parameter.test.d.ts.map +1 -0
- package/script/src/ast/nodes/generic-parameter.test.js +51 -0
- package/script/src/ast/nodes/init-block.test.d.ts +2 -0
- package/script/src/ast/nodes/init-block.test.d.ts.map +1 -0
- package/script/src/ast/nodes/init-block.test.js +30 -0
- package/script/src/ast/nodes/interface.test.d.ts +2 -0
- package/script/src/ast/nodes/interface.test.d.ts.map +1 -0
- package/script/src/ast/nodes/interface.test.js +123 -0
- package/script/src/ast/nodes/object.test.d.ts +2 -0
- package/script/src/ast/nodes/object.test.d.ts.map +1 -0
- package/script/src/ast/nodes/object.test.js +80 -0
- package/script/src/ast/nodes/parameter.test.d.ts +2 -0
- package/script/src/ast/nodes/parameter.test.d.ts.map +1 -0
- package/script/src/ast/nodes/parameter.test.js +154 -0
- package/script/src/ast/nodes/property.test.d.ts +2 -0
- package/script/src/ast/nodes/property.test.d.ts.map +1 -0
- package/script/src/ast/nodes/property.test.js +208 -0
- package/script/src/ast/nodes/reference.test.d.ts +2 -0
- package/script/src/ast/nodes/reference.test.d.ts.map +1 -0
- package/script/src/ast/nodes/reference.test.js +38 -0
- package/script/src/ast/nodes/string.test.d.ts +2 -0
- package/script/src/ast/nodes/string.test.d.ts.map +1 -0
- package/script/src/ast/nodes/string.test.js +50 -0
- package/script/src/generators/services/okhttp3-clients/okhttp3-client-generator.js +26 -26
- package/script/src/generators/services/spring-controllers/spring-controller-generator.d.ts.map +1 -1
- package/script/src/generators/services/spring-controllers/spring-controller-generator.js +11 -7
- package/script/src/import-collection.test.d.ts +2 -0
- package/script/src/import-collection.test.d.ts.map +1 -0
- package/script/src/import-collection.test.js +101 -0
- package/script/tests/openapi-models.test.d.ts +2 -0
- package/script/tests/openapi-models.test.d.ts.map +1 -0
- package/script/tests/openapi-models.test.js +48 -0
- package/src/_dnt.test_polyfills.ts +70 -0
- package/src/_dnt.test_shims.ts +64 -0
- package/src/deps/jsr.io/@std/assert/1.0.7/assertion_error.ts +31 -0
- package/src/deps/jsr.io/@std/assert/1.0.7/equal.ts +152 -0
- package/src/deps/jsr.io/@std/assert/1.0.7/equals.ts +52 -0
- package/src/deps/jsr.io/@std/assert/1.0.7/false.ts +26 -0
- package/src/deps/jsr.io/@std/assert/1.0.7/instance_of.ts +64 -0
- package/src/deps/jsr.io/@std/assert/1.0.7/is_error.ts +65 -0
- package/src/deps/jsr.io/@std/assert/1.0.7/match.ts +30 -0
- package/src/deps/jsr.io/@std/assert/1.0.7/not_instance_of.ts +33 -0
- package/src/deps/jsr.io/@std/assert/1.0.7/not_match.ts +30 -0
- package/src/deps/jsr.io/@std/assert/1.0.7/not_strict_equals.ts +42 -0
- package/src/deps/jsr.io/@std/assert/1.0.7/rejects.ts +123 -0
- package/src/deps/jsr.io/@std/assert/1.0.7/strict_equals.ts +67 -0
- package/src/deps/jsr.io/@std/expect/1.0.7/_assert_equals.ts +38 -0
- package/src/deps/jsr.io/@std/expect/1.0.7/_assert_not_equals.ts +35 -0
- package/src/deps/jsr.io/@std/expect/1.0.7/_assertions.ts +18 -0
- package/src/deps/jsr.io/@std/expect/1.0.7/_asymmetric_matchers.ts +193 -0
- package/src/deps/jsr.io/@std/expect/1.0.7/_build_message.ts +51 -0
- package/src/deps/jsr.io/@std/expect/1.0.7/_custom_equality_tester.ts +19 -0
- package/src/deps/jsr.io/@std/expect/1.0.7/_equal.ts +230 -0
- package/src/deps/jsr.io/@std/expect/1.0.7/_extend.ts +16 -0
- package/src/deps/jsr.io/@std/expect/1.0.7/_inspect_args.ts +15 -0
- package/src/deps/jsr.io/@std/expect/1.0.7/_matchers.ts +832 -0
- package/src/deps/jsr.io/@std/expect/1.0.7/_mock_util.ts +22 -0
- package/src/deps/jsr.io/@std/expect/1.0.7/_types.ts +917 -0
- package/src/deps/jsr.io/@std/expect/1.0.7/_utils.ts +283 -0
- package/src/deps/jsr.io/@std/expect/1.0.7/expect.ts +601 -0
- package/src/deps/jsr.io/@std/internal/1.0.5/assertion_state.ts +214 -0
- package/src/deps/jsr.io/@std/internal/1.0.5/build_message.ts +134 -0
- package/src/deps/jsr.io/@std/internal/1.0.5/diff.ts +317 -0
- package/src/deps/jsr.io/@std/internal/1.0.5/diff_str.ts +204 -0
- package/src/deps/jsr.io/@std/internal/1.0.5/format.ts +39 -0
- package/src/deps/jsr.io/@std/internal/1.0.5/styles.ts +233 -0
- package/src/deps/jsr.io/@std/internal/1.0.5/types.ts +18 -0
- package/src/deps/jsr.io/@std/testing/1.0.4/_mock_utils.ts +43 -0
- package/src/deps/jsr.io/@std/testing/1.0.4/_test_suite.ts +410 -0
- package/src/deps/jsr.io/@std/testing/1.0.4/bdd.ts +1211 -0
- package/src/deps/jsr.io/@std/testing/1.0.4/mock.ts +1807 -0
- package/src/mod.ts +8 -0
- package/src/src/assets.ts +9 -0
- package/src/src/ast/_index.ts +66 -0
- package/src/src/ast/common.ts +1 -0
- package/src/src/ast/index.ts +1 -0
- package/src/src/ast/node.ts +10 -0
- package/src/src/ast/nodes/annotation.test.ts +69 -0
- package/src/src/ast/nodes/annotation.ts +79 -0
- package/src/src/ast/nodes/argument.test.ts +41 -0
- package/src/src/ast/nodes/argument.ts +62 -0
- package/src/src/ast/nodes/call.test.ts +44 -0
- package/src/src/ast/nodes/call.ts +66 -0
- package/src/src/ast/nodes/class.test.ts +274 -0
- package/src/src/ast/nodes/class.ts +178 -0
- package/src/src/ast/nodes/collection-literal.ts +49 -0
- package/src/src/ast/nodes/constructor.test.ts +178 -0
- package/src/src/ast/nodes/constructor.ts +126 -0
- package/src/src/ast/nodes/doc-tag.test.ts +84 -0
- package/src/src/ast/nodes/doc-tag.ts +138 -0
- package/src/src/ast/nodes/doc.test.ts +42 -0
- package/src/src/ast/nodes/doc.ts +111 -0
- package/src/src/ast/nodes/enum-value.test.ts +146 -0
- package/src/src/ast/nodes/enum-value.ts +100 -0
- package/src/src/ast/nodes/enum.test.ts +167 -0
- package/src/src/ast/nodes/enum.ts +163 -0
- package/src/src/ast/nodes/function.test.ts +194 -0
- package/src/src/ast/nodes/function.ts +176 -0
- package/src/src/ast/nodes/generic-parameter.test.ts +60 -0
- package/src/src/ast/nodes/generic-parameter.ts +54 -0
- package/src/src/ast/nodes/init-block.test.ts +36 -0
- package/src/src/ast/nodes/init-block.ts +38 -0
- package/src/src/ast/nodes/interface.test.ts +151 -0
- package/src/src/ast/nodes/interface.ts +133 -0
- package/src/src/ast/nodes/lambda-type.ts +68 -0
- package/src/src/ast/nodes/lambda.ts +68 -0
- package/src/src/ast/nodes/object.test.ts +101 -0
- package/src/src/ast/nodes/object.ts +102 -0
- package/src/src/ast/nodes/parameter.test.ts +191 -0
- package/src/src/ast/nodes/parameter.ts +118 -0
- package/src/src/ast/nodes/property.test.ts +253 -0
- package/src/src/ast/nodes/property.ts +225 -0
- package/src/src/ast/nodes/reference.test.ts +47 -0
- package/src/src/ast/nodes/reference.ts +178 -0
- package/src/src/ast/nodes/string.test.ts +61 -0
- package/src/src/ast/nodes/string.ts +114 -0
- package/src/src/ast/nodes/types.ts +23 -0
- package/src/src/ast/references/index.ts +8 -0
- package/src/src/ast/references/jackson.ts +16 -0
- package/src/src/ast/references/jakarta.ts +10 -0
- package/src/src/ast/references/java.ts +19 -0
- package/src/src/ast/references/kotlin.ts +40 -0
- package/src/src/ast/references/okhttp3.ts +5 -0
- package/src/src/ast/references/reactor.ts +5 -0
- package/src/src/ast/references/spring.ts +58 -0
- package/src/src/ast/references/swagger.ts +19 -0
- package/src/src/ast/utils/get-kotlin-builder-options.ts +19 -0
- package/src/src/ast/utils/to-kt-node.ts +31 -0
- package/src/src/ast/utils/write-kt-annotations.ts +15 -0
- package/src/src/ast/utils/write-kt-arguments.ts +45 -0
- package/src/src/ast/utils/write-kt-enum-values.ts +27 -0
- package/src/src/ast/utils/write-kt-generic-parameters.ts +12 -0
- package/src/src/ast/utils/write-kt-members.ts +25 -0
- package/src/src/ast/utils/write-kt-node.ts +37 -0
- package/src/src/ast/utils/write-kt-parameters.ts +25 -0
- package/src/src/common-results.ts +4 -0
- package/src/src/config.ts +39 -0
- package/src/src/file-builder.ts +108 -0
- package/src/src/generators/file-generator.ts +29 -0
- package/src/src/generators/index.ts +4 -0
- package/src/src/generators/models/args.ts +128 -0
- package/src/src/generators/models/index.ts +4 -0
- package/src/src/generators/models/model-generator.ts +602 -0
- package/src/src/generators/models/models-generator.ts +65 -0
- package/src/src/generators/models/models.ts +95 -0
- package/src/src/generators/services/okhttp3-clients/args.ts +78 -0
- package/src/src/generators/services/okhttp3-clients/index.ts +4 -0
- package/src/src/generators/services/okhttp3-clients/models.ts +60 -0
- package/src/src/generators/services/okhttp3-clients/okhttp3-client-generator.ts +557 -0
- package/src/src/generators/services/okhttp3-clients/okhttp3-clients-generator.ts +128 -0
- package/src/src/generators/services/okhttp3-clients/refs.ts +55 -0
- package/src/src/generators/services/spring-controllers/args.ts +71 -0
- package/src/src/generators/services/spring-controllers/index.ts +4 -0
- package/src/src/generators/services/spring-controllers/models.ts +58 -0
- package/src/src/generators/services/spring-controllers/spring-controller-generator.ts +609 -0
- package/src/src/generators/services/spring-controllers/spring-controllers-generator.ts +70 -0
- package/src/src/import-collection.test.ts +116 -0
- package/src/src/import-collection.ts +98 -0
- package/src/src/types.ts +3 -0
- package/src/src/utils.ts +39 -0
- package/src/tests/openapi-models.test.ts +63 -0
- package/test_runner.js +227 -0
|
@@ -0,0 +1,178 @@
|
|
|
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
|
+
});
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import "../../../_dnt.test_polyfills.js";
|
|
2
|
+
import { EOL } from 'node:os';
|
|
3
|
+
|
|
4
|
+
import { expect } from '../../../deps/jsr.io/@std/expect/1.0.7/expect.js';
|
|
5
|
+
import { beforeEach, describe, it } from '../../../deps/jsr.io/@std/testing/1.0.4/bdd.js';
|
|
6
|
+
|
|
7
|
+
import { KotlinFileBuilder } from '../../file-builder.js';
|
|
8
|
+
import { ktString } from './string.js';
|
|
9
|
+
|
|
10
|
+
describe('ktString', () => {
|
|
11
|
+
let builder: KotlinFileBuilder;
|
|
12
|
+
|
|
13
|
+
beforeEach(() => {
|
|
14
|
+
builder = new KotlinFileBuilder();
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
it('should handle null', () => {
|
|
18
|
+
builder.append(ktString(null));
|
|
19
|
+
expect(builder.toString(false)).toBe('null');
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
it('should surround string with double quotes', () => {
|
|
23
|
+
builder.append(ktString('test'));
|
|
24
|
+
expect(builder.toString(false)).toBe('"test"');
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it('should escape certain characters', () => {
|
|
28
|
+
builder.append(ktString('\r\n\t${\n"abc"\n}\u0014'));
|
|
29
|
+
expect(builder.toString(false)).toBe('"\\r\\n\\t\\${\\n\\"abc\\"\\n}\\u0014"');
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
it('should not escape $ character in template string', () => {
|
|
33
|
+
builder.append(ktString('\r\n\t${\n"abc"\n}\u0014', { template: true }));
|
|
34
|
+
expect(builder.toString(false)).toBe(`"\\r\\n\\t\${${EOL}"abc"${EOL}}\\u0014"`);
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
it('should handle multiline strings', () => {
|
|
38
|
+
builder.append(ktString('test\r\ntest', { multiline: true }));
|
|
39
|
+
expect(builder.toString(false)).toBe(`"""${EOL} |test${EOL} |test${EOL} """.trimMargin()`);
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
it('should handle multiline strings with custom margin prefix', () => {
|
|
43
|
+
builder.append(ktString('test\r\ntest', { multiline: true, marginPrefix: '!' }));
|
|
44
|
+
expect(builder.toString(false)).toBe(`"""${EOL} !test${EOL} !test${EOL} """.trimMargin("!")`);
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
it('should handle multiline strings without auto prefix', () => {
|
|
48
|
+
builder.append(ktString('test\r\ntest', { multiline: true, autoAddMarginPrefix: false }));
|
|
49
|
+
expect(builder.toString(false)).toBe(`"""${EOL} test${EOL} test${EOL} """.trimMargin()`);
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
it('should handle multiline strings without trimMargin', () => {
|
|
53
|
+
builder.append(ktString('test\r\ntest', { multiline: true, trimMargin: false }));
|
|
54
|
+
expect(builder.toString(false)).toBe(`"""test${EOL}test"""`);
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
it('should render injections', () => {
|
|
58
|
+
builder.append(ktString('test', { inject: { before: 'before', after: 'after' } }));
|
|
59
|
+
expect(builder.toString(false)).toBe('before"test"after');
|
|
60
|
+
});
|
|
61
|
+
});
|
|
@@ -0,0 +1,114 @@
|
|
|
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
|
+
});
|
|
@@ -0,0 +1,23 @@
|
|
|
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>;
|
|
@@ -0,0 +1,8 @@
|
|
|
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 okhttp3 from './okhttp3.js';
|
|
6
|
+
export * as reactor from './reactor.js';
|
|
7
|
+
export * as spring from './spring.js';
|
|
8
|
+
export * as swagger from './swagger.js';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ktReference, type KtReferenceFactory } from '../nodes/reference.js';
|
|
2
|
+
|
|
3
|
+
// com.fasterxml.jackson.annotation
|
|
4
|
+
export const jsonTypeInfo: KtReferenceFactory = ktReference.factory('JsonTypeInfo', 'com.fasterxml.jackson.annotation');
|
|
5
|
+
export const jsonSubTypes: KtReferenceFactory = ktReference.factory('JsonSubTypes', 'com.fasterxml.jackson.annotation');
|
|
6
|
+
export const jsonProperty: KtReferenceFactory = ktReference.factory('JsonProperty', 'com.fasterxml.jackson.annotation');
|
|
7
|
+
export const jsonInclude: KtReferenceFactory = ktReference.factory('JsonInclude', 'com.fasterxml.jackson.annotation');
|
|
8
|
+
export const jsonIgnore: KtReferenceFactory = ktReference.factory('JsonIgnore', 'com.fasterxml.jackson.annotation');
|
|
9
|
+
export const jsonAnySetter: KtReferenceFactory = ktReference.factory(
|
|
10
|
+
'JsonAnySetter',
|
|
11
|
+
'com.fasterxml.jackson.annotation',
|
|
12
|
+
);
|
|
13
|
+
export const jsonAnyGetter: KtReferenceFactory = ktReference.factory(
|
|
14
|
+
'JsonAnyGetter',
|
|
15
|
+
'com.fasterxml.jackson.annotation',
|
|
16
|
+
);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ktReference, type KtReferenceFactory } from '../nodes/reference.js';
|
|
2
|
+
|
|
3
|
+
// jakarta.annotation
|
|
4
|
+
export const generated: KtReferenceFactory = ktReference.factory('Generated', 'jakarta.annotation');
|
|
5
|
+
|
|
6
|
+
// jakarta.validation
|
|
7
|
+
export const valid: KtReferenceFactory = ktReference.factory('Valid', 'jakarta.validation');
|
|
8
|
+
|
|
9
|
+
// jakarta.validation.constraints
|
|
10
|
+
export const pattern: KtReferenceFactory = ktReference.factory('Pattern', 'jakarta.validation.constraints');
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type KtGenericReferenceFactory, ktReference, type KtReferenceFactory } from '../nodes/reference.js';
|
|
2
|
+
|
|
3
|
+
// java.io
|
|
4
|
+
export const file: KtReferenceFactory = ktReference.factory('File', 'java.io');
|
|
5
|
+
export const ioException: KtReferenceFactory = ktReference.factory('IOException', 'java.io');
|
|
6
|
+
|
|
7
|
+
// java.lang
|
|
8
|
+
export const illegalStateException: KtReferenceFactory = ktReference.factory('IllegalStateException', 'java.lang');
|
|
9
|
+
export const system: KtReferenceFactory = ktReference.factory('System', 'java.lang');
|
|
10
|
+
export const unsupportedOperationException: KtReferenceFactory = ktReference.factory(
|
|
11
|
+
'UnsupportedOperationException',
|
|
12
|
+
'java.lang',
|
|
13
|
+
);
|
|
14
|
+
|
|
15
|
+
// java.time
|
|
16
|
+
export const offsetDateTime: KtReferenceFactory = ktReference.factory('OffsetDateTime', 'java.time');
|
|
17
|
+
|
|
18
|
+
// java.util
|
|
19
|
+
export const optional: KtGenericReferenceFactory<1> = ktReference.genericFactory<1>('Optional', 'java.util');
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { type KtGenericReferenceFactory, ktReference, type KtReferenceFactory } from '../nodes/reference.js';
|
|
2
|
+
|
|
3
|
+
// kotlin
|
|
4
|
+
export const any: KtReferenceFactory = ktReference.factory('Any', 'kotlin');
|
|
5
|
+
export const nothing: KtReferenceFactory = ktReference.factory('Nothing', 'kotlin');
|
|
6
|
+
export const unit: KtReferenceFactory = ktReference.factory('Unit', 'kotlin');
|
|
7
|
+
export const string: KtReferenceFactory = ktReference.factory('String', 'kotlin');
|
|
8
|
+
export const int: KtReferenceFactory = ktReference.factory('Int', 'kotlin');
|
|
9
|
+
export const long: KtReferenceFactory = ktReference.factory('Long', 'kotlin');
|
|
10
|
+
export const float: KtReferenceFactory = ktReference.factory('Float', 'kotlin');
|
|
11
|
+
export const double: KtReferenceFactory = ktReference.factory('Double', 'kotlin');
|
|
12
|
+
export const boolean: KtReferenceFactory = ktReference.factory('Boolean', 'kotlin');
|
|
13
|
+
export const lazyFun: KtGenericReferenceFactory<1> = ktReference.genericFactory<1>('lazy', 'kotlin');
|
|
14
|
+
export const throws: KtReferenceFactory = ktReference.factory('Throws', 'kotlin');
|
|
15
|
+
export const deprecated: KtReferenceFactory = ktReference.factory('Deprecated', 'kotlin');
|
|
16
|
+
|
|
17
|
+
// kotlin.collections
|
|
18
|
+
export const list: KtGenericReferenceFactory<1> = ktReference.genericFactory<1>('List', 'kotlin.collections');
|
|
19
|
+
export const mutableList: KtGenericReferenceFactory<1> = ktReference.genericFactory<1>(
|
|
20
|
+
'MutableList',
|
|
21
|
+
'kotlin.collections',
|
|
22
|
+
);
|
|
23
|
+
export const map: KtGenericReferenceFactory<2> = ktReference.genericFactory<2>('Map', 'kotlin.collections');
|
|
24
|
+
export const mutableMap: KtGenericReferenceFactory<2> = ktReference.genericFactory<2>(
|
|
25
|
+
'MutableMap',
|
|
26
|
+
'kotlin.collections',
|
|
27
|
+
);
|
|
28
|
+
export const listOf: KtGenericReferenceFactory<1> = ktReference.genericFactory<1>('listOf', 'kotlin.collections');
|
|
29
|
+
export const mutableListOf: KtGenericReferenceFactory<1> = ktReference.genericFactory<1>(
|
|
30
|
+
'mutableListOf',
|
|
31
|
+
'kotlin.collections',
|
|
32
|
+
);
|
|
33
|
+
export const mapOf: KtGenericReferenceFactory<2> = ktReference.genericFactory<2>('mapOf', 'kotlin.collections');
|
|
34
|
+
export const mutableMapOf: KtGenericReferenceFactory<2> = ktReference.genericFactory<2>(
|
|
35
|
+
'mutableMapOf',
|
|
36
|
+
'kotlin.collections',
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
// kotlin.jvm
|
|
40
|
+
export const jvmStatic: KtReferenceFactory = ktReference.factory('JvmStatic', 'kotlin.jvm');
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ktReference, type KtReferenceFactory } from '../nodes/reference.js';
|
|
2
|
+
|
|
3
|
+
// okhttp3
|
|
4
|
+
export const okHttpClient: KtReferenceFactory = ktReference.factory('Factory', 'okhttp3.Call');
|
|
5
|
+
export const httpUrl: KtReferenceFactory = ktReference.factory('HttpUrl', 'okhttp3');
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type KtGenericReferenceFactory, ktReference } from '../nodes/reference.js';
|
|
2
|
+
|
|
3
|
+
// reactor.core.publisher
|
|
4
|
+
export const flux: KtGenericReferenceFactory<1> = ktReference.genericFactory<1>('Flux', 'reactor.core.publisher');
|
|
5
|
+
export const mono: KtGenericReferenceFactory<1> = ktReference.genericFactory<1>('Mono', 'reactor.core.publisher');
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { type KtGenericReferenceFactory, ktReference, type KtReferenceFactory } from '../nodes/reference.js';
|
|
2
|
+
|
|
3
|
+
// org.springframework.beans.factory.annotation
|
|
4
|
+
export const autowired: KtReferenceFactory = ktReference.factory(
|
|
5
|
+
'Autowired',
|
|
6
|
+
'org.springframework.beans.factory.annotation',
|
|
7
|
+
);
|
|
8
|
+
|
|
9
|
+
// org.springframework.http
|
|
10
|
+
export const httpStatus: KtReferenceFactory = ktReference.factory('HttpStatus', 'org.springframework.http');
|
|
11
|
+
export const responseEntity: KtGenericReferenceFactory<1> = ktReference.genericFactory<1>(
|
|
12
|
+
'ResponseEntity',
|
|
13
|
+
'org.springframework.http',
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
// org.springframework.http.codec.multipart
|
|
17
|
+
export const filePart: KtReferenceFactory = ktReference.factory('FilePart', 'org.springframework.http.codec.multipart');
|
|
18
|
+
|
|
19
|
+
// org.springframework.stereotype
|
|
20
|
+
export const controller: KtReferenceFactory = ktReference.factory('Controller', 'org.springframework.stereotype');
|
|
21
|
+
|
|
22
|
+
// org.springframework.validation.annotation
|
|
23
|
+
export const validated: KtReferenceFactory = ktReference.factory(
|
|
24
|
+
'Validated',
|
|
25
|
+
'org.springframework.validation.annotation',
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
// org.springframework.web.bind.annotation
|
|
29
|
+
export const pathVariable: KtReferenceFactory = ktReference.factory(
|
|
30
|
+
'PathVariable',
|
|
31
|
+
'org.springframework.web.bind.annotation',
|
|
32
|
+
);
|
|
33
|
+
export const requestBody: KtReferenceFactory = ktReference.factory(
|
|
34
|
+
'RequestBody',
|
|
35
|
+
'org.springframework.web.bind.annotation',
|
|
36
|
+
);
|
|
37
|
+
export const requestMapping: KtReferenceFactory = ktReference.factory(
|
|
38
|
+
'RequestMapping',
|
|
39
|
+
'org.springframework.web.bind.annotation',
|
|
40
|
+
);
|
|
41
|
+
export const requestMethod: KtReferenceFactory = ktReference.factory(
|
|
42
|
+
'RequestMethod',
|
|
43
|
+
'org.springframework.web.bind.annotation',
|
|
44
|
+
);
|
|
45
|
+
export const requestParam: KtReferenceFactory = ktReference.factory(
|
|
46
|
+
'RequestParam',
|
|
47
|
+
'org.springframework.web.bind.annotation',
|
|
48
|
+
);
|
|
49
|
+
export const requestPart: KtReferenceFactory = ktReference.factory(
|
|
50
|
+
'RequestPart',
|
|
51
|
+
'org.springframework.web.bind.annotation',
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
// org.springframework.web.context.request
|
|
55
|
+
export const nativeWebRequest: KtReferenceFactory = ktReference.factory(
|
|
56
|
+
'NativeWebRequest',
|
|
57
|
+
'org.springframework.web.context.request',
|
|
58
|
+
);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ktReference, type KtReferenceFactory } from '../nodes/reference.js';
|
|
2
|
+
|
|
3
|
+
// io.swagger.v3.oas.annotations
|
|
4
|
+
export const parameter: KtReferenceFactory = ktReference.factory('Parameter', 'io.swagger.v3.oas.annotations');
|
|
5
|
+
export const operation: KtReferenceFactory = ktReference.factory('Operation', 'io.swagger.v3.oas.annotations');
|
|
6
|
+
|
|
7
|
+
// io.swagger.v3.oas.annotations.media
|
|
8
|
+
export const schema: KtReferenceFactory = ktReference.factory('Schema', 'io.swagger.v3.oas.annotations.media');
|
|
9
|
+
export const content: KtReferenceFactory = ktReference.factory('Content', 'io.swagger.v3.oas.annotations.media');
|
|
10
|
+
|
|
11
|
+
// io.swagger.v3.oas.annotations.responses
|
|
12
|
+
export const apiResponse: KtReferenceFactory = ktReference.factory(
|
|
13
|
+
'ApiResponse',
|
|
14
|
+
'io.swagger.v3.oas.annotations.responses',
|
|
15
|
+
);
|
|
16
|
+
export const apiResponses: KtReferenceFactory = ktReference.factory(
|
|
17
|
+
'ApiResponses',
|
|
18
|
+
'io.swagger.v3.oas.annotations.responses',
|
|
19
|
+
);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { defaultOpenApiGeneratorConfig, type SourceBuilder } from '@goast/core';
|
|
2
|
+
|
|
3
|
+
import { defaultKotlinGeneratorConfig, type KotlinGeneratorConfig } from '../../config.js';
|
|
4
|
+
import { KotlinFileBuilder } from '../../file-builder.js';
|
|
5
|
+
|
|
6
|
+
const ktConfigSymbol = Symbol();
|
|
7
|
+
type _BuilderWithConfig = SourceBuilder & { [ktConfigSymbol]?: KotlinGeneratorConfig };
|
|
8
|
+
|
|
9
|
+
export function getKotlinBuilderOptions(builder: SourceBuilder): KotlinGeneratorConfig {
|
|
10
|
+
if (builder instanceof KotlinFileBuilder) {
|
|
11
|
+
return builder.options;
|
|
12
|
+
}
|
|
13
|
+
if (ktConfigSymbol in builder.options) {
|
|
14
|
+
return builder.options[ktConfigSymbol] as KotlinGeneratorConfig;
|
|
15
|
+
}
|
|
16
|
+
const options = { ...defaultOpenApiGeneratorConfig, ...defaultKotlinGeneratorConfig, ...builder.options };
|
|
17
|
+
(builder as _BuilderWithConfig)[ktConfigSymbol] = options;
|
|
18
|
+
return options;
|
|
19
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { BasicAppendValue, SourceBuilder } from '@goast/core';
|
|
2
|
+
|
|
3
|
+
import { type KtCall, ktCall } from '../nodes/call.js';
|
|
4
|
+
import { type KtString, ktString } from '../nodes/string.js';
|
|
5
|
+
import { listOf, mapOf } from '../references/index.js';
|
|
6
|
+
|
|
7
|
+
export function toKtNode<TBuilder extends SourceBuilder>(object: Record<string | number, unknown>): KtCall<TBuilder>;
|
|
8
|
+
export function toKtNode<TBuilder extends SourceBuilder>(list: unknown[]): KtCall<TBuilder>;
|
|
9
|
+
export function toKtNode<TBuilder extends SourceBuilder>(string: string): KtString<TBuilder>;
|
|
10
|
+
export function toKtNode<TBuilder extends SourceBuilder>(value: unknown): BasicAppendValue<TBuilder>;
|
|
11
|
+
export function toKtNode<TBuilder extends SourceBuilder>(value: unknown): unknown {
|
|
12
|
+
if (Array.isArray(value)) {
|
|
13
|
+
return ktCall(
|
|
14
|
+
[listOf.infer()],
|
|
15
|
+
value.map((x) => toKtNode<TBuilder>(x)),
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
if (typeof value === 'object' && value !== null) {
|
|
19
|
+
return ktCall(
|
|
20
|
+
[mapOf.infer()],
|
|
21
|
+
Object.entries(value).map(([k, v]) => ktCall([toKtNode(k), 'to'], [toKtNode(v)])),
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
if (value === null || value === undefined) {
|
|
25
|
+
return 'null';
|
|
26
|
+
}
|
|
27
|
+
if (typeof value === 'boolean' || typeof value === 'number') {
|
|
28
|
+
return String(value);
|
|
29
|
+
}
|
|
30
|
+
return ktString(String(value));
|
|
31
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { notNullish, type Nullable, type SingleOrMultiple, type SourceBuilder, toArray } from '@goast/core';
|
|
2
|
+
|
|
3
|
+
import { type KtAppendValue, writeKtNode } from './write-kt-node.js';
|
|
4
|
+
|
|
5
|
+
export function writeKtAnnotations<TBuilder extends SourceBuilder>(
|
|
6
|
+
builder: TBuilder,
|
|
7
|
+
nodes: SingleOrMultiple<Nullable<KtAppendValue<TBuilder>>>,
|
|
8
|
+
options?: { multiline: boolean },
|
|
9
|
+
) {
|
|
10
|
+
const filteredNodes = toArray(nodes).filter(notNullish);
|
|
11
|
+
builder.forEach(filteredNodes, (b, a) => {
|
|
12
|
+
writeKtNode(b, a);
|
|
13
|
+
b.append(options?.multiline ? '\n' : ' ');
|
|
14
|
+
});
|
|
15
|
+
}
|