@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
package/dist/src/lro/models.d.ts
DELETED
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import { PollOperationState } from "@azure/core-lro";
|
|
2
|
-
/**
|
|
3
|
-
* Options for the LRO poller.
|
|
4
|
-
*/
|
|
5
|
-
export interface LroEngineOptions {
|
|
6
|
-
/**
|
|
7
|
-
* Defines how much time the poller is going to wait before making a new request to the service.
|
|
8
|
-
*/
|
|
9
|
-
intervalInMs?: number;
|
|
10
|
-
/**
|
|
11
|
-
* A serialized poller which can be used to resume an existing paused Long-Running-Operation.
|
|
12
|
-
*/
|
|
13
|
-
resumeFrom?: string;
|
|
14
|
-
}
|
|
15
|
-
export declare const successStates: string[];
|
|
16
|
-
export declare const failureStates: string[];
|
|
17
|
-
/**
|
|
18
|
-
* The LRO states that signal that the LRO has completed.
|
|
19
|
-
*/
|
|
20
|
-
export declare const terminalStates: string[];
|
|
21
|
-
/**
|
|
22
|
-
* The potential location of the result of the LRO if specified by the LRO extension in the swagger.
|
|
23
|
-
*/
|
|
24
|
-
export declare type LroResourceLocationConfig = "azure-async-operation" | "location" | "original-uri";
|
|
25
|
-
/**
|
|
26
|
-
* The type of a LRO response body. This is just a convenience type for checking the status of the operation.
|
|
27
|
-
*/
|
|
28
|
-
export interface LroBody extends Record<string, unknown> {
|
|
29
|
-
/** The status of the operation. */
|
|
30
|
-
status?: string;
|
|
31
|
-
/** The state of the provisioning process */
|
|
32
|
-
provisioningState?: string;
|
|
33
|
-
/** The properties of the provisioning process */
|
|
34
|
-
properties?: {
|
|
35
|
-
provisioningState?: string;
|
|
36
|
-
} & Record<string, unknown>;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Simple type of the raw response.
|
|
40
|
-
*/
|
|
41
|
-
export interface RawResponse {
|
|
42
|
-
/** The HTTP status code */
|
|
43
|
-
statusCode: number;
|
|
44
|
-
/** A HttpHeaders collection in the response represented as a simple JSON object where all header names have been normalized to be lower-case. */
|
|
45
|
-
headers: {
|
|
46
|
-
[headerName: string]: string;
|
|
47
|
-
};
|
|
48
|
-
/** The parsed response body */
|
|
49
|
-
body?: unknown;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* The type of the response of a LRO.
|
|
53
|
-
*/
|
|
54
|
-
export interface LroResponse<T> {
|
|
55
|
-
/** The flattened response */
|
|
56
|
-
flatResponse: T;
|
|
57
|
-
/** The raw response */
|
|
58
|
-
rawResponse: RawResponse;
|
|
59
|
-
}
|
|
60
|
-
/** The type of which LRO implementation being followed by a specific API. */
|
|
61
|
-
export declare type LroMode = "AzureAsync" | "Location" | "Body";
|
|
62
|
-
/**
|
|
63
|
-
* The configuration of a LRO to determine how to perform polling and checking whether the operation has completed.
|
|
64
|
-
*/
|
|
65
|
-
export interface LroConfig {
|
|
66
|
-
/** The LRO mode */
|
|
67
|
-
mode?: LroMode;
|
|
68
|
-
/** The path of a provisioned resource */
|
|
69
|
-
resourceLocation?: string;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Type of a polling operation state that can actually be resumed.
|
|
73
|
-
*/
|
|
74
|
-
export declare type ResumablePollOperationState<T> = PollOperationState<T> & {
|
|
75
|
-
initialRawResponse?: RawResponse;
|
|
76
|
-
config?: LroConfig;
|
|
77
|
-
pollingURL?: string;
|
|
78
|
-
};
|
|
79
|
-
export interface PollerConfig {
|
|
80
|
-
intervalInMs: number;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* The type of a terminal state of an LRO.
|
|
84
|
-
*/
|
|
85
|
-
export interface LroTerminalState<T> extends LroResponse<T> {
|
|
86
|
-
/**
|
|
87
|
-
* Whether the operation has finished.
|
|
88
|
-
*/
|
|
89
|
-
done: true;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* The type of an in-progress state of an LRO.
|
|
93
|
-
*/
|
|
94
|
-
export interface LroInProgressState<T> extends LroResponse<T> {
|
|
95
|
-
/**
|
|
96
|
-
* Whether the operation has finished.
|
|
97
|
-
*/
|
|
98
|
-
done: false;
|
|
99
|
-
/**
|
|
100
|
-
* The request to be sent next if it is different from the standard polling one.
|
|
101
|
-
* Notice that it will disregard any polling URLs provided to it.
|
|
102
|
-
*/
|
|
103
|
-
next?: () => Promise<LroStatus<T>>;
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* The type of an LRO state which is a tagged union of terminal and in-progress states.
|
|
107
|
-
*/
|
|
108
|
-
export declare type LroStatus<T> = LroTerminalState<T> | LroInProgressState<T>;
|
|
109
|
-
/**
|
|
110
|
-
* The type of the getLROStatusFromResponse method. It takes the response as input and returns along the response whether the operation has finished.
|
|
111
|
-
*/
|
|
112
|
-
export declare type GetLroStatusFromResponse<T> = (rawResponse: RawResponse, flatResponse: T) => LroStatus<T>;
|
|
113
|
-
/**
|
|
114
|
-
* Description of a long running operation.
|
|
115
|
-
*/
|
|
116
|
-
export interface LongRunningOperation<T> {
|
|
117
|
-
/**
|
|
118
|
-
* The request path.
|
|
119
|
-
*/
|
|
120
|
-
requestPath: string;
|
|
121
|
-
/**
|
|
122
|
-
* The HTTP request method.
|
|
123
|
-
*/
|
|
124
|
-
requestMethod: string;
|
|
125
|
-
/**
|
|
126
|
-
* A function that can be used to send initial request to the service.
|
|
127
|
-
*/
|
|
128
|
-
sendInitialRequest: (initializeState: (rawResponse: RawResponse, flatResponse: unknown) => boolean) => Promise<LroResponse<T>>;
|
|
129
|
-
/**
|
|
130
|
-
* A function that can be used to poll for the current status of a long running operation.
|
|
131
|
-
*/
|
|
132
|
-
sendPollRequest: (config: LroConfig, path: string) => Promise<LroStatus<T>>;
|
|
133
|
-
/**
|
|
134
|
-
* A function that can be used to retrieve the provisioned azure resource.
|
|
135
|
-
*/
|
|
136
|
-
retrieveAzureAsyncResource: (path?: string) => Promise<LroResponse<T>>;
|
|
137
|
-
}
|
|
138
|
-
//# sourceMappingURL=models.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/lro/models.ts"],"names":[],"mappings":"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"}
|
package/dist/src/lro/models.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright (c) Microsoft Corporation.
|
|
3
|
-
// Licensed under the MIT license.
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.terminalStates = exports.failureStates = exports.successStates = void 0;
|
|
6
|
-
exports.successStates = ["succeeded"];
|
|
7
|
-
exports.failureStates = ["failed", "canceled", "cancelled"];
|
|
8
|
-
/**
|
|
9
|
-
* The LRO states that signal that the LRO has completed.
|
|
10
|
-
*/
|
|
11
|
-
exports.terminalStates = exports.successStates.concat(exports.failureStates);
|
|
12
|
-
//# sourceMappingURL=models.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/lro/models.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAkBrB,QAAA,aAAa,GAAG,CAAC,WAAW,CAAC,CAAC;AAC9B,QAAA,aAAa,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;AACjE;;GAEG;AACU,QAAA,cAAc,GAAG,qBAAa,CAAC,MAAM,CAAC,qBAAa,CAAC,CAAC"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { AbortSignalLike } from "@azure/abort-controller";
|
|
2
|
-
import { PollOperationState, PollOperation } from "@azure/core-lro";
|
|
3
|
-
import { PollerConfig, ResumablePollOperationState, LongRunningOperation } from "./models";
|
|
4
|
-
export declare class GenericPollOperation<TResult, TState extends PollOperationState<TResult>> implements PollOperation<TState, TResult> {
|
|
5
|
-
state: TState & ResumablePollOperationState<TResult>;
|
|
6
|
-
private lro;
|
|
7
|
-
private getLROStatusFromResponse?;
|
|
8
|
-
private pollerConfig?;
|
|
9
|
-
constructor(state: TState & ResumablePollOperationState<TResult>, lro: LongRunningOperation<TResult>);
|
|
10
|
-
setPollerConfig(pollerConfig: PollerConfig): void;
|
|
11
|
-
/**
|
|
12
|
-
* General update function for LROPoller, the general process is as follows
|
|
13
|
-
* 1. Check initial operation result to determine the strategy to use
|
|
14
|
-
* - Strategies: Location, Azure-AsyncOperation, Original Uri
|
|
15
|
-
* 2. Check if the operation result has a terminal state
|
|
16
|
-
* - Terminal state will be determined by each strategy
|
|
17
|
-
* 2.1 If it is terminal state Check if a final GET request is required, if so
|
|
18
|
-
* send final GET request and return result from operation. If no final GET
|
|
19
|
-
* is required, just return the result from operation.
|
|
20
|
-
* - Determining what to call for final request is responsibility of each strategy
|
|
21
|
-
* 2.2 If it is not terminal state, call the polling operation and go to step 1
|
|
22
|
-
* - Determining what to call for polling is responsibility of each strategy
|
|
23
|
-
* - Strategies will always use the latest URI for polling if provided otherwise
|
|
24
|
-
* the last known one
|
|
25
|
-
*/
|
|
26
|
-
update(options?: {
|
|
27
|
-
abortSignal?: AbortSignalLike | undefined;
|
|
28
|
-
fireProgress?: ((state: TState) => void) | undefined;
|
|
29
|
-
}): Promise<PollOperation<TState, TResult>>;
|
|
30
|
-
cancel(): Promise<PollOperation<TState, TResult>>;
|
|
31
|
-
/**
|
|
32
|
-
* Serializes the Poller operation.
|
|
33
|
-
*/
|
|
34
|
-
toString(): string;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=operation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../../src/lro/operation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EACL,YAAY,EACZ,2BAA2B,EAC3B,oBAAoB,EAErB,MAAM,UAAU,CAAC;AAIlB,qBAAa,oBAAoB,CAC/B,OAAO,EACP,MAAM,SAAS,kBAAkB,CAAC,OAAO,CAAC,CAC1C,YAAW,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC;IAOhC,KAAK,EAAE,MAAM,GAAG,2BAA2B,CAAC,OAAO,CAAC;IAC3D,OAAO,CAAC,GAAG;IAPb,OAAO,CAAC,wBAAwB,CAAC,CAGA;IACjC,OAAO,CAAC,YAAY,CAAC,CAAe;gBAE3B,KAAK,EAAE,MAAM,GAAG,2BAA2B,CAAC,OAAO,CAAC,EACnD,GAAG,EAAE,oBAAoB,CAAC,OAAO,CAAC;IAGrC,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAIxD;;;;;;;;;;;;;;OAcG;IACG,MAAM,CAAC,OAAO,CAAC,EAAE;QACrB,WAAW,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;QAC1C,YAAY,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;KACtD,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAgDrC,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAKvD;;OAEG;IACI,QAAQ,IAAI,MAAM;CAK1B"}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright (c) Microsoft Corporation.
|
|
3
|
-
// Licensed under the MIT license.
|
|
4
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
5
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
6
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
7
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
8
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
9
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
10
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
11
|
-
});
|
|
12
|
-
};
|
|
13
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.GenericPollOperation = void 0;
|
|
15
|
-
const requestUtils_1 = require("./requestUtils");
|
|
16
|
-
const stateMachine_1 = require("./stateMachine");
|
|
17
|
-
class GenericPollOperation {
|
|
18
|
-
constructor(state, lro) {
|
|
19
|
-
this.state = state;
|
|
20
|
-
this.lro = lro;
|
|
21
|
-
}
|
|
22
|
-
setPollerConfig(pollerConfig) {
|
|
23
|
-
this.pollerConfig = pollerConfig;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* General update function for LROPoller, the general process is as follows
|
|
27
|
-
* 1. Check initial operation result to determine the strategy to use
|
|
28
|
-
* - Strategies: Location, Azure-AsyncOperation, Original Uri
|
|
29
|
-
* 2. Check if the operation result has a terminal state
|
|
30
|
-
* - Terminal state will be determined by each strategy
|
|
31
|
-
* 2.1 If it is terminal state Check if a final GET request is required, if so
|
|
32
|
-
* send final GET request and return result from operation. If no final GET
|
|
33
|
-
* is required, just return the result from operation.
|
|
34
|
-
* - Determining what to call for final request is responsibility of each strategy
|
|
35
|
-
* 2.2 If it is not terminal state, call the polling operation and go to step 1
|
|
36
|
-
* - Determining what to call for polling is responsibility of each strategy
|
|
37
|
-
* - Strategies will always use the latest URI for polling if provided otherwise
|
|
38
|
-
* the last known one
|
|
39
|
-
*/
|
|
40
|
-
update(options) {
|
|
41
|
-
var _a, _b;
|
|
42
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
const state = this.state;
|
|
44
|
-
if (!state.isStarted) {
|
|
45
|
-
const initializeState = stateMachine_1.createInitializeState(state, this.lro.requestPath, this.lro.requestMethod);
|
|
46
|
-
yield this.lro.sendInitialRequest(initializeState);
|
|
47
|
-
}
|
|
48
|
-
if (!state.isCompleted) {
|
|
49
|
-
if (this.getLROStatusFromResponse === undefined) {
|
|
50
|
-
if (state.config === undefined) {
|
|
51
|
-
throw new Error("Bad state: LRO mode is undefined. Please check if the serialized state is well-formed.");
|
|
52
|
-
}
|
|
53
|
-
this.getLROStatusFromResponse = stateMachine_1.createPollForLROStatus(this.lro, state.config);
|
|
54
|
-
}
|
|
55
|
-
if (state.pollingURL === undefined) {
|
|
56
|
-
throw new Error("Bad state: polling URL is undefined. Please check if the serialized state is well-formed.");
|
|
57
|
-
}
|
|
58
|
-
const currentState = yield this.getLROStatusFromResponse(state.pollingURL, this.pollerConfig);
|
|
59
|
-
if (currentState.done) {
|
|
60
|
-
state.result = currentState.flatResponse;
|
|
61
|
-
state.isCompleted = true;
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
this.getLROStatusFromResponse =
|
|
65
|
-
(_a = currentState.next) !== null && _a !== void 0 ? _a : this.getLROStatusFromResponse;
|
|
66
|
-
state.pollingURL = requestUtils_1.getPollingUrl(currentState.rawResponse, state.pollingURL);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
(_b = options === null || options === void 0 ? void 0 : options.fireProgress) === null || _b === void 0 ? void 0 : _b.call(options, state);
|
|
70
|
-
return this;
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
cancel() {
|
|
74
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
75
|
-
this.state.isCancelled = true;
|
|
76
|
-
return this;
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Serializes the Poller operation.
|
|
81
|
-
*/
|
|
82
|
-
toString() {
|
|
83
|
-
return JSON.stringify({
|
|
84
|
-
state: this.state
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
exports.GenericPollOperation = GenericPollOperation;
|
|
89
|
-
//# sourceMappingURL=operation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"operation.js","sourceRoot":"","sources":["../../../src/lro/operation.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAUlC,iDAA+C;AAC/C,iDAA+E;AAE/E,MAAa,oBAAoB;IAS/B,YACS,KAAoD,EACnD,GAAkC;QADnC,UAAK,GAAL,KAAK,CAA+C;QACnD,QAAG,GAAH,GAAG,CAA+B;IACzC,CAAC;IAEG,eAAe,CAAC,YAA0B;QAC/C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACG,MAAM,CAAC,OAGZ;;;YACC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;gBACpB,MAAM,eAAe,GAAG,oCAAqB,CAC3C,KAAK,EACL,IAAI,CAAC,GAAG,CAAC,WAAW,EACpB,IAAI,CAAC,GAAG,CAAC,aAAa,CACvB,CAAC;gBACF,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;aACpD;YAED,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBACtB,IAAI,IAAI,CAAC,wBAAwB,KAAK,SAAS,EAAE;oBAC/C,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;wBAC9B,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;qBACH;oBACD,IAAI,CAAC,wBAAwB,GAAG,qCAAsB,CACpD,IAAI,CAAC,GAAG,EACR,KAAK,CAAC,MAAM,CACb,CAAC;iBACH;gBACD,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE;oBAClC,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAC;iBACH;gBACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,wBAAwB,CACtD,KAAK,CAAC,UAAU,EAChB,IAAI,CAAC,YAAa,CACnB,CAAC;gBACF,IAAI,YAAY,CAAC,IAAI,EAAE;oBACrB,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC;oBACzC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;iBAC1B;qBAAM;oBACL,IAAI,CAAC,wBAAwB;wBAC3B,MAAA,YAAY,CAAC,IAAI,mCAAI,IAAI,CAAC,wBAAwB,CAAC;oBACrD,KAAK,CAAC,UAAU,GAAG,4BAAa,CAC9B,YAAY,CAAC,WAAW,EACxB,KAAK,CAAC,UAAU,CACjB,CAAC;iBACH;aACF;YACD,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,+CAArB,OAAO,EAAiB,KAAK,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC;;KACb;IAEK,MAAM;;YACV,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAED;;OAEG;IACI,QAAQ;QACb,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;CACF;AAjGD,oDAiGC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"passthrough.d.ts","sourceRoot":"","sources":["../../../src/lro/passthrough.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAElD,wBAAgB,iCAAiC,CAAC,OAAO,EACvD,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,OAAO,GACpB,SAAS,CAAC,OAAO,CAAC,CAMpB"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright (c) Microsoft Corporation.
|
|
3
|
-
// Licensed under the MIT license.
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.processPassthroughOperationResult = void 0;
|
|
6
|
-
function processPassthroughOperationResult(rawResponse, flatResponse) {
|
|
7
|
-
return {
|
|
8
|
-
rawResponse,
|
|
9
|
-
flatResponse,
|
|
10
|
-
done: true
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
exports.processPassthroughOperationResult = processPassthroughOperationResult;
|
|
14
|
-
//# sourceMappingURL=passthrough.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"passthrough.js","sourceRoot":"","sources":["../../../src/lro/passthrough.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAIlC,SAAgB,iCAAiC,CAC/C,WAAwB,EACxB,YAAqB;IAErB,OAAO;QACL,WAAW;QACX,YAAY;QACZ,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AATD,8EASC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { LroConfig, RawResponse } from "./models";
|
|
2
|
-
/**
|
|
3
|
-
* Detects where the continuation token is and returns it. Notice that azure-asyncoperation
|
|
4
|
-
* must be checked first before the other location headers because there are scenarios
|
|
5
|
-
* where both azure-asyncoperation and location could be present in the same response but
|
|
6
|
-
* azure-asyncoperation should be the one to use for polling.
|
|
7
|
-
*/
|
|
8
|
-
export declare function getPollingUrl(rawResponse: RawResponse, defaultPath: string): string;
|
|
9
|
-
export declare function inferLroMode(requestPath: string, requestMethod: string, rawResponse: RawResponse): LroConfig;
|
|
10
|
-
export declare class RestError extends Error {
|
|
11
|
-
statusCode?: number;
|
|
12
|
-
constructor(message: string, statusCode: number);
|
|
13
|
-
}
|
|
14
|
-
export declare function isUnexpectedInitialResponse(rawResponse: RawResponse): boolean;
|
|
15
|
-
export declare function isUnexpectedPollingResponse(rawResponse: RawResponse): boolean;
|
|
16
|
-
//# sourceMappingURL=requestUtils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"requestUtils.d.ts","sourceRoot":"","sources":["../../../src/lro/requestUtils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAElD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAOnF;AAcD,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,WAAW,GACvB,SAAS,CAwBX;AAED,qBAAa,SAAU,SAAQ,KAAK;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;gBACf,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAOhD;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAS7E;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAS7E"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright (c) Microsoft Corporation.
|
|
3
|
-
// Licensed under the MIT license.
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.isUnexpectedPollingResponse = exports.isUnexpectedInitialResponse = exports.RestError = exports.inferLroMode = exports.getPollingUrl = void 0;
|
|
6
|
-
/**
|
|
7
|
-
* Detects where the continuation token is and returns it. Notice that azure-asyncoperation
|
|
8
|
-
* must be checked first before the other location headers because there are scenarios
|
|
9
|
-
* where both azure-asyncoperation and location could be present in the same response but
|
|
10
|
-
* azure-asyncoperation should be the one to use for polling.
|
|
11
|
-
*/
|
|
12
|
-
function getPollingUrl(rawResponse, defaultPath) {
|
|
13
|
-
var _a, _b, _c;
|
|
14
|
-
return ((_c = (_b = (_a = getAzureAsyncOperation(rawResponse)) !== null && _a !== void 0 ? _a : getLocation(rawResponse)) !== null && _b !== void 0 ? _b : getOperationLocation(rawResponse)) !== null && _c !== void 0 ? _c : defaultPath);
|
|
15
|
-
}
|
|
16
|
-
exports.getPollingUrl = getPollingUrl;
|
|
17
|
-
function getLocation(rawResponse) {
|
|
18
|
-
return rawResponse.headers["location"];
|
|
19
|
-
}
|
|
20
|
-
function getOperationLocation(rawResponse) {
|
|
21
|
-
return rawResponse.headers["operation-location"];
|
|
22
|
-
}
|
|
23
|
-
function getAzureAsyncOperation(rawResponse) {
|
|
24
|
-
return rawResponse.headers["azure-asyncoperation"];
|
|
25
|
-
}
|
|
26
|
-
function inferLroMode(requestPath, requestMethod, rawResponse) {
|
|
27
|
-
if (getAzureAsyncOperation(rawResponse) !== undefined) {
|
|
28
|
-
return {
|
|
29
|
-
mode: "AzureAsync",
|
|
30
|
-
resourceLocation: requestMethod === "PUT"
|
|
31
|
-
? requestPath
|
|
32
|
-
: requestMethod === "POST"
|
|
33
|
-
? getLocation(rawResponse)
|
|
34
|
-
: undefined
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
else if (getLocation(rawResponse) !== undefined ||
|
|
38
|
-
getOperationLocation(rawResponse) !== undefined) {
|
|
39
|
-
return {
|
|
40
|
-
mode: "Location"
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
else if (["PUT", "PATCH"].includes(requestMethod)) {
|
|
44
|
-
return {
|
|
45
|
-
mode: "Body"
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
return {};
|
|
49
|
-
}
|
|
50
|
-
exports.inferLroMode = inferLroMode;
|
|
51
|
-
class RestError extends Error {
|
|
52
|
-
constructor(message, statusCode) {
|
|
53
|
-
super(message);
|
|
54
|
-
this.name = "RestError";
|
|
55
|
-
this.statusCode = statusCode;
|
|
56
|
-
Object.setPrototypeOf(this, RestError.prototype);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
exports.RestError = RestError;
|
|
60
|
-
function isUnexpectedInitialResponse(rawResponse) {
|
|
61
|
-
const code = rawResponse.statusCode;
|
|
62
|
-
if (![203, 204, 202, 201, 200, 500].includes(code)) {
|
|
63
|
-
throw new RestError(`Received unexpected HTTP status code ${code} in the initial response. This may indicate a server issue.`, code);
|
|
64
|
-
}
|
|
65
|
-
return false;
|
|
66
|
-
}
|
|
67
|
-
exports.isUnexpectedInitialResponse = isUnexpectedInitialResponse;
|
|
68
|
-
function isUnexpectedPollingResponse(rawResponse) {
|
|
69
|
-
const code = rawResponse.statusCode;
|
|
70
|
-
if (![202, 201, 200, 500].includes(code)) {
|
|
71
|
-
throw new RestError(`Received unexpected HTTP status code ${code} while polling. This may indicate a server issue.`, code);
|
|
72
|
-
}
|
|
73
|
-
return false;
|
|
74
|
-
}
|
|
75
|
-
exports.isUnexpectedPollingResponse = isUnexpectedPollingResponse;
|
|
76
|
-
//# sourceMappingURL=requestUtils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"requestUtils.js","sourceRoot":"","sources":["../../../src/lro/requestUtils.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAIlC;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,WAAwB,EAAE,WAAmB;;IACzE,OAAO,CACL,MAAA,MAAA,MAAA,sBAAsB,CAAC,WAAW,CAAC,mCACnC,WAAW,CAAC,WAAW,CAAC,mCACxB,oBAAoB,CAAC,WAAW,CAAC,mCACjC,WAAW,CACZ,CAAC;AACJ,CAAC;AAPD,sCAOC;AAED,SAAS,WAAW,CAAC,WAAwB;IAC3C,OAAO,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAwB;IACpD,OAAO,WAAW,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,sBAAsB,CAAC,WAAwB;IACtD,OAAO,WAAW,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;AACrD,CAAC;AAED,SAAgB,YAAY,CAC1B,WAAmB,EACnB,aAAqB,EACrB,WAAwB;IAExB,IAAI,sBAAsB,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE;QACrD,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,gBAAgB,EACd,aAAa,KAAK,KAAK;gBACrB,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,aAAa,KAAK,MAAM;oBAC1B,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC;oBAC1B,CAAC,CAAC,SAAS;SAChB,CAAC;KACH;SAAM,IACL,WAAW,CAAC,WAAW,CAAC,KAAK,SAAS;QACtC,oBAAoB,CAAC,WAAW,CAAC,KAAK,SAAS,EAC/C;QACA,OAAO;YACL,IAAI,EAAE,UAAU;SACjB,CAAC;KACH;SAAM,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;QACnD,OAAO;YACL,IAAI,EAAE,MAAM;SACb,CAAC;KACH;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AA5BD,oCA4BC;AAED,MAAa,SAAU,SAAQ,KAAK;IAElC,YAAY,OAAe,EAAE,UAAkB;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;CACF;AATD,8BASC;AAED,SAAgB,2BAA2B,CAAC,WAAwB;IAClE,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC;IACpC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAClD,MAAM,IAAI,SAAS,CACjB,wCAAwC,IAAI,6DAA6D,EACzG,IAAI,CACL,CAAC;KACH;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AATD,kEASC;AAED,SAAgB,2BAA2B,CAAC,WAAwB;IAClE,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC;IACpC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACxC,MAAM,IAAI,SAAS,CACjB,wCAAwC,IAAI,mDAAmD,EAC/F,IAAI,CACL,CAAC;KACH;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AATD,kEASC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { LroResourceLocationConfig, GetLroStatusFromResponse, LongRunningOperation, LroConfig, LroStatus, PollerConfig, RawResponse, ResumablePollOperationState } from "./models";
|
|
2
|
-
/**
|
|
3
|
-
* creates a stepping function that maps an LRO state to another.
|
|
4
|
-
*/
|
|
5
|
-
export declare function createGetLroStatusFromResponse<TResult>(lroPrimitives: LongRunningOperation<TResult>, config: LroConfig, lroResourceLocationConfig?: LroResourceLocationConfig): GetLroStatusFromResponse<TResult>;
|
|
6
|
-
/**
|
|
7
|
-
* Creates a polling operation that returns a LRO state.
|
|
8
|
-
*/
|
|
9
|
-
export declare function createPollForLROStatus<TResult>(lroPrimitives: LongRunningOperation<TResult>, config: LroConfig): (pollingURL: string, pollerConfig: PollerConfig) => Promise<LroStatus<TResult>>;
|
|
10
|
-
/**
|
|
11
|
-
* Creates a callback to be used to initialize the polling operation state.
|
|
12
|
-
* @param state - of the polling operation
|
|
13
|
-
* @param operationSpec - of the LRO
|
|
14
|
-
* @param callback - callback to be called when the operation is done
|
|
15
|
-
* @returns callback that initializes the state of the polling operation
|
|
16
|
-
*/
|
|
17
|
-
export declare function createInitializeState<TResult>(state: ResumablePollOperationState<TResult>, requestPath: string, requestMethod: string): (rawResponse: RawResponse, flatResponse: unknown) => boolean;
|
|
18
|
-
//# sourceMappingURL=stateMachine.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stateMachine.d.ts","sourceRoot":"","sources":["../../../src/lro/stateMachine.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,SAAS,EACT,SAAS,EACT,YAAY,EACZ,WAAW,EACX,2BAA2B,EAC5B,MAAM,UAAU,CAAC;AAIlB;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EACpD,aAAa,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAC5C,MAAM,EAAE,SAAS,EACjB,yBAAyB,CAAC,EAAE,yBAAyB,GACpD,wBAAwB,CAAC,OAAO,CAAC,CAmBnC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAC5C,aAAa,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAC5C,MAAM,EAAE,SAAS,GAChB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,KAAK,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAYjF;AAcD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAC3C,KAAK,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAC3C,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,KAAK,OAAO,CAiB9D"}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright (c) Microsoft Corporation.
|
|
3
|
-
// Licensed under the MIT license.
|
|
4
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
5
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
6
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
7
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
8
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
9
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
10
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
11
|
-
});
|
|
12
|
-
};
|
|
13
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.createInitializeState = exports.createPollForLROStatus = exports.createGetLroStatusFromResponse = void 0;
|
|
15
|
-
const azureAsyncPolling_1 = require("./azureAsyncPolling");
|
|
16
|
-
const bodyPolling_1 = require("./bodyPolling");
|
|
17
|
-
const locationPolling_1 = require("./locationPolling");
|
|
18
|
-
const passthrough_1 = require("./passthrough");
|
|
19
|
-
const requestUtils_1 = require("./requestUtils");
|
|
20
|
-
/**
|
|
21
|
-
* creates a stepping function that maps an LRO state to another.
|
|
22
|
-
*/
|
|
23
|
-
function createGetLroStatusFromResponse(lroPrimitives, config, lroResourceLocationConfig) {
|
|
24
|
-
switch (config.mode) {
|
|
25
|
-
case "AzureAsync": {
|
|
26
|
-
return azureAsyncPolling_1.processAzureAsyncOperationResult(lroPrimitives, config.resourceLocation, lroResourceLocationConfig);
|
|
27
|
-
}
|
|
28
|
-
case "Location": {
|
|
29
|
-
return locationPolling_1.processLocationPollingOperationResult;
|
|
30
|
-
}
|
|
31
|
-
case "Body": {
|
|
32
|
-
return bodyPolling_1.processBodyPollingOperationResult;
|
|
33
|
-
}
|
|
34
|
-
default: {
|
|
35
|
-
return passthrough_1.processPassthroughOperationResult;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
exports.createGetLroStatusFromResponse = createGetLroStatusFromResponse;
|
|
40
|
-
/**
|
|
41
|
-
* Creates a polling operation that returns a LRO state.
|
|
42
|
-
*/
|
|
43
|
-
function createPollForLROStatus(lroPrimitives, config) {
|
|
44
|
-
return (path, pollerConfig) => __awaiter(this, void 0, void 0, function* () {
|
|
45
|
-
const response = yield lroPrimitives.sendPollRequest(config, path);
|
|
46
|
-
const retryAfter = response.rawResponse.headers["retry-after"];
|
|
47
|
-
if (retryAfter !== undefined) {
|
|
48
|
-
const retryAfterInMs = parseInt(retryAfter);
|
|
49
|
-
pollerConfig.intervalInMs = isNaN(retryAfterInMs)
|
|
50
|
-
? calculatePollingIntervalFromDate(new Date(retryAfter), pollerConfig.intervalInMs)
|
|
51
|
-
: retryAfterInMs;
|
|
52
|
-
}
|
|
53
|
-
return response;
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
exports.createPollForLROStatus = createPollForLROStatus;
|
|
57
|
-
function calculatePollingIntervalFromDate(retryAfterDate, defaultIntervalInMs) {
|
|
58
|
-
const timeNow = Math.floor(new Date().getTime());
|
|
59
|
-
const retryAfterTime = retryAfterDate.getTime();
|
|
60
|
-
if (timeNow < retryAfterTime) {
|
|
61
|
-
return retryAfterTime - timeNow;
|
|
62
|
-
}
|
|
63
|
-
return defaultIntervalInMs;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Creates a callback to be used to initialize the polling operation state.
|
|
67
|
-
* @param state - of the polling operation
|
|
68
|
-
* @param operationSpec - of the LRO
|
|
69
|
-
* @param callback - callback to be called when the operation is done
|
|
70
|
-
* @returns callback that initializes the state of the polling operation
|
|
71
|
-
*/
|
|
72
|
-
function createInitializeState(state, requestPath, requestMethod) {
|
|
73
|
-
return (rawResponse, flatResponse) => {
|
|
74
|
-
if (requestUtils_1.isUnexpectedInitialResponse(rawResponse))
|
|
75
|
-
return true;
|
|
76
|
-
state.initialRawResponse = rawResponse;
|
|
77
|
-
state.isStarted = true;
|
|
78
|
-
state.pollingURL = requestUtils_1.getPollingUrl(state.initialRawResponse, requestPath);
|
|
79
|
-
state.config = requestUtils_1.inferLroMode(requestPath, requestMethod, state.initialRawResponse);
|
|
80
|
-
/** short circuit polling if body polling is done in the initial request */
|
|
81
|
-
if (state.config.mode === undefined ||
|
|
82
|
-
(state.config.mode === "Body" && bodyPolling_1.isBodyPollingDone(state.initialRawResponse))) {
|
|
83
|
-
state.result = flatResponse;
|
|
84
|
-
state.isCompleted = true;
|
|
85
|
-
}
|
|
86
|
-
return Boolean(state.isCompleted);
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
exports.createInitializeState = createInitializeState;
|
|
90
|
-
//# sourceMappingURL=stateMachine.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stateMachine.js","sourceRoot":"","sources":["../../../src/lro/stateMachine.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,2DAAuE;AACvE,+CAAqF;AACrF,uDAA0E;AAW1E,+CAAkE;AAClE,iDAA0F;AAE1F;;GAEG;AACH,SAAgB,8BAA8B,CAC5C,aAA4C,EAC5C,MAAiB,EACjB,yBAAqD;IAErD,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,YAAY,CAAC,CAAC;YACjB,OAAO,oDAAgC,CACrC,aAAa,EACb,MAAM,CAAC,gBAAgB,EACvB,yBAAyB,CAC1B,CAAC;SACH;QACD,KAAK,UAAU,CAAC,CAAC;YACf,OAAO,uDAAqC,CAAC;SAC9C;QACD,KAAK,MAAM,CAAC,CAAC;YACX,OAAO,+CAAiC,CAAC;SAC1C;QACD,OAAO,CAAC,CAAC;YACP,OAAO,+CAAiC,CAAC;SAC1C;KACF;AACH,CAAC;AAvBD,wEAuBC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CACpC,aAA4C,EAC5C,MAAiB;IAEjB,OAAO,CAAO,IAAY,EAAE,YAA0B,EAA+B,EAAE;QACrF,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnE,MAAM,UAAU,GAAuB,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACnF,IAAI,UAAU,KAAK,SAAS,EAAE;YAC5B,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC5C,YAAY,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC;gBAC/C,CAAC,CAAC,gCAAgC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,YAAY,CAAC;gBACnF,CAAC,CAAC,cAAc,CAAC;SACpB;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAA,CAAC;AACJ,CAAC;AAfD,wDAeC;AAED,SAAS,gCAAgC,CACvC,cAAoB,EACpB,mBAA2B;IAE3B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;IAChD,IAAI,OAAO,GAAG,cAAc,EAAE;QAC5B,OAAO,cAAc,GAAG,OAAO,CAAC;KACjC;IACD,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,qBAAqB,CACnC,KAA2C,EAC3C,WAAmB,EACnB,aAAqB;IAErB,OAAO,CAAC,WAAwB,EAAE,YAAqB,EAAE,EAAE;QACzD,IAAI,0CAA2B,CAAC,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1D,KAAK,CAAC,kBAAkB,GAAG,WAAW,CAAC;QACvC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;QACvB,KAAK,CAAC,UAAU,GAAG,4BAAa,CAAC,KAAK,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;QACxE,KAAK,CAAC,MAAM,GAAG,2BAAY,CAAC,WAAW,EAAE,aAAa,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAClF,2EAA2E;QAC3E,IACE,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS;YAC/B,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,+BAAiB,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,EAC7E;YACA,KAAK,CAAC,MAAM,GAAG,YAAuB,CAAC;YACvC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;SAC1B;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC,CAAC;AACJ,CAAC;AArBD,sDAqBC"}
|