@goast/kotlin 0.4.4-beta2 → 0.4.5
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.8/assertion_error.d.ts +26 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/assertion_error.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/assertion_error.js +30 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/equal.d.ts +17 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/equal.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/equal.js +183 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/equals.d.ts +22 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/equals.js +45 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/false.d.ts +18 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/false.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/false.js +22 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/instance_of.d.ts +23 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/instance_of.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/instance_of.js +53 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/is_error.d.ts +25 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/is_error.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/is_error.js +54 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/match.d.ts +18 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/match.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/match.js +26 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_instance_of.d.ts +20 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_instance_of.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_instance_of.js +29 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_match.d.ts +18 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_match.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_match.js +26 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.d.ts +23 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.js +32 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/rejects.d.ts +42 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/rejects.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/rejects.js +53 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/strict_equals.d.ts +24 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/strict_equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/strict_equals.js +57 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_assert_equals.d.ts +20 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_assert_equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_assert_equals.js +29 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_assert_not_equals.d.ts +17 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_assert_not_equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_assert_not_equals.js +26 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_assertions.d.ts +4 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_assertions.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_assertions.js +13 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_asymmetric_matchers.d.ts +46 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_asymmetric_matchers.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_asymmetric_matchers.js +160 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_build_message.d.ts +6 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_build_message.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_build_message.js +29 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_custom_equality_tester.d.ts +4 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_custom_equality_tester.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_custom_equality_tester.js +11 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_equal.d.ts +9 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_equal.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_equal.js +191 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_extend.d.ts +4 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_extend.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_extend.js +11 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_inspect_args.d.ts +3 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_inspect_args.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_inspect_args.js +12 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_matchers.d.ts +34 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_matchers.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_matchers.js +563 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_mock_util.d.ts +11 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_mock_util.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_mock_util.js +10 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_serializer.d.ts +4 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_serializer.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_serializer.js +10 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_types.d.ts +839 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_types.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_types.js +3 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_utils.d.ts +9 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_utils.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/_utils.js +218 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/expect.d.ts +60 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/expect.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/expect/1.0.8/expect.js +523 -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.5/_mock_utils.d.ts +15 -0
- package/esm/deps/jsr.io/@std/testing/1.0.5/_mock_utils.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/testing/1.0.5/_mock_utils.js +35 -0
- package/esm/deps/jsr.io/@std/testing/1.0.5/_test_suite.d.ts +74 -0
- package/esm/deps/jsr.io/@std/testing/1.0.5/_test_suite.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/testing/1.0.5/_test_suite.js +350 -0
- package/esm/deps/jsr.io/@std/testing/1.0.5/bdd.d.ts +731 -0
- package/esm/deps/jsr.io/@std/testing/1.0.5/bdd.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/testing/1.0.5/bdd.js +581 -0
- package/esm/deps/jsr.io/@std/testing/1.0.5/mock.d.ts +674 -0
- package/esm/deps/jsr.io/@std/testing/1.0.5/mock.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/testing/1.0.5/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/config.d.ts +1 -0
- package/esm/src/config.d.ts.map +1 -1
- package/esm/src/config.js +1 -0
- package/esm/src/generators/services/okhttp3-clients/okhttp3-client-generator.js +26 -26
- package/esm/src/generators/services/spring-controllers/args.d.ts +3 -0
- package/esm/src/generators/services/spring-controllers/args.d.ts.map +1 -1
- package/esm/src/generators/services/spring-controllers/spring-controller-generator.d.ts +1 -0
- 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 -1
- 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.8/assertion_error.d.ts +26 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/assertion_error.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/assertion_error.js +34 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/equal.d.ts +17 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/equal.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/equal.js +187 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/equals.d.ts +22 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/equals.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/equals.js +48 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/false.d.ts +18 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/false.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/false.js +25 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/instance_of.d.ts +23 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/instance_of.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/instance_of.js +56 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/is_error.d.ts +25 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/is_error.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/is_error.js +57 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/match.d.ts +18 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/match.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/match.js +29 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/not_instance_of.d.ts +20 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/not_instance_of.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/not_instance_of.js +32 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/not_match.d.ts +18 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/not_match.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/not_match.js +29 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.d.ts +23 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.js +35 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/rejects.d.ts +42 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/rejects.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/rejects.js +56 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/strict_equals.d.ts +24 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/strict_equals.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.8/strict_equals.js +60 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_assert_equals.d.ts +20 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_assert_equals.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_assert_equals.js +32 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_assert_not_equals.d.ts +17 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_assert_not_equals.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_assert_not_equals.js +29 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_assertions.d.ts +4 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_assertions.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_assertions.js +18 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_asymmetric_matchers.d.ts +46 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_asymmetric_matchers.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_asymmetric_matchers.js +182 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_build_message.d.ts +6 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_build_message.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_build_message.js +33 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_custom_equality_tester.d.ts +4 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_custom_equality_tester.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_custom_equality_tester.js +15 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_equal.d.ts +9 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_equal.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_equal.js +194 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_extend.d.ts +4 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_extend.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_extend.js +15 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_inspect_args.d.ts +3 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_inspect_args.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_inspect_args.js +17 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_matchers.d.ts +34 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_matchers.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_matchers.js +597 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_mock_util.d.ts +11 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_mock_util.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_mock_util.js +14 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_serializer.d.ts +4 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_serializer.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_serializer.js +14 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_types.d.ts +839 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_types.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_types.js +4 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_utils.d.ts +9 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_utils.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/_utils.js +226 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/expect.d.ts +60 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/expect.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/expect/1.0.8/expect.js +527 -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.5/_mock_utils.d.ts +15 -0
- package/script/deps/jsr.io/@std/testing/1.0.5/_mock_utils.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/testing/1.0.5/_mock_utils.js +41 -0
- package/script/deps/jsr.io/@std/testing/1.0.5/_test_suite.d.ts +74 -0
- package/script/deps/jsr.io/@std/testing/1.0.5/_test_suite.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/testing/1.0.5/_test_suite.js +355 -0
- package/script/deps/jsr.io/@std/testing/1.0.5/bdd.d.ts +731 -0
- package/script/deps/jsr.io/@std/testing/1.0.5/bdd.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/testing/1.0.5/bdd.js +592 -0
- package/script/deps/jsr.io/@std/testing/1.0.5/mock.d.ts +674 -0
- package/script/deps/jsr.io/@std/testing/1.0.5/mock.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/testing/1.0.5/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/config.d.ts +1 -0
- package/script/src/config.d.ts.map +1 -1
- package/script/src/config.js +1 -0
- package/script/src/generators/services/okhttp3-clients/okhttp3-client-generator.js +26 -26
- package/script/src/generators/services/spring-controllers/args.d.ts +3 -0
- package/script/src/generators/services/spring-controllers/args.d.ts.map +1 -1
- package/script/src/generators/services/spring-controllers/spring-controller-generator.d.ts +1 -0
- 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 -1
- 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.8/assertion_error.ts +31 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/equal.ts +210 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/equals.ts +52 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/false.ts +26 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/instance_of.ts +64 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/is_error.ts +65 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/match.ts +30 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/not_instance_of.ts +33 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/not_match.ts +30 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.ts +42 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/rejects.ts +123 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/strict_equals.ts +67 -0
- package/src/deps/jsr.io/@std/expect/1.0.8/_assert_equals.ts +38 -0
- package/src/deps/jsr.io/@std/expect/1.0.8/_assert_not_equals.ts +35 -0
- package/src/deps/jsr.io/@std/expect/1.0.8/_assertions.ts +18 -0
- package/src/deps/jsr.io/@std/expect/1.0.8/_asymmetric_matchers.ts +193 -0
- package/src/deps/jsr.io/@std/expect/1.0.8/_build_message.ts +51 -0
- package/src/deps/jsr.io/@std/expect/1.0.8/_custom_equality_tester.ts +19 -0
- package/src/deps/jsr.io/@std/expect/1.0.8/_equal.ts +230 -0
- package/src/deps/jsr.io/@std/expect/1.0.8/_extend.ts +16 -0
- package/src/deps/jsr.io/@std/expect/1.0.8/_inspect_args.ts +15 -0
- package/src/deps/jsr.io/@std/expect/1.0.8/_matchers.ts +832 -0
- package/src/deps/jsr.io/@std/expect/1.0.8/_mock_util.ts +22 -0
- package/src/deps/jsr.io/@std/expect/1.0.8/_serializer.ts +15 -0
- package/src/deps/jsr.io/@std/expect/1.0.8/_types.ts +919 -0
- package/src/deps/jsr.io/@std/expect/1.0.8/_utils.ts +283 -0
- package/src/deps/jsr.io/@std/expect/1.0.8/expect.ts +620 -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.5/_mock_utils.ts +43 -0
- package/src/deps/jsr.io/@std/testing/1.0.5/_test_suite.ts +410 -0
- package/src/deps/jsr.io/@std/testing/1.0.5/bdd.ts +1211 -0
- package/src/deps/jsr.io/@std/testing/1.0.5/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 +23 -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 +41 -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 +73 -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 +653 -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,126 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type AppendValue,
|
|
3
|
+
type AstNodeOptions,
|
|
4
|
+
type BasicAppendValue,
|
|
5
|
+
notNullish,
|
|
6
|
+
type Nullable,
|
|
7
|
+
type Prettify,
|
|
8
|
+
type SourceBuilder,
|
|
9
|
+
} from '@goast/core';
|
|
10
|
+
|
|
11
|
+
import type { KtAccessModifier } from '../common.js';
|
|
12
|
+
import { KtNode } from '../node.js';
|
|
13
|
+
import { writeKtNodes } from '../utils/write-kt-node.js';
|
|
14
|
+
import { type KtAnnotation, ktAnnotation } from './annotation.js';
|
|
15
|
+
import { type KtArgument, ktArgument } from './argument.js';
|
|
16
|
+
import { type KtParameter, ktParameter } from './parameter.js';
|
|
17
|
+
import type { KtValue } from './types.js';
|
|
18
|
+
|
|
19
|
+
type Injects = 'annotations' | 'modifiers' | 'params' | 'body' | 'delegate';
|
|
20
|
+
|
|
21
|
+
type Options<TBuilder extends SourceBuilder, TInjects extends string = never> = AstNodeOptions<
|
|
22
|
+
typeof KtNode<TBuilder, TInjects | Injects>,
|
|
23
|
+
{
|
|
24
|
+
accessModifier?: Nullable<KtAccessModifier>;
|
|
25
|
+
annotations?: Nullable<Nullable<KtAnnotation<TBuilder>>[]>;
|
|
26
|
+
parameters?: Nullable<Nullable<KtParameter<TBuilder> | BasicAppendValue<TBuilder>>[]>;
|
|
27
|
+
body?: Nullable<AppendValue<TBuilder>>;
|
|
28
|
+
delegateTarget?: Nullable<KtDelegateTarget>;
|
|
29
|
+
delegateArguments?: Nullable<Nullable<KtArgument<TBuilder> | KtValue<TBuilder>>[]>;
|
|
30
|
+
}
|
|
31
|
+
>;
|
|
32
|
+
|
|
33
|
+
export type KtDelegateTarget = 'this' | 'super';
|
|
34
|
+
|
|
35
|
+
export class KtConstructor<TBuilder extends SourceBuilder, TInjects extends string = never> extends KtNode<
|
|
36
|
+
TBuilder,
|
|
37
|
+
TInjects | Injects
|
|
38
|
+
> {
|
|
39
|
+
public accessModifier: KtAccessModifier | null;
|
|
40
|
+
public annotations: KtAnnotation<TBuilder>[];
|
|
41
|
+
public parameters: (KtParameter<TBuilder> | BasicAppendValue<TBuilder>)[];
|
|
42
|
+
public body: AppendValue<TBuilder> | null;
|
|
43
|
+
public delegateTarget: KtDelegateTarget | null;
|
|
44
|
+
public delegateArguments: (KtArgument<TBuilder> | KtValue<TBuilder>)[];
|
|
45
|
+
|
|
46
|
+
constructor(options: Options<TBuilder, TInjects>) {
|
|
47
|
+
super(options);
|
|
48
|
+
this.parameters = options.parameters?.filter(notNullish) ?? [];
|
|
49
|
+
this.body = options.body ?? null;
|
|
50
|
+
this.accessModifier = options.accessModifier ?? null;
|
|
51
|
+
this.annotations = options.annotations?.filter(notNullish) ?? [];
|
|
52
|
+
this.delegateTarget = options.delegateTarget ?? null;
|
|
53
|
+
this.delegateArguments = options.delegateArguments?.filter(notNullish) ?? [];
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
protected override onWrite(builder: TBuilder): void {
|
|
57
|
+
builder.append(this.inject.beforeAnnotations);
|
|
58
|
+
ktAnnotation.write(builder, this.annotations, { multiline: true });
|
|
59
|
+
builder.append(this.inject.afterAnnotations);
|
|
60
|
+
|
|
61
|
+
builder.append(this.inject.beforeModifiers);
|
|
62
|
+
if (this.accessModifier) builder.append(this.accessModifier, ' ');
|
|
63
|
+
builder.append(this.inject.afterModifiers);
|
|
64
|
+
|
|
65
|
+
builder.append('constructor');
|
|
66
|
+
|
|
67
|
+
builder.append(this.inject.beforeParams);
|
|
68
|
+
ktParameter.write(builder, this.parameters);
|
|
69
|
+
builder.append(this.inject.afterParams);
|
|
70
|
+
|
|
71
|
+
if (this.delegateTarget) {
|
|
72
|
+
builder.append(' : ');
|
|
73
|
+
builder.append(this.inject.beforeDelegate);
|
|
74
|
+
builder.append(this.delegateTarget);
|
|
75
|
+
ktArgument.write(builder, this.delegateArguments);
|
|
76
|
+
builder.append(this.inject.afterDelegate);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
builder.append(' ');
|
|
80
|
+
builder.append(this.inject.beforeBody);
|
|
81
|
+
builder.parenthesize('{}', this.body, { multiline: !!this.body });
|
|
82
|
+
builder.append(this.inject.afterBody);
|
|
83
|
+
|
|
84
|
+
builder.appendLine();
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
public writeAsPrimary(builder: TBuilder): void {
|
|
88
|
+
builder.append(this.inject.before);
|
|
89
|
+
this.onWriteAsPrimary(builder);
|
|
90
|
+
builder.append(this.inject.after);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
protected onWriteAsPrimary(builder: TBuilder): void {
|
|
94
|
+
const needsCtorKeyword = this.annotations.length > 0 || !!this.accessModifier;
|
|
95
|
+
if (needsCtorKeyword) builder.append(' ');
|
|
96
|
+
|
|
97
|
+
builder.append(this.inject.beforeAnnotations);
|
|
98
|
+
ktAnnotation.write(builder, this.annotations);
|
|
99
|
+
builder.append(this.inject.afterAnnotations);
|
|
100
|
+
|
|
101
|
+
builder.append(this.inject.beforeModifiers);
|
|
102
|
+
if (this.accessModifier) builder.append(this.accessModifier, ' ');
|
|
103
|
+
builder.append(this.inject.afterModifiers);
|
|
104
|
+
|
|
105
|
+
if (needsCtorKeyword) builder.append('constructor');
|
|
106
|
+
|
|
107
|
+
if (needsCtorKeyword || this.parameters.length > 0) {
|
|
108
|
+
builder.append(this.inject.beforeParams);
|
|
109
|
+
ktParameter.write(builder, this.parameters);
|
|
110
|
+
builder.append(this.inject.afterParams);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
const createConstructor = <TBuilder extends SourceBuilder>(
|
|
116
|
+
parameters?: Options<TBuilder>['parameters'],
|
|
117
|
+
body?: Options<TBuilder>['body'],
|
|
118
|
+
options?: Prettify<Omit<Options<TBuilder>, 'parameters' | 'body'>>,
|
|
119
|
+
): KtConstructor<TBuilder> => new KtConstructor<TBuilder>({ ...options, parameters: parameters ?? undefined, body });
|
|
120
|
+
|
|
121
|
+
export const ktConstructor: typeof createConstructor & { write: typeof writeKtNodes } = Object.assign(
|
|
122
|
+
createConstructor,
|
|
123
|
+
{
|
|
124
|
+
write: writeKtNodes,
|
|
125
|
+
},
|
|
126
|
+
);
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import "../../../_dnt.test_polyfills.js";
|
|
2
|
+
import { expect } from '../../../deps/jsr.io/@std/expect/1.0.8/expect.js';
|
|
3
|
+
import { beforeEach, describe, it } from '../../../deps/jsr.io/@std/testing/1.0.5/bdd.js';
|
|
4
|
+
|
|
5
|
+
import { KotlinFileBuilder } from '../../file-builder.js';
|
|
6
|
+
import { ktDocTag } from './doc-tag.js';
|
|
7
|
+
|
|
8
|
+
describe('ktDocTag', () => {
|
|
9
|
+
let builder: KotlinFileBuilder;
|
|
10
|
+
|
|
11
|
+
beforeEach(() => {
|
|
12
|
+
builder = new KotlinFileBuilder();
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
it('should write custom tag', () => {
|
|
16
|
+
builder.append(ktDocTag('custom'));
|
|
17
|
+
expect(builder.toString(false)).toBe('@custom');
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it('should write custom tag with description', () => {
|
|
21
|
+
builder.append(ktDocTag('custom', { description: 'description' }));
|
|
22
|
+
expect(builder.toString(false)).toBe('@custom description');
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
it('should write param tag', () => {
|
|
26
|
+
builder.append(ktDocTag('param', 'x', 'description'));
|
|
27
|
+
expect(builder.toString(false)).toBe('@param x description');
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
it('should write return tag', () => {
|
|
31
|
+
builder.append(ktDocTag('return', 'description'));
|
|
32
|
+
expect(builder.toString(false)).toBe('@return description');
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
it('should write constructor tag', () => {
|
|
36
|
+
builder.append(ktDocTag('constructor', 'description'));
|
|
37
|
+
expect(builder.toString(false)).toBe('@constructor description');
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
it('should write receiver tag', () => {
|
|
41
|
+
builder.append(ktDocTag('receiver', 'description'));
|
|
42
|
+
expect(builder.toString(false)).toBe('@receiver description');
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
it('should write property tag', () => {
|
|
46
|
+
builder.append(ktDocTag('property', 'name', 'description'));
|
|
47
|
+
expect(builder.toString(false)).toBe('@property name description');
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
it('should write throws tag', () => {
|
|
51
|
+
builder.append(ktDocTag('throws', 'exception', 'description'));
|
|
52
|
+
expect(builder.toString(false)).toBe('@throws exception description');
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
it('should write exception tag', () => {
|
|
56
|
+
builder.append(ktDocTag('exception', 'exception', 'description'));
|
|
57
|
+
expect(builder.toString(false)).toBe('@exception exception description');
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
it('should write see tag', () => {
|
|
61
|
+
builder.append(ktDocTag('see', 'reference'));
|
|
62
|
+
expect(builder.toString(false)).toBe('@see reference');
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
it('should write author tag', () => {
|
|
66
|
+
builder.append(ktDocTag('author', 'name'));
|
|
67
|
+
expect(builder.toString(false)).toBe('@author name');
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
it('should write since tag', () => {
|
|
71
|
+
builder.append(ktDocTag('since', 'version'));
|
|
72
|
+
expect(builder.toString(false)).toBe('@since version');
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
it('should write supress tag', () => {
|
|
76
|
+
builder.append(ktDocTag('suppress'));
|
|
77
|
+
expect(builder.toString(false)).toBe('@suppress');
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
it('should render injections', () => {
|
|
81
|
+
builder.append(ktDocTag('custom', { inject: { before: 'before', after: 'after' } }));
|
|
82
|
+
expect(builder.toString(false)).toBe('before@customafter');
|
|
83
|
+
});
|
|
84
|
+
});
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type AstNodeOptions,
|
|
3
|
+
type BasicAppendValue,
|
|
4
|
+
basicAppendValueGroup,
|
|
5
|
+
notNullish,
|
|
6
|
+
type Nullable,
|
|
7
|
+
type ParametersWithOverloads,
|
|
8
|
+
type Prettify,
|
|
9
|
+
type SingleOrMultiple,
|
|
10
|
+
type SourceBuilder,
|
|
11
|
+
type StringSuggestions,
|
|
12
|
+
} from '@goast/core';
|
|
13
|
+
|
|
14
|
+
import { isKotlinAppendValue } from '../../file-builder.js';
|
|
15
|
+
import { KtNode } from '../node.js';
|
|
16
|
+
import { type KtAppendValue, writeKtNodes } from '../utils/write-kt-node.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
|
+
tag: string;
|
|
24
|
+
args?: Nullable<Nullable<BasicAppendValue<TBuilder>>[]>;
|
|
25
|
+
description?: Nullable<BasicAppendValue<TBuilder>>;
|
|
26
|
+
}
|
|
27
|
+
>;
|
|
28
|
+
|
|
29
|
+
export class KtDocTag<TBuilder extends SourceBuilder, TInjects extends string = never> extends KtNode<
|
|
30
|
+
TBuilder,
|
|
31
|
+
TInjects | Injects
|
|
32
|
+
> {
|
|
33
|
+
public tag: string;
|
|
34
|
+
public args: BasicAppendValue<TBuilder>[];
|
|
35
|
+
public description: BasicAppendValue<TBuilder> | null;
|
|
36
|
+
|
|
37
|
+
constructor(options: Options<TBuilder, TInjects>) {
|
|
38
|
+
super(options);
|
|
39
|
+
this.tag = options.tag;
|
|
40
|
+
this.args = options.args?.filter(notNullish) ?? [];
|
|
41
|
+
this.description = options.description ?? null;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
protected override onWrite(builder: TBuilder): void {
|
|
45
|
+
builder.append('@', this.tag);
|
|
46
|
+
this.args.forEach((a) => builder.append(' ', a));
|
|
47
|
+
if (this.description) builder.append(' ', this.description);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
type _KtDocTagOpt<TBuilder extends SourceBuilder> = Prettify<Omit<Options<TBuilder>, 'tag'>>;
|
|
52
|
+
|
|
53
|
+
type _KtDocTagArgsMap<TBuilder extends SourceBuilder> =
|
|
54
|
+
& {
|
|
55
|
+
suppress(options?: _KtDocTagOpt<TBuilder>): never;
|
|
56
|
+
}
|
|
57
|
+
& {
|
|
58
|
+
[K in 'return' | 'constructor' | 'receiver' | 'author' | 'since']: (
|
|
59
|
+
description: BasicAppendValue<TBuilder>,
|
|
60
|
+
options?: _KtDocTagOpt<TBuilder>,
|
|
61
|
+
) => never;
|
|
62
|
+
}
|
|
63
|
+
& {
|
|
64
|
+
[K in 'param' | 'property']: (
|
|
65
|
+
name: string,
|
|
66
|
+
description: BasicAppendValue<TBuilder>,
|
|
67
|
+
options?: _KtDocTagOpt<TBuilder>,
|
|
68
|
+
) => never;
|
|
69
|
+
}
|
|
70
|
+
& {
|
|
71
|
+
[K in 'see' | 'sample']: (identifier: string, options?: _KtDocTagOpt<TBuilder>) => never;
|
|
72
|
+
}
|
|
73
|
+
& {
|
|
74
|
+
[K in 'throws' | 'exception']: (
|
|
75
|
+
$class: BasicAppendValue<TBuilder>,
|
|
76
|
+
description: BasicAppendValue<TBuilder>,
|
|
77
|
+
options?: _KtDocTagOpt<TBuilder>,
|
|
78
|
+
) => never;
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
const tagsWithDescription = [
|
|
82
|
+
'return',
|
|
83
|
+
'constructor',
|
|
84
|
+
'receiver',
|
|
85
|
+
'author',
|
|
86
|
+
'since',
|
|
87
|
+
'param',
|
|
88
|
+
'property',
|
|
89
|
+
'throws',
|
|
90
|
+
'exception',
|
|
91
|
+
];
|
|
92
|
+
|
|
93
|
+
type _KtDocTagArgs<
|
|
94
|
+
TTagName extends StringSuggestions<keyof _KtDocTagArgsMap<TBuilder>>,
|
|
95
|
+
TBuilder extends SourceBuilder,
|
|
96
|
+
> = TTagName extends keyof _KtDocTagArgsMap<TBuilder>
|
|
97
|
+
// deno-lint-ignore no-explicit-any
|
|
98
|
+
? _KtDocTagArgsMap<TBuilder>[TTagName] extends (...args: any[]) => any
|
|
99
|
+
? ParametersWithOverloads<_KtDocTagArgsMap<TBuilder>[TTagName]>
|
|
100
|
+
: never
|
|
101
|
+
: [options?: _KtDocTagOpt<TBuilder>];
|
|
102
|
+
|
|
103
|
+
function createDocTag<
|
|
104
|
+
TTagName extends StringSuggestions<keyof _KtDocTagArgsMap<TBuilder>>,
|
|
105
|
+
TBuilder extends SourceBuilder,
|
|
106
|
+
>(tag: TTagName, ...args: _KtDocTagArgs<TTagName, TBuilder>): KtDocTag<TBuilder>;
|
|
107
|
+
function createDocTag<TBuilder extends SourceBuilder>(tag: string, ...args: unknown[]): KtDocTag<TBuilder> {
|
|
108
|
+
let opt: _KtDocTagOpt<TBuilder> = {};
|
|
109
|
+
if (args.length > 0) {
|
|
110
|
+
const lastArg = args[args.length - 1];
|
|
111
|
+
if (!isKotlinAppendValue(lastArg) && !!lastArg) {
|
|
112
|
+
opt = args.pop() as _KtDocTagOpt<TBuilder>;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
const params = args as BasicAppendValue<TBuilder>[];
|
|
117
|
+
if (tagsWithDescription.includes(tag)) {
|
|
118
|
+
const description = params.pop();
|
|
119
|
+
if (opt.description && description) {
|
|
120
|
+
opt.description = basicAppendValueGroup<TBuilder>([description, opt.description], '\n');
|
|
121
|
+
} else if (description) {
|
|
122
|
+
opt.description = description;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
return new KtDocTag({ ...opt, tag, args: params });
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
const writeDocTags = <TBuilder extends SourceBuilder>(
|
|
130
|
+
builder: TBuilder,
|
|
131
|
+
nodes: SingleOrMultiple<Nullable<KtAppendValue<TBuilder>>>,
|
|
132
|
+
): void => {
|
|
133
|
+
writeKtNodes(builder, nodes, { separator: '\n' });
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
export const ktDocTag: typeof createDocTag & { write: typeof writeDocTags } = Object.assign(createDocTag, {
|
|
137
|
+
write: writeDocTags,
|
|
138
|
+
});
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import "../../../_dnt.test_polyfills.js";
|
|
2
|
+
import { EOL } from 'node:os';
|
|
3
|
+
|
|
4
|
+
import { expect } from '../../../deps/jsr.io/@std/expect/1.0.8/expect.js';
|
|
5
|
+
import { beforeEach, describe, it } from '../../../deps/jsr.io/@std/testing/1.0.5/bdd.js';
|
|
6
|
+
|
|
7
|
+
import { KotlinFileBuilder } from '../../file-builder.js';
|
|
8
|
+
import { ktDocTag } from './doc-tag.js';
|
|
9
|
+
import { ktDoc } from './doc.js';
|
|
10
|
+
|
|
11
|
+
describe('ktDoc', () => {
|
|
12
|
+
let builder: KotlinFileBuilder;
|
|
13
|
+
|
|
14
|
+
beforeEach(() => {
|
|
15
|
+
builder = new KotlinFileBuilder();
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('should not write anything if the node is empty', () => {
|
|
19
|
+
builder.append(ktDoc(null));
|
|
20
|
+
expect(builder.toString(false)).toBe('');
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
it('should write description', () => {
|
|
24
|
+
builder.append(ktDoc('description'));
|
|
25
|
+
expect(builder.toString(false)).toBe(`/**${EOL} * description${EOL} */${EOL}`);
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
it('should write tags', () => {
|
|
29
|
+
builder.append(ktDoc(null, [ktDocTag('tag1'), ktDocTag('tag2')]));
|
|
30
|
+
expect(builder.toString(false)).toBe(`/**${EOL} * @tag1${EOL} * @tag2${EOL} */${EOL}`);
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
it('should write all the parts of the node', () => {
|
|
34
|
+
builder.append(ktDoc('description', [ktDocTag('tag1'), ktDocTag('tag2')]));
|
|
35
|
+
expect(builder.toString(false)).toBe(`/**${EOL} * description${EOL} *${EOL} * @tag1${EOL} * @tag2${EOL} */${EOL}`);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
it('should render injections', () => {
|
|
39
|
+
builder.append(ktDoc('hello', [], { inject: { before: ['before'], after: ['after'] } }));
|
|
40
|
+
expect(builder.toString(false)).toBe(`before${EOL}/**${EOL} * hello${EOL} */${EOL}after`);
|
|
41
|
+
});
|
|
42
|
+
});
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type AstNodeOptions,
|
|
3
|
+
type BasicAppendValue,
|
|
4
|
+
createOverwriteProxy,
|
|
5
|
+
getIsInstanceOf,
|
|
6
|
+
notNullish,
|
|
7
|
+
type Nullable,
|
|
8
|
+
type Prettify,
|
|
9
|
+
type SourceBuilder,
|
|
10
|
+
} from '@goast/core';
|
|
11
|
+
|
|
12
|
+
import { KtNode } from '../node.js';
|
|
13
|
+
import { writeKtNodes } from '../utils/write-kt-node.js';
|
|
14
|
+
import { type KtDocTag, ktDocTag } from './doc-tag.js';
|
|
15
|
+
import { KtGenericParameter } from './generic-parameter.js';
|
|
16
|
+
import { KtParameter } from './parameter.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
|
+
description?: Nullable<BasicAppendValue<TBuilder>>;
|
|
24
|
+
tags?: Nullable<Nullable<KtDocTag<TBuilder>>[]>;
|
|
25
|
+
}
|
|
26
|
+
>;
|
|
27
|
+
|
|
28
|
+
export class KtDoc<TBuilder extends SourceBuilder, TInjects extends string = never> extends KtNode<
|
|
29
|
+
TBuilder,
|
|
30
|
+
TInjects | Injects
|
|
31
|
+
> {
|
|
32
|
+
public description: BasicAppendValue<TBuilder> | null;
|
|
33
|
+
public tags: KtDocTag<TBuilder>[];
|
|
34
|
+
|
|
35
|
+
constructor(options: Options<TBuilder, TInjects>) {
|
|
36
|
+
super(options);
|
|
37
|
+
this.description = options.description ?? null;
|
|
38
|
+
this.tags = options.tags?.filter(notNullish) ?? [];
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
protected override onWrite(builder: TBuilder): void {
|
|
42
|
+
if (!this.description && this.tags.length === 0) return;
|
|
43
|
+
builder
|
|
44
|
+
.ensureCurrentLineEmpty()
|
|
45
|
+
.parenthesize(
|
|
46
|
+
['/**', ' */'],
|
|
47
|
+
(b) =>
|
|
48
|
+
b.appendWithLinePrefix(' * ', (b) => {
|
|
49
|
+
builder.append(this.description);
|
|
50
|
+
if (this.tags.length > 0) {
|
|
51
|
+
b.ensurePreviousLineEmpty();
|
|
52
|
+
ktDocTag.write(b, this.tags);
|
|
53
|
+
}
|
|
54
|
+
}),
|
|
55
|
+
{ multiline: true, indent: false },
|
|
56
|
+
)
|
|
57
|
+
.appendLine();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const createDoc = <TBuilder extends SourceBuilder>(
|
|
62
|
+
description?: Options<TBuilder>['description'],
|
|
63
|
+
tags?: Options<TBuilder>['tags'],
|
|
64
|
+
options?: Prettify<Omit<Options<TBuilder>, 'description' | 'tags'>>,
|
|
65
|
+
): KtDoc<TBuilder> => new KtDoc<TBuilder>({ ...options, description, tags: tags ?? undefined });
|
|
66
|
+
|
|
67
|
+
function getDoc<TBuilder extends SourceBuilder>(
|
|
68
|
+
baseDoc: KtDoc<TBuilder> | null,
|
|
69
|
+
options: {
|
|
70
|
+
parameters?: Nullable<Nullable<KtParameter<TBuilder> | BasicAppendValue<TBuilder>>[]>;
|
|
71
|
+
generics?: Nullable<Nullable<KtGenericParameter<TBuilder> | BasicAppendValue<TBuilder>>[]>;
|
|
72
|
+
},
|
|
73
|
+
): KtDoc<TBuilder> | null {
|
|
74
|
+
const paramsWithDesc = options.parameters
|
|
75
|
+
?.filter(getIsInstanceOf(KtParameter<TBuilder>))
|
|
76
|
+
.filter((x): x is KtParameter<TBuilder> & { description: NonNullable<unknown> } => !!x.description) ?? [];
|
|
77
|
+
const classParamsWithPropertyDesc = options.parameters
|
|
78
|
+
?.filter(getIsInstanceOf(KtParameter<TBuilder>))
|
|
79
|
+
.filter(
|
|
80
|
+
(x): x is KtParameter<TBuilder> & { property: NonNullable<unknown>; propertyDescription: NonNullable<unknown> } =>
|
|
81
|
+
!!x.property && !!x.propertyDescription,
|
|
82
|
+
) ?? [];
|
|
83
|
+
const genericsWithDesc = options.generics
|
|
84
|
+
?.filter(getIsInstanceOf(KtGenericParameter<TBuilder>))
|
|
85
|
+
.filter((x): x is KtGenericParameter<TBuilder> & { description: NonNullable<unknown> } => !!x.description) ?? [];
|
|
86
|
+
if (
|
|
87
|
+
baseDoc === null &&
|
|
88
|
+
paramsWithDesc.length === 0 &&
|
|
89
|
+
genericsWithDesc.length === 0 &&
|
|
90
|
+
classParamsWithPropertyDesc.length === 0
|
|
91
|
+
) {
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
const doc = baseDoc ? createOverwriteProxy(baseDoc) : ktDoc<TBuilder>();
|
|
96
|
+
const paramTags = paramsWithDesc.map<KtDocTag<TBuilder>>((p) => ktDocTag('param', p.name, p.description));
|
|
97
|
+
const propertyTags = classParamsWithPropertyDesc.map<KtDocTag<TBuilder>>((p) =>
|
|
98
|
+
ktDocTag('property', p.name, p.propertyDescription)
|
|
99
|
+
);
|
|
100
|
+
const genericTags = genericsWithDesc.map<KtDocTag<TBuilder>>((p) => ktDocTag('param', p.name, p.description));
|
|
101
|
+
doc.tags.splice(0, 0, ...genericTags, ...paramTags, ...propertyTags);
|
|
102
|
+
return doc;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export const ktDoc: typeof createDoc & {
|
|
106
|
+
write: typeof writeKtNodes;
|
|
107
|
+
get: typeof getDoc;
|
|
108
|
+
} = Object.assign(createDoc, {
|
|
109
|
+
write: writeKtNodes,
|
|
110
|
+
get: getDoc,
|
|
111
|
+
});
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import "../../../_dnt.test_polyfills.js";
|
|
2
|
+
import { EOL } from 'node:os';
|
|
3
|
+
|
|
4
|
+
import { expect } from '../../../deps/jsr.io/@std/expect/1.0.8/expect.js';
|
|
5
|
+
import { beforeEach, describe, it } from '../../../deps/jsr.io/@std/testing/1.0.5/bdd.js';
|
|
6
|
+
|
|
7
|
+
import { normalizeEOL } from '@goast/test-utils';
|
|
8
|
+
|
|
9
|
+
import { KotlinFileBuilder } from '../../file-builder.js';
|
|
10
|
+
import { ktAnnotation } from './annotation.js';
|
|
11
|
+
import { ktDoc } from './doc.js';
|
|
12
|
+
import { ktEnumValue } from './enum-value.js';
|
|
13
|
+
|
|
14
|
+
describe('ktEnumValue', () => {
|
|
15
|
+
let builder: KotlinFileBuilder;
|
|
16
|
+
|
|
17
|
+
beforeEach(() => {
|
|
18
|
+
builder = new KotlinFileBuilder();
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
it('should write enum value', () => {
|
|
22
|
+
builder.append(ktEnumValue('FOO'));
|
|
23
|
+
expect(builder.toString(false)).toBe('FOO');
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
it('should write enum value with arguments', () => {
|
|
27
|
+
builder.append(ktEnumValue('FOO', { arguments: ['x', 'y'] }));
|
|
28
|
+
expect(builder.toString(false)).toBe('FOO(x, y)');
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
it('should write enum value with documenation', () => {
|
|
32
|
+
builder.append(ktEnumValue('FOO', { doc: ktDoc('This is a foo') }));
|
|
33
|
+
expect(builder.toString(false)).toBe(`/**${EOL} * This is a foo${EOL} */${EOL}FOO`);
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
it('should write enum value with annotations', () => {
|
|
37
|
+
builder.append(ktEnumValue('FOO', { annotations: [ktAnnotation('Deprecated')] }));
|
|
38
|
+
expect(builder.toString(false)).toBe(`@Deprecated${EOL}FOO`);
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
it('should write enum value with members', () => {
|
|
42
|
+
builder.append(
|
|
43
|
+
ktEnumValue('FOO', {
|
|
44
|
+
members: ['// Comment 1', '// Comment 2'],
|
|
45
|
+
}),
|
|
46
|
+
);
|
|
47
|
+
expect(builder.toString(false)).toBe(`FOO {${EOL} // Comment 1${EOL} // Comment 2${EOL}}`);
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
it('should write enum value with all options', () => {
|
|
51
|
+
builder.append(
|
|
52
|
+
ktEnumValue('FOO', {
|
|
53
|
+
doc: ktDoc('This is a foo'),
|
|
54
|
+
annotations: [ktAnnotation('Deprecated')],
|
|
55
|
+
arguments: ['x', 'y'],
|
|
56
|
+
members: ['// Comment 1', '// Comment 2'],
|
|
57
|
+
}),
|
|
58
|
+
);
|
|
59
|
+
expect(builder.toString(false)).toBe(
|
|
60
|
+
normalizeEOL(8)(
|
|
61
|
+
`/**
|
|
62
|
+
* This is a foo
|
|
63
|
+
*/
|
|
64
|
+
@Deprecated
|
|
65
|
+
FOO(x, y) {
|
|
66
|
+
// Comment 1
|
|
67
|
+
// Comment 2
|
|
68
|
+
}`,
|
|
69
|
+
),
|
|
70
|
+
);
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
it('should render injections', () => {
|
|
74
|
+
builder.append(
|
|
75
|
+
ktEnumValue('FOO', {
|
|
76
|
+
doc: ktDoc('This is a foo'),
|
|
77
|
+
annotations: [ktAnnotation('Deprecated')],
|
|
78
|
+
arguments: ['x', 'y'],
|
|
79
|
+
members: ['// Comment 1', '// Comment 2'],
|
|
80
|
+
inject: {
|
|
81
|
+
before: '║b║',
|
|
82
|
+
after: '║a║',
|
|
83
|
+
beforeDoc: '║bd║',
|
|
84
|
+
afterDoc: '║ad║',
|
|
85
|
+
beforeAnnotations: '║ba║',
|
|
86
|
+
afterAnnotations: '║aa║',
|
|
87
|
+
beforeName: '║bn║',
|
|
88
|
+
afterName: '║an║',
|
|
89
|
+
beforeArguments: '║ba║',
|
|
90
|
+
afterArguments: '║aa║',
|
|
91
|
+
beforeBody: '║bb║',
|
|
92
|
+
afterBody: '║ab║',
|
|
93
|
+
beforeMembers: '║bm║',
|
|
94
|
+
afterMembers: '║am║',
|
|
95
|
+
},
|
|
96
|
+
}),
|
|
97
|
+
);
|
|
98
|
+
expect(builder.toString(false)).toBe(
|
|
99
|
+
normalizeEOL(8)(
|
|
100
|
+
`║b║║bd║
|
|
101
|
+
/**
|
|
102
|
+
* This is a foo
|
|
103
|
+
*/
|
|
104
|
+
║ad║║ba║@Deprecated
|
|
105
|
+
║aa║║bn║FOO║an║║ba║(x, y)║aa║ ║bb║{
|
|
106
|
+
║bm║// Comment 1
|
|
107
|
+
// Comment 2
|
|
108
|
+
║am║
|
|
109
|
+
}║ab║║a║`,
|
|
110
|
+
),
|
|
111
|
+
);
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
describe('writeKtEnumValues', () => {
|
|
116
|
+
let builder: KotlinFileBuilder;
|
|
117
|
+
|
|
118
|
+
beforeEach(() => {
|
|
119
|
+
builder = new KotlinFileBuilder();
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
it('should write enum values in single line', () => {
|
|
123
|
+
ktEnumValue.write(builder, [ktEnumValue('FOO'), ktEnumValue('BAR')]);
|
|
124
|
+
expect(builder.toString(false)).toBe('FOO, BAR');
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
it('should write enum values in multiline', () => {
|
|
128
|
+
ktEnumValue.write(builder, [
|
|
129
|
+
ktEnumValue('FOO'),
|
|
130
|
+
ktEnumValue('BAR'),
|
|
131
|
+
ktEnumValue('BAZ'),
|
|
132
|
+
ktEnumValue('QUX'),
|
|
133
|
+
ktEnumValue('QUUX'),
|
|
134
|
+
]);
|
|
135
|
+
expect(builder.toString(false)).toBe(`FOO,${EOL}BAR,${EOL}BAZ,${EOL}QUX,${EOL}QUUX`);
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
it('should write enum values with space between', () => {
|
|
139
|
+
ktEnumValue.write(builder, [
|
|
140
|
+
ktEnumValue('FOO'),
|
|
141
|
+
ktEnumValue('BAR', { annotations: [ktAnnotation('Deprecated')] }),
|
|
142
|
+
ktEnumValue('BAZ'),
|
|
143
|
+
]);
|
|
144
|
+
expect(builder.toString(false)).toBe(`FOO,${EOL}${EOL}@Deprecated${EOL}BAR,${EOL}${EOL}BAZ`);
|
|
145
|
+
});
|
|
146
|
+
});
|