@autorest/typescript 6.0.0-beta.7 → 6.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -5
- package/dist/{src/generators/static/README.md.hbs → hlcREADME.md.hbs} +41 -5
- package/dist/hlcSamples.ts.hbs +49 -0
- package/dist/karma.conf.js.hbs +126 -0
- package/dist/paginateHelper.ts.hbs +208 -0
- package/dist/pollingHelper.ts.hbs +72 -0
- package/dist/rlcEnv.ts.hbs +3 -0
- package/dist/rlcREADME.md.hbs +71 -0
- package/dist/rlcRecordedClient.ts.hbs +26 -0
- package/dist/rlcSampleTest.spec.ts.hbs +20 -0
- package/dist/rlcSamples.ts.hbs +28 -0
- package/dist/sampleEnv.hbs +4 -0
- package/dist/sampleTest.ts.hbs +32 -0
- package/dist/samples.ts.hbs +0 -0
- package/dist/src/autorestSession.d.ts +18 -6
- package/dist/src/autorestSession.d.ts.map +1 -1
- package/dist/src/autorestSession.js +3 -9
- package/dist/src/autorestSession.js.map +1 -1
- package/dist/src/conflictResolver.d.ts +3 -0
- package/dist/src/conflictResolver.d.ts.map +1 -0
- package/dist/src/conflictResolver.js +43 -0
- package/dist/src/conflictResolver.js.map +1 -0
- package/dist/src/generators/LROGenerator.d.ts.map +1 -1
- package/dist/src/generators/LROGenerator.js +5 -13
- package/dist/src/generators/LROGenerator.js.map +1 -1
- package/dist/src/generators/clientFileGenerator.d.ts.map +1 -1
- package/dist/src/generators/clientFileGenerator.js +303 -61
- package/dist/src/generators/clientFileGenerator.js.map +1 -1
- package/dist/src/generators/indexGenerator.d.ts +1 -1
- package/dist/src/generators/indexGenerator.d.ts.map +1 -1
- package/dist/src/generators/indexGenerator.js +143 -11
- package/dist/src/generators/indexGenerator.js.map +1 -1
- package/dist/src/generators/mappersGenerator.d.ts.map +1 -1
- package/dist/src/generators/mappersGenerator.js +93 -19
- package/dist/src/generators/mappersGenerator.js.map +1 -1
- package/dist/src/generators/modelsGenerator.d.ts.map +1 -1
- package/dist/src/generators/modelsGenerator.js +81 -82
- package/dist/src/generators/modelsGenerator.js.map +1 -1
- package/dist/src/generators/operationGenerator.d.ts.map +1 -1
- package/dist/src/generators/operationGenerator.js +92 -125
- package/dist/src/generators/operationGenerator.js.map +1 -1
- package/dist/src/generators/operationInterfaceGenerator.js +20 -20
- package/dist/src/generators/operationInterfaceGenerator.js.map +1 -1
- package/dist/src/generators/parametersGenerator.d.ts.map +1 -1
- package/dist/src/generators/parametersGenerator.js +7 -8
- package/dist/src/generators/parametersGenerator.js.map +1 -1
- package/dist/src/generators/samples/hlcSampleGenerator.d.ts +13 -0
- package/dist/src/generators/samples/hlcSampleGenerator.d.ts.map +1 -0
- package/dist/src/generators/samples/hlcSampleGenerator.js +43 -0
- package/dist/src/generators/samples/hlcSampleGenerator.js.map +1 -0
- package/dist/src/generators/samples/hlcSamples.ts.hbs +49 -0
- package/dist/src/generators/samples/rlcSampleGenerator.d.ts +4 -0
- package/dist/src/generators/samples/rlcSampleGenerator.d.ts.map +1 -0
- package/dist/src/generators/samples/rlcSampleGenerator.js +64 -0
- package/dist/src/generators/samples/rlcSampleGenerator.js.map +1 -0
- package/dist/src/generators/samples/rlcSamples.ts.hbs +28 -0
- package/dist/src/generators/samples/sampleEnv.hbs +4 -0
- package/dist/src/generators/samples/sampleEnvGenerator.d.ts +3 -0
- package/dist/src/generators/samples/sampleEnvGenerator.d.ts.map +1 -0
- package/dist/src/generators/samples/sampleEnvGenerator.js +17 -0
- package/dist/src/generators/samples/sampleEnvGenerator.js.map +1 -0
- package/dist/src/generators/static/apiExtractorConfig.js +3 -3
- package/dist/src/generators/static/apiExtractorConfig.js.map +1 -1
- package/dist/src/generators/static/esLintConfigGenerator.d.ts +3 -0
- package/dist/src/generators/static/esLintConfigGenerator.d.ts.map +1 -0
- package/dist/src/generators/static/esLintConfigGenerator.js +26 -0
- package/dist/src/generators/static/esLintConfigGenerator.js.map +1 -0
- package/{src/generators/static/README.md.hbs → dist/src/generators/static/hlcREADME.md.hbs} +41 -5
- package/dist/src/generators/static/karma.conf.js.hbs +126 -0
- package/dist/src/generators/static/karmaConfigFileGenerator.d.ts +3 -0
- package/dist/src/generators/static/karmaConfigFileGenerator.d.ts.map +1 -0
- package/dist/src/generators/static/karmaConfigFileGenerator.js +23 -0
- package/dist/src/generators/static/karmaConfigFileGenerator.js.map +1 -0
- package/dist/src/generators/static/licenseFileGenerator.js +1 -1
- package/dist/src/generators/static/licenseFileGenerator.js.map +1 -1
- package/dist/src/generators/static/packageFileGenerator.d.ts.map +1 -1
- package/dist/src/generators/static/packageFileGenerator.js +267 -79
- package/dist/src/generators/static/packageFileGenerator.js.map +1 -1
- package/dist/src/generators/static/readmeFileGenerator.d.ts +2 -2
- package/dist/src/generators/static/readmeFileGenerator.d.ts.map +1 -1
- package/dist/src/generators/static/readmeFileGenerator.js +54 -26
- package/dist/src/generators/static/readmeFileGenerator.js.map +1 -1
- package/dist/src/generators/static/rlcREADME.md.hbs +71 -0
- package/dist/src/generators/static/rollupConfigFileGenerator.d.ts.map +1 -1
- package/dist/src/generators/static/rollupConfigFileGenerator.js +12 -71
- package/dist/src/generators/static/rollupConfigFileGenerator.js.map +1 -1
- package/dist/src/generators/static/tsConfigFileGenerator.d.ts.map +1 -1
- package/dist/src/generators/static/tsConfigFileGenerator.js +47 -20
- package/dist/src/generators/static/tsConfigFileGenerator.js.map +1 -1
- package/dist/src/generators/test/envBrowserFileGenerator.d.ts +3 -0
- package/dist/src/generators/test/envBrowserFileGenerator.d.ts.map +1 -0
- package/dist/src/generators/test/envBrowserFileGenerator.js +15 -0
- package/dist/src/generators/test/envBrowserFileGenerator.js.map +1 -0
- package/dist/src/generators/test/envFileGenerator.d.ts +3 -0
- package/dist/src/generators/test/envFileGenerator.d.ts.map +1 -0
- package/dist/src/generators/test/envFileGenerator.js +23 -0
- package/dist/src/generators/test/envFileGenerator.js.map +1 -0
- package/dist/src/generators/test/recordedClientFileGenerator.d.ts +3 -0
- package/dist/src/generators/test/recordedClientFileGenerator.d.ts.map +1 -0
- package/dist/src/generators/test/recordedClientFileGenerator.js +23 -0
- package/dist/src/generators/test/recordedClientFileGenerator.js.map +1 -0
- package/dist/src/generators/test/rlcEnv.ts.hbs +3 -0
- package/dist/src/generators/test/rlcRecordedClient.ts.hbs +26 -0
- package/dist/src/generators/test/rlcSampleTest.spec.ts.hbs +20 -0
- package/dist/src/generators/test/sampleTest.ts.hbs +32 -0
- package/dist/src/generators/test/sampleTestGenerator.d.ts +3 -0
- package/dist/src/generators/test/sampleTestGenerator.d.ts.map +1 -0
- package/dist/src/generators/test/sampleTestGenerator.js +34 -0
- package/dist/src/generators/test/sampleTestGenerator.js.map +1 -0
- package/dist/src/generators/tracingFileGenerator.d.ts.map +1 -1
- package/dist/src/generators/tracingFileGenerator.js +7 -21
- package/dist/src/generators/tracingFileGenerator.js.map +1 -1
- package/dist/src/generators/utils/docsUtils.js +2 -2
- package/dist/src/generators/utils/docsUtils.js.map +1 -1
- package/dist/src/generators/utils/operationsUtils.js +1 -1
- package/dist/src/generators/utils/operationsUtils.js.map +1 -1
- package/dist/src/generators/utils/pagingOperations.d.ts +5 -0
- package/dist/src/generators/utils/pagingOperations.d.ts.map +1 -1
- package/dist/src/generators/utils/pagingOperations.js +15 -15
- package/dist/src/generators/utils/pagingOperations.js.map +1 -1
- package/dist/src/generators/utils/parameterUtils.js +9 -9
- package/dist/src/generators/utils/parameterUtils.js.map +1 -1
- package/dist/src/generators/utils/responseTypeUtils.js +2 -2
- package/dist/src/generators/utils/responseTypeUtils.js.map +1 -1
- package/dist/src/generators/utils/tracingUtils.d.ts.map +1 -1
- package/dist/src/generators/utils/tracingUtils.js +2 -6
- package/dist/src/generators/utils/tracingUtils.js.map +1 -1
- package/dist/src/lroImpl.d.ts +16 -0
- package/dist/src/lroImpl.d.ts.map +1 -0
- package/dist/src/lroImpl.js +45 -0
- package/dist/src/lroImpl.js.map +1 -0
- package/dist/src/main.d.ts +2 -2
- package/dist/src/main.d.ts.map +1 -1
- package/dist/src/main.js +8 -8
- package/dist/src/main.js.map +1 -1
- package/dist/src/models/clientDetails.d.ts +10 -1
- package/dist/src/models/clientDetails.d.ts.map +1 -1
- package/dist/src/models/modelDetails.d.ts +2 -2
- package/dist/src/models/modelDetails.d.ts.map +1 -1
- package/dist/src/models/operationDetails.d.ts +1 -0
- package/dist/src/models/operationDetails.d.ts.map +1 -1
- package/dist/src/models/sampleDetails.d.ts +22 -0
- package/dist/src/models/sampleDetails.d.ts.map +1 -0
- package/dist/src/models/sampleDetails.js +3 -0
- package/dist/src/models/sampleDetails.js.map +1 -0
- package/dist/src/restLevelClient/generateClient.d.ts +1 -1
- package/dist/src/restLevelClient/generateClient.d.ts.map +1 -1
- package/dist/src/restLevelClient/generateClient.js +108 -167
- package/dist/src/restLevelClient/generateClient.js.map +1 -1
- package/dist/src/restLevelClient/generateClientDefinition.d.ts +6 -0
- package/dist/src/restLevelClient/generateClientDefinition.d.ts.map +1 -0
- package/dist/src/restLevelClient/generateClientDefinition.js +261 -0
- package/dist/src/restLevelClient/generateClientDefinition.js.map +1 -0
- package/dist/src/restLevelClient/generateIsUnexpectedHelper.d.ts +8 -0
- package/dist/src/restLevelClient/generateIsUnexpectedHelper.d.ts.map +1 -0
- package/dist/src/restLevelClient/generateIsUnexpectedHelper.js +204 -0
- package/dist/src/restLevelClient/generateIsUnexpectedHelper.js.map +1 -0
- package/dist/src/restLevelClient/generateMethodShortcuts.d.ts +8 -0
- package/dist/src/restLevelClient/generateMethodShortcuts.d.ts.map +1 -0
- package/dist/src/restLevelClient/generateMethodShortcuts.js +70 -0
- package/dist/src/restLevelClient/generateMethodShortcuts.js.map +1 -0
- package/dist/src/restLevelClient/generateObjectTypes.d.ts +3 -3
- package/dist/src/restLevelClient/generateObjectTypes.d.ts.map +1 -1
- package/dist/src/restLevelClient/generateObjectTypes.js +43 -31
- package/dist/src/restLevelClient/generateObjectTypes.js.map +1 -1
- package/dist/src/restLevelClient/generatePagingHelper.d.ts +3 -0
- package/dist/src/restLevelClient/generatePagingHelper.d.ts.map +1 -0
- package/dist/src/restLevelClient/generatePagingHelper.js +54 -0
- package/dist/src/restLevelClient/generatePagingHelper.js.map +1 -0
- package/dist/src/restLevelClient/generateParameterTypes.d.ts.map +1 -1
- package/dist/src/restLevelClient/generateParameterTypes.js +247 -43
- package/dist/src/restLevelClient/generateParameterTypes.js.map +1 -1
- package/dist/src/restLevelClient/generatePollingHelper.d.ts +3 -0
- package/dist/src/restLevelClient/generatePollingHelper.d.ts.map +1 -0
- package/dist/src/restLevelClient/generatePollingHelper.js +20 -0
- package/dist/src/restLevelClient/generatePollingHelper.js.map +1 -0
- package/dist/src/restLevelClient/generateResponseTypes.d.ts.map +1 -1
- package/dist/src/restLevelClient/generateResponseTypes.js +45 -29
- package/dist/src/restLevelClient/generateResponseTypes.js.map +1 -1
- package/dist/src/restLevelClient/generateRestLevel.d.ts.map +1 -1
- package/dist/src/restLevelClient/generateRestLevel.js +64 -15
- package/dist/src/restLevelClient/generateRestLevel.js.map +1 -1
- package/dist/src/restLevelClient/generateSchemaTypes.d.ts.map +1 -1
- package/dist/src/restLevelClient/generateSchemaTypes.js +29 -7
- package/dist/src/restLevelClient/generateSchemaTypes.js.map +1 -1
- package/dist/src/restLevelClient/generateTopLevelIndexFile.d.ts +4 -0
- package/dist/src/restLevelClient/generateTopLevelIndexFile.d.ts.map +1 -0
- package/dist/src/restLevelClient/generateTopLevelIndexFile.js +37 -0
- package/dist/src/restLevelClient/generateTopLevelIndexFile.js.map +1 -0
- package/dist/src/restLevelClient/getPropertySignature.d.ts +3 -2
- package/dist/src/restLevelClient/getPropertySignature.d.ts.map +1 -1
- package/dist/src/restLevelClient/getPropertySignature.js +23 -7
- package/dist/src/restLevelClient/getPropertySignature.js.map +1 -1
- package/dist/src/restLevelClient/helpers/hasPollingOperations.d.ts +4 -0
- package/dist/src/restLevelClient/helpers/hasPollingOperations.d.ts.map +1 -0
- package/dist/src/restLevelClient/helpers/hasPollingOperations.js +12 -0
- package/dist/src/restLevelClient/helpers/hasPollingOperations.js.map +1 -0
- package/dist/src/restLevelClient/helpers/modelHelpers.d.ts +4 -0
- package/dist/src/restLevelClient/helpers/modelHelpers.d.ts.map +1 -0
- package/dist/src/restLevelClient/helpers/modelHelpers.js +19 -0
- package/dist/src/restLevelClient/helpers/modelHelpers.js.map +1 -0
- package/dist/src/restLevelClient/helpers/operationHelpers.d.ts +10 -0
- package/dist/src/restLevelClient/helpers/operationHelpers.d.ts.map +1 -0
- package/dist/src/restLevelClient/helpers/operationHelpers.js +64 -0
- package/dist/src/restLevelClient/helpers/operationHelpers.js.map +1 -0
- package/dist/src/restLevelClient/interfaces.d.ts +33 -0
- package/dist/src/restLevelClient/interfaces.d.ts.map +1 -0
- package/dist/src/restLevelClient/interfaces.js +3 -0
- package/dist/src/restLevelClient/interfaces.js.map +1 -0
- package/dist/src/restLevelClient/mutateCodeModel.js +2 -2
- package/dist/src/restLevelClient/mutateCodeModel.js.map +1 -1
- package/dist/src/restLevelClient/operationHelpers.d.ts +4 -0
- package/dist/src/restLevelClient/operationHelpers.d.ts.map +1 -1
- package/dist/src/restLevelClient/operationHelpers.js +21 -10
- package/dist/src/restLevelClient/operationHelpers.js.map +1 -1
- package/dist/src/restLevelClient/paginateHelper.ts.hbs +208 -0
- package/dist/src/restLevelClient/pollingHelper.ts.hbs +72 -0
- package/dist/src/restLevelClient/samples/generateSamples.d.ts +23 -0
- package/dist/src/restLevelClient/samples/generateSamples.d.ts.map +1 -0
- package/dist/src/restLevelClient/samples/generateSamples.js +3 -0
- package/dist/src/restLevelClient/samples/generateSamples.js.map +1 -0
- package/dist/src/restLevelClient/samples/samples.ts.hbs +0 -0
- package/dist/src/restLevelClient/schemaHelpers.d.ts +12 -2
- package/dist/src/restLevelClient/schemaHelpers.d.ts.map +1 -1
- package/dist/src/restLevelClient/schemaHelpers.js +48 -14
- package/dist/src/restLevelClient/schemaHelpers.js.map +1 -1
- package/dist/src/transforms/extensions.js +10 -10
- package/dist/src/transforms/extensions.js.map +1 -1
- package/dist/src/transforms/groupTransforms.js +2 -2
- package/dist/src/transforms/groupTransforms.js.map +1 -1
- package/dist/src/transforms/mapperTransforms.d.ts +1 -1
- package/dist/src/transforms/mapperTransforms.d.ts.map +1 -1
- package/dist/src/transforms/mapperTransforms.js +30 -27
- package/dist/src/transforms/mapperTransforms.js.map +1 -1
- package/dist/src/transforms/objectTransforms.d.ts.map +1 -1
- package/dist/src/transforms/objectTransforms.js +42 -26
- package/dist/src/transforms/objectTransforms.js.map +1 -1
- package/dist/src/transforms/operationTransforms.d.ts.map +1 -1
- package/dist/src/transforms/operationTransforms.js +29 -26
- package/dist/src/transforms/operationTransforms.js.map +1 -1
- package/dist/src/transforms/optionsTransforms.js +1 -1
- package/dist/src/transforms/optionsTransforms.js.map +1 -1
- package/dist/src/transforms/parameterTransforms.d.ts.map +1 -1
- package/dist/src/transforms/parameterTransforms.js +43 -27
- package/dist/src/transforms/parameterTransforms.js.map +1 -1
- package/dist/src/transforms/samplesTransforms.d.ts +7 -0
- package/dist/src/transforms/samplesTransforms.d.ts.map +1 -0
- package/dist/src/transforms/samplesTransforms.js +293 -0
- package/dist/src/transforms/samplesTransforms.js.map +1 -0
- package/dist/src/transforms/transforms.d.ts +1 -2
- package/dist/src/transforms/transforms.d.ts.map +1 -1
- package/dist/src/transforms/transforms.js +26 -24
- package/dist/src/transforms/transforms.js.map +1 -1
- package/dist/src/transforms/urlTransforms.js +3 -3
- package/dist/src/transforms/urlTransforms.js.map +1 -1
- package/dist/src/typescriptGenerator.d.ts +2 -2
- package/dist/src/typescriptGenerator.d.ts.map +1 -1
- package/dist/src/typescriptGenerator.js +46 -40
- package/dist/src/typescriptGenerator.js.map +1 -1
- package/dist/src/utils/autorestOptions.d.ts +2 -2
- package/dist/src/utils/autorestOptions.d.ts.map +1 -1
- package/dist/src/utils/autorestOptions.js +148 -61
- package/dist/src/utils/autorestOptions.js.map +1 -1
- package/dist/src/utils/cloneOperation.js +2 -2
- package/dist/src/utils/cloneOperation.js.map +1 -1
- package/dist/src/utils/copyFiles.d.ts +2 -0
- package/dist/src/utils/copyFiles.d.ts.map +1 -0
- package/dist/src/utils/copyFiles.js +33 -0
- package/dist/src/utils/copyFiles.js.map +1 -0
- package/dist/src/utils/extractHeaders.js +4 -4
- package/dist/src/utils/extractHeaders.js.map +1 -1
- package/dist/src/utils/extractPaginationDetails.d.ts +5 -1
- package/dist/src/utils/extractPaginationDetails.d.ts.map +1 -1
- package/dist/src/utils/extractPaginationDetails.js +23 -10
- package/dist/src/utils/extractPaginationDetails.js.map +1 -1
- package/dist/src/utils/headersToSchema.js +1 -1
- package/dist/src/utils/headersToSchema.js.map +1 -1
- package/dist/src/utils/logger.js +1 -1
- package/dist/src/utils/logger.js.map +1 -1
- package/dist/src/utils/nameUtils.d.ts +6 -2
- package/dist/src/utils/nameUtils.d.ts.map +1 -1
- package/dist/src/utils/nameUtils.js +13 -8
- package/dist/src/utils/nameUtils.js.map +1 -1
- package/dist/src/utils/schemaHelpers.d.ts +6 -1
- package/dist/src/utils/schemaHelpers.d.ts.map +1 -1
- package/dist/src/utils/schemaHelpers.js +50 -7
- package/dist/src/utils/schemaHelpers.js.map +1 -1
- package/dist/src/utils/sortObjectSchemasHierarchically.js +1 -1
- package/dist/src/utils/sortObjectSchemasHierarchically.js.map +1 -1
- package/dist/src/utils/valueHelpers.d.ts.map +1 -1
- package/dist/src/utils/valueHelpers.js +2 -1
- package/dist/src/utils/valueHelpers.js.map +1 -1
- package/package.json +59 -39
- package/src/autorestSession.ts +26 -18
- package/src/conflictResolver.ts +61 -0
- package/src/generators/LROGenerator.ts +2 -16
- package/src/generators/clientFileGenerator.ts +400 -50
- package/src/generators/indexGenerator.ts +166 -14
- package/src/generators/mappersGenerator.ts +108 -8
- package/src/generators/modelsGenerator.ts +101 -98
- package/src/generators/operationGenerator.ts +63 -122
- package/src/generators/parametersGenerator.ts +2 -3
- package/src/generators/samples/hlcSampleGenerator.ts +50 -0
- package/src/generators/samples/hlcSamples.ts.hbs +49 -0
- package/src/generators/samples/rlcSampleGenerator.ts +72 -0
- package/src/generators/samples/rlcSamples.ts.hbs +28 -0
- package/src/generators/samples/sampleEnv.hbs +4 -0
- package/src/generators/samples/sampleEnvGenerator.ts +14 -0
- package/src/generators/static/apiExtractorConfig.ts +3 -3
- package/src/generators/static/esLintConfigGenerator.ts +24 -0
- package/src/generators/static/hlcREADME.md.hbs +144 -0
- package/src/generators/static/karma.conf.js.hbs +126 -0
- package/src/generators/static/karmaConfigFileGenerator.ts +20 -0
- package/src/generators/static/packageFileGenerator.ts +305 -82
- package/src/generators/static/readmeFileGenerator.ts +85 -42
- package/src/generators/static/rlcREADME.md.hbs +71 -0
- package/src/generators/static/rollupConfigFileGenerator.ts +13 -71
- package/src/generators/static/tsConfigFileGenerator.ts +55 -21
- package/src/generators/test/envBrowserFileGenerator.ts +14 -0
- package/src/generators/test/envFileGenerator.ts +22 -0
- package/src/generators/test/recordedClientFileGenerator.ts +22 -0
- package/src/generators/test/rlcEnv.ts.hbs +3 -0
- package/src/generators/test/rlcRecordedClient.ts.hbs +26 -0
- package/src/generators/test/rlcSampleTest.spec.ts.hbs +20 -0
- package/src/generators/test/sampleTest.ts.hbs +32 -0
- package/src/generators/test/sampleTestGenerator.ts +32 -0
- package/src/generators/tracingFileGenerator.ts +6 -24
- package/src/generators/utils/pagingOperations.ts +1 -2
- package/src/generators/utils/tracingUtils.ts +1 -5
- package/src/lroImpl.ts +26 -0
- package/src/main.ts +8 -5
- package/src/models/clientDetails.ts +11 -1
- package/src/models/modelDetails.ts +2 -2
- package/src/models/operationDetails.ts +1 -0
- package/src/models/sampleDetails.ts +22 -0
- package/src/restLevelClient/generateClient.ts +134 -244
- package/src/restLevelClient/generateClientDefinition.ts +386 -0
- package/src/restLevelClient/generateIsUnexpectedHelper.ts +224 -0
- package/src/restLevelClient/generateMethodShortcuts.ts +121 -0
- package/src/restLevelClient/generateObjectTypes.ts +62 -21
- package/src/restLevelClient/generatePagingHelper.ts +69 -0
- package/src/restLevelClient/generateParameterTypes.ts +377 -55
- package/src/restLevelClient/generatePollingHelper.ts +19 -0
- package/src/restLevelClient/generateResponseTypes.ts +53 -22
- package/src/restLevelClient/generateRestLevel.ts +65 -8
- package/src/restLevelClient/generateSchemaTypes.ts +43 -8
- package/src/restLevelClient/generateTopLevelIndexFile.ts +37 -0
- package/src/restLevelClient/getPropertySignature.ts +31 -6
- package/src/restLevelClient/helpers/hasPollingOperations.ts +15 -0
- package/src/restLevelClient/helpers/modelHelpers.ts +15 -0
- package/src/restLevelClient/helpers/operationHelpers.ts +93 -0
- package/src/restLevelClient/interfaces.ts +39 -0
- package/src/restLevelClient/operationHelpers.ts +23 -9
- package/src/restLevelClient/paginateHelper.ts.hbs +208 -0
- package/src/restLevelClient/pollingHelper.ts.hbs +72 -0
- package/src/restLevelClient/samples/generateSamples.ts +23 -0
- package/src/restLevelClient/samples/samples.ts.hbs +0 -0
- package/src/restLevelClient/schemaHelpers.ts +51 -9
- package/src/transforms/mapperTransforms.ts +12 -6
- package/src/transforms/objectTransforms.ts +26 -6
- package/src/transforms/operationTransforms.ts +6 -1
- package/src/transforms/parameterTransforms.ts +26 -7
- package/src/transforms/samplesTransforms.ts +349 -0
- package/src/transforms/transforms.ts +14 -9
- package/src/typescriptGenerator.ts +41 -45
- package/src/utils/autorestOptions.ts +203 -86
- package/src/utils/copyFiles.ts +36 -0
- package/src/utils/extractPaginationDetails.ts +19 -1
- package/src/utils/nameUtils.ts +18 -9
- package/src/utils/schemaHelpers.ts +51 -4
- package/src/utils/valueHelpers.ts +1 -0
- package/CHANGELOG.md +0 -44
- package/dist/src/coreClientLro.d.ts +0 -26
- package/dist/src/coreClientLro.d.ts.map +0 -1
- package/dist/src/coreClientLro.js +0 -207
- package/dist/src/coreClientLro.js.map +0 -1
- package/dist/src/coreHttpLro.d.ts +0 -26
- package/dist/src/coreHttpLro.d.ts.map +0 -1
- package/dist/src/coreHttpLro.js +0 -186
- package/dist/src/coreHttpLro.js.map +0 -1
- package/dist/src/generators/clientContextFileGenerator.d.ts +0 -5
- package/dist/src/generators/clientContextFileGenerator.d.ts.map +0 -1
- package/dist/src/generators/clientContextFileGenerator.js +0 -263
- package/dist/src/generators/clientContextFileGenerator.js.map +0 -1
- package/dist/src/lro/azureAsyncPolling.d.ts +0 -3
- package/dist/src/lro/azureAsyncPolling.d.ts.map +0 -1
- package/dist/src/lro/azureAsyncPolling.js +0 -71
- package/dist/src/lro/azureAsyncPolling.js.map +0 -1
- package/dist/src/lro/bodyPolling.d.ts +0 -8
- package/dist/src/lro/bodyPolling.d.ts.map +0 -1
- package/dist/src/lro/bodyPolling.js +0 -34
- package/dist/src/lro/bodyPolling.js.map +0 -1
- package/dist/src/lro/index.d.ts +0 -4
- package/dist/src/lro/index.d.ts.map +0 -1
- package/dist/src/lro/index.js +0 -10
- package/dist/src/lro/index.js.map +0 -1
- package/dist/src/lro/locationPolling.d.ts +0 -3
- package/dist/src/lro/locationPolling.d.ts.map +0 -1
- package/dist/src/lro/locationPolling.js +0 -18
- package/dist/src/lro/locationPolling.js.map +0 -1
- package/dist/src/lro/lroEngine.d.ts +0 -14
- package/dist/src/lro/lroEngine.d.ts.map +0 -1
- package/dist/src/lro/lroEngine.js +0 -38
- package/dist/src/lro/lroEngine.js.map +0 -1
- package/dist/src/lro/models.d.ts +0 -138
- package/dist/src/lro/models.d.ts.map +0 -1
- package/dist/src/lro/models.js +0 -12
- package/dist/src/lro/models.js.map +0 -1
- package/dist/src/lro/operation.d.ts +0 -36
- package/dist/src/lro/operation.d.ts.map +0 -1
- package/dist/src/lro/operation.js +0 -89
- package/dist/src/lro/operation.js.map +0 -1
- package/dist/src/lro/passthrough.d.ts +0 -3
- package/dist/src/lro/passthrough.d.ts.map +0 -1
- package/dist/src/lro/passthrough.js +0 -14
- package/dist/src/lro/passthrough.js.map +0 -1
- package/dist/src/lro/requestUtils.d.ts +0 -16
- package/dist/src/lro/requestUtils.d.ts.map +0 -1
- package/dist/src/lro/requestUtils.js +0 -76
- package/dist/src/lro/requestUtils.js.map +0 -1
- package/dist/src/lro/stateMachine.d.ts +0 -18
- package/dist/src/lro/stateMachine.d.ts.map +0 -1
- package/dist/src/lro/stateMachine.js +0 -90
- package/dist/src/lro/stateMachine.js.map +0 -1
- package/src/coreClientLro.ts +0 -315
- package/src/coreHttpLro.ts +0 -268
- package/src/generators/clientContextFileGenerator.ts +0 -405
- package/src/lro/azureAsyncPolling.ts +0 -82
- package/src/lro/bodyPolling.ts +0 -34
- package/src/lro/index.ts +0 -18
- package/src/lro/locationPolling.ts +0 -20
- package/src/lro/lroEngine.ts +0 -53
- package/src/lro/models.ts +0 -165
- package/src/lro/operation.ts +0 -112
- package/src/lro/passthrough.ts +0 -15
- package/src/lro/requestUtils.ts +0 -94
- package/src/lro/stateMachine.ts +0 -108
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright (c) Microsoft Corporation.
|
|
3
3
|
// Licensed under the MIT License.
|
|
4
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
5
|
+
var t = {};
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
9
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
10
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
11
|
+
t[p[i]] = s[p[i]];
|
|
12
|
+
}
|
|
13
|
+
return t;
|
|
14
|
+
};
|
|
4
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
16
|
exports.hasLroOperation = exports.addOperationSpecs = exports.writeOperations = exports.writeGetOperationOptions = exports.generateOperations = void 0;
|
|
6
17
|
const ts_morph_1 = require("ts-morph");
|
|
@@ -27,12 +38,12 @@ const autorestSession_1 = require("../autorestSession");
|
|
|
27
38
|
* @param project project for code generation
|
|
28
39
|
*/
|
|
29
40
|
function generateOperations(clientDetails, project) {
|
|
30
|
-
const { srcPath } = autorestSession_1.getAutorestOptions();
|
|
41
|
+
const { srcPath } = (0, autorestSession_1.getAutorestOptions)();
|
|
31
42
|
let fileNames = [];
|
|
32
43
|
// Toplevel operations are inlined in the client
|
|
33
44
|
const operationGroups = clientDetails.operationGroups.filter(og => !og.isTopLevel);
|
|
34
45
|
operationGroups.forEach(operationDetails => {
|
|
35
|
-
fileNames.push(nameUtils_1.normalizeName(operationDetails.name, nameUtils_1.NameType.File));
|
|
46
|
+
fileNames.push((0, nameUtils_1.normalizeName)(operationDetails.name, nameUtils_1.NameType.File));
|
|
36
47
|
generateOperation(operationDetails, clientDetails, project);
|
|
37
48
|
});
|
|
38
49
|
if (operationGroups.length) {
|
|
@@ -49,8 +60,8 @@ exports.generateOperations = generateOperations;
|
|
|
49
60
|
* This function creates a file for a given Operation Group
|
|
50
61
|
*/
|
|
51
62
|
function generateOperation(operationGroupDetails, clientDetails, project) {
|
|
52
|
-
const { srcPath } = autorestSession_1.getAutorestOptions();
|
|
53
|
-
const name = nameUtils_1.normalizeName(operationGroupDetails.name, nameUtils_1.NameType.File);
|
|
63
|
+
const { srcPath } = (0, autorestSession_1.getAutorestOptions)();
|
|
64
|
+
const name = (0, nameUtils_1.normalizeName)(operationGroupDetails.name, nameUtils_1.NameType.File);
|
|
54
65
|
const hasMappers = !!clientDetails.mappers.length;
|
|
55
66
|
const operationGroupFile = project.createSourceFile(`${srcPath}/operations/${name}.ts`, undefined, { overwrite: true });
|
|
56
67
|
addImports(operationGroupDetails, operationGroupFile, clientDetails);
|
|
@@ -59,7 +70,7 @@ function generateOperation(operationGroupDetails, clientDetails, project) {
|
|
|
59
70
|
operationGroupFile.fixUnusedIdentifiers();
|
|
60
71
|
}
|
|
61
72
|
function writeGetOperationOptions(operationGroupClass) {
|
|
62
|
-
const { useCoreV2 } = autorestSession_1.getAutorestOptions();
|
|
73
|
+
const { useCoreV2 } = (0, autorestSession_1.getAutorestOptions)();
|
|
63
74
|
operationGroupClass.addMethod({
|
|
64
75
|
scope: ts_morph_1.Scope.Private,
|
|
65
76
|
name: !useCoreV2
|
|
@@ -79,18 +90,10 @@ function writeGetOperationOptions(operationGroupClass) {
|
|
|
79
90
|
statements: !useCoreV2
|
|
80
91
|
? `
|
|
81
92
|
const operationOptions: coreHttp.OperationOptions = options || {};
|
|
82
|
-
operationOptions.requestOptions = {
|
|
83
|
-
...operationOptions.requestOptions,
|
|
84
|
-
shouldDeserialize: shouldDeserializeLro(lroResourceLocationConfig),
|
|
85
|
-
};
|
|
86
93
|
return coreHttp.operationOptionsToRequestOptionsBase(operationOptions);
|
|
87
94
|
`
|
|
88
95
|
: `
|
|
89
96
|
const operationOptions: coreClient.OperationOptions = options || {};
|
|
90
|
-
operationOptions.requestOptions = {
|
|
91
|
-
...operationOptions.requestOptions,
|
|
92
|
-
shouldDeserialize: shouldDeserializeLro(lroResourceLocationConfig),
|
|
93
|
-
};
|
|
94
97
|
return operationOptions;`
|
|
95
98
|
});
|
|
96
99
|
}
|
|
@@ -245,7 +248,7 @@ function buildRequestBody({ requestBody, httpMethod }) {
|
|
|
245
248
|
// path would be ["groupName", "parameterName"] to tell the serialized to get it from groupName.parameterName.
|
|
246
249
|
// If it is a regular parameter the path would be its name.
|
|
247
250
|
const sourcePath = curr.parameter.groupedBy
|
|
248
|
-
? [languageHelpers_1.getLanguageMetadata(curr.parameter.groupedBy.language).name, name]
|
|
251
|
+
? [(0, languageHelpers_1.getLanguageMetadata)(curr.parameter.groupedBy.language).name, name]
|
|
249
252
|
: [name];
|
|
250
253
|
const isRequired = curr.required || ((_a = curr.parameter.groupedBy) === null || _a === void 0 ? void 0 : _a.required);
|
|
251
254
|
let parameterPath;
|
|
@@ -298,12 +301,19 @@ function buildMapper(mapper, mapperName) {
|
|
|
298
301
|
if (!mapper) {
|
|
299
302
|
return "";
|
|
300
303
|
}
|
|
301
|
-
|
|
302
|
-
|
|
304
|
+
let mapperString = "";
|
|
305
|
+
if (typeof mapper === "string") {
|
|
306
|
+
// When mapper is a reference (string) we don't need to stringify the object
|
|
307
|
+
mapperString = mapper;
|
|
308
|
+
}
|
|
309
|
+
else {
|
|
310
|
+
const { constraints } = mapper, restMapper = __rest(mapper, ["constraints"]);
|
|
311
|
+
mapperString = JSON.stringify(restMapper);
|
|
312
|
+
}
|
|
303
313
|
return `${mapperName}: ${mapperString},`;
|
|
304
314
|
}
|
|
305
315
|
function getReturnType(operation, importedModels, modelNames) {
|
|
306
|
-
const responseName = responseTypeUtils_1.getOperationResponseType(operation, importedModels, modelNames);
|
|
316
|
+
const responseName = (0, responseTypeUtils_1.getOperationResponseType)(operation, importedModels, modelNames);
|
|
307
317
|
return operation.isLro
|
|
308
318
|
? `Promise<PollerLike<PollOperationState<${responseName}>,${responseName}>>`
|
|
309
319
|
: `Promise<${responseName}>`;
|
|
@@ -313,11 +323,11 @@ function getReturnType(operation, importedModels, modelNames) {
|
|
|
313
323
|
*/
|
|
314
324
|
function addClass(operationGroupFile, operationGroupDetails, clientDetails) {
|
|
315
325
|
let importedModels = new Set();
|
|
316
|
-
let allModelsNames = responseTypeUtils_1.getAllModelsNames(clientDetails);
|
|
317
|
-
const className = nameUtils_1.normalizeName(operationGroupDetails.name, nameUtils_1.NameType.OperationGroup, true /** shouldGuard */);
|
|
326
|
+
let allModelsNames = (0, responseTypeUtils_1.getAllModelsNames)(clientDetails);
|
|
327
|
+
const className = (0, nameUtils_1.normalizeName)(operationGroupDetails.name, nameUtils_1.NameType.OperationGroup, true /** shouldGuard */);
|
|
318
328
|
const operationGroupClass = operationGroupFile.addClass({
|
|
319
329
|
name: `${className}Impl`,
|
|
320
|
-
docs: [`Class
|
|
330
|
+
docs: [`Class containing ${className} operations.`],
|
|
321
331
|
isExported: true,
|
|
322
332
|
implements: [`${className}`]
|
|
323
333
|
});
|
|
@@ -325,7 +335,7 @@ function addClass(operationGroupFile, operationGroupDetails, clientDetails) {
|
|
|
325
335
|
name: "client",
|
|
326
336
|
isReadonly: true,
|
|
327
337
|
scope: ts_morph_1.Scope.Private,
|
|
328
|
-
type: `${clientDetails.className}
|
|
338
|
+
type: `${clientDetails.className}`
|
|
329
339
|
});
|
|
330
340
|
const constructorDefinition = operationGroupClass.addConstructor({
|
|
331
341
|
docs: [
|
|
@@ -337,7 +347,7 @@ function addClass(operationGroupFile, operationGroupDetails, clientDetails) {
|
|
|
337
347
|
{
|
|
338
348
|
name: "client",
|
|
339
349
|
hasQuestionToken: false,
|
|
340
|
-
type: `${clientDetails.className}
|
|
350
|
+
type: `${clientDetails.className}`
|
|
341
351
|
}
|
|
342
352
|
]
|
|
343
353
|
});
|
|
@@ -365,21 +375,21 @@ function addClass(operationGroupFile, operationGroupDetails, clientDetails) {
|
|
|
365
375
|
* Write operations implementation, extracted from OperationGroupDetails, to the generated file
|
|
366
376
|
*/
|
|
367
377
|
function writeOperations(operationGroupDetails, operationGroupClass, importedModels, modelNames, clientDetails, isInline = false) {
|
|
368
|
-
const { tracingInfo } = autorestSession_1.getAutorestOptions();
|
|
369
|
-
pagingOperations_1.preparePageableOperations(operationGroupDetails);
|
|
370
|
-
pagingOperations_1.writeAsyncIterators(operationGroupDetails, clientDetails, operationGroupClass, importedModels);
|
|
378
|
+
const { tracingInfo } = (0, autorestSession_1.getAutorestOptions)();
|
|
379
|
+
(0, pagingOperations_1.preparePageableOperations)(operationGroupDetails);
|
|
380
|
+
(0, pagingOperations_1.writeAsyncIterators)(operationGroupDetails, clientDetails, operationGroupClass, importedModels);
|
|
371
381
|
operationGroupDetails.operations.forEach(operation => {
|
|
372
382
|
var _a;
|
|
373
|
-
const { baseMethodParameters, overloadParameterDeclarations } = parameterUtils_1.getOperationParameterSignatures(operation, clientDetails.parameters, importedModels, operationGroupClass);
|
|
374
|
-
const responseName = responseTypeUtils_1.getOperationResponseType(operation, importedModels, modelNames);
|
|
383
|
+
const { baseMethodParameters, overloadParameterDeclarations } = (0, parameterUtils_1.getOperationParameterSignatures)(operation, clientDetails.parameters, importedModels, operationGroupClass);
|
|
384
|
+
const responseName = (0, responseTypeUtils_1.getOperationResponseType)(operation, importedModels, modelNames);
|
|
375
385
|
const returnType = getReturnType(operation, importedModels, modelNames);
|
|
376
386
|
const operationMethod = operationGroupClass.addMethod({
|
|
377
|
-
name: operationsUtils_1.calculateMethodName(operation),
|
|
387
|
+
name: (0, operationsUtils_1.calculateMethodName)(operation),
|
|
378
388
|
parameters: baseMethodParameters,
|
|
379
389
|
scope: operation.scope,
|
|
380
390
|
returnType,
|
|
381
391
|
docs: [
|
|
382
|
-
docsUtils_1.generateOperationJSDoc(baseMethodParameters, operation.description)
|
|
392
|
+
(0, docsUtils_1.generateOperationJSDoc)(baseMethodParameters, operation.description)
|
|
383
393
|
],
|
|
384
394
|
isAsync: operation.isLro || Boolean(tracingInfo)
|
|
385
395
|
});
|
|
@@ -389,15 +399,15 @@ function writeOperations(operationGroupDetails, operationGroupClass, importedMod
|
|
|
389
399
|
* Create a simple method that blocks and waits for the result
|
|
390
400
|
*/
|
|
391
401
|
if (operation.isLro && operation.pagination === undefined) {
|
|
392
|
-
const responseName = responseTypeUtils_1.getOperationResponseType(operation, importedModels, modelNames);
|
|
393
|
-
const methodName = operationsUtils_1.calculateMethodName(operation);
|
|
402
|
+
const responseName = (0, responseTypeUtils_1.getOperationResponseType)(operation, importedModels, modelNames);
|
|
403
|
+
const methodName = (0, operationsUtils_1.calculateMethodName)(operation);
|
|
394
404
|
const operationMethod = operationGroupClass.addMethod({
|
|
395
405
|
name: `${methodName}AndWait`,
|
|
396
406
|
parameters: baseMethodParameters,
|
|
397
407
|
scope: operation.scope,
|
|
398
408
|
returnType: `Promise<${responseName}>`,
|
|
399
409
|
docs: [
|
|
400
|
-
docsUtils_1.generateOperationJSDoc(baseMethodParameters, operation.description)
|
|
410
|
+
(0, docsUtils_1.generateOperationJSDoc)(baseMethodParameters, operation.description)
|
|
401
411
|
],
|
|
402
412
|
isAsync: true
|
|
403
413
|
});
|
|
@@ -465,7 +475,7 @@ function addOperationOverloads(generatedOperation, operationDetails, overloadDec
|
|
|
465
475
|
generatedOperation.addOverload({
|
|
466
476
|
parameters: overload,
|
|
467
477
|
returnType,
|
|
468
|
-
docs: [docsUtils_1.generateOperationJSDoc(overload, operationDetails.description)]
|
|
478
|
+
docs: [(0, docsUtils_1.generateOperationJSDoc)(overload, operationDetails.description)]
|
|
469
479
|
});
|
|
470
480
|
}
|
|
471
481
|
}
|
|
@@ -475,7 +485,7 @@ function addOperationOverloads(generatedOperation, operationDetails, overloadDec
|
|
|
475
485
|
* @param isLro whether the operation is an Lro.
|
|
476
486
|
*/
|
|
477
487
|
function compileOperationOptionsToRequestOptionsBase(options, isLro, lroResourceLocationConfig) {
|
|
478
|
-
const { useCoreV2 } = autorestSession_1.getAutorestOptions();
|
|
488
|
+
const { useCoreV2 } = (0, autorestSession_1.getAutorestOptions)();
|
|
479
489
|
// In Lro we have a couple extra properties to add that's why we use
|
|
480
490
|
// the private getOperationOptions function instead of the one in core-http
|
|
481
491
|
return isLro
|
|
@@ -487,21 +497,13 @@ function compileOperationOptionsToRequestOptionsBase(options, isLro, lroResource
|
|
|
487
497
|
: `options || {}`;
|
|
488
498
|
}
|
|
489
499
|
function writeNoOverloadsOperationBody(operation, responseName, operationMethod, parameterDeclarations, clientDetails, isInline) {
|
|
490
|
-
const { useCoreV2, tracingInfo } = autorestSession_1.getAutorestOptions();
|
|
500
|
+
const { useCoreV2, tracingInfo } = (0, autorestSession_1.getAutorestOptions)();
|
|
491
501
|
const lroResourceLocationConfig = operation.lroOptions && operation.lroOptions["final-state-via"];
|
|
492
502
|
const operationSpecName = `${operation.name}OperationSpec`;
|
|
493
503
|
const vanillaOptionsName = "options";
|
|
494
504
|
let options = vanillaOptionsName;
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
const { outputOptionsVarName: updatedOptionsName, statement: tracingStatement } = getTracingSpanStatement(clientDetails, operationName, `${options} || {}`);
|
|
498
|
-
operationMethod.addStatements([tracingStatement]);
|
|
499
|
-
// Options from createSpan should be used as operation options, updating
|
|
500
|
-
options = compileOperationOptionsToRequestOptionsBase(updatedOptionsName, operation.isLro, lroResourceLocationConfig);
|
|
501
|
-
}
|
|
502
|
-
else {
|
|
503
|
-
options = compileOperationOptionsToRequestOptionsBase(vanillaOptionsName, operation.isLro, lroResourceLocationConfig);
|
|
504
|
-
}
|
|
505
|
+
// Options from createSpan should be used as operation options, updating
|
|
506
|
+
options = compileOperationOptionsToRequestOptionsBase(vanillaOptionsName, operation.isLro, lroResourceLocationConfig);
|
|
505
507
|
const sendParams = parameterDeclarations
|
|
506
508
|
.map(p => p.name === "options"
|
|
507
509
|
? !useCoreV2
|
|
@@ -515,51 +517,37 @@ function writeNoOverloadsOperationBody(operation, responseName, operationMethod,
|
|
|
515
517
|
}
|
|
516
518
|
if (operation.isLro) {
|
|
517
519
|
if (!useCoreV2) {
|
|
518
|
-
writeLroOperationBody("operationArguments", responseName, operationSpecName, operationMethod, lroResourceLocationConfig, isInline, !!tracingInfo);
|
|
520
|
+
writeLroOperationBody(clientDetails, "operationArguments", responseName, operationSpecName, operationMethod, lroResourceLocationConfig, isInline, !!tracingInfo);
|
|
519
521
|
}
|
|
520
522
|
else {
|
|
521
|
-
writeLroOperationBody(`{${sendParams}}`, responseName, operationSpecName, operationMethod, lroResourceLocationConfig, isInline, !!tracingInfo);
|
|
523
|
+
writeLroOperationBody(clientDetails, `{${sendParams}}`, responseName, operationSpecName, operationMethod, lroResourceLocationConfig, isInline, !!tracingInfo);
|
|
522
524
|
}
|
|
523
525
|
}
|
|
524
526
|
else {
|
|
525
527
|
writeSendOperationRequest(responseName, operationMethod, operationSpecName, clientDetails, isInline, `{${sendParams}}`);
|
|
526
528
|
}
|
|
527
529
|
}
|
|
528
|
-
function getTracingSpanStatement(clientDetails, operationName, options) {
|
|
529
|
-
const outputOptionsVarName = "updatedOptions";
|
|
530
|
-
return {
|
|
531
|
-
statement: `const { span, ${outputOptionsVarName} } = createSpan("${clientDetails.className}-${operationName}", ${options});`,
|
|
532
|
-
outputOptionsVarName: outputOptionsVarName
|
|
533
|
-
};
|
|
534
|
-
}
|
|
535
530
|
function writeSendOperationRequest(responseName, operationMethod, operationSpecName, clientDetails, isInline = false, sendParams) {
|
|
536
|
-
const { useCoreV2, tracingInfo } = autorestSession_1.getAutorestOptions();
|
|
531
|
+
const { useCoreV2, tracingInfo } = (0, autorestSession_1.getAutorestOptions)();
|
|
532
|
+
const operationName = operationMethod.getName();
|
|
537
533
|
const client = isInline ? "" : ".client";
|
|
538
534
|
const sendRequestStatement = !useCoreV2
|
|
539
535
|
? `this${client}.sendOperationRequest(operationArguments, ${operationSpecName})`
|
|
540
536
|
: `this${client}.sendOperationRequest(${sendParams}, ${operationSpecName})`;
|
|
541
537
|
// When tracing is enabled we want to report success and failures through OpenTelemetry
|
|
542
538
|
// so we create a span and mark it as succeeded or failed
|
|
543
|
-
operationMethod.addStatements(
|
|
539
|
+
operationMethod.addStatements(getTracingClientWithSpanStatement(sendRequestStatement, responseName, !!tracingInfo, `${clientDetails.className}.${operationName}`));
|
|
544
540
|
}
|
|
545
541
|
function getSpanStatusCode() {
|
|
546
542
|
return "coreTracing.SpanStatusCode.UNSET";
|
|
547
543
|
}
|
|
548
|
-
function
|
|
549
|
-
const { useCoreV2 } = autorestSession_1.getAutorestOptions();
|
|
544
|
+
function getTracingClientWithSpanStatement(sendRequestStatement, responseName, isTracingEnabled, spanName) {
|
|
545
|
+
const { useCoreV2 } = (0, autorestSession_1.getAutorestOptions)();
|
|
550
546
|
if (isTracingEnabled) {
|
|
551
|
-
return `
|
|
552
|
-
|
|
553
|
-
return
|
|
554
|
-
}
|
|
555
|
-
span.setStatus({
|
|
556
|
-
code: ${getSpanStatusCode()},
|
|
557
|
-
message: error.message
|
|
558
|
-
});
|
|
559
|
-
throw error;
|
|
560
|
-
} finally {
|
|
561
|
-
span.end();
|
|
562
|
-
}`;
|
|
547
|
+
return `
|
|
548
|
+
return tracingClient.withSpan("${spanName}", options ?? {}, async options => {
|
|
549
|
+
return ${sendRequestStatement} as Promise<${responseName}>;
|
|
550
|
+
});`;
|
|
563
551
|
}
|
|
564
552
|
else {
|
|
565
553
|
return !useCoreV2
|
|
@@ -567,16 +555,14 @@ function getTracingTryCatchStatement(sendRequestStatement, responseName, isTraci
|
|
|
567
555
|
: `return ${sendRequestStatement}`;
|
|
568
556
|
}
|
|
569
557
|
}
|
|
570
|
-
function writeLroOperationBody(operationParamsName, responseName, operationSpecName, methodDeclaration, lroResourceLocationConfig, isInline, isTracingEnabled = false) {
|
|
571
|
-
const { useCoreV2 } = autorestSession_1.getAutorestOptions();
|
|
558
|
+
function writeLroOperationBody(clientDetails, operationParamsName, responseName, operationSpecName, methodDeclaration, lroResourceLocationConfig, isInline, isTracingEnabled = false) {
|
|
559
|
+
const { useCoreV2 } = (0, autorestSession_1.getAutorestOptions)();
|
|
560
|
+
const spanName = `${clientDetails.className}.${methodDeclaration.getName()}`;
|
|
572
561
|
const client = isInline ? "" : ".client";
|
|
573
562
|
const sendRequestStatement = `this${client}.sendOperationRequest(args, spec)`;
|
|
574
|
-
const finalStateStr = lroResourceLocationConfig
|
|
575
|
-
? `"${lroResourceLocationConfig.toLowerCase()}"`
|
|
576
|
-
: "";
|
|
577
563
|
const sendOperationStatement = !useCoreV2
|
|
578
564
|
? `const directSendOperation = async (args: coreHttp.OperationArguments, spec: coreHttp.OperationSpec): Promise<${responseName}> => {
|
|
579
|
-
${
|
|
565
|
+
${getTracingClientWithSpanStatement(sendRequestStatement, responseName, isTracingEnabled, spanName)}
|
|
580
566
|
};
|
|
581
567
|
const sendOperation = async (args: coreHttp.OperationArguments, spec: coreHttp.OperationSpec) => {
|
|
582
568
|
const response = await directSendOperation(args, spec);
|
|
@@ -587,7 +573,7 @@ function writeLroOperationBody(operationParamsName, responseName, operationSpecN
|
|
|
587
573
|
}};
|
|
588
574
|
}`
|
|
589
575
|
: `const directSendOperation = async (args: coreClient.OperationArguments, spec: coreClient.OperationSpec): Promise<${responseName}> => {
|
|
590
|
-
${
|
|
576
|
+
${getTracingClientWithSpanStatement(sendRequestStatement, responseName, isTracingEnabled, spanName)}
|
|
591
577
|
};
|
|
592
578
|
const sendOperation = async (args: coreClient.OperationArguments, spec: coreClient.OperationSpec) => {
|
|
593
579
|
let currentRawResponse: coreClient.FullOperationResponse | undefined = undefined;
|
|
@@ -612,12 +598,15 @@ function writeLroOperationBody(operationParamsName, responseName, operationSpecN
|
|
|
612
598
|
headers: currentRawResponse!.headers.toJSON()
|
|
613
599
|
}};
|
|
614
600
|
}`;
|
|
615
|
-
const LroClassName = useCoreV2 ? "CoreClientLro" : "CoreHttpLro";
|
|
616
601
|
methodDeclaration.addStatements([
|
|
617
602
|
sendOperationStatement,
|
|
618
|
-
`const lro = new
|
|
619
|
-
${operationSpecName}
|
|
620
|
-
`
|
|
603
|
+
`const lro = new LroImpl(sendOperation,${operationParamsName},
|
|
604
|
+
${operationSpecName})`,
|
|
605
|
+
`const poller = new LroEngine(lro,{ resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs${lroResourceLocationConfig
|
|
606
|
+
? `, lroResourceLocationConfig: "${lroResourceLocationConfig.toLowerCase()}"`
|
|
607
|
+
: ""} });`,
|
|
608
|
+
"await poller.poll();",
|
|
609
|
+
"return poller;"
|
|
621
610
|
]);
|
|
622
611
|
methodDeclaration.setReturnType(`Promise<PollerLike<PollOperationState<${responseName}>,${responseName}>>`);
|
|
623
612
|
}
|
|
@@ -627,7 +616,7 @@ function writeLroOperationBody(operationParamsName, responseName, operationSpecN
|
|
|
627
616
|
* to determine which OperationSpec to use when sending the request.
|
|
628
617
|
*/
|
|
629
618
|
function writeMultiMediaTypeOperationBody(operationMethod, operation, overloadParameterDeclarations, responseName, clientDetails, isInline = false) {
|
|
630
|
-
const { useCoreV2, tracingInfo } = autorestSession_1.getAutorestOptions();
|
|
619
|
+
const { useCoreV2, tracingInfo } = (0, autorestSession_1.getAutorestOptions)();
|
|
631
620
|
const coreImport = !useCoreV2 ? "coreHttp" : "coreClient";
|
|
632
621
|
operationMethod.addStatements([
|
|
633
622
|
`let operationSpec: ${coreImport}.OperationSpec;`,
|
|
@@ -687,24 +676,14 @@ function writeMultiMediaTypeOperationBody(operationMethod, operation, overloadPa
|
|
|
687
676
|
}`
|
|
688
677
|
]);
|
|
689
678
|
const lroResourceLocationConfig = operation.lroOptions && operation.lroOptions["final-state-via"];
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
operationMethod.addStatements([
|
|
694
|
-
tracingStatement,
|
|
695
|
-
`operationArguments.options = ${compileOperationOptionsToRequestOptionsBase(outputOptionsVarName, operation.isLro, lroResourceLocationConfig)};`
|
|
696
|
-
]);
|
|
697
|
-
}
|
|
698
|
-
else {
|
|
699
|
-
operationMethod.addStatements([
|
|
700
|
-
`operationArguments.options = ${compileOperationOptionsToRequestOptionsBase(optionsVarName, operation.isLro, lroResourceLocationConfig)};`
|
|
701
|
-
]);
|
|
702
|
-
}
|
|
679
|
+
operationMethod.addStatements([
|
|
680
|
+
`operationArguments.options = ${compileOperationOptionsToRequestOptionsBase(optionsVarName, operation.isLro, lroResourceLocationConfig)};`
|
|
681
|
+
]);
|
|
703
682
|
if (!operation.isLro) {
|
|
704
683
|
writeSendOperationRequest(responseName, operationMethod, "operationSpec", clientDetails, isInline, "operationArguments");
|
|
705
684
|
}
|
|
706
685
|
else {
|
|
707
|
-
writeLroOperationBody("operationArguments", responseName, "operationSpec", operationMethod, lroResourceLocationConfig, isInline, !!tracingInfo);
|
|
686
|
+
writeLroOperationBody(clientDetails, "operationArguments", responseName, "operationSpec", operationMethod, lroResourceLocationConfig, isInline, !!tracingInfo);
|
|
708
687
|
}
|
|
709
688
|
}
|
|
710
689
|
function getContentTypeInfo(request) {
|
|
@@ -712,7 +691,7 @@ function getContentTypeInfo(request) {
|
|
|
712
691
|
const parameters = (_a = request.parameters) !== null && _a !== void 0 ? _a : [];
|
|
713
692
|
for (let i = 0; i < parameters.length; i++) {
|
|
714
693
|
const parameter = parameters[i];
|
|
715
|
-
const parameterMetadata = languageHelpers_1.getLanguageMetadata(parameter.language);
|
|
694
|
+
const parameterMetadata = (0, languageHelpers_1.getLanguageMetadata)(parameter.language);
|
|
716
695
|
const paramLowerSerializedName = (_b = parameterMetadata.serializedName) === null || _b === void 0 ? void 0 : _b.toLowerCase();
|
|
717
696
|
const parameterInHeader = ((_c = parameter.protocol.http) === null || _c === void 0 ? void 0 : _c.in) === codemodel_1.ParameterLocation.Header;
|
|
718
697
|
const schema = parameter.schema;
|
|
@@ -738,7 +717,7 @@ function hasMediaType(operationDetails, mediaType) {
|
|
|
738
717
|
* for a given operation group
|
|
739
718
|
*/
|
|
740
719
|
function addOperationSpecs(operationGroupDetails, file, parameters, hasMappers) {
|
|
741
|
-
const { useCoreV2 } = autorestSession_1.getAutorestOptions();
|
|
720
|
+
const { useCoreV2 } = (0, autorestSession_1.getAutorestOptions)();
|
|
742
721
|
const hasXml = operationGroupDetails.operations.some(operation => hasMediaType(operation, codegen_1.KnownMediaType.Xml));
|
|
743
722
|
const hasNonXml = operationGroupDetails.operations.some(operation => hasMediaType(operation, codegen_1.KnownMediaType.Json) ||
|
|
744
723
|
hasMediaType(operation, codegen_1.KnownMediaType.Form) ||
|
|
@@ -754,7 +733,7 @@ function addOperationSpecs(operationGroupDetails, file, parameters, hasMappers)
|
|
|
754
733
|
writeSerializer(hasMappers, file, SerializerKind.Json);
|
|
755
734
|
}
|
|
756
735
|
operationGroupDetails.operations.forEach(operation => {
|
|
757
|
-
const operationSpecs = operationTransforms_1.transformOperationSpec(operation, parameters);
|
|
736
|
+
const operationSpecs = (0, operationTransforms_1.transformOperationSpec)(operation, parameters);
|
|
758
737
|
for (const operationSpec of operationSpecs) {
|
|
759
738
|
file.addVariableStatement({
|
|
760
739
|
declarationKind: ts_morph_1.VariableDeclarationKind.Const,
|
|
@@ -778,7 +757,7 @@ var SerializerKind;
|
|
|
778
757
|
SerializerKind[SerializerKind["Xml"] = 1] = "Xml";
|
|
779
758
|
})(SerializerKind || (SerializerKind = {}));
|
|
780
759
|
function writeSerializer(hasMappers, file, kind = SerializerKind.Json) {
|
|
781
|
-
const { useCoreV2 } = autorestSession_1.getAutorestOptions();
|
|
760
|
+
const { useCoreV2 } = (0, autorestSession_1.getAutorestOptions)();
|
|
782
761
|
const isXml = kind === SerializerKind.Xml;
|
|
783
762
|
const mappers = hasMappers ? "Mappers" : "{}";
|
|
784
763
|
const name = isXml ? "xmlSerializer" : "serializer";
|
|
@@ -798,12 +777,12 @@ function writeSerializer(hasMappers, file, kind = SerializerKind.Json) {
|
|
|
798
777
|
* Adds required imports at the top of the file
|
|
799
778
|
*/
|
|
800
779
|
function addImports(operationGroupDetails, operationGroupFile, clientDetails) {
|
|
801
|
-
const { useCoreV2 } = autorestSession_1.getAutorestOptions();
|
|
780
|
+
const { useCoreV2 } = (0, autorestSession_1.getAutorestOptions)();
|
|
802
781
|
const { className, mappers } = clientDetails;
|
|
803
|
-
pagingOperations_1.addPagingEsNextRef(operationGroupDetails.operations, operationGroupFile);
|
|
804
|
-
tracingUtils_1.addTracingOperationImports(operationGroupFile);
|
|
805
|
-
pagingOperations_1.addPagingImports(operationGroupDetails.operations, operationGroupFile);
|
|
806
|
-
const operationGroupInterfaceName = nameUtils_1.normalizeName(operationGroupDetails.name, nameUtils_1.NameType.OperationGroup, true /** shouldGuard */);
|
|
782
|
+
(0, pagingOperations_1.addPagingEsNextRef)(operationGroupDetails.operations, operationGroupFile);
|
|
783
|
+
(0, tracingUtils_1.addTracingOperationImports)(operationGroupFile);
|
|
784
|
+
(0, pagingOperations_1.addPagingImports)(operationGroupDetails.operations, operationGroupFile);
|
|
785
|
+
const operationGroupInterfaceName = (0, nameUtils_1.normalizeName)(operationGroupDetails.name, nameUtils_1.NameType.OperationGroup, true /** shouldGuard */);
|
|
807
786
|
operationGroupFile.addImportDeclaration({
|
|
808
787
|
namedImports: [`${operationGroupInterfaceName}`],
|
|
809
788
|
moduleSpecifier: "../operationsInterfaces"
|
|
@@ -838,39 +817,27 @@ function addImports(operationGroupDetails, operationGroupFile, clientDetails) {
|
|
|
838
817
|
moduleSpecifier: "../models/mappers"
|
|
839
818
|
});
|
|
840
819
|
}
|
|
841
|
-
if (importUtils_1.shouldImportParameters(clientDetails)) {
|
|
820
|
+
if ((0, importUtils_1.shouldImportParameters)(clientDetails)) {
|
|
842
821
|
operationGroupFile.addImportDeclaration({
|
|
843
822
|
namespaceImport: "Parameters",
|
|
844
823
|
moduleSpecifier: "../models/parameters"
|
|
845
824
|
});
|
|
846
825
|
}
|
|
847
|
-
const
|
|
848
|
-
const
|
|
826
|
+
const clientClassName = `${className}`;
|
|
827
|
+
const clientFileName = (0, nameUtils_1.normalizeName)(clientClassName, nameUtils_1.NameType.File);
|
|
849
828
|
operationGroupFile.addImportDeclaration({
|
|
850
|
-
namedImports: [`${
|
|
851
|
-
moduleSpecifier: `../${
|
|
829
|
+
namedImports: [`${clientClassName}`],
|
|
830
|
+
moduleSpecifier: `../${clientFileName}`
|
|
852
831
|
});
|
|
853
832
|
if (hasLroOperation(operationGroupDetails)) {
|
|
854
833
|
operationGroupFile.addImportDeclaration({
|
|
855
|
-
namedImports: ["PollerLike", "PollOperationState"],
|
|
834
|
+
namedImports: ["PollerLike", "PollOperationState", "LroEngine"],
|
|
856
835
|
moduleSpecifier: "@azure/core-lro"
|
|
857
836
|
});
|
|
858
837
|
operationGroupFile.addImportDeclaration({
|
|
859
|
-
namedImports: ["
|
|
860
|
-
moduleSpecifier: `../
|
|
838
|
+
namedImports: ["LroImpl"],
|
|
839
|
+
moduleSpecifier: `../lroImpl`
|
|
861
840
|
});
|
|
862
|
-
if (useCoreV2) {
|
|
863
|
-
operationGroupFile.addImportDeclaration({
|
|
864
|
-
namedImports: ["CoreClientLro", "shouldDeserializeLro"],
|
|
865
|
-
moduleSpecifier: `../coreClientLro`
|
|
866
|
-
});
|
|
867
|
-
}
|
|
868
|
-
else {
|
|
869
|
-
operationGroupFile.addImportDeclaration({
|
|
870
|
-
namedImports: ["CoreHttpLro", "shouldDeserializeLro"],
|
|
871
|
-
moduleSpecifier: `../coreHttpLro`
|
|
872
|
-
});
|
|
873
|
-
}
|
|
874
841
|
}
|
|
875
842
|
}
|
|
876
843
|
function hasLroOperation(operationGroupDetails) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operationGenerator.js","sourceRoot":"","sources":["../../../src/generators/operationGenerator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"operationGenerator.js","sourceRoot":"","sources":["../../../src/generators/operationGenerator.ts"],"names":[],"mappings":"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"}
|