@azure-tools/typespec-ts 0.13.0 → 0.13.1-alpha.20230609.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +37 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/modelUtils.d.ts +2 -0
- package/dist/src/modelUtils.d.ts.map +1 -1
- package/dist/src/modelUtils.js +82 -13
- package/dist/src/modelUtils.js.map +1 -1
- package/dist/src/modular/buildApiIndex.d.ts.map +1 -1
- package/dist/src/modular/buildApiIndex.js +1 -1
- package/dist/src/modular/buildApiIndex.js.map +1 -1
- package/dist/src/modular/buildClassicalClient.d.ts.map +1 -1
- package/dist/src/modular/buildClassicalClient.js +6 -6
- package/dist/src/modular/buildClassicalClient.js.map +1 -1
- package/dist/src/modular/buildClientContext.d.ts.map +1 -1
- package/dist/src/modular/buildClientContext.js +9 -3
- package/dist/src/modular/buildClientContext.js.map +1 -1
- package/dist/src/modular/buildCodeModel.d.ts.map +1 -1
- package/dist/src/modular/buildCodeModel.js +190 -169
- package/dist/src/modular/buildCodeModel.js.map +1 -1
- package/dist/src/modular/buildOperations.d.ts.map +1 -1
- package/dist/src/modular/buildOperations.js +20 -2
- package/dist/src/modular/buildOperations.js.map +1 -1
- package/dist/src/modular/buildRootIndex.js +2 -2
- package/dist/src/modular/buildRootIndex.js.map +1 -1
- package/dist/src/modular/buildSharedTypes.d.ts.map +1 -1
- package/dist/src/modular/buildSharedTypes.js +8 -10
- package/dist/src/modular/buildSharedTypes.js.map +1 -1
- package/dist/src/modular/emitModels.d.ts.map +1 -1
- package/dist/src/modular/emitModels.js +19 -6
- package/dist/src/modular/emitModels.js.map +1 -1
- package/dist/src/modular/helpers/clientHelpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/clientHelpers.js +2 -11
- package/dist/src/modular/helpers/clientHelpers.js.map +1 -1
- package/dist/src/modular/helpers/credentialHelpers.js +1 -1
- package/dist/src/modular/helpers/credentialHelpers.js.map +1 -1
- package/dist/src/modular/helpers/fixmeHelpers.d.ts +2 -0
- package/dist/src/modular/helpers/fixmeHelpers.d.ts.map +1 -0
- package/dist/src/modular/helpers/fixmeHelpers.js +4 -0
- package/dist/src/modular/helpers/fixmeHelpers.js.map +1 -0
- package/dist/src/modular/helpers/namingHelpers.d.ts +10 -1
- package/dist/src/modular/helpers/namingHelpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/namingHelpers.js +20 -0
- package/dist/src/modular/helpers/namingHelpers.js.map +1 -1
- package/dist/src/modular/helpers/operationHelpers.d.ts +2 -0
- package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/operationHelpers.js +117 -35
- package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
- package/dist/src/modular/helpers/parameterHelpers.js +1 -1
- package/dist/src/modular/helpers/parameterHelpers.js.map +1 -1
- package/dist/src/modular/helpers/typeHelpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/typeHelpers.js +31 -12
- package/dist/src/modular/helpers/typeHelpers.js.map +1 -1
- package/dist/src/modular/modularCodeModel.d.ts +2 -1
- package/dist/src/modular/modularCodeModel.d.ts.map +1 -1
- package/dist/src/operationUtil.d.ts +1 -1
- package/dist/src/operationUtil.d.ts.map +1 -1
- package/dist/src/operationUtil.js +21 -3
- package/dist/src/operationUtil.js.map +1 -1
- package/dist/src/transform/transform.d.ts.map +1 -1
- package/dist/src/transform/transform.js +2 -2
- package/dist/src/transform/transform.js.map +1 -1
- package/dist/src/transform/transformApiVersionInfo.js +9 -0
- package/dist/src/transform/transformApiVersionInfo.js.map +1 -1
- package/dist/src/transform/transformHelperFunctionDetails.d.ts.map +1 -1
- package/dist/src/transform/transformHelperFunctionDetails.js +27 -1
- package/dist/src/transform/transformHelperFunctionDetails.js.map +1 -1
- package/dist/src/transform/transformParameters.d.ts +1 -0
- package/dist/src/transform/transformParameters.d.ts.map +1 -1
- package/dist/src/transform/transformParameters.js +36 -35
- package/dist/src/transform/transformParameters.js.map +1 -1
- package/dist/src/transform/transformPaths.d.ts.map +1 -1
- package/dist/src/transform/transformPaths.js +9 -0
- package/dist/src/transform/transformPaths.js.map +1 -1
- package/dist/src/transform/transformResponses.d.ts.map +1 -1
- package/dist/src/transform/transformResponses.js +10 -1
- package/dist/src/transform/transformResponses.js.map +1 -1
- package/dist/src/transform/transformSchemas.d.ts.map +1 -1
- package/dist/src/transform/transformSchemas.js +9 -0
- package/dist/src/transform/transformSchemas.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +20 -15
- package/src/index.ts +47 -2
- package/src/modelUtils.ts +90 -15
- package/src/modular/buildApiIndex.ts +3 -1
- package/src/modular/buildClassicalClient.ts +8 -6
- package/src/modular/buildClientContext.ts +11 -3
- package/src/modular/buildCodeModel.ts +221 -196
- package/src/modular/buildOperations.ts +23 -1
- package/src/modular/buildRootIndex.ts +2 -2
- package/src/modular/buildSharedTypes.ts +8 -10
- package/src/modular/emitModels.ts +14 -0
- package/src/modular/helpers/clientHelpers.ts +3 -13
- package/src/modular/helpers/credentialHelpers.ts +1 -1
- package/src/modular/helpers/fixmeHelpers.ts +3 -0
- package/src/modular/helpers/namingHelpers.ts +35 -1
- package/src/modular/helpers/operationHelpers.ts +173 -66
- package/src/modular/helpers/parameterHelpers.ts +1 -1
- package/src/modular/helpers/typeHelpers.ts +33 -12
- package/src/modular/modularCodeModel.ts +3 -1
- package/src/operationUtil.ts +24 -3
- package/src/transform/transform.ts +4 -1
- package/src/transform/transformApiVersionInfo.ts +8 -0
- package/src/transform/transformHelperFunctionDetails.ts +25 -1
- package/src/transform/transformParameters.ts +52 -41
- package/src/transform/transformPaths.ts +8 -0
- package/src/transform/transformResponses.ts +9 -1
- package/src/transform/transformSchemas.ts +8 -0
- package/.eslintrc.json +0 -23
- package/.prettierignore +0 -1
- package/.prettierrc +0 -7
- package/.rush/temp/operation/build/all.log +0 -1
- package/.rush/temp/operation/build/state.json +0 -3
- package/.rush/temp/package-deps_build.json +0 -442
- package/.rush/temp/shrinkwrap-deps.json +0 -490
- package/CONTRIBUTING.md +0 -137
- package/test/commands/cadl-ranch-list.ts +0 -116
- package/test/commands/check-clean-tree.ts +0 -55
- package/test/commands/childProcessOnExit.ts +0 -16
- package/test/commands/gen-cadl-ranch.ts +0 -25
- package/test/commands/run.ts +0 -31
- package/test/integration/arrayItemTypes.spec.ts +0 -96
- package/test/integration/authApiKey.spec.ts +0 -38
- package/test/integration/authOauth2.spec.ts +0 -65
- package/test/integration/authUnion.spec.ts +0 -72
- package/test/integration/azurecore.spec.ts +0 -170
- package/test/integration/collectionFormat.spec.ts +0 -118
- package/test/integration/dictionary.spec.ts +0 -106
- package/test/integration/extensibleEnums.spec.ts +0 -61
- package/test/integration/fixedEnums.spec.ts +0 -52
- package/test/integration/generated/arrays/itemTypes/src/arrayItemTypesClient.ts +0 -35
- package/test/integration/generated/arrays/itemTypes/src/clientDefinitions.ts +0 -165
- package/test/integration/generated/arrays/itemTypes/src/index.ts +0 -13
- package/test/integration/generated/arrays/itemTypes/src/logger.ts +0 -5
- package/test/integration/generated/arrays/itemTypes/src/models.ts +0 -9
- package/test/integration/generated/arrays/itemTypes/src/outputModels.ts +0 -9
- package/test/integration/generated/arrays/itemTypes/src/parameters.ts +0 -86
- package/test/integration/generated/arrays/itemTypes/src/responses.ts +0 -115
- package/test/integration/generated/arrays/itemTypes/tspconfig.yaml +0 -15
- package/test/integration/generated/authentication/apiKey/.eslintrc.json +0 -11
- package/test/integration/generated/authentication/apiKey/README.md +0 -56
- package/test/integration/generated/authentication/apiKey/api-extractor.json +0 -18
- package/test/integration/generated/authentication/apiKey/karma.conf.js +0 -133
- package/test/integration/generated/authentication/apiKey/package.json +0 -103
- package/test/integration/generated/authentication/apiKey/rollup.config.js +0 -118
- package/test/integration/generated/authentication/apiKey/src/authApiKeyClient.ts +0 -45
- package/test/integration/generated/authentication/apiKey/src/clientDefinitions.ts +0 -33
- package/test/integration/generated/authentication/apiKey/src/index.ts +0 -12
- package/test/integration/generated/authentication/apiKey/src/logger.ts +0 -5
- package/test/integration/generated/authentication/apiKey/src/outputModels.ts +0 -6
- package/test/integration/generated/authentication/apiKey/src/parameters.ts +0 -7
- package/test/integration/generated/authentication/apiKey/src/responses.ts +0 -21
- package/test/integration/generated/authentication/apiKey/test/public/sampleTest.spec.ts +0 -23
- package/test/integration/generated/authentication/apiKey/test/public/utils/env.browser.ts +0 -2
- package/test/integration/generated/authentication/apiKey/test/public/utils/env.ts +0 -6
- package/test/integration/generated/authentication/apiKey/test/public/utils/recordedClient.ts +0 -29
- package/test/integration/generated/authentication/apiKey/tsconfig.json +0 -25
- package/test/integration/generated/authentication/apiKey/tspconfig.yaml +0 -13
- package/test/integration/generated/authentication/oauth2/karma.conf.js +0 -133
- package/test/integration/generated/authentication/oauth2/src/authOauth2Client.ts +0 -45
- package/test/integration/generated/authentication/oauth2/src/clientDefinitions.ts +0 -33
- package/test/integration/generated/authentication/oauth2/src/index.ts +0 -12
- package/test/integration/generated/authentication/oauth2/src/logger.ts +0 -5
- package/test/integration/generated/authentication/oauth2/src/outputModels.ts +0 -6
- package/test/integration/generated/authentication/oauth2/src/parameters.ts +0 -7
- package/test/integration/generated/authentication/oauth2/src/responses.ts +0 -21
- package/test/integration/generated/authentication/oauth2/test/public/sampleTest.spec.ts +0 -23
- package/test/integration/generated/authentication/oauth2/test/public/utils/env.browser.ts +0 -2
- package/test/integration/generated/authentication/oauth2/test/public/utils/env.ts +0 -6
- package/test/integration/generated/authentication/oauth2/test/public/utils/recordedClient.ts +0 -29
- package/test/integration/generated/authentication/oauth2/tspconfig.yaml +0 -15
- package/test/integration/generated/authentication/union/karma.conf.js +0 -133
- package/test/integration/generated/authentication/union/src/authUnionClient.ts +0 -46
- package/test/integration/generated/authentication/union/src/clientDefinitions.ts +0 -27
- package/test/integration/generated/authentication/union/src/index.ts +0 -11
- package/test/integration/generated/authentication/union/src/logger.ts +0 -5
- package/test/integration/generated/authentication/union/src/parameters.ts +0 -7
- package/test/integration/generated/authentication/union/src/responses.ts +0 -14
- package/test/integration/generated/authentication/union/test/public/sampleTest.spec.ts +0 -23
- package/test/integration/generated/authentication/union/test/public/utils/env.browser.ts +0 -2
- package/test/integration/generated/authentication/union/test/public/utils/env.ts +0 -6
- package/test/integration/generated/authentication/union/test/public/utils/recordedClient.ts +0 -29
- package/test/integration/generated/authentication/union/tspconfig.yaml +0 -15
- package/test/integration/generated/azure/core/.eslintrc.json +0 -11
- package/test/integration/generated/azure/core/README.md +0 -56
- package/test/integration/generated/azure/core/api-extractor.json +0 -18
- package/test/integration/generated/azure/core/package.json +0 -81
- package/test/integration/generated/azure/core/rollup.config.js +0 -118
- package/test/integration/generated/azure/core/src/azureCoreClient.ts +0 -35
- package/test/integration/generated/azure/core/src/clientDefinitions.ts +0 -108
- package/test/integration/generated/azure/core/src/index.ts +0 -16
- package/test/integration/generated/azure/core/src/isUnexpected.ts +0 -178
- package/test/integration/generated/azure/core/src/logger.ts +0 -5
- package/test/integration/generated/azure/core/src/models.ts +0 -18
- package/test/integration/generated/azure/core/src/outputModels.ts +0 -38
- package/test/integration/generated/azure/core/src/paginateHelper.ts +0 -204
- package/test/integration/generated/azure/core/src/parameters.ts +0 -68
- package/test/integration/generated/azure/core/src/responses.ts +0 -158
- package/test/integration/generated/azure/core/src/serializeHelper.ts +0 -16
- package/test/integration/generated/azure/core/tsconfig.json +0 -25
- package/test/integration/generated/azure/core/tspconfig.yaml +0 -15
- package/test/integration/generated/azure/core-traits/.eslintrc.json +0 -11
- package/test/integration/generated/azure/core-traits/README.md +0 -56
- package/test/integration/generated/azure/core-traits/api-extractor.json +0 -18
- package/test/integration/generated/azure/core-traits/package.json +0 -80
- package/test/integration/generated/azure/core-traits/rollup.config.js +0 -118
- package/test/integration/generated/azure/core-traits/src/azureCoreTraitsClient.ts +0 -35
- package/test/integration/generated/azure/core-traits/src/clientDefinitions.ts +0 -22
- package/test/integration/generated/azure/core-traits/src/index.ts +0 -13
- package/test/integration/generated/azure/core-traits/src/isUnexpected.ts +0 -97
- package/test/integration/generated/azure/core-traits/src/logger.ts +0 -5
- package/test/integration/generated/azure/core-traits/src/outputModels.ts +0 -25
- package/test/integration/generated/azure/core-traits/src/parameters.ts +0 -26
- package/test/integration/generated/azure/core-traits/src/responses.ts +0 -32
- package/test/integration/generated/azure/core-traits/tsconfig.json +0 -25
- package/test/integration/generated/azure/core-traits/tspconfig.yaml +0 -15
- package/test/integration/generated/dictionary/.eslintrc.json +0 -11
- package/test/integration/generated/dictionary/README.md +0 -56
- package/test/integration/generated/dictionary/api-extractor.json +0 -18
- package/test/integration/generated/dictionary/package.json +0 -80
- package/test/integration/generated/dictionary/rollup.config.js +0 -118
- package/test/integration/generated/dictionary/src/clientDefinitions.ts +0 -180
- package/test/integration/generated/dictionary/src/dictClient.ts +0 -33
- package/test/integration/generated/dictionary/src/index.ts +0 -13
- package/test/integration/generated/dictionary/src/logger.ts +0 -5
- package/test/integration/generated/dictionary/src/models.ts +0 -9
- package/test/integration/generated/dictionary/src/outputModels.ts +0 -9
- package/test/integration/generated/dictionary/src/parameters.ts +0 -94
- package/test/integration/generated/dictionary/src/responses.ts +0 -126
- package/test/integration/generated/dictionary/tsconfig.json +0 -25
- package/test/integration/generated/dictionary/tspconfig.yaml +0 -15
- package/test/integration/generated/enums/extensible/.eslintrc.json +0 -11
- package/test/integration/generated/enums/extensible/README.md +0 -56
- package/test/integration/generated/enums/extensible/api-extractor.json +0 -18
- package/test/integration/generated/enums/extensible/package.json +0 -80
- package/test/integration/generated/enums/extensible/rollup.config.js +0 -118
- package/test/integration/generated/enums/extensible/src/clientDefinitions.ts +0 -45
- package/test/integration/generated/enums/extensible/src/index.ts +0 -11
- package/test/integration/generated/enums/extensible/src/logger.ts +0 -5
- package/test/integration/generated/enums/extensible/src/parameters.ts +0 -23
- package/test/integration/generated/enums/extensible/src/responses.ts +0 -26
- package/test/integration/generated/enums/extensible/src/typeEnumExtensible.ts +0 -35
- package/test/integration/generated/enums/extensible/tsconfig.json +0 -25
- package/test/integration/generated/enums/extensible/tspconfig.yaml +0 -14
- package/test/integration/generated/enums/fixed/.eslintrc.json +0 -11
- package/test/integration/generated/enums/fixed/README.md +0 -56
- package/test/integration/generated/enums/fixed/api-extractor.json +0 -18
- package/test/integration/generated/enums/fixed/package.json +0 -80
- package/test/integration/generated/enums/fixed/rollup.config.js +0 -118
- package/test/integration/generated/enums/fixed/src/clientDefinitions.ts +0 -43
- package/test/integration/generated/enums/fixed/src/index.ts +0 -11
- package/test/integration/generated/enums/fixed/src/logger.ts +0 -5
- package/test/integration/generated/enums/fixed/src/parameters.ts +0 -36
- package/test/integration/generated/enums/fixed/src/responses.ts +0 -27
- package/test/integration/generated/enums/fixed/src/typeEnumFixed.ts +0 -35
- package/test/integration/generated/enums/fixed/tsconfig.json +0 -25
- package/test/integration/generated/enums/fixed/tspconfig.yaml +0 -14
- package/test/integration/generated/hello/.eslintrc.json +0 -11
- package/test/integration/generated/hello/README.md +0 -56
- package/test/integration/generated/hello/api-extractor.json +0 -18
- package/test/integration/generated/hello/package.json +0 -80
- package/test/integration/generated/hello/rollup.config.js +0 -118
- package/test/integration/generated/hello/src/clientDefinitions.ts +0 -19
- package/test/integration/generated/hello/src/hello.ts +0 -29
- package/test/integration/generated/hello/src/index.ts +0 -11
- package/test/integration/generated/hello/src/parameters.ts +0 -6
- package/test/integration/generated/hello/src/responses.ts +0 -10
- package/test/integration/generated/hello/tsconfig.json +0 -25
- package/test/integration/generated/hello/tspconfig.yaml +0 -14
- package/test/integration/generated/internal/src/clientDefinitions.ts +0 -53
- package/test/integration/generated/internal/src/index.ts +0 -12
- package/test/integration/generated/internal/src/internalClient.ts +0 -35
- package/test/integration/generated/internal/src/logger.ts +0 -5
- package/test/integration/generated/internal/src/outputModels.ts +0 -17
- package/test/integration/generated/internal/src/parameters.ts +0 -45
- package/test/integration/generated/internal/src/responses.ts +0 -33
- package/test/integration/generated/internal/tspconfig.yaml +0 -14
- package/test/integration/generated/lro/lroCore/.eslintrc.json +0 -11
- package/test/integration/generated/lro/lroCore/README.md +0 -56
- package/test/integration/generated/lro/lroCore/api-extractor.json +0 -18
- package/test/integration/generated/lro/lroCore/package.json +0 -82
- package/test/integration/generated/lro/lroCore/rollup.config.js +0 -118
- package/test/integration/generated/lro/lroCore/src/clientDefinitions.ts +0 -54
- package/test/integration/generated/lro/lroCore/src/index.ts +0 -15
- package/test/integration/generated/lro/lroCore/src/isUnexpected.ts +0 -135
- package/test/integration/generated/lro/lroCore/src/logger.ts +0 -5
- package/test/integration/generated/lro/lroCore/src/models.ts +0 -8
- package/test/integration/generated/lro/lroCore/src/outputModels.ts +0 -50
- package/test/integration/generated/lro/lroCore/src/parameters.ts +0 -25
- package/test/integration/generated/lro/lroCore/src/pollingHelper.ts +0 -113
- package/test/integration/generated/lro/lroCore/src/responses.ts +0 -109
- package/test/integration/generated/lro/lroCore/src/specsAzureCoreLroStandard.ts +0 -35
- package/test/integration/generated/lro/lroCore/tsconfig.json +0 -25
- package/test/integration/generated/lro/lroCore/tspconfig.yaml +0 -14
- package/test/integration/generated/lro/lroRPC/.eslintrc.json +0 -11
- package/test/integration/generated/lro/lroRPC/README.md +0 -56
- package/test/integration/generated/lro/lroRPC/api-extractor.json +0 -18
- package/test/integration/generated/lro/lroRPC/package.json +0 -82
- package/test/integration/generated/lro/lroRPC/rollup.config.js +0 -118
- package/test/integration/generated/lro/lroRPC/src/clientDefinitions.ts +0 -79
- package/test/integration/generated/lro/lroRPC/src/index.ts +0 -15
- package/test/integration/generated/lro/lroRPC/src/isUnexpected.ts +0 -153
- package/test/integration/generated/lro/lroRPC/src/logger.ts +0 -5
- package/test/integration/generated/lro/lroRPC/src/models.ts +0 -8
- package/test/integration/generated/lro/lroRPC/src/outputModels.ts +0 -40
- package/test/integration/generated/lro/lroRPC/src/parameters.ts +0 -20
- package/test/integration/generated/lro/lroRPC/src/pollingHelper.ts +0 -127
- package/test/integration/generated/lro/lroRPC/src/responses.ts +0 -124
- package/test/integration/generated/lro/lroRPC/src/specsAzureCoreLroRpc.ts +0 -35
- package/test/integration/generated/lro/lroRPC/tsconfig.json +0 -25
- package/test/integration/generated/lro/lroRPC/tspconfig.yaml +0 -14
- package/test/integration/generated/models/inheritance/.eslintrc.json +0 -11
- package/test/integration/generated/models/inheritance/README.md +0 -56
- package/test/integration/generated/models/inheritance/api-extractor.json +0 -18
- package/test/integration/generated/models/inheritance/package.json +0 -80
- package/test/integration/generated/models/inheritance/rollup.config.js +0 -118
- package/test/integration/generated/models/inheritance/src/clientDefinitions.ts +0 -81
- package/test/integration/generated/models/inheritance/src/index.ts +0 -13
- package/test/integration/generated/models/inheritance/src/logger.ts +0 -5
- package/test/integration/generated/models/inheritance/src/models.ts +0 -52
- package/test/integration/generated/models/inheritance/src/outputModels.ts +0 -52
- package/test/integration/generated/models/inheritance/src/parameters.ts +0 -35
- package/test/integration/generated/models/inheritance/src/responses.ts +0 -56
- package/test/integration/generated/models/inheritance/src/typeModelInheritance.ts +0 -35
- package/test/integration/generated/models/inheritance/tsconfig.json +0 -25
- package/test/integration/generated/models/inheritance/tspconfig.yaml +0 -14
- package/test/integration/generated/models/propertyNullable/.eslintrc.json +0 -11
- package/test/integration/generated/models/propertyNullable/README.md +0 -56
- package/test/integration/generated/models/propertyNullable/api-extractor.json +0 -18
- package/test/integration/generated/models/propertyNullable/package.json +0 -80
- package/test/integration/generated/models/propertyNullable/rollup.config.js +0 -118
- package/test/integration/generated/models/propertyNullable/src/clientDefinitions.ts +0 -227
- package/test/integration/generated/models/propertyNullable/src/index.ts +0 -13
- package/test/integration/generated/models/propertyNullable/src/logger.ts +0 -5
- package/test/integration/generated/models/propertyNullable/src/models.ts +0 -56
- package/test/integration/generated/models/propertyNullable/src/outputModels.ts +0 -56
- package/test/integration/generated/models/propertyNullable/src/parameters.ts +0 -197
- package/test/integration/generated/models/propertyNullable/src/responses.ts +0 -144
- package/test/integration/generated/models/propertyNullable/src/typePropertyNullable.ts +0 -35
- package/test/integration/generated/models/propertyNullable/tsconfig.json +0 -25
- package/test/integration/generated/models/propertyNullable/tspconfig.yaml +0 -14
- package/test/integration/generated/models/propertyOptional/.eslintrc.json +0 -11
- package/test/integration/generated/models/propertyOptional/README.md +0 -56
- package/test/integration/generated/models/propertyOptional/api-extractor.json +0 -18
- package/test/integration/generated/models/propertyOptional/package.json +0 -80
- package/test/integration/generated/models/propertyOptional/rollup.config.js +0 -118
- package/test/integration/generated/models/propertyOptional/src/clientDefinitions.ts +0 -263
- package/test/integration/generated/models/propertyOptional/src/index.ts +0 -13
- package/test/integration/generated/models/propertyOptional/src/logger.ts +0 -5
- package/test/integration/generated/models/propertyOptional/src/models.ts +0 -46
- package/test/integration/generated/models/propertyOptional/src/outputModels.ts +0 -46
- package/test/integration/generated/models/propertyOptional/src/parameters.ts +0 -125
- package/test/integration/generated/models/propertyOptional/src/responses.ts +0 -169
- package/test/integration/generated/models/propertyOptional/src/typePropertyOptional.ts +0 -35
- package/test/integration/generated/models/propertyOptional/tsconfig.json +0 -25
- package/test/integration/generated/models/propertyOptional/tspconfig.yaml +0 -14
- package/test/integration/generated/models/propertyTypes/.eslintrc.json +0 -11
- package/test/integration/generated/models/propertyTypes/README.md +0 -56
- package/test/integration/generated/models/propertyTypes/api-extractor.json +0 -18
- package/test/integration/generated/models/propertyTypes/package.json +0 -80
- package/test/integration/generated/models/propertyTypes/rollup.config.js +0 -118
- package/test/integration/generated/models/propertyTypes/src/clientDefinitions.ts +0 -310
- package/test/integration/generated/models/propertyTypes/src/index.ts +0 -13
- package/test/integration/generated/models/propertyTypes/src/logger.ts +0 -5
- package/test/integration/generated/models/propertyTypes/src/models.ts +0 -123
- package/test/integration/generated/models/propertyTypes/src/outputModels.ts +0 -123
- package/test/integration/generated/models/propertyTypes/src/parameters.ts +0 -189
- package/test/integration/generated/models/propertyTypes/src/responses.ts +0 -234
- package/test/integration/generated/models/propertyTypes/src/typePropertyValueTypes.ts +0 -35
- package/test/integration/generated/models/propertyTypes/tsconfig.json +0 -25
- package/test/integration/generated/models/propertyTypes/tspconfig.yaml +0 -14
- package/test/integration/generated/models/usage/.eslintrc.json +0 -11
- package/test/integration/generated/models/usage/README.md +0 -56
- package/test/integration/generated/models/usage/api-extractor.json +0 -18
- package/test/integration/generated/models/usage/package.json +0 -80
- package/test/integration/generated/models/usage/rollup.config.js +0 -118
- package/test/integration/generated/models/usage/src/clientDefinitions.ts +0 -41
- package/test/integration/generated/models/usage/src/index.ts +0 -13
- package/test/integration/generated/models/usage/src/logger.ts +0 -5
- package/test/integration/generated/models/usage/src/models.ts +0 -12
- package/test/integration/generated/models/usage/src/outputModels.ts +0 -12
- package/test/integration/generated/models/usage/src/parameters.ts +0 -19
- package/test/integration/generated/models/usage/src/responses.ts +0 -22
- package/test/integration/generated/models/usage/src/typeModelUsage.ts +0 -35
- package/test/integration/generated/models/usage/tsconfig.json +0 -25
- package/test/integration/generated/models/usage/tspconfig.yaml +0 -14
- package/test/integration/generated/models/visibility/.eslintrc.json +0 -11
- package/test/integration/generated/models/visibility/README.md +0 -56
- package/test/integration/generated/models/visibility/api-extractor.json +0 -18
- package/test/integration/generated/models/visibility/package.json +0 -80
- package/test/integration/generated/models/visibility/rollup.config.js +0 -118
- package/test/integration/generated/models/visibility/src/clientDefinitions.ts +0 -40
- package/test/integration/generated/models/visibility/src/index.ts +0 -13
- package/test/integration/generated/models/visibility/src/logger.ts +0 -5
- package/test/integration/generated/models/visibility/src/models.ts +0 -14
- package/test/integration/generated/models/visibility/src/outputModels.ts +0 -16
- package/test/integration/generated/models/visibility/src/parameters.ts +0 -41
- package/test/integration/generated/models/visibility/src/responses.ts +0 -36
- package/test/integration/generated/models/visibility/src/typeModelVisibility.ts +0 -35
- package/test/integration/generated/models/visibility/tsconfig.json +0 -25
- package/test/integration/generated/models/visibility/tspconfig.yaml +0 -14
- package/test/integration/generated/parameters/collection-format/src/clientDefinitions.ts +0 -63
- package/test/integration/generated/parameters/collection-format/src/collectionFormatClient.ts +0 -35
- package/test/integration/generated/parameters/collection-format/src/index.ts +0 -12
- package/test/integration/generated/parameters/collection-format/src/logger.ts +0 -5
- package/test/integration/generated/parameters/collection-format/src/parameters.ts +0 -71
- package/test/integration/generated/parameters/collection-format/src/responses.ts +0 -34
- package/test/integration/generated/parameters/collection-format/src/serializeHelper.ts +0 -28
- package/test/integration/generated/parameters/collection-format/tspconfig.yaml +0 -14
- package/test/integration/generated/parameters/spread/src/clientDefinitions.ts +0 -61
- package/test/integration/generated/parameters/spread/src/index.ts +0 -12
- package/test/integration/generated/parameters/spread/src/logger.ts +0 -5
- package/test/integration/generated/parameters/spread/src/models.ts +0 -7
- package/test/integration/generated/parameters/spread/src/parameters.ts +0 -61
- package/test/integration/generated/parameters/spread/src/parametersSpread.ts +0 -35
- package/test/integration/generated/parameters/spread/src/responses.ts +0 -25
- package/test/integration/generated/parameters/spread/tspconfig.yaml +0 -12
- package/test/integration/generated/projection/src/clientDefinitions.ts +0 -71
- package/test/integration/generated/projection/src/index.ts +0 -12
- package/test/integration/generated/projection/src/logger.ts +0 -5
- package/test/integration/generated/projection/src/models.ts +0 -22
- package/test/integration/generated/projection/src/parameters.ts +0 -48
- package/test/integration/generated/projection/src/projectionClient.ts +0 -35
- package/test/integration/generated/projection/src/responses.ts +0 -34
- package/test/integration/generated/projection/tspconfig.yaml +0 -14
- package/test/integration/generated/resiliency/srvDriven1/.eslintrc.json +0 -11
- package/test/integration/generated/resiliency/srvDriven1/README.md +0 -56
- package/test/integration/generated/resiliency/srvDriven1/api-extractor.json +0 -18
- package/test/integration/generated/resiliency/srvDriven1/package.json +0 -80
- package/test/integration/generated/resiliency/srvDriven1/rollup.config.js +0 -118
- package/test/integration/generated/resiliency/srvDriven1/src/clientDefinitions.ts +0 -46
- package/test/integration/generated/resiliency/srvDriven1/src/index.ts +0 -11
- package/test/integration/generated/resiliency/srvDriven1/src/logger.ts +0 -5
- package/test/integration/generated/resiliency/srvDriven1/src/parameters.ts +0 -30
- package/test/integration/generated/resiliency/srvDriven1/src/responses.ts +0 -19
- package/test/integration/generated/resiliency/srvDriven1/src/serviceDrivenOldClient.ts +0 -43
- package/test/integration/generated/resiliency/srvDriven1/tsconfig.json +0 -25
- package/test/integration/generated/resiliency/srvDriven1/tspconfig.yaml +0 -15
- package/test/integration/generated/resiliency/srvDriven2/.eslintrc.json +0 -11
- package/test/integration/generated/resiliency/srvDriven2/README.md +0 -65
- package/test/integration/generated/resiliency/srvDriven2/api-extractor.json +0 -18
- package/test/integration/generated/resiliency/srvDriven2/package.json +0 -80
- package/test/integration/generated/resiliency/srvDriven2/rollup.config.js +0 -118
- package/test/integration/generated/resiliency/srvDriven2/src/clientDefinitions.ts +0 -57
- package/test/integration/generated/resiliency/srvDriven2/src/index.ts +0 -11
- package/test/integration/generated/resiliency/srvDriven2/src/logger.ts +0 -5
- package/test/integration/generated/resiliency/srvDriven2/src/parameters.ts +0 -45
- package/test/integration/generated/resiliency/srvDriven2/src/responses.ts +0 -24
- package/test/integration/generated/resiliency/srvDriven2/src/serviceDrivenNewClient.ts +0 -43
- package/test/integration/generated/resiliency/srvDriven2/tsconfig.json +0 -25
- package/test/integration/generated/resiliency/srvDriven2/tspconfig.yaml +0 -15
- package/test/integration/generated/server/path/multiple/src/clientDefinitions.ts +0 -35
- package/test/integration/generated/server/path/multiple/src/index.ts +0 -11
- package/test/integration/generated/server/path/multiple/src/logger.ts +0 -5
- package/test/integration/generated/server/path/multiple/src/multipleParamInServerPathClient.ts +0 -43
- package/test/integration/generated/server/path/multiple/src/parameters.ts +0 -7
- package/test/integration/generated/server/path/multiple/src/responses.ts +0 -14
- package/test/integration/generated/server/path/multiple/tspconfig.yaml +0 -14
- package/test/integration/generated/server/path/single/src/clientDefinitions.ts +0 -19
- package/test/integration/generated/server/path/single/src/index.ts +0 -11
- package/test/integration/generated/server/path/single/src/logger.ts +0 -5
- package/test/integration/generated/server/path/single/src/parameters.ts +0 -6
- package/test/integration/generated/server/path/single/src/responses.ts +0 -9
- package/test/integration/generated/server/path/single/src/singleParamInServerPathClient.ts +0 -38
- package/test/integration/generated/server/path/single/tspconfig.yaml +0 -14
- package/test/integration/generated/specialWords/src/clientDefinitions.ts +0 -61
- package/test/integration/generated/specialWords/src/index.ts +0 -13
- package/test/integration/generated/specialWords/src/logger.ts +0 -5
- package/test/integration/generated/specialWords/src/models.ts +0 -17
- package/test/integration/generated/specialWords/src/outputModels.ts +0 -17
- package/test/integration/generated/specialWords/src/parameters.ts +0 -37
- package/test/integration/generated/specialWords/src/responses.ts +0 -31
- package/test/integration/generated/specialWords/src/specialWordsClient.ts +0 -35
- package/test/integration/generated/specialWords/tspconfig.yaml +0 -14
- package/test/integration/generated/unions/src/clientDefinitions.ts +0 -53
- package/test/integration/generated/unions/src/index.ts +0 -12
- package/test/integration/generated/unions/src/logger.ts +0 -5
- package/test/integration/generated/unions/src/models.ts +0 -27
- package/test/integration/generated/unions/src/parameters.ts +0 -34
- package/test/integration/generated/unions/src/responses.ts +0 -24
- package/test/integration/generated/unions/src/unionsClient.ts +0 -35
- package/test/integration/generated/unions/tspconfig.yaml +0 -14
- package/test/integration/internal.spec.ts +0 -76
- package/test/integration/lroCore.spec.ts +0 -89
- package/test/integration/modelInheritance.spec.ts +0 -192
- package/test/integration/modelPropertyNullable.spec.ts +0 -115
- package/test/integration/modelPropertyOptional.spec.ts +0 -362
- package/test/integration/modelPropertyType.spec.ts +0 -135
- package/test/integration/modelUsage.spec.ts +0 -47
- package/test/integration/projection.spec.ts +0 -102
- package/test/integration/resiliencyDpgCustomization.spec.ts +0 -147
- package/test/integration/server.spec.ts +0 -59
- package/test/integration/specialWords.spec.ts +0 -73
- package/test/integration/spreadParameters.spec.ts +0 -82
- package/test/integration/unions.spec.ts +0 -69
- package/test/tsconfig.json +0 -4
- package/test/unit/apiVersion.spec.ts +0 -400
- package/test/unit/azureCoreOperationsGenerator.spec.ts +0 -71
- package/test/unit/clientDefinitionGenerator.spec.ts +0 -73
- package/test/unit/clientFactoryGenerator.spec.ts +0 -404
- package/test/unit/docsGenerator.spec.ts +0 -201
- package/test/unit/modelsGenerator.spec.ts +0 -1529
- package/test/unit/parametersGenerator.spec.ts +0 -561
- package/test/unit/responsesGenerator.spec.ts +0 -462
- package/test/unit/spreadAndAlias.spec.ts +0 -200
- package/test/unit/util/emitUtil.ts +0 -166
- package/test/unit/util/testUtil.ts +0 -88
- package/test/util/customBearerTokenTestingPolicy.ts +0 -78
- package/test/util/matrix.ts +0 -48
- package/tsconfig.json +0 -36
- package/tsconfig.test.json +0 -7
- package/typespec-ts.build.log +0 -1
|
@@ -33,10 +33,10 @@ import {
|
|
|
33
33
|
EmitContext,
|
|
34
34
|
listServices,
|
|
35
35
|
Union,
|
|
36
|
-
isNullType,
|
|
37
|
-
SyntaxKind,
|
|
38
36
|
Type,
|
|
39
|
-
|
|
37
|
+
IntrinsicType,
|
|
38
|
+
getProjectedName,
|
|
39
|
+
isNullType
|
|
40
40
|
} from "@typespec/compiler";
|
|
41
41
|
import {
|
|
42
42
|
getAuthentication,
|
|
@@ -64,7 +64,11 @@ import {
|
|
|
64
64
|
getDefaultApiVersion,
|
|
65
65
|
getClientNamespaceString,
|
|
66
66
|
createSdkContext,
|
|
67
|
-
SdkContext
|
|
67
|
+
SdkContext,
|
|
68
|
+
getSdkUnion,
|
|
69
|
+
getAllModels,
|
|
70
|
+
SdkSimpleType,
|
|
71
|
+
getSdkSimpleType
|
|
68
72
|
} from "@azure-tools/typespec-client-generator-core";
|
|
69
73
|
import { getResourceOperation } from "@typespec/rest";
|
|
70
74
|
import {
|
|
@@ -160,12 +164,12 @@ function isLro(_program: Program, operation: Operation): boolean {
|
|
|
160
164
|
return false;
|
|
161
165
|
}
|
|
162
166
|
|
|
163
|
-
function handleDiscriminator(
|
|
164
|
-
const discriminator = getDiscriminator(program, type);
|
|
167
|
+
function handleDiscriminator(context: SdkContext, type: Model, model: any) {
|
|
168
|
+
const discriminator = getDiscriminator(context.program, type);
|
|
165
169
|
if (discriminator) {
|
|
166
170
|
let discriminatorProperty;
|
|
167
171
|
for (const childModel of type.derivedModels) {
|
|
168
|
-
const modelType = getType(
|
|
172
|
+
const modelType = getType(context, childModel);
|
|
169
173
|
for (const property of modelType.properties) {
|
|
170
174
|
if (property.restApiName === discriminator.propertyName) {
|
|
171
175
|
modelType.discriminatorValue = property.type.value;
|
|
@@ -190,7 +194,7 @@ function handleDiscriminator(program: Program, type: Model, model: any) {
|
|
|
190
194
|
}
|
|
191
195
|
}
|
|
192
196
|
|
|
193
|
-
function getEffectiveSchemaType(program: Program, type: Model): Model {
|
|
197
|
+
function getEffectiveSchemaType(program: Program, type: Model | Union): Model {
|
|
194
198
|
function isSchemaProperty(property: ModelProperty) {
|
|
195
199
|
const headerInfo = getHeaderFieldName(program, property);
|
|
196
200
|
const queryInfo = getQueryParamName(program, property);
|
|
@@ -199,41 +203,95 @@ function getEffectiveSchemaType(program: Program, type: Model): Model {
|
|
|
199
203
|
return !(headerInfo || queryInfo || pathInfo || statusCodeinfo);
|
|
200
204
|
}
|
|
201
205
|
|
|
202
|
-
|
|
206
|
+
let effective: Model;
|
|
207
|
+
if (type.kind === "Union") {
|
|
208
|
+
const nonNullOptions = [...type.variants.values()]
|
|
209
|
+
.map((x) => x.type)
|
|
210
|
+
.filter((t) => !isNullType(t));
|
|
211
|
+
if (nonNullOptions.length === 1 && nonNullOptions[0]?.kind === "Model") {
|
|
212
|
+
effective = getEffectiveModelType(program, nonNullOptions[0]);
|
|
213
|
+
}
|
|
214
|
+
return type as any;
|
|
215
|
+
} else {
|
|
216
|
+
effective = getEffectiveModelType(program, type, isSchemaProperty);
|
|
217
|
+
}
|
|
218
|
+
|
|
203
219
|
if (effective.name) {
|
|
204
220
|
return effective;
|
|
205
221
|
}
|
|
206
|
-
return type;
|
|
222
|
+
return type as Model;
|
|
207
223
|
}
|
|
208
224
|
|
|
209
|
-
function
|
|
225
|
+
function isEmptyModel(type: EmitterType): boolean {
|
|
226
|
+
// object, {}, Model{} all will be treated as empty model
|
|
227
|
+
return (
|
|
228
|
+
type.kind === "Model" &&
|
|
229
|
+
type.properties.size === 0 &&
|
|
230
|
+
!type.baseModel &&
|
|
231
|
+
type.derivedModels.length === 0 &&
|
|
232
|
+
!type.indexer
|
|
233
|
+
);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
function processModelProperties(
|
|
237
|
+
context: SdkContext,
|
|
238
|
+
newValue: any,
|
|
239
|
+
model: Model
|
|
240
|
+
) {
|
|
241
|
+
// need to do properties after insertion to avoid infinite recursion
|
|
242
|
+
for (const property of model.properties.values()) {
|
|
243
|
+
if (
|
|
244
|
+
isStatusCode(context.program, property) ||
|
|
245
|
+
isNeverType(property.type) ||
|
|
246
|
+
isHeader(context.program, property)
|
|
247
|
+
) {
|
|
248
|
+
continue;
|
|
249
|
+
}
|
|
250
|
+
newValue.properties.push(emitProperty(context, property));
|
|
251
|
+
}
|
|
252
|
+
// need to do discriminator outside `emitModel` to avoid infinite recursion
|
|
253
|
+
handleDiscriminator(context, model, newValue);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
function getType(
|
|
257
|
+
context: SdkContext,
|
|
258
|
+
type: EmitterType,
|
|
259
|
+
options: { disableEffectiveModel?: boolean } = {}
|
|
260
|
+
): any {
|
|
210
261
|
// don't cache simple type(string, int, etc) since decorators may change the result
|
|
211
|
-
const enableCache =
|
|
262
|
+
const enableCache =
|
|
263
|
+
!isSimpleType(context.program, type) && !isEmptyModel(type);
|
|
212
264
|
const effectiveModel =
|
|
213
|
-
|
|
265
|
+
!options.disableEffectiveModel &&
|
|
266
|
+
(type.kind === "Model" || type.kind === "Union")
|
|
267
|
+
? getEffectiveSchemaType(context.program, type)
|
|
268
|
+
: type;
|
|
214
269
|
if (enableCache) {
|
|
215
270
|
const cached = typesMap.get(effectiveModel);
|
|
216
271
|
if (cached) {
|
|
217
272
|
return cached;
|
|
218
273
|
}
|
|
219
274
|
}
|
|
220
|
-
let newValue: any
|
|
275
|
+
let newValue: any;
|
|
276
|
+
if (isEmptyModel(type)) {
|
|
277
|
+
// do not generate model for empty model, treat it as any
|
|
278
|
+
newValue = { type: "any" };
|
|
279
|
+
} else {
|
|
280
|
+
newValue = emitType(context, type);
|
|
281
|
+
}
|
|
282
|
+
|
|
221
283
|
if (enableCache) {
|
|
222
284
|
typesMap.set(effectiveModel, newValue);
|
|
223
|
-
if (type.kind === "
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
isStatusCode(program, property) ||
|
|
228
|
-
isNeverType(property.type) ||
|
|
229
|
-
isHeader(program, property)
|
|
230
|
-
) {
|
|
231
|
-
continue;
|
|
285
|
+
if (type.kind === "Union") {
|
|
286
|
+
for (const t of type.variants.values()) {
|
|
287
|
+
if (t.type.kind === "Model") {
|
|
288
|
+
processModelProperties(context, newValue, t.type);
|
|
232
289
|
}
|
|
233
|
-
newValue.properties.push(emitProperty(program, property));
|
|
234
290
|
}
|
|
235
|
-
|
|
236
|
-
|
|
291
|
+
}
|
|
292
|
+
if (type.kind === "Model") {
|
|
293
|
+
// need to do properties after insertion to avoid infinite recursion
|
|
294
|
+
processModelProperties(context, newValue, type);
|
|
237
295
|
}
|
|
238
296
|
} else {
|
|
239
297
|
const key = JSON.stringify(newValue);
|
|
@@ -336,12 +394,12 @@ function getBodyType(program: Program, route: HttpOperation): Type {
|
|
|
336
394
|
}
|
|
337
395
|
|
|
338
396
|
function emitBodyParameter(
|
|
339
|
-
|
|
397
|
+
context: SdkContext,
|
|
340
398
|
httpOperation: HttpOperation
|
|
341
399
|
): BodyParameter {
|
|
342
400
|
const params = httpOperation.parameters;
|
|
343
401
|
const body = params.body!;
|
|
344
|
-
const base = emitParamBase(program, body.parameter ?? body.type);
|
|
402
|
+
const base = emitParamBase(context.program, body.parameter ?? body.type);
|
|
345
403
|
let contentTypes = body.contentTypes;
|
|
346
404
|
if (contentTypes.length === 0) {
|
|
347
405
|
contentTypes = ["application/json"];
|
|
@@ -349,7 +407,9 @@ function emitBodyParameter(
|
|
|
349
407
|
if (contentTypes.length !== 1) {
|
|
350
408
|
throw Error("Currently only one kind of content-type!");
|
|
351
409
|
}
|
|
352
|
-
const type = getType(
|
|
410
|
+
const type = getType(context, getBodyType(context.program, httpOperation), {
|
|
411
|
+
disableEffectiveModel: true
|
|
412
|
+
});
|
|
353
413
|
|
|
354
414
|
if (type.type === "model" && type.name === "") {
|
|
355
415
|
type.name = capitalize(httpOperation.operation.name) + "Request";
|
|
@@ -374,7 +434,7 @@ function emitParameter(
|
|
|
374
434
|
implementation: string
|
|
375
435
|
): Parameter {
|
|
376
436
|
const base = emitParamBase(context.program, parameter.param);
|
|
377
|
-
let type = getType(context
|
|
437
|
+
let type = getType(context, parameter.param.type);
|
|
378
438
|
let clientDefaultValue = undefined;
|
|
379
439
|
if (
|
|
380
440
|
parameter.name.toLowerCase() === "content-type" &&
|
|
@@ -414,28 +474,6 @@ function emitParameter(
|
|
|
414
474
|
return { clientDefaultValue, ...base, ...paramMap };
|
|
415
475
|
}
|
|
416
476
|
|
|
417
|
-
function emitContentTypeParameter(
|
|
418
|
-
bodyParameter: any,
|
|
419
|
-
inOverload: boolean,
|
|
420
|
-
inOverriden: boolean
|
|
421
|
-
) {
|
|
422
|
-
return {
|
|
423
|
-
checkClientInput: false,
|
|
424
|
-
clientDefaultValue: bodyParameter.defaultContentType,
|
|
425
|
-
clientName: "content_type",
|
|
426
|
-
delimiter: null,
|
|
427
|
-
description: `Body parameter Content-Type. Known values are: ${bodyParameter.contentTypes}.`,
|
|
428
|
-
implementation: "Method",
|
|
429
|
-
inDocstring: true,
|
|
430
|
-
inOverload: inOverload,
|
|
431
|
-
inOverriden: inOverriden,
|
|
432
|
-
location: "header",
|
|
433
|
-
optional: true,
|
|
434
|
-
restApiName: "Content-Type",
|
|
435
|
-
type: { type: "string" }
|
|
436
|
-
};
|
|
437
|
-
}
|
|
438
|
-
|
|
439
477
|
function emitFlattenedParameter(
|
|
440
478
|
bodyParameter: Record<string, any>,
|
|
441
479
|
property: any
|
|
@@ -478,33 +516,8 @@ function getConstantType(key: string): HrlcType {
|
|
|
478
516
|
return type;
|
|
479
517
|
}
|
|
480
518
|
|
|
481
|
-
function emitAcceptParameter(
|
|
482
|
-
_program: Program,
|
|
483
|
-
inOverload: boolean,
|
|
484
|
-
inOverriden: boolean
|
|
485
|
-
): Record<string, any> {
|
|
486
|
-
return {
|
|
487
|
-
checkClientInput: false,
|
|
488
|
-
clientDefaultValue: "application/json",
|
|
489
|
-
clientName: "accept",
|
|
490
|
-
delimiter: null,
|
|
491
|
-
description: "Accept header.",
|
|
492
|
-
explode: false,
|
|
493
|
-
groupedBy: null,
|
|
494
|
-
implementation: "Method",
|
|
495
|
-
inDocstring: true,
|
|
496
|
-
inOverload: inOverload,
|
|
497
|
-
inOverriden: inOverriden,
|
|
498
|
-
location: "header",
|
|
499
|
-
optional: false,
|
|
500
|
-
restApiName: "Accept",
|
|
501
|
-
skipUrlEncoding: false,
|
|
502
|
-
type: getConstantType("application/json")
|
|
503
|
-
};
|
|
504
|
-
}
|
|
505
|
-
|
|
506
519
|
function emitResponseHeaders(
|
|
507
|
-
|
|
520
|
+
context: SdkContext,
|
|
508
521
|
headers?: Record<string, ModelProperty>
|
|
509
522
|
): Header[] {
|
|
510
523
|
const retval: Header[] = [];
|
|
@@ -513,7 +526,7 @@ function emitResponseHeaders(
|
|
|
513
526
|
}
|
|
514
527
|
for (const [key, value] of Object.entries(headers)) {
|
|
515
528
|
retval.push({
|
|
516
|
-
type: getType(
|
|
529
|
+
type: getType(context, value.type),
|
|
517
530
|
restApiName: key
|
|
518
531
|
});
|
|
519
532
|
}
|
|
@@ -538,7 +551,7 @@ function isAzureCoreErrorType(t?: Type): boolean {
|
|
|
538
551
|
}
|
|
539
552
|
|
|
540
553
|
function emitResponse(
|
|
541
|
-
|
|
554
|
+
context: SdkContext,
|
|
542
555
|
response: HttpOperationResponse,
|
|
543
556
|
innerResponse: HttpOperationResponseContent
|
|
544
557
|
): Response {
|
|
@@ -558,10 +571,10 @@ function emitResponse(
|
|
|
558
571
|
innerResponse.body.type.kind === "Model" &&
|
|
559
572
|
candidate.find((e) => e === originType.name)
|
|
560
573
|
) {
|
|
561
|
-
const modelType = getEffectiveSchemaType(program, originType);
|
|
562
|
-
type = getType(
|
|
574
|
+
const modelType = getEffectiveSchemaType(context.program, originType);
|
|
575
|
+
type = getType(context, modelType);
|
|
563
576
|
} else {
|
|
564
|
-
type = getType(
|
|
577
|
+
type = getType(context, innerResponse.body.type);
|
|
565
578
|
}
|
|
566
579
|
}
|
|
567
580
|
const statusCodes: (number | "default")[] = [];
|
|
@@ -571,9 +584,9 @@ function emitResponse(
|
|
|
571
584
|
statusCodes.push(parseInt(response.statusCode));
|
|
572
585
|
}
|
|
573
586
|
return {
|
|
574
|
-
headers: emitResponseHeaders(
|
|
587
|
+
headers: emitResponseHeaders(context, innerResponse.headers),
|
|
575
588
|
statusCodes: statusCodes ?? [],
|
|
576
|
-
addedOn: getAddedOnVersion(program, response.type),
|
|
589
|
+
addedOn: getAddedOnVersion(context.program, response.type),
|
|
577
590
|
discriminator: "basic",
|
|
578
591
|
type: type
|
|
579
592
|
};
|
|
@@ -687,23 +700,13 @@ function emitBasicOperation(
|
|
|
687
700
|
const responses: Response[] = [];
|
|
688
701
|
const exceptions: Response[] = [];
|
|
689
702
|
const isOverload: boolean = false;
|
|
690
|
-
const isOverriden: boolean = false;
|
|
691
703
|
for (const response of httpOperation.responses) {
|
|
692
704
|
for (const innerResponse of response.responses) {
|
|
693
705
|
const emittedResponse: Response = emitResponse(
|
|
694
|
-
context
|
|
706
|
+
context,
|
|
695
707
|
response,
|
|
696
708
|
innerResponse
|
|
697
709
|
);
|
|
698
|
-
if (
|
|
699
|
-
emittedResponse["type"] &&
|
|
700
|
-
parameters.filter((e) => e.restApiName.toLowerCase() === "accept")
|
|
701
|
-
.length === 0
|
|
702
|
-
) {
|
|
703
|
-
parameters.push(
|
|
704
|
-
emitAcceptParameter(context.program, isOverload, isOverriden)
|
|
705
|
-
);
|
|
706
|
-
}
|
|
707
710
|
if (isErrorModel(context.program, response.type)) {
|
|
708
711
|
// * is valid status code in cadl but invalid for autorest.python
|
|
709
712
|
if (response.statusCode === "*") {
|
|
@@ -719,15 +722,7 @@ function emitBasicOperation(
|
|
|
719
722
|
if (httpOperation.parameters.body === undefined) {
|
|
720
723
|
bodyParameter = undefined;
|
|
721
724
|
} else {
|
|
722
|
-
bodyParameter = emitBodyParameter(context
|
|
723
|
-
if (
|
|
724
|
-
parameters.filter((e) => e.restApiName.toLowerCase() === "content-type")
|
|
725
|
-
.length === 0
|
|
726
|
-
) {
|
|
727
|
-
parameters.push(
|
|
728
|
-
emitContentTypeParameter(bodyParameter, isOverload, isOverriden)
|
|
729
|
-
);
|
|
730
|
-
}
|
|
725
|
+
bodyParameter = emitBodyParameter(context, httpOperation);
|
|
731
726
|
if (
|
|
732
727
|
bodyParameter.type.type === "model" &&
|
|
733
728
|
bodyParameter.type.base === "json"
|
|
@@ -775,7 +770,7 @@ function isReadOnly(program: Program, type: ModelProperty): boolean {
|
|
|
775
770
|
}
|
|
776
771
|
|
|
777
772
|
function emitProperty(
|
|
778
|
-
|
|
773
|
+
context: SdkContext,
|
|
779
774
|
property: ModelProperty
|
|
780
775
|
): Record<string, any> {
|
|
781
776
|
let clientDefaultValue = undefined;
|
|
@@ -788,15 +783,24 @@ function emitProperty(
|
|
|
788
783
|
) {
|
|
789
784
|
clientDefaultValue = property.default.value;
|
|
790
785
|
}
|
|
791
|
-
|
|
786
|
+
|
|
787
|
+
// const [clientName, jsonName] = getPropertyNames(context, property);
|
|
788
|
+
const clientName = property.name;
|
|
789
|
+
const jsonName =
|
|
790
|
+
getProjectedName(context.program, property, "json") ?? property.name;
|
|
791
|
+
|
|
792
|
+
if (property.model) {
|
|
793
|
+
getType(context, property.model);
|
|
794
|
+
}
|
|
792
795
|
return {
|
|
793
|
-
clientName: applyCasing(
|
|
794
|
-
restApiName:
|
|
795
|
-
type: getType(
|
|
796
|
+
clientName: applyCasing(clientName, { casing: CASING }),
|
|
797
|
+
restApiName: jsonName,
|
|
798
|
+
type: getType(context, property.type),
|
|
796
799
|
optional: property.optional,
|
|
797
|
-
description: getDocStr(program, property),
|
|
798
|
-
addedOn: getAddedOnVersion(program, property),
|
|
799
|
-
readonly:
|
|
800
|
+
description: getDocStr(context.program, property),
|
|
801
|
+
addedOn: getAddedOnVersion(context.program, property),
|
|
802
|
+
readonly:
|
|
803
|
+
isReadOnly(context.program, property) || isKey(context.program, property),
|
|
800
804
|
clientDefaultValue: clientDefaultValue
|
|
801
805
|
};
|
|
802
806
|
}
|
|
@@ -823,23 +827,25 @@ function getName(program: Program, type: Model): string {
|
|
|
823
827
|
}
|
|
824
828
|
}
|
|
825
829
|
|
|
826
|
-
function emitModel(
|
|
830
|
+
function emitModel(context: SdkContext, type: Model): Record<string, any> {
|
|
827
831
|
// Now we know it's a defined model
|
|
828
832
|
const properties: Record<string, any>[] = [];
|
|
829
833
|
let baseModel = undefined;
|
|
830
834
|
if (type.baseModel) {
|
|
831
|
-
baseModel = getType(
|
|
835
|
+
baseModel = getType(context, type.baseModel);
|
|
832
836
|
}
|
|
833
|
-
const effectiveName = getEffectiveSchemaType(program, type).name;
|
|
834
|
-
const modelName = effectiveName
|
|
837
|
+
const effectiveName = getEffectiveSchemaType(context.program, type).name;
|
|
838
|
+
const modelName = effectiveName
|
|
839
|
+
? effectiveName
|
|
840
|
+
: getName(context.program, type);
|
|
835
841
|
return {
|
|
836
842
|
type: "model",
|
|
837
843
|
name: modelName,
|
|
838
|
-
description: getDocStr(program, type),
|
|
844
|
+
description: getDocStr(context.program, type),
|
|
839
845
|
parents: baseModel ? [baseModel] : [],
|
|
840
846
|
discriminatedSubtypes: {},
|
|
841
847
|
properties: properties,
|
|
842
|
-
addedOn: getAddedOnVersion(program, type),
|
|
848
|
+
addedOn: getAddedOnVersion(context.program, type),
|
|
843
849
|
snakeCaseName: modelName
|
|
844
850
|
? applyCasing(modelName, { casing: CASING })
|
|
845
851
|
: modelName,
|
|
@@ -933,7 +939,7 @@ function emitStdScalar(
|
|
|
933
939
|
): Record<string, any> {
|
|
934
940
|
switch (scalar.name) {
|
|
935
941
|
case "bytes":
|
|
936
|
-
return { type: "
|
|
942
|
+
return { type: "Uint8Array", format: "byte" };
|
|
937
943
|
case "int8":
|
|
938
944
|
case "int16":
|
|
939
945
|
case "int32":
|
|
@@ -1036,7 +1042,7 @@ function emitScalar(program: Program, scalar: Scalar): Record<string, any> {
|
|
|
1036
1042
|
}
|
|
1037
1043
|
|
|
1038
1044
|
function emitListOrDict(
|
|
1039
|
-
|
|
1045
|
+
context: SdkContext,
|
|
1040
1046
|
type: Model
|
|
1041
1047
|
): Record<string, any> | undefined {
|
|
1042
1048
|
if (type.indexer !== undefined) {
|
|
@@ -1045,12 +1051,12 @@ function emitListOrDict(
|
|
|
1045
1051
|
if (name === "string") {
|
|
1046
1052
|
return {
|
|
1047
1053
|
type: "dict",
|
|
1048
|
-
elementType: getType(
|
|
1054
|
+
elementType: getType(context, type.indexer.value!)
|
|
1049
1055
|
};
|
|
1050
1056
|
} else if (name === "integer") {
|
|
1051
1057
|
return {
|
|
1052
1058
|
type: "list",
|
|
1053
|
-
elementType: getType(
|
|
1059
|
+
elementType: getType(context, type.indexer.value!)
|
|
1054
1060
|
};
|
|
1055
1061
|
}
|
|
1056
1062
|
}
|
|
@@ -1058,7 +1064,7 @@ function emitListOrDict(
|
|
|
1058
1064
|
return undefined;
|
|
1059
1065
|
}
|
|
1060
1066
|
|
|
1061
|
-
function mapCadlType(
|
|
1067
|
+
function mapCadlType(context: SdkContext, type: Type): any {
|
|
1062
1068
|
switch (type.kind) {
|
|
1063
1069
|
case "Number":
|
|
1064
1070
|
return constantType(type.value, intOrFloat(type.value));
|
|
@@ -1067,7 +1073,7 @@ function mapCadlType(program: Program, type: Type): any {
|
|
|
1067
1073
|
case "Boolean":
|
|
1068
1074
|
return constantType(type.value, "boolean");
|
|
1069
1075
|
case "Model":
|
|
1070
|
-
return emitListOrDict(
|
|
1076
|
+
return emitListOrDict(context, type);
|
|
1071
1077
|
}
|
|
1072
1078
|
}
|
|
1073
1079
|
|
|
@@ -1075,82 +1081,94 @@ function capitalize(name: string): string {
|
|
|
1075
1081
|
return name[0]!.toUpperCase() + name.slice(1);
|
|
1076
1082
|
}
|
|
1077
1083
|
|
|
1078
|
-
function emitUnion(
|
|
1079
|
-
const
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
const notLiteral = (t: Type): boolean =>
|
|
1084
|
-
["Boolean", "Number", "String"].indexOf(t.kind) < 0;
|
|
1085
|
-
if (nonNullOptions.length > 1) {
|
|
1086
|
-
if (nonNullOptions.every(notLiteral)) {
|
|
1087
|
-
// Generate as CombinedType if non of the options is Literal.
|
|
1088
|
-
const unionName = `MyCombinedType`;
|
|
1089
|
-
return {
|
|
1090
|
-
name: unionName,
|
|
1091
|
-
snakeCaseName: applyCasing(unionName, { casing: CASING }),
|
|
1092
|
-
description: `Type of ${unionName}`,
|
|
1093
|
-
isPublic: false,
|
|
1094
|
-
type: "combined",
|
|
1095
|
-
types: nonNullOptions.map((x) => emitType(program, x)),
|
|
1096
|
-
xmlMetadata: {}
|
|
1097
|
-
};
|
|
1098
|
-
} else if (nonNullOptions.some(notLiteral)) {
|
|
1099
|
-
// Can't generate if this union is a mixed up of literals and sub-types
|
|
1100
|
-
throw Error(`Can't do union for ${JSON.stringify(nonNullOptions)}`);
|
|
1101
|
-
}
|
|
1084
|
+
function emitUnion(context: SdkContext, type: Union): Record<string, any> {
|
|
1085
|
+
const sdkType = getSdkUnion(context, type);
|
|
1086
|
+
if (sdkType === undefined) {
|
|
1087
|
+
throw Error("Should not have an empty union");
|
|
1102
1088
|
}
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1089
|
+
if (sdkType.kind === "union") {
|
|
1090
|
+
const unionName = type.name;
|
|
1091
|
+
return {
|
|
1092
|
+
nullable: sdkType.nullable,
|
|
1093
|
+
name: unionName,
|
|
1094
|
+
description: `Type of ${unionName}`,
|
|
1095
|
+
internal: true,
|
|
1096
|
+
type: "combined",
|
|
1097
|
+
types: sdkType.values.map((x) => getType(context, x.__raw)),
|
|
1098
|
+
xmlMetadata: {}
|
|
1099
|
+
};
|
|
1100
|
+
} else if (sdkType.kind === "enum") {
|
|
1101
|
+
return {
|
|
1102
|
+
name: sdkType.name,
|
|
1103
|
+
nullable: sdkType.nullable,
|
|
1104
|
+
description: sdkType.doc || `Type of ${sdkType.name}`,
|
|
1105
|
+
internal: true,
|
|
1106
|
+
type: sdkType.kind,
|
|
1107
|
+
valueType: emitSimpleType(context, sdkType.valueType as SdkSimpleType),
|
|
1108
|
+
values: sdkType.values.map((x) => emitEnumMember(x)),
|
|
1109
|
+
isFixed: sdkType.isFixed === false ? false : true,
|
|
1110
|
+
xmlMetadata: {}
|
|
1111
|
+
};
|
|
1112
|
+
} else {
|
|
1113
|
+
return { nullable: sdkType.nullable, ...emitType(context, sdkType.__raw) };
|
|
1113
1114
|
}
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1115
|
+
}
|
|
1116
|
+
|
|
1117
|
+
function emitEnumMember(type: any): Record<string, any> {
|
|
1118
|
+
return {
|
|
1119
|
+
name: enumName(type.name),
|
|
1120
|
+
value: type.value,
|
|
1121
|
+
description: type.doc
|
|
1122
|
+
};
|
|
1123
|
+
}
|
|
1124
|
+
|
|
1125
|
+
function emitSimpleType(
|
|
1126
|
+
context: SdkContext,
|
|
1127
|
+
type: Scalar | IntrinsicType | SdkSimpleType
|
|
1128
|
+
): Record<string, any> {
|
|
1129
|
+
let sdkType: SdkSimpleType;
|
|
1130
|
+
if (type.kind === "Scalar" || type.kind === "Intrinsic") {
|
|
1131
|
+
sdkType = getSdkSimpleType(context, type);
|
|
1132
|
+
} else {
|
|
1133
|
+
sdkType = type;
|
|
1134
|
+
}
|
|
1135
|
+
|
|
1136
|
+
const extraInformation: Record<string, any> = {};
|
|
1137
|
+
if (sdkType.kind === "string") {
|
|
1138
|
+
extraInformation["pattern"] = sdkType.pattern;
|
|
1139
|
+
extraInformation["minLength"] = sdkType.minLength;
|
|
1140
|
+
extraInformation["maxLength"] = sdkType.maxLength;
|
|
1141
|
+
} else if (
|
|
1142
|
+
sdkType.kind === "int32" ||
|
|
1143
|
+
sdkType.kind === "int64" ||
|
|
1144
|
+
sdkType.kind === "float32" ||
|
|
1145
|
+
sdkType.kind === "float64"
|
|
1121
1146
|
) {
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
} else if (type.node.parent.kind === SyntaxKind.ModelProperty) {
|
|
1125
|
-
const parent = type.node.parent as any;
|
|
1126
|
-
if (parent.id.sv) {
|
|
1127
|
-
enumName = capitalize(parent.id.sv) + "Type";
|
|
1128
|
-
}
|
|
1129
|
-
}
|
|
1147
|
+
extraInformation["minValue"] = sdkType.minValue;
|
|
1148
|
+
extraInformation["maxValue"] = sdkType.maxValue;
|
|
1130
1149
|
}
|
|
1131
1150
|
return {
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
xmlMetadata: {}
|
|
1151
|
+
nullable: sdkType.nullable,
|
|
1152
|
+
type: "number", // TODO: switch to kind
|
|
1153
|
+
doc: sdkType.doc,
|
|
1154
|
+
apiVersions: sdkType.apiVersions,
|
|
1155
|
+
sdkDefaultValue: sdkType.sdkDefaultValue,
|
|
1156
|
+
format: sdkType.format,
|
|
1157
|
+
...extraInformation
|
|
1140
1158
|
};
|
|
1141
1159
|
}
|
|
1142
1160
|
|
|
1143
|
-
function emitType(
|
|
1161
|
+
function emitType(context: SdkContext, type: EmitterType): Record<string, any> {
|
|
1144
1162
|
if (type.kind === "Credential") {
|
|
1145
1163
|
return emitCredential(type.scheme);
|
|
1146
1164
|
}
|
|
1147
1165
|
if (type.kind === "CredentialTypeUnion") {
|
|
1148
1166
|
return emitCredentialUnion(type);
|
|
1149
1167
|
}
|
|
1150
|
-
const builtinType = mapCadlType(
|
|
1168
|
+
const builtinType = mapCadlType(context, type);
|
|
1151
1169
|
if (builtinType !== undefined) {
|
|
1152
1170
|
// add in description elements for types derived from primitive types (SecureString, etc.)
|
|
1153
|
-
const doc = getDoc(program, type);
|
|
1171
|
+
const doc = getDoc(context.program, type);
|
|
1154
1172
|
if (doc) {
|
|
1155
1173
|
builtinType.description = doc;
|
|
1156
1174
|
}
|
|
@@ -1159,17 +1177,17 @@ function emitType(program: Program, type: EmitterType): Record<string, any> {
|
|
|
1159
1177
|
|
|
1160
1178
|
switch (type.kind) {
|
|
1161
1179
|
case "Intrinsic":
|
|
1162
|
-
return { type:
|
|
1180
|
+
return { type: type.name };
|
|
1163
1181
|
case "Model":
|
|
1164
|
-
return emitModel(
|
|
1182
|
+
return emitModel(context, type);
|
|
1165
1183
|
case "Scalar":
|
|
1166
|
-
return emitScalar(program, type);
|
|
1184
|
+
return emitScalar(context.program, type);
|
|
1167
1185
|
case "Union":
|
|
1168
|
-
return emitUnion(
|
|
1186
|
+
return emitUnion(context, type);
|
|
1169
1187
|
case "UnionVariant":
|
|
1170
1188
|
return {};
|
|
1171
1189
|
case "Enum":
|
|
1172
|
-
return emitEnum(program, type);
|
|
1190
|
+
return emitEnum(context.program, type);
|
|
1173
1191
|
default:
|
|
1174
1192
|
throw Error(`Not supported ${type.kind}`);
|
|
1175
1193
|
}
|
|
@@ -1282,10 +1300,10 @@ function emitServerParams(
|
|
|
1282
1300
|
}
|
|
1283
1301
|
|
|
1284
1302
|
function emitCredentialParam(
|
|
1285
|
-
|
|
1303
|
+
context: SdkContext,
|
|
1286
1304
|
namespace: Namespace
|
|
1287
1305
|
): Parameter | undefined {
|
|
1288
|
-
const auth = getAuthentication(program, namespace);
|
|
1306
|
+
const auth = getAuthentication(context.program, namespace);
|
|
1289
1307
|
if (auth) {
|
|
1290
1308
|
const credential_types: CredentialType[] = [];
|
|
1291
1309
|
for (const option of auth.options) {
|
|
@@ -1308,7 +1326,7 @@ function emitCredentialParam(
|
|
|
1308
1326
|
};
|
|
1309
1327
|
}
|
|
1310
1328
|
return {
|
|
1311
|
-
type: getType(
|
|
1329
|
+
type: getType(context, type),
|
|
1312
1330
|
optional: false,
|
|
1313
1331
|
description: "Credential needed for the client to connect to Azure.",
|
|
1314
1332
|
clientName: "credential",
|
|
@@ -1328,7 +1346,7 @@ function emitGlobalParameters(
|
|
|
1328
1346
|
namespace: Namespace
|
|
1329
1347
|
): Parameter[] {
|
|
1330
1348
|
const clientParameters = emitServerParams(context, namespace);
|
|
1331
|
-
const credentialParam = emitCredentialParam(context
|
|
1349
|
+
const credentialParam = emitCredentialParam(context, namespace);
|
|
1332
1350
|
if (credentialParam) {
|
|
1333
1351
|
clientParameters.push(credentialParam);
|
|
1334
1352
|
}
|
|
@@ -1430,6 +1448,12 @@ export function emitCodeModel(
|
|
|
1430
1448
|
clients: [],
|
|
1431
1449
|
types: []
|
|
1432
1450
|
};
|
|
1451
|
+
|
|
1452
|
+
const allModels = getAllModels(dpgContext);
|
|
1453
|
+
for (const model of allModels) {
|
|
1454
|
+
getType(dpgContext, model);
|
|
1455
|
+
}
|
|
1456
|
+
|
|
1433
1457
|
for (const namespace of getNamespaces(dpgContext)) {
|
|
1434
1458
|
if (namespace === clientNamespaceString) {
|
|
1435
1459
|
codeModel.clients = emitClients(dpgContext, namespace);
|
|
@@ -1440,9 +1464,10 @@ export function emitCodeModel(
|
|
|
1440
1464
|
);
|
|
1441
1465
|
}
|
|
1442
1466
|
}
|
|
1443
|
-
|
|
1444
|
-
|
|
1467
|
+
|
|
1468
|
+
codeModel["types"] = [
|
|
1445
1469
|
{ type: "string" },
|
|
1470
|
+
...typesMap.values(),
|
|
1446
1471
|
...simpleTypesMap.values()
|
|
1447
1472
|
];
|
|
1448
1473
|
return codeModel;
|