@seamapi/nextlove-sdk-generator 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +20 -0
- package/README.md +16 -0
- package/index.d.ts +6 -0
- package/index.js +7 -0
- package/index.js.map +1 -0
- package/lib/cli.d.ts +2 -0
- package/lib/cli.js +53 -0
- package/lib/cli.js.map +1 -0
- package/lib/fs-util/index.d.ts +2 -0
- package/lib/fs-util/index.js +3 -0
- package/lib/fs-util/index.js.map +1 -0
- package/lib/fs-util/populate-fs.d.ts +1 -0
- package/lib/fs-util/populate-fs.js +11 -0
- package/lib/fs-util/populate-fs.js.map +1 -0
- package/lib/fs-util/write-fs.d.ts +1 -0
- package/lib/fs-util/write-fs.js +10 -0
- package/lib/fs-util/write-fs.js.map +1 -0
- package/lib/generate-csharp-sdk/codegen.d.ts +235 -0
- package/lib/generate-csharp-sdk/codegen.js +432 -0
- package/lib/generate-csharp-sdk/codegen.js.map +1 -0
- package/lib/generate-csharp-sdk/constants.d.ts +1 -0
- package/lib/generate-csharp-sdk/constants.js +2 -0
- package/lib/generate-csharp-sdk/constants.js.map +1 -0
- package/lib/generate-csharp-sdk/generate-csharp-sdk.d.ts +1 -0
- package/lib/generate-csharp-sdk/generate-csharp-sdk.js +81 -0
- package/lib/generate-csharp-sdk/generate-csharp-sdk.js.map +1 -0
- package/lib/generate-csharp-sdk/generate-csproj.d.ts +1 -0
- package/lib/generate-csharp-sdk/generate-csproj.js +45 -0
- package/lib/generate-csharp-sdk/generate-csproj.js.map +1 -0
- package/lib/generate-csharp-sdk/templates/dataclass.d.ts +24 -0
- package/lib/generate-csharp-sdk/templates/dataclass.js +468 -0
- package/lib/generate-csharp-sdk/templates/dataclass.js.map +1 -0
- package/lib/generate-csharp-sdk/templates/fs/csharp-testing.sln +34 -0
- package/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/ApiResponse.cs +159 -0
- package/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/ClientUtils.cs +280 -0
- package/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/ExceptionFactory.cs +12 -0
- package/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/GlobalSeamRequestConfiguration.cs +60 -0
- package/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/HttpMethod.cs +29 -0
- package/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/IAsynchronousSeam.cs +142 -0
- package/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/IReadableSeamRequestConfiguration.cs +68 -0
- package/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/ISynchronousSeam.cs +103 -0
- package/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/Multimap.cs +286 -0
- package/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/RequestOptions.cs +74 -0
- package/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/RetryConfiguration.cs +21 -0
- package/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/Seam.cs +1070 -0
- package/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/SeamException.cs +64 -0
- package/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/SeamRequestConfiguration.cs +662 -0
- package/lib/generate-csharp-sdk/templates/fs/src/Seam/Model/AsbtractModelSchema.cs +62 -0
- package/lib/generate-php-sdk/generate-php-sdk.d.ts +1 -0
- package/lib/generate-php-sdk/generate-php-sdk.js +127 -0
- package/lib/generate-php-sdk/generate-php-sdk.js.map +1 -0
- package/lib/generate-php-sdk/index.d.ts +1 -0
- package/lib/generate-php-sdk/index.js +2 -0
- package/lib/generate-php-sdk/index.js.map +1 -0
- package/lib/generate-php-sdk/templates/composer.json.template.d.ts +2 -0
- package/lib/generate-php-sdk/templates/composer.json.template.js +25 -0
- package/lib/generate-php-sdk/templates/composer.json.template.js.map +1 -0
- package/lib/generate-php-sdk/templates/env.example.template.d.ts +2 -0
- package/lib/generate-php-sdk/templates/env.example.template.js +4 -0
- package/lib/generate-php-sdk/templates/env.example.template.js.map +1 -0
- package/lib/generate-php-sdk/templates/gitignore.template.d.ts +2 -0
- package/lib/generate-php-sdk/templates/gitignore.template.js +6 -0
- package/lib/generate-php-sdk/templates/gitignore.template.js.map +1 -0
- package/lib/generate-php-sdk/templates/package.json.template.d.ts +2 -0
- package/lib/generate-php-sdk/templates/package.json.template.js +12 -0
- package/lib/generate-php-sdk/templates/package.json.template.js.map +1 -0
- package/lib/generate-php-sdk/templates/readme.md.template.d.ts +2 -0
- package/lib/generate-php-sdk/templates/readme.md.template.js +86 -0
- package/lib/generate-php-sdk/templates/readme.md.template.js.map +1 -0
- package/lib/generate-php-sdk/templates/smoke-test.template.d.ts +2 -0
- package/lib/generate-php-sdk/templates/smoke-test.template.js +30 -0
- package/lib/generate-php-sdk/templates/smoke-test.template.js.map +1 -0
- package/lib/generate-php-sdk/templates/test-fixture.template.d.ts +2 -0
- package/lib/generate-php-sdk/templates/test-fixture.template.js +21 -0
- package/lib/generate-php-sdk/templates/test-fixture.template.js.map +1 -0
- package/lib/generate-php-sdk/utils/deep-extract-resource-object-schemas.d.ts +16 -0
- package/lib/generate-php-sdk/utils/deep-extract-resource-object-schemas.js +97 -0
- package/lib/generate-php-sdk/utils/deep-extract-resource-object-schemas.js.map +1 -0
- package/lib/generate-php-sdk/utils/deep-flatten-one-of-and-all-of-schema.d.ts +2 -0
- package/lib/generate-php-sdk/utils/deep-flatten-one-of-and-all-of-schema.js +95 -0
- package/lib/generate-php-sdk/utils/deep-flatten-one-of-and-all-of-schema.js.map +1 -0
- package/lib/generate-php-sdk/utils/generate-resource-object-class.d.ts +8 -0
- package/lib/generate-php-sdk/utils/generate-resource-object-class.js +73 -0
- package/lib/generate-php-sdk/utils/generate-resource-object-class.js.map +1 -0
- package/lib/generate-php-sdk/utils/generate-seam-client.d.ts +7 -0
- package/lib/generate-php-sdk/utils/generate-seam-client.js +103 -0
- package/lib/generate-php-sdk/utils/generate-seam-client.js.map +1 -0
- package/lib/generate-php-sdk/utils/get-php-type.d.ts +1 -0
- package/lib/generate-php-sdk/utils/get-php-type.js +17 -0
- package/lib/generate-php-sdk/utils/get-php-type.js.map +1 -0
- package/lib/generate-php-sdk/utils/php-client.d.ts +31 -0
- package/lib/generate-php-sdk/utils/php-client.js +130 -0
- package/lib/generate-php-sdk/utils/php-client.js.map +1 -0
- package/lib/generate-python-sdk/class-file.d.ts +20 -0
- package/lib/generate-python-sdk/class-file.js +75 -0
- package/lib/generate-python-sdk/class-file.js.map +1 -0
- package/lib/generate-python-sdk/generate-python-sdk.d.ts +1 -0
- package/lib/generate-python-sdk/generate-python-sdk.js +117 -0
- package/lib/generate-python-sdk/generate-python-sdk.js.map +1 -0
- package/lib/generate-python-sdk/index.d.ts +1 -0
- package/lib/generate-python-sdk/index.js +2 -0
- package/lib/generate-python-sdk/index.js.map +1 -0
- package/lib/generate-python-sdk/map-python-type.d.ts +2 -0
- package/lib/generate-python-sdk/map-python-type.js +26 -0
- package/lib/generate-python-sdk/map-python-type.js.map +1 -0
- package/lib/generate-python-sdk/templates/conftest.py.template.d.ts +2 -0
- package/lib/generate-python-sdk/templates/conftest.py.template.js +12 -0
- package/lib/generate-python-sdk/templates/conftest.py.template.js.map +1 -0
- package/lib/generate-python-sdk/templates/pyproject.toml.template.d.ts +2 -0
- package/lib/generate-python-sdk/templates/pyproject.toml.template.js +21 -0
- package/lib/generate-python-sdk/templates/pyproject.toml.template.js.map +1 -0
- package/lib/generate-python-sdk/templates/readme.md.template.d.ts +2 -0
- package/lib/generate-python-sdk/templates/readme.md.template.js +48 -0
- package/lib/generate-python-sdk/templates/readme.md.template.js.map +1 -0
- package/lib/generate-python-sdk/templates/routes.py.template.d.ts +2 -0
- package/lib/generate-python-sdk/templates/routes.py.template.js +13 -0
- package/lib/generate-python-sdk/templates/routes.py.template.js.map +1 -0
- package/lib/generate-python-sdk/templates/seam.py.template.d.ts +2 -0
- package/lib/generate-python-sdk/templates/seam.py.template.js +74 -0
- package/lib/generate-python-sdk/templates/seam.py.template.js.map +1 -0
- package/lib/generate-python-sdk/templates/snippets/abstract-routes.template.d.ts +2 -0
- package/lib/generate-python-sdk/templates/snippets/abstract-routes.template.js +9 -0
- package/lib/generate-python-sdk/templates/snippets/abstract-routes.template.js.map +1 -0
- package/lib/generate-python-sdk/templates/snippets/abstract-seam.template.d.ts +2 -0
- package/lib/generate-python-sdk/templates/snippets/abstract-seam.template.js +9 -0
- package/lib/generate-python-sdk/templates/snippets/abstract-seam.template.js.map +1 -0
- package/lib/generate-python-sdk/templates/snippets/resource-dataclass.template.d.ts +5 -0
- package/lib/generate-python-sdk/templates/snippets/resource-dataclass.template.js +10 -0
- package/lib/generate-python-sdk/templates/snippets/resource-dataclass.template.js.map +1 -0
- package/lib/generate-python-sdk/templates/test_smoke.py.template.d.ts +2 -0
- package/lib/generate-python-sdk/templates/test_smoke.py.template.js +13 -0
- package/lib/generate-python-sdk/templates/test_smoke.py.template.js.map +1 -0
- package/lib/generate-python-sdk/templates/utils/deep_attr_dict.py.template.d.ts +2 -0
- package/lib/generate-python-sdk/templates/utils/deep_attr_dict.py.template.js +28 -0
- package/lib/generate-python-sdk/templates/utils/deep_attr_dict.py.template.js.map +1 -0
- package/lib/generate-ruby-sdk/generate-ruby-sdk.d.ts +1 -0
- package/lib/generate-ruby-sdk/generate-ruby-sdk.js +132 -0
- package/lib/generate-ruby-sdk/generate-ruby-sdk.js.map +1 -0
- package/lib/generate-ruby-sdk/index.d.ts +1 -0
- package/lib/generate-ruby-sdk/index.js +2 -0
- package/lib/generate-ruby-sdk/index.js.map +1 -0
- package/lib/generate-ruby-sdk/request.rb.template.d.ts +1 -0
- package/lib/generate-ruby-sdk/request.rb.template.js +2 -0
- package/lib/generate-ruby-sdk/request.rb.template.js.map +1 -0
- package/lib/generate-ruby-sdk/ruby-client.d.ts +35 -0
- package/lib/generate-ruby-sdk/ruby-client.js +59 -0
- package/lib/generate-ruby-sdk/ruby-client.js.map +1 -0
- package/lib/generate-ruby-sdk/templates/base_client.rb.template.d.ts +2 -0
- package/lib/generate-ruby-sdk/templates/base_client.rb.template.js +22 -0
- package/lib/generate-ruby-sdk/templates/base_client.rb.template.js.map +1 -0
- package/lib/generate-ruby-sdk/templates/base_resource.rb.template.d.ts +2 -0
- package/lib/generate-ruby-sdk/templates/base_resource.rb.template.js +59 -0
- package/lib/generate-ruby-sdk/templates/base_resource.rb.template.js.map +1 -0
- package/lib/generate-ruby-sdk/templates/client.rb.template.d.ts +2 -0
- package/lib/generate-ruby-sdk/templates/client.rb.template.js +74 -0
- package/lib/generate-ruby-sdk/templates/client.rb.template.js.map +1 -0
- package/lib/generate-ruby-sdk/templates/gemfile.template.d.ts +2 -0
- package/lib/generate-ruby-sdk/templates/gemfile.template.js +7 -0
- package/lib/generate-ruby-sdk/templates/gemfile.template.js.map +1 -0
- package/lib/generate-ruby-sdk/templates/logger.rb.template.d.ts +2 -0
- package/lib/generate-ruby-sdk/templates/logger.rb.template.js +13 -0
- package/lib/generate-ruby-sdk/templates/logger.rb.template.js.map +1 -0
- package/lib/generate-ruby-sdk/templates/rakefile.template.d.ts +2 -0
- package/lib/generate-ruby-sdk/templates/rakefile.template.js +23 -0
- package/lib/generate-ruby-sdk/templates/rakefile.template.js.map +1 -0
- package/lib/generate-ruby-sdk/templates/readme.md.template.d.ts +2 -0
- package/lib/generate-ruby-sdk/templates/readme.md.template.js +184 -0
- package/lib/generate-ruby-sdk/templates/readme.md.template.js.map +1 -0
- package/lib/generate-ruby-sdk/templates/request.rb.template.d.ts +2 -0
- package/lib/generate-ruby-sdk/templates/request.rb.template.js +71 -0
- package/lib/generate-ruby-sdk/templates/request.rb.template.js.map +1 -0
- package/lib/generate-ruby-sdk/templates/resource_error.rb.template.d.ts +2 -0
- package/lib/generate-ruby-sdk/templates/resource_error.rb.template.js +8 -0
- package/lib/generate-ruby-sdk/templates/resource_error.rb.template.js.map +1 -0
- package/lib/generate-ruby-sdk/templates/resource_errors_support.rb.template.d.ts +2 -0
- package/lib/generate-ruby-sdk/templates/resource_errors_support.rb.template.js +10 -0
- package/lib/generate-ruby-sdk/templates/resource_errors_support.rb.template.js.map +1 -0
- package/lib/generate-ruby-sdk/templates/resource_warning.rb.template.d.ts +2 -0
- package/lib/generate-ruby-sdk/templates/resource_warning.rb.template.js +8 -0
- package/lib/generate-ruby-sdk/templates/resource_warning.rb.template.js.map +1 -0
- package/lib/generate-ruby-sdk/templates/resource_warnings_support.rb.template.d.ts +2 -0
- package/lib/generate-ruby-sdk/templates/resource_warnings_support.rb.template.js +10 -0
- package/lib/generate-ruby-sdk/templates/resource_warnings_support.rb.template.js.map +1 -0
- package/lib/generate-ruby-sdk/templates/seamapi.gemspec.template.d.ts +2 -0
- package/lib/generate-ruby-sdk/templates/seamapi.gemspec.template.js +41 -0
- package/lib/generate-ruby-sdk/templates/seamapi.gemspec.template.js.map +1 -0
- package/lib/generate-ruby-sdk/templates/snippets/resource.rb.template.d.ts +6 -0
- package/lib/generate-ruby-sdk/templates/snippets/resource.rb.template.js +15 -0
- package/lib/generate-ruby-sdk/templates/snippets/resource.rb.template.js.map +1 -0
- package/lib/generate-ruby-sdk/templates/version.rb.template.d.ts +2 -0
- package/lib/generate-ruby-sdk/templates/version.rb.template.js +6 -0
- package/lib/generate-ruby-sdk/templates/version.rb.template.js.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -0
- package/lib/openapi/flatten-obj-schema.d.ts +5 -0
- package/lib/openapi/flatten-obj-schema.js +86 -0
- package/lib/openapi/flatten-obj-schema.js.map +1 -0
- package/lib/openapi/get-parameter-and-response-schema.d.ts +20 -0
- package/lib/openapi/get-parameter-and-response-schema.js +42 -0
- package/lib/openapi/get-parameter-and-response-schema.js.map +1 -0
- package/lib/openapi/index.d.ts +2 -0
- package/lib/openapi/index.js +3 -0
- package/lib/openapi/index.js.map +1 -0
- package/lib/types.d.ts +91 -0
- package/lib/types.js +2 -0
- package/lib/types.js.map +1 -0
- package/package.json +95 -0
- package/src/index.ts +6 -0
- package/src/lib/cli.ts +71 -0
- package/src/lib/fs-util/index.ts +2 -0
- package/src/lib/fs-util/populate-fs.ts +14 -0
- package/src/lib/fs-util/write-fs.ts +10 -0
- package/src/lib/generate-csharp-sdk/codegen.ts +648 -0
- package/src/lib/generate-csharp-sdk/constants.ts +1 -0
- package/src/lib/generate-csharp-sdk/generate-csharp-sdk.ts +126 -0
- package/src/lib/generate-csharp-sdk/generate-csproj.ts +45 -0
- package/src/lib/generate-csharp-sdk/templates/dataclass.ts +973 -0
- package/src/lib/generate-csharp-sdk/templates/fs/csharp-testing.sln +34 -0
- package/src/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/ApiResponse.cs +159 -0
- package/src/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/ClientUtils.cs +280 -0
- package/src/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/ExceptionFactory.cs +12 -0
- package/src/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/GlobalSeamRequestConfiguration.cs +60 -0
- package/src/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/HttpMethod.cs +29 -0
- package/src/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/IAsynchronousSeam.cs +142 -0
- package/src/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/IReadableSeamRequestConfiguration.cs +68 -0
- package/src/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/ISynchronousSeam.cs +103 -0
- package/src/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/Multimap.cs +286 -0
- package/src/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/RequestOptions.cs +74 -0
- package/src/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/RetryConfiguration.cs +21 -0
- package/src/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/Seam.cs +1070 -0
- package/src/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/SeamException.cs +64 -0
- package/src/lib/generate-csharp-sdk/templates/fs/src/Seam/Client/SeamRequestConfiguration.cs +662 -0
- package/src/lib/generate-csharp-sdk/templates/fs/src/Seam/Model/AsbtractModelSchema.cs +62 -0
- package/src/lib/generate-php-sdk/generate-php-sdk.ts +176 -0
- package/src/lib/generate-php-sdk/index.ts +1 -0
- package/src/lib/generate-php-sdk/templates/composer.json.template.ts +24 -0
- package/src/lib/generate-php-sdk/templates/env.example.template.ts +3 -0
- package/src/lib/generate-php-sdk/templates/gitignore.template.ts +5 -0
- package/src/lib/generate-php-sdk/templates/package.json.template.ts +11 -0
- package/src/lib/generate-php-sdk/templates/readme.md.template.ts +85 -0
- package/src/lib/generate-php-sdk/templates/smoke-test.template.ts +29 -0
- package/src/lib/generate-php-sdk/templates/test-fixture.template.ts +20 -0
- package/src/lib/generate-php-sdk/utils/deep-extract-resource-object-schemas.ts +160 -0
- package/src/lib/generate-php-sdk/utils/deep-flatten-one-of-and-all-of-schema.ts +128 -0
- package/src/lib/generate-php-sdk/utils/generate-resource-object-class.ts +105 -0
- package/src/lib/generate-php-sdk/utils/generate-seam-client.ts +115 -0
- package/src/lib/generate-php-sdk/utils/get-php-type.ts +21 -0
- package/src/lib/generate-php-sdk/utils/php-client.ts +189 -0
- package/src/lib/generate-python-sdk/class-file.ts +114 -0
- package/src/lib/generate-python-sdk/generate-python-sdk.ts +147 -0
- package/src/lib/generate-python-sdk/index.ts +1 -0
- package/src/lib/generate-python-sdk/map-python-type.ts +29 -0
- package/src/lib/generate-python-sdk/templates/conftest.py.template.ts +11 -0
- package/src/lib/generate-python-sdk/templates/pyproject.toml.template.ts +20 -0
- package/src/lib/generate-python-sdk/templates/readme.md.template.ts +47 -0
- package/src/lib/generate-python-sdk/templates/routes.py.template.ts +13 -0
- package/src/lib/generate-python-sdk/templates/seam.py.template.ts +73 -0
- package/src/lib/generate-python-sdk/templates/snippets/abstract-routes.template.ts +9 -0
- package/src/lib/generate-python-sdk/templates/snippets/abstract-seam.template.ts +8 -0
- package/src/lib/generate-python-sdk/templates/snippets/resource-dataclass.template.ts +15 -0
- package/src/lib/generate-python-sdk/templates/test_smoke.py.template.ts +12 -0
- package/src/lib/generate-python-sdk/templates/utils/deep_attr_dict.py.template.ts +27 -0
- package/src/lib/generate-ruby-sdk/generate-ruby-sdk.ts +153 -0
- package/src/lib/generate-ruby-sdk/index.ts +1 -0
- package/src/lib/generate-ruby-sdk/request.rb.template.ts +0 -0
- package/src/lib/generate-ruby-sdk/ruby-client.ts +81 -0
- package/src/lib/generate-ruby-sdk/templates/base_client.rb.template.ts +21 -0
- package/src/lib/generate-ruby-sdk/templates/base_resource.rb.template.ts +58 -0
- package/src/lib/generate-ruby-sdk/templates/client.rb.template.ts +73 -0
- package/src/lib/generate-ruby-sdk/templates/gemfile.template.ts +6 -0
- package/src/lib/generate-ruby-sdk/templates/logger.rb.template.ts +12 -0
- package/src/lib/generate-ruby-sdk/templates/rakefile.template.ts +22 -0
- package/src/lib/generate-ruby-sdk/templates/readme.md.template.ts +183 -0
- package/src/lib/generate-ruby-sdk/templates/request.rb.template.ts +70 -0
- package/src/lib/generate-ruby-sdk/templates/resource_error.rb.template.ts +7 -0
- package/src/lib/generate-ruby-sdk/templates/resource_errors_support.rb.template.ts +9 -0
- package/src/lib/generate-ruby-sdk/templates/resource_warning.rb.template.ts +7 -0
- package/src/lib/generate-ruby-sdk/templates/resource_warnings_support.rb.template.ts +9 -0
- package/src/lib/generate-ruby-sdk/templates/seamapi.gemspec.template.ts +40 -0
- package/src/lib/generate-ruby-sdk/templates/snippets/resource.rb.template.ts +24 -0
- package/src/lib/generate-ruby-sdk/templates/version.rb.template.ts +5 -0
- package/src/lib/index.ts +2 -0
- package/src/lib/openapi/flatten-obj-schema.ts +124 -0
- package/src/lib/openapi/get-parameter-and-response-schema.ts +59 -0
- package/src/lib/openapi/index.ts +2 -0
- package/src/lib/types.ts +96 -0
package/LICENSE.txt
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2021-2023 Seam Labs, Inc.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
6
|
+
this software and associated documentation files (the "Software"), to deal in
|
|
7
|
+
the Software without restriction, including without limitation the rights to
|
|
8
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
9
|
+
the Software, and to permit persons to whom the Software is furnished to do so,
|
|
10
|
+
subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
17
|
+
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
18
|
+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
19
|
+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
20
|
+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Nextlove SDK Generator
|
|
2
|
+
|
|
3
|
+
> This SDK generator is currently configured to only work with Seam Connect,
|
|
4
|
+
> output is also committed directly to the repo for ease of inspection and
|
|
5
|
+
> testing
|
|
6
|
+
|
|
7
|
+
This automatically generates an SDK based on the Seam Connect OpenAPI config.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install
|
|
13
|
+
npm run generate:python-sdk
|
|
14
|
+
npm run generate:ruby-sdk
|
|
15
|
+
# output is in "./output/python" and "./output/ruby"
|
|
16
|
+
```
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from "./lib/types.js";
|
|
2
|
+
export * from "./lib/index.js";
|
|
3
|
+
export * from "./lib/generate-csharp-sdk/generate-csharp-sdk.js";
|
|
4
|
+
export * from "./lib/generate-python-sdk/index.js";
|
|
5
|
+
export * from "./lib/generate-ruby-sdk/index.js";
|
|
6
|
+
export * from "./lib/generate-php-sdk/index.js";
|
package/index.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from "./lib/types.js";
|
|
2
|
+
export * from "./lib/index.js";
|
|
3
|
+
export * from "./lib/generate-csharp-sdk/generate-csharp-sdk.js";
|
|
4
|
+
export * from "./lib/generate-python-sdk/index.js";
|
|
5
|
+
export * from "./lib/generate-ruby-sdk/index.js";
|
|
6
|
+
export * from "./lib/generate-php-sdk/index.js";
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
package/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kDAAkD,CAAA;AAChE,cAAc,oCAAoC,CAAA;AAClD,cAAc,kCAAkC,CAAA;AAChD,cAAc,iCAAiC,CAAA"}
|
package/lib/cli.d.ts
ADDED
package/lib/cli.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import yargs from "yargs/yargs";
|
|
3
|
+
import * as path from "path";
|
|
4
|
+
import * as fs from "fs";
|
|
5
|
+
import { generatePythonSDK, generateCSharpSDK, generateRubySDK, writeFs, generatePhpSDK, } from "@seamapi/nextlove-sdk-generator";
|
|
6
|
+
// Define the command structure
|
|
7
|
+
yargs(process.argv.slice(2)).command("generate [language] [outputDir]", "Generate SDK", (yargs) => {
|
|
8
|
+
return yargs
|
|
9
|
+
.positional("language", {
|
|
10
|
+
describe: "The language to generate SDK for",
|
|
11
|
+
type: "string",
|
|
12
|
+
choices: ["python", "ruby", "csharp", "php"],
|
|
13
|
+
})
|
|
14
|
+
.positional("outputDir", {
|
|
15
|
+
describe: "The directory to output generated SDK",
|
|
16
|
+
type: "string",
|
|
17
|
+
});
|
|
18
|
+
}, (argv) => {
|
|
19
|
+
if (typeof argv.language === "string" &&
|
|
20
|
+
typeof argv.outputDir === "string") {
|
|
21
|
+
generateSDK(argv.language, argv.outputDir);
|
|
22
|
+
}
|
|
23
|
+
}).argv;
|
|
24
|
+
// Define the generateSDK function
|
|
25
|
+
async function generateSDK(language, outputDir) {
|
|
26
|
+
// Resolve the output directory path
|
|
27
|
+
const outputPath = path.resolve(outputDir);
|
|
28
|
+
// Create the output directory if it doesn't exist
|
|
29
|
+
if (!fs.existsSync(outputPath)) {
|
|
30
|
+
fs.mkdirSync(outputPath, { recursive: true });
|
|
31
|
+
}
|
|
32
|
+
let filesystem = {};
|
|
33
|
+
// Generate SDK based on the specified language
|
|
34
|
+
switch (language) {
|
|
35
|
+
case "python":
|
|
36
|
+
filesystem = await generatePythonSDK();
|
|
37
|
+
break;
|
|
38
|
+
case "ruby":
|
|
39
|
+
filesystem = await generateRubySDK();
|
|
40
|
+
break;
|
|
41
|
+
case "csharp":
|
|
42
|
+
filesystem = await generateCSharpSDK();
|
|
43
|
+
break;
|
|
44
|
+
case "php":
|
|
45
|
+
filesystem = await generatePhpSDK();
|
|
46
|
+
break;
|
|
47
|
+
default:
|
|
48
|
+
console.error(`Unsupported language: ${language}`);
|
|
49
|
+
process.exit(1);
|
|
50
|
+
}
|
|
51
|
+
writeFs(outputPath, filesystem);
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=cli.js.map
|
package/lib/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/lib/cli.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,MAAM,aAAa,CAAA;AAC/B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,cAAc,GACf,MAAM,iCAAiC,CAAA;AAExC,+BAA+B;AAC/B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAClC,iCAAiC,EACjC,cAAc,EACd,CAAC,KAAK,EAAE,EAAE;IACR,OAAO,KAAK;SACT,UAAU,CAAC,UAAU,EAAE;QACtB,QAAQ,EAAE,kCAAkC;QAC5C,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;KAC7C,CAAC;SACD,UAAU,CAAC,WAAW,EAAE;QACvB,QAAQ,EAAE,uCAAuC;QACjD,IAAI,EAAE,QAAQ;KACf,CAAC,CAAA;AACN,CAAC,EACD,CAAC,IAAI,EAAE,EAAE;IACP,IACE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;QACjC,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAClC;QACA,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;KAC3C;AACH,CAAC,CACF,CAAC,IAAI,CAAA;AAEN,kCAAkC;AAClC,KAAK,UAAU,WAAW,CAAC,QAAgB,EAAE,SAAiB;IAC5D,oCAAoC;IACpC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAE1C,kDAAkD;IAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC9B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;KAC9C;IAED,IAAI,UAAU,GAAG,EAAE,CAAA;IACnB,+CAA+C;IAC/C,QAAQ,QAAQ,EAAE;QAChB,KAAK,QAAQ;YACX,UAAU,GAAG,MAAM,iBAAiB,EAAE,CAAA;YACtC,MAAK;QACP,KAAK,MAAM;YACT,UAAU,GAAG,MAAM,eAAe,EAAE,CAAA;YACpC,MAAK;QACP,KAAK,QAAQ;YACX,UAAU,GAAG,MAAM,iBAAiB,EAAE,CAAA;YACtC,MAAK;QACP,KAAK,KAAK;YACR,UAAU,GAAG,MAAM,cAAc,EAAE,CAAA;YACnC,MAAK;QACP;YACE,OAAO,CAAC,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAA;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAClB;IAED,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;AACjC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/fs-util/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const populateFs: (dir: string, filesystem: Record<string, string>) => void;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
import fs from "fs";
|
|
3
|
+
import { walkSync } from "@nodelib/fs.walk";
|
|
4
|
+
export const populateFs = (dir, filesystem) => {
|
|
5
|
+
walkSync(dir).forEach(({ dirent, path: filePath }) => {
|
|
6
|
+
if (dirent.isDirectory())
|
|
7
|
+
return;
|
|
8
|
+
filesystem[path.relative(dir, filePath)] = fs.readFileSync(filePath, "utf-8");
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=populate-fs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"populate-fs.js","sourceRoot":"","sources":["../../src/lib/fs-util/populate-fs.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAE3C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,UAAkC,EAAE,EAAE;IAC5E,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;QACnD,IAAI,MAAM,CAAC,WAAW,EAAE;YAAE,OAAM;QAEhC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CACxD,QAAQ,EACR,OAAO,CACR,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const writeFs: (dir: string, filesystem: Record<string, string>) => void;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
import fs from "fs";
|
|
3
|
+
export const writeFs = (dir, filesystem) => {
|
|
4
|
+
for (const [filepath, contents] of Object.entries(filesystem)) {
|
|
5
|
+
const fullPath = path.join(dir, filepath);
|
|
6
|
+
fs.mkdirSync(path.dirname(fullPath), { recursive: true });
|
|
7
|
+
fs.writeFileSync(fullPath, contents);
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=write-fs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-fs.js","sourceRoot":"","sources":["../../src/lib/fs-util/write-fs.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,UAAkC,EAAE,EAAE;IACzE,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;QACzC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACzD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;KACrC;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
export type CSharpNamespace = string[];
|
|
2
|
+
declare class CompilerCtx {
|
|
3
|
+
tabSize: number;
|
|
4
|
+
eol: string;
|
|
5
|
+
indent(): string;
|
|
6
|
+
withIndent(serialized: string): string;
|
|
7
|
+
combineWords(...words: (string | undefined)[]): string;
|
|
8
|
+
combineStatements(...statements: (string | undefined)[]): string;
|
|
9
|
+
combineNodes(...nodes: (CSharpNode | undefined)[]): string;
|
|
10
|
+
combineAdjacent(...nodes: (CSharpNode | undefined)[]): string;
|
|
11
|
+
serializeNamespace(namespace: CSharpNamespace): string;
|
|
12
|
+
}
|
|
13
|
+
declare abstract class CSharpNode {
|
|
14
|
+
abstract serialize(ctx: CompilerCtx): string;
|
|
15
|
+
}
|
|
16
|
+
declare abstract class Statement extends CSharpNode {
|
|
17
|
+
private includeSemicolon;
|
|
18
|
+
constructor(includeSemicolon: boolean);
|
|
19
|
+
serialize(ctx: CompilerCtx): string;
|
|
20
|
+
abstract serializeStatement(ctx: CompilerCtx): string;
|
|
21
|
+
}
|
|
22
|
+
declare class StatementBlock extends Statement {
|
|
23
|
+
statements: Statement[];
|
|
24
|
+
constructor(statements: Statement[]);
|
|
25
|
+
serializeStatement(ctx: CompilerCtx): string;
|
|
26
|
+
}
|
|
27
|
+
declare class CSharpFile extends Statement {
|
|
28
|
+
statements: StatementBlock[];
|
|
29
|
+
constructor(statements: StatementBlock[]);
|
|
30
|
+
serializeStatement(ctx: CompilerCtx): string;
|
|
31
|
+
}
|
|
32
|
+
declare class CurlyBlock extends Statement {
|
|
33
|
+
statements: StatementBlock[];
|
|
34
|
+
separator?: string | undefined;
|
|
35
|
+
constructor(statements: StatementBlock[], separator?: string | undefined);
|
|
36
|
+
serializeStatement(ctx: CompilerCtx): string;
|
|
37
|
+
}
|
|
38
|
+
declare class CurlyBlockWithNode<T extends CSharpNode> extends CurlyBlock {
|
|
39
|
+
declaration: T;
|
|
40
|
+
constructor(declaration: T, statements: StatementBlock[], separator?: string);
|
|
41
|
+
serialize(ctx: CompilerCtx): string;
|
|
42
|
+
}
|
|
43
|
+
declare class UsingStatement extends Statement {
|
|
44
|
+
namespace: CSharpNamespace;
|
|
45
|
+
constructor(namespace: CSharpNamespace);
|
|
46
|
+
serializeStatement(ctx: CompilerCtx): string;
|
|
47
|
+
}
|
|
48
|
+
declare class NamespaceNode extends CSharpNode {
|
|
49
|
+
namespace: CSharpNamespace;
|
|
50
|
+
constructor(namespace: CSharpNamespace);
|
|
51
|
+
serialize(ctx: CompilerCtx): string;
|
|
52
|
+
}
|
|
53
|
+
declare class VisibilityModifiers extends CSharpNode {
|
|
54
|
+
visibility: ("public" | "private" | "protected" | "internal" | "async" | "partial" | "virtual" | "override" | "abstract")[];
|
|
55
|
+
constructor(visibility: ("public" | "private" | "protected" | "internal" | "async" | "partial" | "virtual" | "override" | "abstract")[]);
|
|
56
|
+
serialize(_ctx: CompilerCtx): string;
|
|
57
|
+
}
|
|
58
|
+
declare class ClassDeclarationSpecifier extends CSharpNode {
|
|
59
|
+
name: TokenNode;
|
|
60
|
+
base?: string | undefined;
|
|
61
|
+
modifiers?: VisibilityModifiers | undefined;
|
|
62
|
+
classToken: TokenNode;
|
|
63
|
+
constructor(name: TokenNode, base?: string | undefined, modifiers?: VisibilityModifiers | undefined, classToken?: TokenNode);
|
|
64
|
+
serialize(ctx: CompilerCtx): string;
|
|
65
|
+
}
|
|
66
|
+
declare class EnumDeclarationSpecifier extends CSharpNode {
|
|
67
|
+
name: TokenNode;
|
|
68
|
+
modifiers?: VisibilityModifiers | undefined;
|
|
69
|
+
constructor(name: TokenNode, modifiers?: VisibilityModifiers | undefined);
|
|
70
|
+
serialize(ctx: CompilerCtx): string;
|
|
71
|
+
}
|
|
72
|
+
declare class Class extends CurlyBlockWithNode<ClassDeclarationSpecifier> {
|
|
73
|
+
}
|
|
74
|
+
declare class Enum extends CurlyBlockWithNode<EnumDeclarationSpecifier> {
|
|
75
|
+
declaration: EnumDeclarationSpecifier;
|
|
76
|
+
constructor(declaration: EnumDeclarationSpecifier, statements: StatementBlock[]);
|
|
77
|
+
}
|
|
78
|
+
declare class RawNode extends CSharpNode {
|
|
79
|
+
raw: string;
|
|
80
|
+
constructor(raw: string);
|
|
81
|
+
serialize(): string;
|
|
82
|
+
}
|
|
83
|
+
declare class CompositeNode extends CSharpNode {
|
|
84
|
+
nodes: CSharpNode[];
|
|
85
|
+
constructor(nodes: CSharpNode[]);
|
|
86
|
+
serialize(ctx: CompilerCtx): string;
|
|
87
|
+
}
|
|
88
|
+
declare class NodeStatement extends Statement {
|
|
89
|
+
node: CSharpNode;
|
|
90
|
+
constructor(node: CSharpNode, includeSemicolon?: boolean);
|
|
91
|
+
serializeStatement(ctx: CompilerCtx): string;
|
|
92
|
+
}
|
|
93
|
+
declare class RawStatement extends Statement {
|
|
94
|
+
raw: string;
|
|
95
|
+
constructor(raw: string, includeSemicolon?: boolean);
|
|
96
|
+
serializeStatement(): string;
|
|
97
|
+
}
|
|
98
|
+
declare class AnnotatedStatement<T extends Statement> extends Statement {
|
|
99
|
+
annotation: string;
|
|
100
|
+
annotated: T;
|
|
101
|
+
properties?: CSharpNode[] | undefined;
|
|
102
|
+
static getPropertyList(properties: Record<string, CSharpNode | undefined>): (TokenNode | AssignNode<TokenNode, CSharpNode>)[];
|
|
103
|
+
constructor(annotation: string, annotated: T, properties?: CSharpNode[] | undefined);
|
|
104
|
+
serializeStatement(ctx: CompilerCtx): string;
|
|
105
|
+
}
|
|
106
|
+
declare class Literal extends CSharpNode {
|
|
107
|
+
value: any;
|
|
108
|
+
constructor(value: any);
|
|
109
|
+
serialize(): string;
|
|
110
|
+
}
|
|
111
|
+
declare class TokenNode extends CSharpNode {
|
|
112
|
+
token: string;
|
|
113
|
+
static readonly TYPE_STRING: TokenNode;
|
|
114
|
+
static readonly TYPE_INT: TokenNode;
|
|
115
|
+
static readonly TYPE_FLOAT: TokenNode;
|
|
116
|
+
static readonly TYPE_BOOLEAN: TokenNode;
|
|
117
|
+
static readonly TYPE_OBJECT: TokenNode;
|
|
118
|
+
static readonly TYPE_OBJECT_CLASS: TokenNode;
|
|
119
|
+
static readonly TYPE_JOBJECT: TokenNode;
|
|
120
|
+
constructor(token: string, isReserved?: boolean);
|
|
121
|
+
serialize(_: CompilerCtx): string;
|
|
122
|
+
}
|
|
123
|
+
declare class TokenNodeGeneric extends TokenNode {
|
|
124
|
+
token: string;
|
|
125
|
+
generics: TypeNode[];
|
|
126
|
+
constructor(token: string, generics: TypeNode[]);
|
|
127
|
+
serialize(ctx: CompilerCtx): string;
|
|
128
|
+
}
|
|
129
|
+
declare class TypeArgumentsNode extends CSharpNode {
|
|
130
|
+
generics: TypeNode[];
|
|
131
|
+
constructor(generics: TypeNode[]);
|
|
132
|
+
serialize(ctx: CompilerCtx): string;
|
|
133
|
+
}
|
|
134
|
+
declare class TokenNodeApplyFunction extends CSharpNode {
|
|
135
|
+
token: CSharpNode;
|
|
136
|
+
args: CSharpNode[];
|
|
137
|
+
typeArguments?: TypeArgumentsNode | undefined;
|
|
138
|
+
constructor(token: CSharpNode, args: CSharpNode[], typeArguments?: TypeArgumentsNode | undefined);
|
|
139
|
+
serialize(ctx: CompilerCtx): string;
|
|
140
|
+
}
|
|
141
|
+
declare class ApplyConstructorNode extends TokenNodeApplyFunction {
|
|
142
|
+
token: TokenNode;
|
|
143
|
+
args: CSharpNode[];
|
|
144
|
+
typeArguments?: TypeArgumentsNode | undefined;
|
|
145
|
+
constructor(token: TokenNode, args: CSharpNode[], typeArguments?: TypeArgumentsNode | undefined);
|
|
146
|
+
serialize(ctx: CompilerCtx): string;
|
|
147
|
+
}
|
|
148
|
+
declare class ReturnStatement extends Statement {
|
|
149
|
+
value: CSharpNode;
|
|
150
|
+
constructor(value: CSharpNode);
|
|
151
|
+
serializeStatement(ctx: CompilerCtx): string;
|
|
152
|
+
}
|
|
153
|
+
declare class TypeNode extends CSharpNode {
|
|
154
|
+
type: CSharpNode;
|
|
155
|
+
nullable: boolean;
|
|
156
|
+
generics?: TypeArgumentsNode | undefined;
|
|
157
|
+
constructor(type: CSharpNode, nullable?: boolean, generics?: TypeArgumentsNode | undefined);
|
|
158
|
+
serialize(ctx: CompilerCtx): string;
|
|
159
|
+
}
|
|
160
|
+
declare class AccessChain extends CSharpNode {
|
|
161
|
+
nodes: CSharpNode[];
|
|
162
|
+
constructor(nodes: CSharpNode[]);
|
|
163
|
+
serialize(ctx: CompilerCtx): string;
|
|
164
|
+
}
|
|
165
|
+
declare abstract class AbstractFieldDeclaration<Token extends CSharpNode, Body extends Statement | undefined, Rhs extends CSharpNode = CSharpNode> extends Statement {
|
|
166
|
+
type: TypeNode | undefined;
|
|
167
|
+
token: Token;
|
|
168
|
+
body: Body;
|
|
169
|
+
visibility?: VisibilityModifiers | undefined;
|
|
170
|
+
rhs?: Rhs | undefined;
|
|
171
|
+
constructor(type: TypeNode | undefined, token: Token, body: Body, visibility?: VisibilityModifiers | undefined, rhs?: Rhs | undefined);
|
|
172
|
+
serializeStatement(ctx: CompilerCtx): string;
|
|
173
|
+
}
|
|
174
|
+
declare class FieldDeclaration extends AbstractFieldDeclaration<TokenNode, undefined> {
|
|
175
|
+
}
|
|
176
|
+
declare class ParameterNode extends CSharpNode {
|
|
177
|
+
type: TypeNode;
|
|
178
|
+
name: TokenNode;
|
|
179
|
+
defaultValue?: CSharpNode | undefined;
|
|
180
|
+
constructor(type: TypeNode, name: TokenNode, defaultValue?: CSharpNode | undefined);
|
|
181
|
+
serialize(ctx: CompilerCtx): string;
|
|
182
|
+
}
|
|
183
|
+
declare class MethodNode extends CSharpNode {
|
|
184
|
+
name: TokenNode;
|
|
185
|
+
parameters?: ParameterNode[] | undefined;
|
|
186
|
+
constructor(name: TokenNode, parameters?: ParameterNode[] | undefined);
|
|
187
|
+
serialize(ctx: CompilerCtx): string;
|
|
188
|
+
}
|
|
189
|
+
declare class MethodDeclaration extends AbstractFieldDeclaration<MethodNode, CurlyBlock | undefined> {
|
|
190
|
+
}
|
|
191
|
+
declare class PropertyMethods extends Statement {
|
|
192
|
+
get?: {
|
|
193
|
+
statements?: StatementBlock[];
|
|
194
|
+
visibility?: VisibilityModifiers;
|
|
195
|
+
} | undefined;
|
|
196
|
+
set?: {
|
|
197
|
+
statements?: StatementBlock[];
|
|
198
|
+
visibility?: VisibilityModifiers;
|
|
199
|
+
} | undefined;
|
|
200
|
+
constructor(get?: {
|
|
201
|
+
statements?: StatementBlock[];
|
|
202
|
+
visibility?: VisibilityModifiers;
|
|
203
|
+
} | undefined, set?: {
|
|
204
|
+
statements?: StatementBlock[];
|
|
205
|
+
visibility?: VisibilityModifiers;
|
|
206
|
+
} | undefined);
|
|
207
|
+
serializeStatement(ctx: CompilerCtx): string;
|
|
208
|
+
}
|
|
209
|
+
declare class PropertyDeclaration extends AbstractFieldDeclaration<TokenNode, PropertyMethods> {
|
|
210
|
+
}
|
|
211
|
+
declare class AssignNode<LHS extends CSharpNode, RHS extends CSharpNode> extends CSharpNode {
|
|
212
|
+
lhs: LHS;
|
|
213
|
+
rhs: RHS;
|
|
214
|
+
operation: "=";
|
|
215
|
+
constructor(lhs: LHS, rhs: RHS, operation?: "=");
|
|
216
|
+
serialize(ctx: CompilerCtx): string;
|
|
217
|
+
}
|
|
218
|
+
declare class AssignStatement<LHS extends CSharpNode, RHS extends CSharpNode> extends Statement {
|
|
219
|
+
lhs: LHS;
|
|
220
|
+
rhs: RHS;
|
|
221
|
+
operation: "=";
|
|
222
|
+
constructor(lhs: LHS, rhs: RHS, includeSemicolon?: boolean, operation?: "=");
|
|
223
|
+
serializeStatement(ctx: CompilerCtx): string;
|
|
224
|
+
}
|
|
225
|
+
declare class AwaitNode extends CompositeNode {
|
|
226
|
+
node: CSharpNode;
|
|
227
|
+
constructor(node: CSharpNode);
|
|
228
|
+
}
|
|
229
|
+
declare class ParanthesisNode extends CompositeNode {
|
|
230
|
+
node: CSharpNode;
|
|
231
|
+
constructor(node: CSharpNode);
|
|
232
|
+
}
|
|
233
|
+
declare class NamespaceBlock extends CurlyBlockWithNode<NamespaceNode> {
|
|
234
|
+
}
|
|
235
|
+
export { RawNode, RawStatement, CSharpFile, CurlyBlock, CurlyBlockWithNode, UsingStatement, ClassDeclarationSpecifier, Class, StatementBlock, AnnotatedStatement, Literal, VisibilityModifiers, CompilerCtx, FieldDeclaration, TokenNode, PropertyDeclaration, MethodDeclaration, MethodNode, TypeNode, PropertyMethods, TokenNodeGeneric, ParameterNode, AssignStatement, Statement, EnumDeclarationSpecifier, AssignNode, Enum, TokenNodeApplyFunction, TypeArgumentsNode, ReturnStatement, ApplyConstructorNode, AccessChain, CompositeNode, NamespaceBlock, NamespaceNode, AwaitNode, ParanthesisNode, CSharpNode, NodeStatement, };
|