@azure-rest/purview-scanning 1.0.0-beta.3 → 1.0.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -0
- package/README.md +17 -27
- package/dist/browser/isUnexpected.js +4 -5
- package/dist/browser/isUnexpected.js.map +1 -1
- package/dist/browser/paginateHelper.js +43 -73
- package/dist/browser/paginateHelper.js.map +1 -1
- package/dist/browser/pollingHelper.js +11 -8
- package/dist/browser/pollingHelper.js.map +1 -1
- package/dist/browser/purviewScanningRestClient.js +13 -11
- package/dist/browser/purviewScanningRestClient.js.map +1 -1
- package/dist/commonjs/isUnexpected.js +4 -5
- package/dist/commonjs/isUnexpected.js.map +1 -1
- package/dist/commonjs/paginateHelper.js +43 -73
- package/dist/commonjs/paginateHelper.js.map +1 -1
- package/dist/commonjs/pollingHelper.js +11 -8
- package/dist/commonjs/pollingHelper.js.map +1 -1
- package/dist/commonjs/purviewScanningRestClient.js +13 -11
- package/dist/commonjs/purviewScanningRestClient.js.map +1 -1
- package/dist/commonjs/tsdoc-metadata.json +11 -11
- package/dist/esm/isUnexpected.js +4 -5
- package/dist/esm/isUnexpected.js.map +1 -1
- package/dist/esm/paginateHelper.js +43 -73
- package/dist/esm/paginateHelper.js.map +1 -1
- package/dist/esm/pollingHelper.js +11 -8
- package/dist/esm/pollingHelper.js.map +1 -1
- package/dist/esm/purviewScanningRestClient.js +13 -11
- package/dist/esm/purviewScanningRestClient.js.map +1 -1
- package/dist/react-native/isUnexpected.js +4 -5
- package/dist/react-native/isUnexpected.js.map +1 -1
- package/dist/react-native/paginateHelper.js +43 -73
- package/dist/react-native/paginateHelper.js.map +1 -1
- package/dist/react-native/pollingHelper.js +11 -8
- package/dist/react-native/pollingHelper.js.map +1 -1
- package/dist/react-native/purviewScanningRestClient.js +13 -11
- package/dist/react-native/purviewScanningRestClient.js.map +1 -1
- package/package.json +39 -46
- package/review/purview-scanning-node.api.md +6615 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Release History
|
|
2
|
+
|
|
3
|
+
## 1.0.0-beta.4 (Unreleased)
|
|
4
|
+
|
|
5
|
+
### Features Added
|
|
6
|
+
|
|
7
|
+
### Breaking Changes
|
|
8
|
+
|
|
9
|
+
### Bugs Fixed
|
|
10
|
+
|
|
11
|
+
### Other Changes
|
|
12
|
+
|
|
13
|
+
## 1.0.0-beta.3 (2025-02-10)
|
|
14
|
+
|
|
15
|
+
### Features Added
|
|
16
|
+
|
|
17
|
+
- re-generate purview-scanning package to resolve endpoint issue
|
|
18
|
+
|
|
19
|
+
## 1.0.0-beta.2 (2021-09-30)
|
|
20
|
+
|
|
21
|
+
- refresh package with latest swagger and code generator.
|
|
22
|
+
- add paging helper support.
|
|
23
|
+
|
|
24
|
+
## 1.0.0-beta.1 (2021-05-11)
|
|
25
|
+
|
|
26
|
+
- First release of package, see README.md for details.
|
package/README.md
CHANGED
|
@@ -55,12 +55,13 @@ AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET
|
|
|
55
55
|
|
|
56
56
|
Use the returned token credential to authenticate the client:
|
|
57
57
|
|
|
58
|
-
```
|
|
58
|
+
```ts snippet:ReadmeSampleCreateClient_Node
|
|
59
59
|
import PurviewScanning from "@azure-rest/purview-scanning";
|
|
60
60
|
import { DefaultAzureCredential } from "@azure/identity";
|
|
61
|
+
|
|
61
62
|
const client = PurviewScanning(
|
|
62
63
|
"https://<my-account-name>.purview.azure.com",
|
|
63
|
-
new DefaultAzureCredential()
|
|
64
|
+
new DefaultAzureCredential(),
|
|
64
65
|
);
|
|
65
66
|
```
|
|
66
67
|
|
|
@@ -78,33 +79,24 @@ The following section shows you how to initialize and authenticate your client,
|
|
|
78
79
|
|
|
79
80
|
### List All Data Sources
|
|
80
81
|
|
|
81
|
-
```
|
|
82
|
-
import PurviewScanning, {
|
|
82
|
+
```ts snippet:ReadmeSampleListAllDataSources
|
|
83
|
+
import PurviewScanning, { isUnexpected, paginate } from "@azure-rest/purview-scanning";
|
|
83
84
|
import { DefaultAzureCredential } from "@azure/identity";
|
|
84
85
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
new DefaultAzureCredential()
|
|
90
|
-
);
|
|
91
|
-
|
|
92
|
-
const dataSources = await client.path("/datasources").get();
|
|
93
|
-
if (isUnexpected(dataSources)) {
|
|
94
|
-
throw dataSources.body.error;
|
|
95
|
-
}
|
|
96
|
-
const iter = paginate(client, dataSources);
|
|
97
|
-
|
|
98
|
-
const items: DataSourceOutput[] = [];
|
|
99
|
-
|
|
100
|
-
for await (const item of <PagedAsyncIterableIterator<DataSourceOutput, (DataSourceOutput)[], PageSettings>>iter) {
|
|
101
|
-
items.push(item);
|
|
102
|
-
}
|
|
86
|
+
const client = PurviewScanning(
|
|
87
|
+
"https://<my-account-name>.purview.azure.com",
|
|
88
|
+
new DefaultAzureCredential(),
|
|
89
|
+
);
|
|
103
90
|
|
|
104
|
-
|
|
91
|
+
const dataSources = await client.path("/datasources").get();
|
|
92
|
+
if (isUnexpected(dataSources)) {
|
|
93
|
+
throw dataSources.body.error;
|
|
105
94
|
}
|
|
106
95
|
|
|
107
|
-
|
|
96
|
+
const pagedDataSources = paginate(client, dataSources);
|
|
97
|
+
for await (const dataSource of pagedDataSources) {
|
|
98
|
+
console.log(`Data Source Name: ${dataSource.name}`);
|
|
99
|
+
}
|
|
108
100
|
```
|
|
109
101
|
|
|
110
102
|
## Troubleshooting
|
|
@@ -113,7 +105,7 @@ main().catch(console.error);
|
|
|
113
105
|
|
|
114
106
|
Enabling logging may help uncover useful information about failures. In order to see a log of HTTP requests and responses, set the `AZURE_LOG_LEVEL` environment variable to `info`. Alternatively, logging can be enabled at runtime by calling `setLogLevel` in the `@azure/logger`:
|
|
115
107
|
|
|
116
|
-
```ts
|
|
108
|
+
```ts snippet:SetLogLevel
|
|
117
109
|
import { setLogLevel } from "@azure/logger";
|
|
118
110
|
|
|
119
111
|
setLogLevel("info");
|
|
@@ -131,8 +123,6 @@ If you'd like to contribute to this library, please read the [contributing guide
|
|
|
131
123
|
|
|
132
124
|
- [Microsoft Azure SDK for JavaScript](https://github.com/Azure/azure-sdk-for-js)
|
|
133
125
|
|
|
134
|
-
|
|
135
|
-
|
|
136
126
|
<!-- LINKS -->
|
|
137
127
|
|
|
138
128
|
[scanning_product_documentation]: https://azure.microsoft.com/services/purview/
|
|
@@ -71,7 +71,7 @@ const responseMap = {
|
|
|
71
71
|
};
|
|
72
72
|
export function isUnexpected(response) {
|
|
73
73
|
const lroOriginal = response.headers["x-ms-original-url"];
|
|
74
|
-
const url = new URL(lroOriginal
|
|
74
|
+
const url = new URL(lroOriginal ?? response.request.url);
|
|
75
75
|
const method = response.request.method;
|
|
76
76
|
let pathDetails = responseMap[`${method} ${url.pathname}`];
|
|
77
77
|
if (!pathDetails) {
|
|
@@ -80,7 +80,6 @@ export function isUnexpected(response) {
|
|
|
80
80
|
return !pathDetails.includes(response.status);
|
|
81
81
|
}
|
|
82
82
|
function getParametrizedPathSuccess(method, path) {
|
|
83
|
-
var _a, _b, _c, _d;
|
|
84
83
|
const pathParts = path.split("/");
|
|
85
84
|
// Traverse list to match the longest candidate
|
|
86
85
|
// matchedLen: the length of candidate path
|
|
@@ -99,13 +98,13 @@ function getParametrizedPathSuccess(method, path) {
|
|
|
99
98
|
// track if we have found a match to return the values found.
|
|
100
99
|
let found = true;
|
|
101
100
|
for (let i = candidateParts.length - 1, j = pathParts.length - 1; i >= 1 && j >= 1; i--, j--) {
|
|
102
|
-
if (
|
|
103
|
-
const start = candidateParts[i].indexOf("}") + 1, end =
|
|
101
|
+
if (candidateParts[i]?.startsWith("{") && candidateParts[i]?.indexOf("}") !== -1) {
|
|
102
|
+
const start = candidateParts[i].indexOf("}") + 1, end = candidateParts[i]?.length;
|
|
104
103
|
// If the current part of the candidate is a "template" part
|
|
105
104
|
// Try to use the suffix of pattern to match the path
|
|
106
105
|
// {guid} ==> $
|
|
107
106
|
// {guid}:export ==> :export$
|
|
108
|
-
const isMatched = new RegExp(`${
|
|
107
|
+
const isMatched = new RegExp(`${candidateParts[i]?.slice(start, end)}`).test(pathParts[j] || "");
|
|
109
108
|
if (!isMatched) {
|
|
110
109
|
found = false;
|
|
111
110
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isUnexpected.js","sourceRoot":"","sources":["../../src/isUnexpected.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n KeyVaultConnectionsGet200Response,\n KeyVaultConnectionsGetDefaultResponse,\n KeyVaultConnectionsCreateOrReplace200Response,\n KeyVaultConnectionsCreateOrReplace201Response,\n KeyVaultConnectionsCreateOrReplaceDefaultResponse,\n KeyVaultConnectionsDelete204Response,\n KeyVaultConnectionsDeleteDefaultResponse,\n KeyVaultConnectionsList200Response,\n KeyVaultConnectionsListDefaultResponse,\n ClassificationRulesGet200Response,\n ClassificationRulesGetDefaultResponse,\n ClassificationRulesCreateOrReplace200Response,\n ClassificationRulesCreateOrReplace201Response,\n ClassificationRulesCreateOrReplaceDefaultResponse,\n ClassificationRulesDelete204Response,\n ClassificationRulesDeleteDefaultResponse,\n ClassificationRulesList200Response,\n ClassificationRulesListDefaultResponse,\n ClassificationRulesListVersionsByRuleName200Response,\n ClassificationRulesListVersionsByRuleNameDefaultResponse,\n ClassificationRulesTagClassificationVersion202Response,\n ClassificationRulesTagClassificationVersionDefaultResponse,\n CredentialGet200Response,\n CredentialGetDefaultResponse,\n CredentialCreateOrReplace200Response,\n CredentialCreateOrReplace201Response,\n CredentialCreateOrReplaceDefaultResponse,\n CredentialDelete204Response,\n CredentialDeleteDefaultResponse,\n CredentialList200Response,\n CredentialListDefaultResponse,\n DataSourcesCreateOrReplace200Response,\n DataSourcesCreateOrReplace201Response,\n DataSourcesCreateOrReplaceDefaultResponse,\n DataSourcesGet200Response,\n DataSourcesGetDefaultResponse,\n DataSourcesDelete204Response,\n DataSourcesDeleteDefaultResponse,\n DataSourcesList200Response,\n DataSourcesListDefaultResponse,\n FiltersGet200Response,\n FiltersGetDefaultResponse,\n FiltersCreateOrReplace200Response,\n FiltersCreateOrReplace201Response,\n FiltersCreateOrReplaceDefaultResponse,\n IntegrationRuntimesListByAccount200Response,\n IntegrationRuntimesListByAccountDefaultResponse,\n IntegrationRuntimesGet200Response,\n IntegrationRuntimesGetDefaultResponse,\n IntegrationRuntimesDelete204Response,\n IntegrationRuntimesDeleteDefaultResponse,\n IntegrationRuntimesCreateOrReplace200Response,\n IntegrationRuntimesCreateOrReplace201Response,\n IntegrationRuntimesCreateOrReplaceDefaultResponse,\n IntegrationRuntimesStatus200Response,\n IntegrationRuntimesStatusDefaultResponse,\n IntegrationRuntimesListAuthKeys200Response,\n IntegrationRuntimesListAuthKeysDefaultResponse,\n IntegrationRuntimesRegenerateAuthKey200Response,\n IntegrationRuntimesRegenerateAuthKeyDefaultResponse,\n IntegrationRuntimesDisableInteractiveQuery202Response,\n IntegrationRuntimesDisableInteractiveQueryDefaultResponse,\n IntegrationRuntimesEnableInteractiveQuery202Response,\n IntegrationRuntimesEnableInteractiveQueryDefaultResponse,\n ManagedVirtualNetworksListByAccount200Response,\n ManagedVirtualNetworksListByAccountDefaultResponse,\n ManagedVirtualNetworksGet200Response,\n ManagedVirtualNetworksGetDefaultResponse,\n ManagedVirtualNetworksCreateOrReplace200Response,\n ManagedVirtualNetworksCreateOrReplace201Response,\n ManagedVirtualNetworksCreateOrReplaceDefaultResponse,\n ManagedPrivateEndpointsListByAccount200Response,\n ManagedPrivateEndpointsListByAccountDefaultResponse,\n ManagedPrivateEndpointsGet200Response,\n ManagedPrivateEndpointsGetDefaultResponse,\n ManagedPrivateEndpointsDelete204Response,\n ManagedPrivateEndpointsDeleteDefaultResponse,\n ManagedPrivateEndpointsCreateOrReplace200Response,\n ManagedPrivateEndpointsCreateOrReplace201Response,\n ManagedPrivateEndpointsCreateOrReplaceDefaultResponse,\n ScansCreateOrReplace200Response,\n ScansCreateOrReplace201Response,\n ScansCreateOrReplaceDefaultResponse,\n ScansGet200Response,\n ScansGetDefaultResponse,\n ScansDelete204Response,\n ScansDeleteDefaultResponse,\n ScansListByDataSource200Response,\n ScansListByDataSourceDefaultResponse,\n ScanResultGetScanStatus200Response,\n ScanResultGetScanStatusDefaultResponse,\n ScanResultRunScan202Response,\n ScanResultRunScanDefaultResponse,\n ScanResultCancelScan202Response,\n ScanResultCancelScanDefaultResponse,\n ScanResultListScanHistory200Response,\n ScanResultListScanHistoryDefaultResponse,\n ScanRulesetsGet200Response,\n ScanRulesetsGetDefaultResponse,\n ScanRulesetsCreateOrReplace200Response,\n ScanRulesetsCreateOrReplace201Response,\n ScanRulesetsCreateOrReplaceDefaultResponse,\n ScanRulesetsDelete204Response,\n ScanRulesetsDeleteDefaultResponse,\n ScanRulesetsList200Response,\n ScanRulesetsListDefaultResponse,\n SystemScanRulesetsList200Response,\n SystemScanRulesetsListDefaultResponse,\n SystemScanRulesetsGet200Response,\n SystemScanRulesetsGetDefaultResponse,\n SystemScanRulesetsGetByVersion200Response,\n SystemScanRulesetsGetByVersionDefaultResponse,\n SystemScanRulesetsGetLatest200Response,\n SystemScanRulesetsGetLatestDefaultResponse,\n SystemScanRulesetsListVersionsByDataSource200Response,\n SystemScanRulesetsListVersionsByDataSourceDefaultResponse,\n TriggersGet200Response,\n TriggersGetDefaultResponse,\n TriggersCreateOrReplace200Response,\n TriggersCreateOrReplace201Response,\n TriggersCreateOrReplaceDefaultResponse,\n TriggersDelete204Response,\n TriggersDeleteDefaultResponse,\n TriggersEnable200Response,\n TriggersEnableDefaultResponse,\n TriggersDisable200Response,\n TriggersDisableDefaultResponse,\n} from \"./responses.js\";\n\nconst responseMap: Record<string, string[]> = {\n \"GET /azureKeyVaults/{azureKeyVaultName}\": [\"200\"],\n \"PUT /azureKeyVaults/{azureKeyVaultName}\": [\"200\", \"201\"],\n \"DELETE /azureKeyVaults/{azureKeyVaultName}\": [\"204\"],\n \"GET /azureKeyVaults\": [\"200\"],\n \"GET /classificationrules/{classificationRuleName}\": [\"200\"],\n \"PUT /classificationrules/{classificationRuleName}\": [\"200\", \"201\"],\n \"DELETE /classificationrules/{classificationRuleName}\": [\"204\"],\n \"GET /classificationrules\": [\"200\"],\n \"GET /classificationrules/{classificationRuleName}/versions\": [\"200\"],\n \"GET /classificationrules/{classificationRuleName}/versions/{classificationRuleVersion}:tag\": [\n \"202\",\n ],\n \"POST /classificationrules/{classificationRuleName}/versions/{classificationRuleVersion}:tag\": [\n \"202\",\n ],\n \"GET /credentials/{credentialName}\": [\"200\"],\n \"PUT /credentials/{credentialName}\": [\"200\", \"201\"],\n \"DELETE /credentials/{credentialName}\": [\"204\"],\n \"GET /credentials\": [\"200\"],\n \"PUT /datasources/{dataSourceName}\": [\"200\", \"201\"],\n \"GET /datasources/{dataSourceName}\": [\"200\"],\n \"DELETE /datasources/{dataSourceName}\": [\"204\"],\n \"GET /datasources\": [\"200\"],\n \"GET /datasources/{dataSourceName}/scans/{scanName}/filters/custom\": [\"200\"],\n \"PUT /datasources/{dataSourceName}/scans/{scanName}/filters/custom\": [\"200\", \"201\"],\n \"GET /integrationruntimes\": [\"200\"],\n \"GET /integrationruntimes/{integrationRuntimeName}\": [\"200\"],\n \"DELETE /integrationruntimes/{integrationRuntimeName}\": [\"204\"],\n \"PUT /integrationruntimes/{integrationRuntimeName}\": [\"200\", \"201\"],\n \"GET /integrationruntimes/{integrationRuntimeName}/status\": [\"200\"],\n \"POST /integrationruntimes/{integrationRuntimeName}:listAuthKeys\": [\"200\"],\n \"POST /integrationruntimes/{integrationRuntimeName}:regenerateAuthKey\": [\"200\"],\n \"GET /integrationruntimes/{integrationRuntimeName}:disableInteractiveQuery\": [\"202\"],\n \"POST /integrationruntimes/{integrationRuntimeName}:disableInteractiveQuery\": [\"202\"],\n \"GET /integrationruntimes/{integrationRuntimeName}:enableInteractiveQuery\": [\"202\"],\n \"POST /integrationruntimes/{integrationRuntimeName}:enableInteractiveQuery\": [\"202\"],\n \"GET /managedvirtualnetworks\": [\"200\"],\n \"GET /managedvirtualnetworks/{managedVirtualNetworkName}\": [\"200\"],\n \"PUT /managedvirtualnetworks/{managedVirtualNetworkName}\": [\"200\", \"201\"],\n \"GET /managedvirtualnetworks/{managedVirtualNetworkName}/managedprivateendpoints\": [\"200\"],\n \"GET /managedvirtualnetworks/{managedVirtualNetworkName}/managedprivateendpoints/{managedPrivateEndpointName}\":\n [\"200\"],\n \"DELETE /managedvirtualnetworks/{managedVirtualNetworkName}/managedprivateendpoints/{managedPrivateEndpointName}\":\n [\"204\"],\n \"PUT /managedvirtualnetworks/{managedVirtualNetworkName}/managedprivateendpoints/{managedPrivateEndpointName}\":\n [\"200\", \"201\"],\n \"PUT /datasources/{dataSourceName}/scans/{scanName}\": [\"200\", \"201\"],\n \"GET /datasources/{dataSourceName}/scans/{scanName}\": [\"200\"],\n \"DELETE /datasources/{dataSourceName}/scans/{scanName}\": [\"204\"],\n \"GET /datasources/{dataSourceName}/scans\": [\"200\"],\n \"GET /datasources/{dataSourceName}/scans/{scanName}/runs/{runId}\": [\"200\"],\n \"GET /datasources/{dataSourceName}/scans/{scanName}:run\": [\"202\"],\n \"POST /datasources/{dataSourceName}/scans/{scanName}:run\": [\"202\"],\n \"GET /datasources/{dataSourceName}/scans/{scanName}/runs/{runId}:cancel\": [\"202\"],\n \"POST /datasources/{dataSourceName}/scans/{scanName}/runs/{runId}:cancel\": [\"202\"],\n \"GET /datasources/{dataSourceName}/scans/{scanName}/runs\": [\"200\"],\n \"GET /scanrulesets/{scanRulesetName}\": [\"200\"],\n \"PUT /scanrulesets/{scanRulesetName}\": [\"200\", \"201\"],\n \"DELETE /scanrulesets/{scanRulesetName}\": [\"204\"],\n \"GET /scanrulesets\": [\"200\"],\n \"GET /systemScanRulesets\": [\"200\"],\n \"GET /systemScanRulesets/datasources/{dataSourceType}\": [\"200\"],\n \"GET /systemScanRulesets/versions/{version}\": [\"200\"],\n \"GET /systemScanRulesets/versions/latest\": [\"200\"],\n \"GET /systemScanRulesets/versions\": [\"200\"],\n \"GET /datasources/{dataSourceName}/scans/{scanName}/triggers/default\": [\"200\"],\n \"PUT /datasources/{dataSourceName}/scans/{scanName}/triggers/default\": [\"200\", \"201\"],\n \"DELETE /datasources/{dataSourceName}/scans/{scanName}/triggers/default\": [\"204\"],\n \"POST /datasources/{dataSourceName}/scans/{scanName}/triggers/default:enable\": [\"200\"],\n \"POST /datasources/{dataSourceName}/scans/{scanName}/triggers/default:disable\": [\"200\"],\n};\n\nexport function isUnexpected(\n response: KeyVaultConnectionsGet200Response | KeyVaultConnectionsGetDefaultResponse,\n): response is KeyVaultConnectionsGetDefaultResponse;\nexport function isUnexpected(\n response:\n | KeyVaultConnectionsCreateOrReplace200Response\n | KeyVaultConnectionsCreateOrReplace201Response\n | KeyVaultConnectionsCreateOrReplaceDefaultResponse,\n): response is KeyVaultConnectionsCreateOrReplaceDefaultResponse;\nexport function isUnexpected(\n response: KeyVaultConnectionsDelete204Response | KeyVaultConnectionsDeleteDefaultResponse,\n): response is KeyVaultConnectionsDeleteDefaultResponse;\nexport function isUnexpected(\n response: KeyVaultConnectionsList200Response | KeyVaultConnectionsListDefaultResponse,\n): response is KeyVaultConnectionsListDefaultResponse;\nexport function isUnexpected(\n response: ClassificationRulesGet200Response | ClassificationRulesGetDefaultResponse,\n): response is ClassificationRulesGetDefaultResponse;\nexport function isUnexpected(\n response:\n | ClassificationRulesCreateOrReplace200Response\n | ClassificationRulesCreateOrReplace201Response\n | ClassificationRulesCreateOrReplaceDefaultResponse,\n): response is ClassificationRulesCreateOrReplaceDefaultResponse;\nexport function isUnexpected(\n response: ClassificationRulesDelete204Response | ClassificationRulesDeleteDefaultResponse,\n): response is ClassificationRulesDeleteDefaultResponse;\nexport function isUnexpected(\n response: ClassificationRulesList200Response | ClassificationRulesListDefaultResponse,\n): response is ClassificationRulesListDefaultResponse;\nexport function isUnexpected(\n response:\n | ClassificationRulesListVersionsByRuleName200Response\n | ClassificationRulesListVersionsByRuleNameDefaultResponse,\n): response is ClassificationRulesListVersionsByRuleNameDefaultResponse;\nexport function isUnexpected(\n response:\n | ClassificationRulesTagClassificationVersion202Response\n | ClassificationRulesTagClassificationVersionDefaultResponse,\n): response is ClassificationRulesTagClassificationVersionDefaultResponse;\nexport function isUnexpected(\n response: CredentialGet200Response | CredentialGetDefaultResponse,\n): response is CredentialGetDefaultResponse;\nexport function isUnexpected(\n response:\n | CredentialCreateOrReplace200Response\n | CredentialCreateOrReplace201Response\n | CredentialCreateOrReplaceDefaultResponse,\n): response is CredentialCreateOrReplaceDefaultResponse;\nexport function isUnexpected(\n response: CredentialDelete204Response | CredentialDeleteDefaultResponse,\n): response is CredentialDeleteDefaultResponse;\nexport function isUnexpected(\n response: CredentialList200Response | CredentialListDefaultResponse,\n): response is CredentialListDefaultResponse;\nexport function isUnexpected(\n response:\n | DataSourcesCreateOrReplace200Response\n | DataSourcesCreateOrReplace201Response\n | DataSourcesCreateOrReplaceDefaultResponse,\n): response is DataSourcesCreateOrReplaceDefaultResponse;\nexport function isUnexpected(\n response: DataSourcesGet200Response | DataSourcesGetDefaultResponse,\n): response is DataSourcesGetDefaultResponse;\nexport function isUnexpected(\n response: DataSourcesDelete204Response | DataSourcesDeleteDefaultResponse,\n): response is DataSourcesDeleteDefaultResponse;\nexport function isUnexpected(\n response: DataSourcesList200Response | DataSourcesListDefaultResponse,\n): response is DataSourcesListDefaultResponse;\nexport function isUnexpected(\n response: FiltersGet200Response | FiltersGetDefaultResponse,\n): response is FiltersGetDefaultResponse;\nexport function isUnexpected(\n response:\n | FiltersCreateOrReplace200Response\n | FiltersCreateOrReplace201Response\n | FiltersCreateOrReplaceDefaultResponse,\n): response is FiltersCreateOrReplaceDefaultResponse;\nexport function isUnexpected(\n response:\n | IntegrationRuntimesListByAccount200Response\n | IntegrationRuntimesListByAccountDefaultResponse,\n): response is IntegrationRuntimesListByAccountDefaultResponse;\nexport function isUnexpected(\n response: IntegrationRuntimesGet200Response | IntegrationRuntimesGetDefaultResponse,\n): response is IntegrationRuntimesGetDefaultResponse;\nexport function isUnexpected(\n response: IntegrationRuntimesDelete204Response | IntegrationRuntimesDeleteDefaultResponse,\n): response is IntegrationRuntimesDeleteDefaultResponse;\nexport function isUnexpected(\n response:\n | IntegrationRuntimesCreateOrReplace200Response\n | IntegrationRuntimesCreateOrReplace201Response\n | IntegrationRuntimesCreateOrReplaceDefaultResponse,\n): response is IntegrationRuntimesCreateOrReplaceDefaultResponse;\nexport function isUnexpected(\n response: IntegrationRuntimesStatus200Response | IntegrationRuntimesStatusDefaultResponse,\n): response is IntegrationRuntimesStatusDefaultResponse;\nexport function isUnexpected(\n response:\n | IntegrationRuntimesListAuthKeys200Response\n | IntegrationRuntimesListAuthKeysDefaultResponse,\n): response is IntegrationRuntimesListAuthKeysDefaultResponse;\nexport function isUnexpected(\n response:\n | IntegrationRuntimesRegenerateAuthKey200Response\n | IntegrationRuntimesRegenerateAuthKeyDefaultResponse,\n): response is IntegrationRuntimesRegenerateAuthKeyDefaultResponse;\nexport function isUnexpected(\n response:\n | IntegrationRuntimesDisableInteractiveQuery202Response\n | IntegrationRuntimesDisableInteractiveQueryDefaultResponse,\n): response is IntegrationRuntimesDisableInteractiveQueryDefaultResponse;\nexport function isUnexpected(\n response:\n | IntegrationRuntimesEnableInteractiveQuery202Response\n | IntegrationRuntimesEnableInteractiveQueryDefaultResponse,\n): response is IntegrationRuntimesEnableInteractiveQueryDefaultResponse;\nexport function isUnexpected(\n response:\n | ManagedVirtualNetworksListByAccount200Response\n | ManagedVirtualNetworksListByAccountDefaultResponse,\n): response is ManagedVirtualNetworksListByAccountDefaultResponse;\nexport function isUnexpected(\n response: ManagedVirtualNetworksGet200Response | ManagedVirtualNetworksGetDefaultResponse,\n): response is ManagedVirtualNetworksGetDefaultResponse;\nexport function isUnexpected(\n response:\n | ManagedVirtualNetworksCreateOrReplace200Response\n | ManagedVirtualNetworksCreateOrReplace201Response\n | ManagedVirtualNetworksCreateOrReplaceDefaultResponse,\n): response is ManagedVirtualNetworksCreateOrReplaceDefaultResponse;\nexport function isUnexpected(\n response:\n | ManagedPrivateEndpointsListByAccount200Response\n | ManagedPrivateEndpointsListByAccountDefaultResponse,\n): response is ManagedPrivateEndpointsListByAccountDefaultResponse;\nexport function isUnexpected(\n response: ManagedPrivateEndpointsGet200Response | ManagedPrivateEndpointsGetDefaultResponse,\n): response is ManagedPrivateEndpointsGetDefaultResponse;\nexport function isUnexpected(\n response: ManagedPrivateEndpointsDelete204Response | ManagedPrivateEndpointsDeleteDefaultResponse,\n): response is ManagedPrivateEndpointsDeleteDefaultResponse;\nexport function isUnexpected(\n response:\n | ManagedPrivateEndpointsCreateOrReplace200Response\n | ManagedPrivateEndpointsCreateOrReplace201Response\n | ManagedPrivateEndpointsCreateOrReplaceDefaultResponse,\n): response is ManagedPrivateEndpointsCreateOrReplaceDefaultResponse;\nexport function isUnexpected(\n response:\n | ScansCreateOrReplace200Response\n | ScansCreateOrReplace201Response\n | ScansCreateOrReplaceDefaultResponse,\n): response is ScansCreateOrReplaceDefaultResponse;\nexport function isUnexpected(\n response: ScansGet200Response | ScansGetDefaultResponse,\n): response is ScansGetDefaultResponse;\nexport function isUnexpected(\n response: ScansDelete204Response | ScansDeleteDefaultResponse,\n): response is ScansDeleteDefaultResponse;\nexport function isUnexpected(\n response: ScansListByDataSource200Response | ScansListByDataSourceDefaultResponse,\n): response is ScansListByDataSourceDefaultResponse;\nexport function isUnexpected(\n response: ScanResultGetScanStatus200Response | ScanResultGetScanStatusDefaultResponse,\n): response is ScanResultGetScanStatusDefaultResponse;\nexport function isUnexpected(\n response: ScanResultRunScan202Response | ScanResultRunScanDefaultResponse,\n): response is ScanResultRunScanDefaultResponse;\nexport function isUnexpected(\n response: ScanResultCancelScan202Response | ScanResultCancelScanDefaultResponse,\n): response is ScanResultCancelScanDefaultResponse;\nexport function isUnexpected(\n response: ScanResultListScanHistory200Response | ScanResultListScanHistoryDefaultResponse,\n): response is ScanResultListScanHistoryDefaultResponse;\nexport function isUnexpected(\n response: ScanRulesetsGet200Response | ScanRulesetsGetDefaultResponse,\n): response is ScanRulesetsGetDefaultResponse;\nexport function isUnexpected(\n response:\n | ScanRulesetsCreateOrReplace200Response\n | ScanRulesetsCreateOrReplace201Response\n | ScanRulesetsCreateOrReplaceDefaultResponse,\n): response is ScanRulesetsCreateOrReplaceDefaultResponse;\nexport function isUnexpected(\n response: ScanRulesetsDelete204Response | ScanRulesetsDeleteDefaultResponse,\n): response is ScanRulesetsDeleteDefaultResponse;\nexport function isUnexpected(\n response: ScanRulesetsList200Response | ScanRulesetsListDefaultResponse,\n): response is ScanRulesetsListDefaultResponse;\nexport function isUnexpected(\n response: SystemScanRulesetsList200Response | SystemScanRulesetsListDefaultResponse,\n): response is SystemScanRulesetsListDefaultResponse;\nexport function isUnexpected(\n response: SystemScanRulesetsGet200Response | SystemScanRulesetsGetDefaultResponse,\n): response is SystemScanRulesetsGetDefaultResponse;\nexport function isUnexpected(\n response:\n | SystemScanRulesetsGetByVersion200Response\n | SystemScanRulesetsGetByVersionDefaultResponse,\n): response is SystemScanRulesetsGetByVersionDefaultResponse;\nexport function isUnexpected(\n response: SystemScanRulesetsGetLatest200Response | SystemScanRulesetsGetLatestDefaultResponse,\n): response is SystemScanRulesetsGetLatestDefaultResponse;\nexport function isUnexpected(\n response:\n | SystemScanRulesetsListVersionsByDataSource200Response\n | SystemScanRulesetsListVersionsByDataSourceDefaultResponse,\n): response is SystemScanRulesetsListVersionsByDataSourceDefaultResponse;\nexport function isUnexpected(\n response: TriggersGet200Response | TriggersGetDefaultResponse,\n): response is TriggersGetDefaultResponse;\nexport function isUnexpected(\n response:\n | TriggersCreateOrReplace200Response\n | TriggersCreateOrReplace201Response\n | TriggersCreateOrReplaceDefaultResponse,\n): response is TriggersCreateOrReplaceDefaultResponse;\nexport function isUnexpected(\n response: TriggersDelete204Response | TriggersDeleteDefaultResponse,\n): response is TriggersDeleteDefaultResponse;\nexport function isUnexpected(\n response: TriggersEnable200Response | TriggersEnableDefaultResponse,\n): response is TriggersEnableDefaultResponse;\nexport function isUnexpected(\n response: TriggersDisable200Response | TriggersDisableDefaultResponse,\n): response is TriggersDisableDefaultResponse;\nexport function isUnexpected(\n response:\n | KeyVaultConnectionsGet200Response\n | KeyVaultConnectionsGetDefaultResponse\n | KeyVaultConnectionsCreateOrReplace200Response\n | KeyVaultConnectionsCreateOrReplace201Response\n | KeyVaultConnectionsCreateOrReplaceDefaultResponse\n | KeyVaultConnectionsDelete204Response\n | KeyVaultConnectionsDeleteDefaultResponse\n | KeyVaultConnectionsList200Response\n | KeyVaultConnectionsListDefaultResponse\n | ClassificationRulesGet200Response\n | ClassificationRulesGetDefaultResponse\n | ClassificationRulesCreateOrReplace200Response\n | ClassificationRulesCreateOrReplace201Response\n | ClassificationRulesCreateOrReplaceDefaultResponse\n | ClassificationRulesDelete204Response\n | ClassificationRulesDeleteDefaultResponse\n | ClassificationRulesList200Response\n | ClassificationRulesListDefaultResponse\n | ClassificationRulesListVersionsByRuleName200Response\n | ClassificationRulesListVersionsByRuleNameDefaultResponse\n | ClassificationRulesTagClassificationVersion202Response\n | ClassificationRulesTagClassificationVersionDefaultResponse\n | CredentialGet200Response\n | CredentialGetDefaultResponse\n | CredentialCreateOrReplace200Response\n | CredentialCreateOrReplace201Response\n | CredentialCreateOrReplaceDefaultResponse\n | CredentialDelete204Response\n | CredentialDeleteDefaultResponse\n | CredentialList200Response\n | CredentialListDefaultResponse\n | DataSourcesCreateOrReplace200Response\n | DataSourcesCreateOrReplace201Response\n | DataSourcesCreateOrReplaceDefaultResponse\n | DataSourcesGet200Response\n | DataSourcesGetDefaultResponse\n | DataSourcesDelete204Response\n | DataSourcesDeleteDefaultResponse\n | DataSourcesList200Response\n | DataSourcesListDefaultResponse\n | FiltersGet200Response\n | FiltersGetDefaultResponse\n | FiltersCreateOrReplace200Response\n | FiltersCreateOrReplace201Response\n | FiltersCreateOrReplaceDefaultResponse\n | IntegrationRuntimesListByAccount200Response\n | IntegrationRuntimesListByAccountDefaultResponse\n | IntegrationRuntimesGet200Response\n | IntegrationRuntimesGetDefaultResponse\n | IntegrationRuntimesDelete204Response\n | IntegrationRuntimesDeleteDefaultResponse\n | IntegrationRuntimesCreateOrReplace200Response\n | IntegrationRuntimesCreateOrReplace201Response\n | IntegrationRuntimesCreateOrReplaceDefaultResponse\n | IntegrationRuntimesStatus200Response\n | IntegrationRuntimesStatusDefaultResponse\n | IntegrationRuntimesListAuthKeys200Response\n | IntegrationRuntimesListAuthKeysDefaultResponse\n | IntegrationRuntimesRegenerateAuthKey200Response\n | IntegrationRuntimesRegenerateAuthKeyDefaultResponse\n | IntegrationRuntimesDisableInteractiveQuery202Response\n | IntegrationRuntimesDisableInteractiveQueryDefaultResponse\n | IntegrationRuntimesEnableInteractiveQuery202Response\n | IntegrationRuntimesEnableInteractiveQueryDefaultResponse\n | ManagedVirtualNetworksListByAccount200Response\n | ManagedVirtualNetworksListByAccountDefaultResponse\n | ManagedVirtualNetworksGet200Response\n | ManagedVirtualNetworksGetDefaultResponse\n | ManagedVirtualNetworksCreateOrReplace200Response\n | ManagedVirtualNetworksCreateOrReplace201Response\n | ManagedVirtualNetworksCreateOrReplaceDefaultResponse\n | ManagedPrivateEndpointsListByAccount200Response\n | ManagedPrivateEndpointsListByAccountDefaultResponse\n | ManagedPrivateEndpointsGet200Response\n | ManagedPrivateEndpointsGetDefaultResponse\n | ManagedPrivateEndpointsDelete204Response\n | ManagedPrivateEndpointsDeleteDefaultResponse\n | ManagedPrivateEndpointsCreateOrReplace200Response\n | ManagedPrivateEndpointsCreateOrReplace201Response\n | ManagedPrivateEndpointsCreateOrReplaceDefaultResponse\n | ScansCreateOrReplace200Response\n | ScansCreateOrReplace201Response\n | ScansCreateOrReplaceDefaultResponse\n | ScansGet200Response\n | ScansGetDefaultResponse\n | ScansDelete204Response\n | ScansDeleteDefaultResponse\n | ScansListByDataSource200Response\n | ScansListByDataSourceDefaultResponse\n | ScanResultGetScanStatus200Response\n | ScanResultGetScanStatusDefaultResponse\n | ScanResultRunScan202Response\n | ScanResultRunScanDefaultResponse\n | ScanResultCancelScan202Response\n | ScanResultCancelScanDefaultResponse\n | ScanResultListScanHistory200Response\n | ScanResultListScanHistoryDefaultResponse\n | ScanRulesetsGet200Response\n | ScanRulesetsGetDefaultResponse\n | ScanRulesetsCreateOrReplace200Response\n | ScanRulesetsCreateOrReplace201Response\n | ScanRulesetsCreateOrReplaceDefaultResponse\n | ScanRulesetsDelete204Response\n | ScanRulesetsDeleteDefaultResponse\n | ScanRulesetsList200Response\n | ScanRulesetsListDefaultResponse\n | SystemScanRulesetsList200Response\n | SystemScanRulesetsListDefaultResponse\n | SystemScanRulesetsGet200Response\n | SystemScanRulesetsGetDefaultResponse\n | SystemScanRulesetsGetByVersion200Response\n | SystemScanRulesetsGetByVersionDefaultResponse\n | SystemScanRulesetsGetLatest200Response\n | SystemScanRulesetsGetLatestDefaultResponse\n | SystemScanRulesetsListVersionsByDataSource200Response\n | SystemScanRulesetsListVersionsByDataSourceDefaultResponse\n | TriggersGet200Response\n | TriggersGetDefaultResponse\n | TriggersCreateOrReplace200Response\n | TriggersCreateOrReplace201Response\n | TriggersCreateOrReplaceDefaultResponse\n | TriggersDelete204Response\n | TriggersDeleteDefaultResponse\n | TriggersEnable200Response\n | TriggersEnableDefaultResponse\n | TriggersDisable200Response\n | TriggersDisableDefaultResponse,\n): response is\n | KeyVaultConnectionsGetDefaultResponse\n | KeyVaultConnectionsCreateOrReplaceDefaultResponse\n | KeyVaultConnectionsDeleteDefaultResponse\n | KeyVaultConnectionsListDefaultResponse\n | ClassificationRulesGetDefaultResponse\n | ClassificationRulesCreateOrReplaceDefaultResponse\n | ClassificationRulesDeleteDefaultResponse\n | ClassificationRulesListDefaultResponse\n | ClassificationRulesListVersionsByRuleNameDefaultResponse\n | ClassificationRulesTagClassificationVersionDefaultResponse\n | CredentialGetDefaultResponse\n | CredentialCreateOrReplaceDefaultResponse\n | CredentialDeleteDefaultResponse\n | CredentialListDefaultResponse\n | DataSourcesCreateOrReplaceDefaultResponse\n | DataSourcesGetDefaultResponse\n | DataSourcesDeleteDefaultResponse\n | DataSourcesListDefaultResponse\n | FiltersGetDefaultResponse\n | FiltersCreateOrReplaceDefaultResponse\n | IntegrationRuntimesListByAccountDefaultResponse\n | IntegrationRuntimesGetDefaultResponse\n | IntegrationRuntimesDeleteDefaultResponse\n | IntegrationRuntimesCreateOrReplaceDefaultResponse\n | IntegrationRuntimesStatusDefaultResponse\n | IntegrationRuntimesListAuthKeysDefaultResponse\n | IntegrationRuntimesRegenerateAuthKeyDefaultResponse\n | IntegrationRuntimesDisableInteractiveQueryDefaultResponse\n | IntegrationRuntimesEnableInteractiveQueryDefaultResponse\n | ManagedVirtualNetworksListByAccountDefaultResponse\n | ManagedVirtualNetworksGetDefaultResponse\n | ManagedVirtualNetworksCreateOrReplaceDefaultResponse\n | ManagedPrivateEndpointsListByAccountDefaultResponse\n | ManagedPrivateEndpointsGetDefaultResponse\n | ManagedPrivateEndpointsDeleteDefaultResponse\n | ManagedPrivateEndpointsCreateOrReplaceDefaultResponse\n | ScansCreateOrReplaceDefaultResponse\n | ScansGetDefaultResponse\n | ScansDeleteDefaultResponse\n | ScansListByDataSourceDefaultResponse\n | ScanResultGetScanStatusDefaultResponse\n | ScanResultRunScanDefaultResponse\n | ScanResultCancelScanDefaultResponse\n | ScanResultListScanHistoryDefaultResponse\n | ScanRulesetsGetDefaultResponse\n | ScanRulesetsCreateOrReplaceDefaultResponse\n | ScanRulesetsDeleteDefaultResponse\n | ScanRulesetsListDefaultResponse\n | SystemScanRulesetsListDefaultResponse\n | SystemScanRulesetsGetDefaultResponse\n | SystemScanRulesetsGetByVersionDefaultResponse\n | SystemScanRulesetsGetLatestDefaultResponse\n | SystemScanRulesetsListVersionsByDataSourceDefaultResponse\n | TriggersGetDefaultResponse\n | TriggersCreateOrReplaceDefaultResponse\n | TriggersDeleteDefaultResponse\n | TriggersEnableDefaultResponse\n | TriggersDisableDefaultResponse {\n const lroOriginal = response.headers[\"x-ms-original-url\"];\n const url = new URL(lroOriginal ?? response.request.url);\n const method = response.request.method;\n let pathDetails = responseMap[`${method} ${url.pathname}`];\n if (!pathDetails) {\n pathDetails = getParametrizedPathSuccess(method, url.pathname);\n }\n return !pathDetails.includes(response.status);\n}\n\nfunction getParametrizedPathSuccess(method: string, path: string): string[] {\n const pathParts = path.split(\"/\");\n\n // Traverse list to match the longest candidate\n // matchedLen: the length of candidate path\n // matchedValue: the matched status code array\n let matchedLen = -1,\n matchedValue: string[] = [];\n\n // Iterate the responseMap to find a match\n for (const [key, value] of Object.entries(responseMap)) {\n // Extracting the path from the map key which is in format\n // GET /path/foo\n if (!key.startsWith(method)) {\n continue;\n }\n const candidatePath = getPathFromMapKey(key);\n // Get each part of the url path\n const candidateParts = candidatePath.split(\"/\");\n\n // track if we have found a match to return the values found.\n let found = true;\n for (let i = candidateParts.length - 1, j = pathParts.length - 1; i >= 1 && j >= 1; i--, j--) {\n if (candidateParts[i]?.startsWith(\"{\") && candidateParts[i]?.indexOf(\"}\") !== -1) {\n const start = candidateParts[i]!.indexOf(\"}\") + 1,\n end = candidateParts[i]?.length;\n // If the current part of the candidate is a \"template\" part\n // Try to use the suffix of pattern to match the path\n // {guid} ==> $\n // {guid}:export ==> :export$\n const isMatched = new RegExp(`${candidateParts[i]?.slice(start, end)}`).test(\n pathParts[j] || \"\",\n );\n\n if (!isMatched) {\n found = false;\n break;\n }\n continue;\n }\n\n // If the candidate part is not a template and\n // the parts don't match mark the candidate as not found\n // to move on with the next candidate path.\n if (candidateParts[i] !== pathParts[j]) {\n found = false;\n break;\n }\n }\n\n // We finished evaluating the current candidate parts\n // Update the matched value if and only if we found the longer pattern\n if (found && candidatePath.length > matchedLen) {\n matchedLen = candidatePath.length;\n matchedValue = value;\n }\n }\n\n return matchedValue;\n}\n\nfunction getPathFromMapKey(mapKey: string): string {\n const pathStart = mapKey.indexOf(\"/\");\n return mapKey.slice(pathStart);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"isUnexpected.js","sourceRoot":"","sources":["../../src/isUnexpected.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n KeyVaultConnectionsGet200Response,\n KeyVaultConnectionsGetDefaultResponse,\n KeyVaultConnectionsCreateOrReplace200Response,\n KeyVaultConnectionsCreateOrReplace201Response,\n KeyVaultConnectionsCreateOrReplaceDefaultResponse,\n KeyVaultConnectionsDelete204Response,\n KeyVaultConnectionsDeleteDefaultResponse,\n KeyVaultConnectionsList200Response,\n KeyVaultConnectionsListDefaultResponse,\n ClassificationRulesGet200Response,\n ClassificationRulesGetDefaultResponse,\n ClassificationRulesCreateOrReplace200Response,\n ClassificationRulesCreateOrReplace201Response,\n ClassificationRulesCreateOrReplaceDefaultResponse,\n ClassificationRulesDelete204Response,\n ClassificationRulesDeleteDefaultResponse,\n ClassificationRulesList200Response,\n ClassificationRulesListDefaultResponse,\n ClassificationRulesListVersionsByRuleName200Response,\n ClassificationRulesListVersionsByRuleNameDefaultResponse,\n ClassificationRulesTagClassificationVersion202Response,\n ClassificationRulesTagClassificationVersionDefaultResponse,\n CredentialGet200Response,\n CredentialGetDefaultResponse,\n CredentialCreateOrReplace200Response,\n CredentialCreateOrReplace201Response,\n CredentialCreateOrReplaceDefaultResponse,\n CredentialDelete204Response,\n CredentialDeleteDefaultResponse,\n CredentialList200Response,\n CredentialListDefaultResponse,\n DataSourcesCreateOrReplace200Response,\n DataSourcesCreateOrReplace201Response,\n DataSourcesCreateOrReplaceDefaultResponse,\n DataSourcesGet200Response,\n DataSourcesGetDefaultResponse,\n DataSourcesDelete204Response,\n DataSourcesDeleteDefaultResponse,\n DataSourcesList200Response,\n DataSourcesListDefaultResponse,\n FiltersGet200Response,\n FiltersGetDefaultResponse,\n FiltersCreateOrReplace200Response,\n FiltersCreateOrReplace201Response,\n FiltersCreateOrReplaceDefaultResponse,\n IntegrationRuntimesListByAccount200Response,\n IntegrationRuntimesListByAccountDefaultResponse,\n IntegrationRuntimesGet200Response,\n IntegrationRuntimesGetDefaultResponse,\n IntegrationRuntimesDelete204Response,\n IntegrationRuntimesDeleteDefaultResponse,\n IntegrationRuntimesCreateOrReplace200Response,\n IntegrationRuntimesCreateOrReplace201Response,\n IntegrationRuntimesCreateOrReplaceDefaultResponse,\n IntegrationRuntimesStatus200Response,\n IntegrationRuntimesStatusDefaultResponse,\n IntegrationRuntimesListAuthKeys200Response,\n IntegrationRuntimesListAuthKeysDefaultResponse,\n IntegrationRuntimesRegenerateAuthKey200Response,\n IntegrationRuntimesRegenerateAuthKeyDefaultResponse,\n IntegrationRuntimesDisableInteractiveQuery202Response,\n IntegrationRuntimesDisableInteractiveQueryDefaultResponse,\n IntegrationRuntimesEnableInteractiveQuery202Response,\n IntegrationRuntimesEnableInteractiveQueryDefaultResponse,\n ManagedVirtualNetworksListByAccount200Response,\n ManagedVirtualNetworksListByAccountDefaultResponse,\n ManagedVirtualNetworksGet200Response,\n ManagedVirtualNetworksGetDefaultResponse,\n ManagedVirtualNetworksCreateOrReplace200Response,\n ManagedVirtualNetworksCreateOrReplace201Response,\n ManagedVirtualNetworksCreateOrReplaceDefaultResponse,\n ManagedPrivateEndpointsListByAccount200Response,\n ManagedPrivateEndpointsListByAccountDefaultResponse,\n ManagedPrivateEndpointsGet200Response,\n ManagedPrivateEndpointsGetDefaultResponse,\n ManagedPrivateEndpointsDelete204Response,\n ManagedPrivateEndpointsDeleteDefaultResponse,\n ManagedPrivateEndpointsCreateOrReplace200Response,\n ManagedPrivateEndpointsCreateOrReplace201Response,\n ManagedPrivateEndpointsCreateOrReplaceDefaultResponse,\n ScansCreateOrReplace200Response,\n ScansCreateOrReplace201Response,\n ScansCreateOrReplaceDefaultResponse,\n ScansGet200Response,\n ScansGetDefaultResponse,\n ScansDelete204Response,\n ScansDeleteDefaultResponse,\n ScansListByDataSource200Response,\n ScansListByDataSourceDefaultResponse,\n ScanResultGetScanStatus200Response,\n ScanResultGetScanStatusDefaultResponse,\n ScanResultRunScan202Response,\n ScanResultRunScanDefaultResponse,\n ScanResultCancelScan202Response,\n ScanResultCancelScanDefaultResponse,\n ScanResultListScanHistory200Response,\n ScanResultListScanHistoryDefaultResponse,\n ScanRulesetsGet200Response,\n ScanRulesetsGetDefaultResponse,\n ScanRulesetsCreateOrReplace200Response,\n ScanRulesetsCreateOrReplace201Response,\n ScanRulesetsCreateOrReplaceDefaultResponse,\n ScanRulesetsDelete204Response,\n ScanRulesetsDeleteDefaultResponse,\n ScanRulesetsList200Response,\n ScanRulesetsListDefaultResponse,\n SystemScanRulesetsList200Response,\n SystemScanRulesetsListDefaultResponse,\n SystemScanRulesetsGet200Response,\n SystemScanRulesetsGetDefaultResponse,\n SystemScanRulesetsGetByVersion200Response,\n SystemScanRulesetsGetByVersionDefaultResponse,\n SystemScanRulesetsGetLatest200Response,\n SystemScanRulesetsGetLatestDefaultResponse,\n SystemScanRulesetsListVersionsByDataSource200Response,\n SystemScanRulesetsListVersionsByDataSourceDefaultResponse,\n TriggersGet200Response,\n TriggersGetDefaultResponse,\n TriggersCreateOrReplace200Response,\n TriggersCreateOrReplace201Response,\n TriggersCreateOrReplaceDefaultResponse,\n TriggersDelete204Response,\n TriggersDeleteDefaultResponse,\n TriggersEnable200Response,\n TriggersEnableDefaultResponse,\n TriggersDisable200Response,\n TriggersDisableDefaultResponse,\n} from \"./responses.js\";\n\nconst responseMap: Record<string, string[]> = {\n \"GET /azureKeyVaults/{azureKeyVaultName}\": [\"200\"],\n \"PUT /azureKeyVaults/{azureKeyVaultName}\": [\"200\", \"201\"],\n \"DELETE /azureKeyVaults/{azureKeyVaultName}\": [\"204\"],\n \"GET /azureKeyVaults\": [\"200\"],\n \"GET /classificationrules/{classificationRuleName}\": [\"200\"],\n \"PUT /classificationrules/{classificationRuleName}\": [\"200\", \"201\"],\n \"DELETE /classificationrules/{classificationRuleName}\": [\"204\"],\n \"GET /classificationrules\": [\"200\"],\n \"GET /classificationrules/{classificationRuleName}/versions\": [\"200\"],\n \"GET /classificationrules/{classificationRuleName}/versions/{classificationRuleVersion}:tag\": [\n \"202\",\n ],\n \"POST /classificationrules/{classificationRuleName}/versions/{classificationRuleVersion}:tag\": [\n \"202\",\n ],\n \"GET /credentials/{credentialName}\": [\"200\"],\n \"PUT /credentials/{credentialName}\": [\"200\", \"201\"],\n \"DELETE /credentials/{credentialName}\": [\"204\"],\n \"GET /credentials\": [\"200\"],\n \"PUT /datasources/{dataSourceName}\": [\"200\", \"201\"],\n \"GET /datasources/{dataSourceName}\": [\"200\"],\n \"DELETE /datasources/{dataSourceName}\": [\"204\"],\n \"GET /datasources\": [\"200\"],\n \"GET /datasources/{dataSourceName}/scans/{scanName}/filters/custom\": [\"200\"],\n \"PUT /datasources/{dataSourceName}/scans/{scanName}/filters/custom\": [\"200\", \"201\"],\n \"GET /integrationruntimes\": [\"200\"],\n \"GET /integrationruntimes/{integrationRuntimeName}\": [\"200\"],\n \"DELETE /integrationruntimes/{integrationRuntimeName}\": [\"204\"],\n \"PUT /integrationruntimes/{integrationRuntimeName}\": [\"200\", \"201\"],\n \"GET /integrationruntimes/{integrationRuntimeName}/status\": [\"200\"],\n \"POST /integrationruntimes/{integrationRuntimeName}:listAuthKeys\": [\"200\"],\n \"POST /integrationruntimes/{integrationRuntimeName}:regenerateAuthKey\": [\"200\"],\n \"GET /integrationruntimes/{integrationRuntimeName}:disableInteractiveQuery\": [\"202\"],\n \"POST /integrationruntimes/{integrationRuntimeName}:disableInteractiveQuery\": [\"202\"],\n \"GET /integrationruntimes/{integrationRuntimeName}:enableInteractiveQuery\": [\"202\"],\n \"POST /integrationruntimes/{integrationRuntimeName}:enableInteractiveQuery\": [\"202\"],\n \"GET /managedvirtualnetworks\": [\"200\"],\n \"GET /managedvirtualnetworks/{managedVirtualNetworkName}\": [\"200\"],\n \"PUT /managedvirtualnetworks/{managedVirtualNetworkName}\": [\"200\", \"201\"],\n \"GET /managedvirtualnetworks/{managedVirtualNetworkName}/managedprivateendpoints\": [\"200\"],\n \"GET /managedvirtualnetworks/{managedVirtualNetworkName}/managedprivateendpoints/{managedPrivateEndpointName}\":\n [\"200\"],\n \"DELETE /managedvirtualnetworks/{managedVirtualNetworkName}/managedprivateendpoints/{managedPrivateEndpointName}\":\n [\"204\"],\n \"PUT /managedvirtualnetworks/{managedVirtualNetworkName}/managedprivateendpoints/{managedPrivateEndpointName}\":\n [\"200\", \"201\"],\n \"PUT /datasources/{dataSourceName}/scans/{scanName}\": [\"200\", \"201\"],\n \"GET /datasources/{dataSourceName}/scans/{scanName}\": [\"200\"],\n \"DELETE /datasources/{dataSourceName}/scans/{scanName}\": [\"204\"],\n \"GET /datasources/{dataSourceName}/scans\": [\"200\"],\n \"GET /datasources/{dataSourceName}/scans/{scanName}/runs/{runId}\": [\"200\"],\n \"GET /datasources/{dataSourceName}/scans/{scanName}:run\": [\"202\"],\n \"POST /datasources/{dataSourceName}/scans/{scanName}:run\": [\"202\"],\n \"GET /datasources/{dataSourceName}/scans/{scanName}/runs/{runId}:cancel\": [\"202\"],\n \"POST /datasources/{dataSourceName}/scans/{scanName}/runs/{runId}:cancel\": [\"202\"],\n \"GET /datasources/{dataSourceName}/scans/{scanName}/runs\": [\"200\"],\n \"GET /scanrulesets/{scanRulesetName}\": [\"200\"],\n \"PUT /scanrulesets/{scanRulesetName}\": [\"200\", \"201\"],\n \"DELETE /scanrulesets/{scanRulesetName}\": [\"204\"],\n \"GET /scanrulesets\": [\"200\"],\n \"GET /systemScanRulesets\": [\"200\"],\n \"GET /systemScanRulesets/datasources/{dataSourceType}\": [\"200\"],\n \"GET /systemScanRulesets/versions/{version}\": [\"200\"],\n \"GET /systemScanRulesets/versions/latest\": [\"200\"],\n \"GET /systemScanRulesets/versions\": [\"200\"],\n \"GET /datasources/{dataSourceName}/scans/{scanName}/triggers/default\": [\"200\"],\n \"PUT /datasources/{dataSourceName}/scans/{scanName}/triggers/default\": [\"200\", \"201\"],\n \"DELETE /datasources/{dataSourceName}/scans/{scanName}/triggers/default\": [\"204\"],\n \"POST /datasources/{dataSourceName}/scans/{scanName}/triggers/default:enable\": [\"200\"],\n \"POST /datasources/{dataSourceName}/scans/{scanName}/triggers/default:disable\": [\"200\"],\n};\n\nexport function isUnexpected(\n response: KeyVaultConnectionsGet200Response | KeyVaultConnectionsGetDefaultResponse,\n): response is KeyVaultConnectionsGetDefaultResponse;\nexport function isUnexpected(\n response:\n | KeyVaultConnectionsCreateOrReplace200Response\n | KeyVaultConnectionsCreateOrReplace201Response\n | KeyVaultConnectionsCreateOrReplaceDefaultResponse,\n): response is KeyVaultConnectionsCreateOrReplaceDefaultResponse;\nexport function isUnexpected(\n response: KeyVaultConnectionsDelete204Response | KeyVaultConnectionsDeleteDefaultResponse,\n): response is KeyVaultConnectionsDeleteDefaultResponse;\nexport function isUnexpected(\n response: KeyVaultConnectionsList200Response | KeyVaultConnectionsListDefaultResponse,\n): response is KeyVaultConnectionsListDefaultResponse;\nexport function isUnexpected(\n response: ClassificationRulesGet200Response | ClassificationRulesGetDefaultResponse,\n): response is ClassificationRulesGetDefaultResponse;\nexport function isUnexpected(\n response:\n | ClassificationRulesCreateOrReplace200Response\n | ClassificationRulesCreateOrReplace201Response\n | ClassificationRulesCreateOrReplaceDefaultResponse,\n): response is ClassificationRulesCreateOrReplaceDefaultResponse;\nexport function isUnexpected(\n response: ClassificationRulesDelete204Response | ClassificationRulesDeleteDefaultResponse,\n): response is ClassificationRulesDeleteDefaultResponse;\nexport function isUnexpected(\n response: ClassificationRulesList200Response | ClassificationRulesListDefaultResponse,\n): response is ClassificationRulesListDefaultResponse;\nexport function isUnexpected(\n response:\n | ClassificationRulesListVersionsByRuleName200Response\n | ClassificationRulesListVersionsByRuleNameDefaultResponse,\n): response is ClassificationRulesListVersionsByRuleNameDefaultResponse;\nexport function isUnexpected(\n response:\n | ClassificationRulesTagClassificationVersion202Response\n | ClassificationRulesTagClassificationVersionDefaultResponse,\n): response is ClassificationRulesTagClassificationVersionDefaultResponse;\nexport function isUnexpected(\n response: CredentialGet200Response | CredentialGetDefaultResponse,\n): response is CredentialGetDefaultResponse;\nexport function isUnexpected(\n response:\n | CredentialCreateOrReplace200Response\n | CredentialCreateOrReplace201Response\n | CredentialCreateOrReplaceDefaultResponse,\n): response is CredentialCreateOrReplaceDefaultResponse;\nexport function isUnexpected(\n response: CredentialDelete204Response | CredentialDeleteDefaultResponse,\n): response is CredentialDeleteDefaultResponse;\nexport function isUnexpected(\n response: CredentialList200Response | CredentialListDefaultResponse,\n): response is CredentialListDefaultResponse;\nexport function isUnexpected(\n response:\n | DataSourcesCreateOrReplace200Response\n | DataSourcesCreateOrReplace201Response\n | DataSourcesCreateOrReplaceDefaultResponse,\n): response is DataSourcesCreateOrReplaceDefaultResponse;\nexport function isUnexpected(\n response: DataSourcesGet200Response | DataSourcesGetDefaultResponse,\n): response is DataSourcesGetDefaultResponse;\nexport function isUnexpected(\n response: DataSourcesDelete204Response | DataSourcesDeleteDefaultResponse,\n): response is DataSourcesDeleteDefaultResponse;\nexport function isUnexpected(\n response: DataSourcesList200Response | DataSourcesListDefaultResponse,\n): response is DataSourcesListDefaultResponse;\nexport function isUnexpected(\n response: FiltersGet200Response | FiltersGetDefaultResponse,\n): response is FiltersGetDefaultResponse;\nexport function isUnexpected(\n response:\n | FiltersCreateOrReplace200Response\n | FiltersCreateOrReplace201Response\n | FiltersCreateOrReplaceDefaultResponse,\n): response is FiltersCreateOrReplaceDefaultResponse;\nexport function isUnexpected(\n response:\n | IntegrationRuntimesListByAccount200Response\n | IntegrationRuntimesListByAccountDefaultResponse,\n): response is IntegrationRuntimesListByAccountDefaultResponse;\nexport function isUnexpected(\n response: IntegrationRuntimesGet200Response | IntegrationRuntimesGetDefaultResponse,\n): response is IntegrationRuntimesGetDefaultResponse;\nexport function isUnexpected(\n response: IntegrationRuntimesDelete204Response | IntegrationRuntimesDeleteDefaultResponse,\n): response is IntegrationRuntimesDeleteDefaultResponse;\nexport function isUnexpected(\n response:\n | IntegrationRuntimesCreateOrReplace200Response\n | IntegrationRuntimesCreateOrReplace201Response\n | IntegrationRuntimesCreateOrReplaceDefaultResponse,\n): response is IntegrationRuntimesCreateOrReplaceDefaultResponse;\nexport function isUnexpected(\n response: IntegrationRuntimesStatus200Response | IntegrationRuntimesStatusDefaultResponse,\n): response is IntegrationRuntimesStatusDefaultResponse;\nexport function isUnexpected(\n response:\n | IntegrationRuntimesListAuthKeys200Response\n | IntegrationRuntimesListAuthKeysDefaultResponse,\n): response is IntegrationRuntimesListAuthKeysDefaultResponse;\nexport function isUnexpected(\n response:\n | IntegrationRuntimesRegenerateAuthKey200Response\n | IntegrationRuntimesRegenerateAuthKeyDefaultResponse,\n): response is IntegrationRuntimesRegenerateAuthKeyDefaultResponse;\nexport function isUnexpected(\n response:\n | IntegrationRuntimesDisableInteractiveQuery202Response\n | IntegrationRuntimesDisableInteractiveQueryDefaultResponse,\n): response is IntegrationRuntimesDisableInteractiveQueryDefaultResponse;\nexport function isUnexpected(\n response:\n | IntegrationRuntimesEnableInteractiveQuery202Response\n | IntegrationRuntimesEnableInteractiveQueryDefaultResponse,\n): response is IntegrationRuntimesEnableInteractiveQueryDefaultResponse;\nexport function isUnexpected(\n response:\n | ManagedVirtualNetworksListByAccount200Response\n | ManagedVirtualNetworksListByAccountDefaultResponse,\n): response is ManagedVirtualNetworksListByAccountDefaultResponse;\nexport function isUnexpected(\n response: ManagedVirtualNetworksGet200Response | ManagedVirtualNetworksGetDefaultResponse,\n): response is ManagedVirtualNetworksGetDefaultResponse;\nexport function isUnexpected(\n response:\n | ManagedVirtualNetworksCreateOrReplace200Response\n | ManagedVirtualNetworksCreateOrReplace201Response\n | ManagedVirtualNetworksCreateOrReplaceDefaultResponse,\n): response is ManagedVirtualNetworksCreateOrReplaceDefaultResponse;\nexport function isUnexpected(\n response:\n | ManagedPrivateEndpointsListByAccount200Response\n | ManagedPrivateEndpointsListByAccountDefaultResponse,\n): response is ManagedPrivateEndpointsListByAccountDefaultResponse;\nexport function isUnexpected(\n response: ManagedPrivateEndpointsGet200Response | ManagedPrivateEndpointsGetDefaultResponse,\n): response is ManagedPrivateEndpointsGetDefaultResponse;\nexport function isUnexpected(\n response: ManagedPrivateEndpointsDelete204Response | ManagedPrivateEndpointsDeleteDefaultResponse,\n): response is ManagedPrivateEndpointsDeleteDefaultResponse;\nexport function isUnexpected(\n response:\n | ManagedPrivateEndpointsCreateOrReplace200Response\n | ManagedPrivateEndpointsCreateOrReplace201Response\n | ManagedPrivateEndpointsCreateOrReplaceDefaultResponse,\n): response is ManagedPrivateEndpointsCreateOrReplaceDefaultResponse;\nexport function isUnexpected(\n response:\n | ScansCreateOrReplace200Response\n | ScansCreateOrReplace201Response\n | ScansCreateOrReplaceDefaultResponse,\n): response is ScansCreateOrReplaceDefaultResponse;\nexport function isUnexpected(\n response: ScansGet200Response | ScansGetDefaultResponse,\n): response is ScansGetDefaultResponse;\nexport function isUnexpected(\n response: ScansDelete204Response | ScansDeleteDefaultResponse,\n): response is ScansDeleteDefaultResponse;\nexport function isUnexpected(\n response: ScansListByDataSource200Response | ScansListByDataSourceDefaultResponse,\n): response is ScansListByDataSourceDefaultResponse;\nexport function isUnexpected(\n response: ScanResultGetScanStatus200Response | ScanResultGetScanStatusDefaultResponse,\n): response is ScanResultGetScanStatusDefaultResponse;\nexport function isUnexpected(\n response: ScanResultRunScan202Response | ScanResultRunScanDefaultResponse,\n): response is ScanResultRunScanDefaultResponse;\nexport function isUnexpected(\n response: ScanResultCancelScan202Response | ScanResultCancelScanDefaultResponse,\n): response is ScanResultCancelScanDefaultResponse;\nexport function isUnexpected(\n response: ScanResultListScanHistory200Response | ScanResultListScanHistoryDefaultResponse,\n): response is ScanResultListScanHistoryDefaultResponse;\nexport function isUnexpected(\n response: ScanRulesetsGet200Response | ScanRulesetsGetDefaultResponse,\n): response is ScanRulesetsGetDefaultResponse;\nexport function isUnexpected(\n response:\n | ScanRulesetsCreateOrReplace200Response\n | ScanRulesetsCreateOrReplace201Response\n | ScanRulesetsCreateOrReplaceDefaultResponse,\n): response is ScanRulesetsCreateOrReplaceDefaultResponse;\nexport function isUnexpected(\n response: ScanRulesetsDelete204Response | ScanRulesetsDeleteDefaultResponse,\n): response is ScanRulesetsDeleteDefaultResponse;\nexport function isUnexpected(\n response: ScanRulesetsList200Response | ScanRulesetsListDefaultResponse,\n): response is ScanRulesetsListDefaultResponse;\nexport function isUnexpected(\n response: SystemScanRulesetsList200Response | SystemScanRulesetsListDefaultResponse,\n): response is SystemScanRulesetsListDefaultResponse;\nexport function isUnexpected(\n response: SystemScanRulesetsGet200Response | SystemScanRulesetsGetDefaultResponse,\n): response is SystemScanRulesetsGetDefaultResponse;\nexport function isUnexpected(\n response:\n | SystemScanRulesetsGetByVersion200Response\n | SystemScanRulesetsGetByVersionDefaultResponse,\n): response is SystemScanRulesetsGetByVersionDefaultResponse;\nexport function isUnexpected(\n response: SystemScanRulesetsGetLatest200Response | SystemScanRulesetsGetLatestDefaultResponse,\n): response is SystemScanRulesetsGetLatestDefaultResponse;\nexport function isUnexpected(\n response:\n | SystemScanRulesetsListVersionsByDataSource200Response\n | SystemScanRulesetsListVersionsByDataSourceDefaultResponse,\n): response is SystemScanRulesetsListVersionsByDataSourceDefaultResponse;\nexport function isUnexpected(\n response: TriggersGet200Response | TriggersGetDefaultResponse,\n): response is TriggersGetDefaultResponse;\nexport function isUnexpected(\n response:\n | TriggersCreateOrReplace200Response\n | TriggersCreateOrReplace201Response\n | TriggersCreateOrReplaceDefaultResponse,\n): response is TriggersCreateOrReplaceDefaultResponse;\nexport function isUnexpected(\n response: TriggersDelete204Response | TriggersDeleteDefaultResponse,\n): response is TriggersDeleteDefaultResponse;\nexport function isUnexpected(\n response: TriggersEnable200Response | TriggersEnableDefaultResponse,\n): response is TriggersEnableDefaultResponse;\nexport function isUnexpected(\n response: TriggersDisable200Response | TriggersDisableDefaultResponse,\n): response is TriggersDisableDefaultResponse;\nexport function isUnexpected(\n response:\n | KeyVaultConnectionsGet200Response\n | KeyVaultConnectionsGetDefaultResponse\n | KeyVaultConnectionsCreateOrReplace200Response\n | KeyVaultConnectionsCreateOrReplace201Response\n | KeyVaultConnectionsCreateOrReplaceDefaultResponse\n | KeyVaultConnectionsDelete204Response\n | KeyVaultConnectionsDeleteDefaultResponse\n | KeyVaultConnectionsList200Response\n | KeyVaultConnectionsListDefaultResponse\n | ClassificationRulesGet200Response\n | ClassificationRulesGetDefaultResponse\n | ClassificationRulesCreateOrReplace200Response\n | ClassificationRulesCreateOrReplace201Response\n | ClassificationRulesCreateOrReplaceDefaultResponse\n | ClassificationRulesDelete204Response\n | ClassificationRulesDeleteDefaultResponse\n | ClassificationRulesList200Response\n | ClassificationRulesListDefaultResponse\n | ClassificationRulesListVersionsByRuleName200Response\n | ClassificationRulesListVersionsByRuleNameDefaultResponse\n | ClassificationRulesTagClassificationVersion202Response\n | ClassificationRulesTagClassificationVersionDefaultResponse\n | CredentialGet200Response\n | CredentialGetDefaultResponse\n | CredentialCreateOrReplace200Response\n | CredentialCreateOrReplace201Response\n | CredentialCreateOrReplaceDefaultResponse\n | CredentialDelete204Response\n | CredentialDeleteDefaultResponse\n | CredentialList200Response\n | CredentialListDefaultResponse\n | DataSourcesCreateOrReplace200Response\n | DataSourcesCreateOrReplace201Response\n | DataSourcesCreateOrReplaceDefaultResponse\n | DataSourcesGet200Response\n | DataSourcesGetDefaultResponse\n | DataSourcesDelete204Response\n | DataSourcesDeleteDefaultResponse\n | DataSourcesList200Response\n | DataSourcesListDefaultResponse\n | FiltersGet200Response\n | FiltersGetDefaultResponse\n | FiltersCreateOrReplace200Response\n | FiltersCreateOrReplace201Response\n | FiltersCreateOrReplaceDefaultResponse\n | IntegrationRuntimesListByAccount200Response\n | IntegrationRuntimesListByAccountDefaultResponse\n | IntegrationRuntimesGet200Response\n | IntegrationRuntimesGetDefaultResponse\n | IntegrationRuntimesDelete204Response\n | IntegrationRuntimesDeleteDefaultResponse\n | IntegrationRuntimesCreateOrReplace200Response\n | IntegrationRuntimesCreateOrReplace201Response\n | IntegrationRuntimesCreateOrReplaceDefaultResponse\n | IntegrationRuntimesStatus200Response\n | IntegrationRuntimesStatusDefaultResponse\n | IntegrationRuntimesListAuthKeys200Response\n | IntegrationRuntimesListAuthKeysDefaultResponse\n | IntegrationRuntimesRegenerateAuthKey200Response\n | IntegrationRuntimesRegenerateAuthKeyDefaultResponse\n | IntegrationRuntimesDisableInteractiveQuery202Response\n | IntegrationRuntimesDisableInteractiveQueryDefaultResponse\n | IntegrationRuntimesEnableInteractiveQuery202Response\n | IntegrationRuntimesEnableInteractiveQueryDefaultResponse\n | ManagedVirtualNetworksListByAccount200Response\n | ManagedVirtualNetworksListByAccountDefaultResponse\n | ManagedVirtualNetworksGet200Response\n | ManagedVirtualNetworksGetDefaultResponse\n | ManagedVirtualNetworksCreateOrReplace200Response\n | ManagedVirtualNetworksCreateOrReplace201Response\n | ManagedVirtualNetworksCreateOrReplaceDefaultResponse\n | ManagedPrivateEndpointsListByAccount200Response\n | ManagedPrivateEndpointsListByAccountDefaultResponse\n | ManagedPrivateEndpointsGet200Response\n | ManagedPrivateEndpointsGetDefaultResponse\n | ManagedPrivateEndpointsDelete204Response\n | ManagedPrivateEndpointsDeleteDefaultResponse\n | ManagedPrivateEndpointsCreateOrReplace200Response\n | ManagedPrivateEndpointsCreateOrReplace201Response\n | ManagedPrivateEndpointsCreateOrReplaceDefaultResponse\n | ScansCreateOrReplace200Response\n | ScansCreateOrReplace201Response\n | ScansCreateOrReplaceDefaultResponse\n | ScansGet200Response\n | ScansGetDefaultResponse\n | ScansDelete204Response\n | ScansDeleteDefaultResponse\n | ScansListByDataSource200Response\n | ScansListByDataSourceDefaultResponse\n | ScanResultGetScanStatus200Response\n | ScanResultGetScanStatusDefaultResponse\n | ScanResultRunScan202Response\n | ScanResultRunScanDefaultResponse\n | ScanResultCancelScan202Response\n | ScanResultCancelScanDefaultResponse\n | ScanResultListScanHistory200Response\n | ScanResultListScanHistoryDefaultResponse\n | ScanRulesetsGet200Response\n | ScanRulesetsGetDefaultResponse\n | ScanRulesetsCreateOrReplace200Response\n | ScanRulesetsCreateOrReplace201Response\n | ScanRulesetsCreateOrReplaceDefaultResponse\n | ScanRulesetsDelete204Response\n | ScanRulesetsDeleteDefaultResponse\n | ScanRulesetsList200Response\n | ScanRulesetsListDefaultResponse\n | SystemScanRulesetsList200Response\n | SystemScanRulesetsListDefaultResponse\n | SystemScanRulesetsGet200Response\n | SystemScanRulesetsGetDefaultResponse\n | SystemScanRulesetsGetByVersion200Response\n | SystemScanRulesetsGetByVersionDefaultResponse\n | SystemScanRulesetsGetLatest200Response\n | SystemScanRulesetsGetLatestDefaultResponse\n | SystemScanRulesetsListVersionsByDataSource200Response\n | SystemScanRulesetsListVersionsByDataSourceDefaultResponse\n | TriggersGet200Response\n | TriggersGetDefaultResponse\n | TriggersCreateOrReplace200Response\n | TriggersCreateOrReplace201Response\n | TriggersCreateOrReplaceDefaultResponse\n | TriggersDelete204Response\n | TriggersDeleteDefaultResponse\n | TriggersEnable200Response\n | TriggersEnableDefaultResponse\n | TriggersDisable200Response\n | TriggersDisableDefaultResponse,\n): response is\n | KeyVaultConnectionsGetDefaultResponse\n | KeyVaultConnectionsCreateOrReplaceDefaultResponse\n | KeyVaultConnectionsDeleteDefaultResponse\n | KeyVaultConnectionsListDefaultResponse\n | ClassificationRulesGetDefaultResponse\n | ClassificationRulesCreateOrReplaceDefaultResponse\n | ClassificationRulesDeleteDefaultResponse\n | ClassificationRulesListDefaultResponse\n | ClassificationRulesListVersionsByRuleNameDefaultResponse\n | ClassificationRulesTagClassificationVersionDefaultResponse\n | CredentialGetDefaultResponse\n | CredentialCreateOrReplaceDefaultResponse\n | CredentialDeleteDefaultResponse\n | CredentialListDefaultResponse\n | DataSourcesCreateOrReplaceDefaultResponse\n | DataSourcesGetDefaultResponse\n | DataSourcesDeleteDefaultResponse\n | DataSourcesListDefaultResponse\n | FiltersGetDefaultResponse\n | FiltersCreateOrReplaceDefaultResponse\n | IntegrationRuntimesListByAccountDefaultResponse\n | IntegrationRuntimesGetDefaultResponse\n | IntegrationRuntimesDeleteDefaultResponse\n | IntegrationRuntimesCreateOrReplaceDefaultResponse\n | IntegrationRuntimesStatusDefaultResponse\n | IntegrationRuntimesListAuthKeysDefaultResponse\n | IntegrationRuntimesRegenerateAuthKeyDefaultResponse\n | IntegrationRuntimesDisableInteractiveQueryDefaultResponse\n | IntegrationRuntimesEnableInteractiveQueryDefaultResponse\n | ManagedVirtualNetworksListByAccountDefaultResponse\n | ManagedVirtualNetworksGetDefaultResponse\n | ManagedVirtualNetworksCreateOrReplaceDefaultResponse\n | ManagedPrivateEndpointsListByAccountDefaultResponse\n | ManagedPrivateEndpointsGetDefaultResponse\n | ManagedPrivateEndpointsDeleteDefaultResponse\n | ManagedPrivateEndpointsCreateOrReplaceDefaultResponse\n | ScansCreateOrReplaceDefaultResponse\n | ScansGetDefaultResponse\n | ScansDeleteDefaultResponse\n | ScansListByDataSourceDefaultResponse\n | ScanResultGetScanStatusDefaultResponse\n | ScanResultRunScanDefaultResponse\n | ScanResultCancelScanDefaultResponse\n | ScanResultListScanHistoryDefaultResponse\n | ScanRulesetsGetDefaultResponse\n | ScanRulesetsCreateOrReplaceDefaultResponse\n | ScanRulesetsDeleteDefaultResponse\n | ScanRulesetsListDefaultResponse\n | SystemScanRulesetsListDefaultResponse\n | SystemScanRulesetsGetDefaultResponse\n | SystemScanRulesetsGetByVersionDefaultResponse\n | SystemScanRulesetsGetLatestDefaultResponse\n | SystemScanRulesetsListVersionsByDataSourceDefaultResponse\n | TriggersGetDefaultResponse\n | TriggersCreateOrReplaceDefaultResponse\n | TriggersDeleteDefaultResponse\n | TriggersEnableDefaultResponse\n | TriggersDisableDefaultResponse {\n const lroOriginal = response.headers[\"x-ms-original-url\"];\n const url = new URL(lroOriginal ?? response.request.url);\n const method = response.request.method;\n let pathDetails = responseMap[`${method} ${url.pathname}`];\n if (!pathDetails) {\n pathDetails = getParametrizedPathSuccess(method, url.pathname);\n }\n return !pathDetails.includes(response.status);\n}\n\nfunction getParametrizedPathSuccess(method: string, path: string): string[] {\n const pathParts = path.split(\"/\");\n\n // Traverse list to match the longest candidate\n // matchedLen: the length of candidate path\n // matchedValue: the matched status code array\n let matchedLen = -1,\n matchedValue: string[] = [];\n\n // Iterate the responseMap to find a match\n for (const [key, value] of Object.entries(responseMap)) {\n // Extracting the path from the map key which is in format\n // GET /path/foo\n if (!key.startsWith(method)) {\n continue;\n }\n const candidatePath = getPathFromMapKey(key);\n // Get each part of the url path\n const candidateParts = candidatePath.split(\"/\");\n\n // track if we have found a match to return the values found.\n let found = true;\n for (let i = candidateParts.length - 1, j = pathParts.length - 1; i >= 1 && j >= 1; i--, j--) {\n if (candidateParts[i]?.startsWith(\"{\") && candidateParts[i]?.indexOf(\"}\") !== -1) {\n const start = candidateParts[i]!.indexOf(\"}\") + 1,\n end = candidateParts[i]?.length;\n // If the current part of the candidate is a \"template\" part\n // Try to use the suffix of pattern to match the path\n // {guid} ==> $\n // {guid}:export ==> :export$\n const isMatched = new RegExp(`${candidateParts[i]?.slice(start, end)}`).test(\n pathParts[j] || \"\",\n );\n\n if (!isMatched) {\n found = false;\n break;\n }\n continue;\n }\n\n // If the candidate part is not a template and\n // the parts don't match mark the candidate as not found\n // to move on with the next candidate path.\n if (candidateParts[i] !== pathParts[j]) {\n found = false;\n break;\n }\n }\n\n // We finished evaluating the current candidate parts\n // Update the matched value if and only if we found the longer pattern\n if (found && candidatePath.length > matchedLen) {\n matchedLen = candidatePath.length;\n matchedValue = value;\n }\n }\n\n return matchedValue;\n}\n\nfunction getPathFromMapKey(mapKey: string): string {\n const pathStart = mapKey.indexOf(\"/\");\n return mapKey.slice(pathStart);\n}\n"]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
|
-
import { __asyncDelegator, __asyncGenerator, __asyncValues, __await } from "tslib";
|
|
4
3
|
import { createRestError } from "@azure-rest/core-client";
|
|
5
4
|
/**
|
|
6
5
|
* returns an async iterator that iterates over results. It also has a `byPage`
|
|
@@ -10,7 +9,6 @@ import { createRestError } from "@azure-rest/core-client";
|
|
|
10
9
|
* @returns a paged async iterator that iterates over results.
|
|
11
10
|
*/
|
|
12
11
|
function getPagedAsyncIterator(pagedResult) {
|
|
13
|
-
var _a;
|
|
14
12
|
const iter = getItemAsyncIterator(pagedResult);
|
|
15
13
|
return {
|
|
16
14
|
next() {
|
|
@@ -19,85 +17,57 @@ function getPagedAsyncIterator(pagedResult) {
|
|
|
19
17
|
[Symbol.asyncIterator]() {
|
|
20
18
|
return this;
|
|
21
19
|
},
|
|
22
|
-
byPage:
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
20
|
+
byPage: pagedResult?.byPage ??
|
|
21
|
+
((settings) => {
|
|
22
|
+
const { continuationToken } = settings ?? {};
|
|
23
|
+
return getPageAsyncIterator(pagedResult, {
|
|
24
|
+
pageLink: continuationToken,
|
|
25
|
+
});
|
|
26
|
+
}),
|
|
28
27
|
};
|
|
29
28
|
}
|
|
30
|
-
function getItemAsyncIterator(pagedResult) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
//
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
yield
|
|
41
|
-
try {
|
|
42
|
-
for (var _g = true, pages_1 = __asyncValues(pages), pages_1_1; pages_1_1 = yield __await(pages_1.next()), _a = pages_1_1.done, !_a; _g = true) {
|
|
43
|
-
_c = pages_1_1.value;
|
|
44
|
-
_g = false;
|
|
45
|
-
const page = _c;
|
|
46
|
-
yield __await(yield* __asyncDelegator(__asyncValues(toElements(page))));
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
50
|
-
finally {
|
|
51
|
-
try {
|
|
52
|
-
if (!_g && !_a && (_b = pages_1.return)) yield __await(_b.call(pages_1));
|
|
53
|
-
}
|
|
54
|
-
finally { if (e_1) throw e_1.error; }
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
yield yield __await(firstVal.value);
|
|
59
|
-
// `pages` is of type `AsyncIterableIterator<TPage>` but TPage = TElement in this case
|
|
60
|
-
yield __await(yield* __asyncDelegator(__asyncValues(pages)));
|
|
29
|
+
async function* getItemAsyncIterator(pagedResult) {
|
|
30
|
+
const pages = getPageAsyncIterator(pagedResult);
|
|
31
|
+
const firstVal = await pages.next();
|
|
32
|
+
// if the result does not have an array shape, i.e. TPage = TElement, then we return it as is
|
|
33
|
+
if (!Array.isArray(firstVal.value)) {
|
|
34
|
+
// can extract elements from this page
|
|
35
|
+
const { toElements } = pagedResult;
|
|
36
|
+
if (toElements) {
|
|
37
|
+
yield* toElements(firstVal.value);
|
|
38
|
+
for await (const page of pages) {
|
|
39
|
+
yield* toElements(page);
|
|
61
40
|
}
|
|
62
41
|
}
|
|
63
42
|
else {
|
|
64
|
-
yield
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
76
|
-
finally {
|
|
77
|
-
try {
|
|
78
|
-
if (!_h && !_d && (_e = pages_2.return)) yield __await(_e.call(pages_2));
|
|
79
|
-
}
|
|
80
|
-
finally { if (e_2) throw e_2.error; }
|
|
81
|
-
}
|
|
43
|
+
yield firstVal.value;
|
|
44
|
+
// `pages` is of type `AsyncIterableIterator<TPage>` but TPage = TElement in this case
|
|
45
|
+
yield* pages;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
yield* firstVal.value;
|
|
50
|
+
for await (const page of pages) {
|
|
51
|
+
// pages is of type `AsyncIterableIterator<TPage>` so `page` is of type `TPage`. In this branch,
|
|
52
|
+
// it must be the case that `TPage = TElement[]`
|
|
53
|
+
yield* page;
|
|
82
54
|
}
|
|
83
|
-
}
|
|
55
|
+
}
|
|
84
56
|
}
|
|
85
|
-
function getPageAsyncIterator(
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
57
|
+
async function* getPageAsyncIterator(pagedResult, options = {}) {
|
|
58
|
+
const { pageLink } = options;
|
|
59
|
+
let response = await pagedResult.getPage(pageLink ?? pagedResult.firstPageLink);
|
|
60
|
+
if (!response) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
yield response.page;
|
|
64
|
+
while (response.nextPageLink) {
|
|
65
|
+
response = await pagedResult.getPage(response.nextPageLink);
|
|
89
66
|
if (!response) {
|
|
90
|
-
return
|
|
67
|
+
return;
|
|
91
68
|
}
|
|
92
|
-
yield
|
|
93
|
-
|
|
94
|
-
response = yield __await(pagedResult.getPage(response.nextPageLink));
|
|
95
|
-
if (!response) {
|
|
96
|
-
return yield __await(void 0);
|
|
97
|
-
}
|
|
98
|
-
yield yield __await(response.page);
|
|
99
|
-
}
|
|
100
|
-
});
|
|
69
|
+
yield response.page;
|
|
70
|
+
}
|
|
101
71
|
}
|
|
102
72
|
/**
|
|
103
73
|
* Helper to paginate results from an initial response that follows the specification of Autorest `x-ms-pageable` extension
|
|
@@ -153,7 +123,7 @@ function getElements(body, itemName) {
|
|
|
153
123
|
if (!Array.isArray(value)) {
|
|
154
124
|
throw new Error(`Couldn't paginate response\n Body doesn't contain an array property with name: ${itemName}`);
|
|
155
125
|
}
|
|
156
|
-
return value
|
|
126
|
+
return value ?? [];
|
|
157
127
|
}
|
|
158
128
|
/**
|
|
159
129
|
* Checks if a request failed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paginateHelper.js","sourceRoot":"","sources":["../../src/paginateHelper.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { Client, PathUncheckedResponse } from \"@azure-rest/core-client\";\nimport { createRestError } from \"@azure-rest/core-client\";\n\n/**\n * returns an async iterator that iterates over results. It also has a `byPage`\n * method that returns pages of items at once.\n *\n * @param pagedResult - an object that specifies how to get pages.\n * @returns a paged async iterator that iterates over results.\n */\nfunction getPagedAsyncIterator<\n TElement,\n TPage = TElement[],\n TPageSettings = PageSettings,\n TLink = string,\n>(\n pagedResult: PagedResult<TPage, TPageSettings, TLink>,\n): PagedAsyncIterableIterator<TElement, TPage, TPageSettings> {\n const iter = getItemAsyncIterator<TElement, TPage, TLink, TPageSettings>(pagedResult);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage:\n pagedResult?.byPage ??\n (((settings?: PageSettings) => {\n const { continuationToken } = settings ?? {};\n return getPageAsyncIterator(pagedResult, {\n pageLink: continuationToken as unknown as TLink | undefined,\n });\n }) as unknown as (settings?: TPageSettings) => AsyncIterableIterator<TPage>),\n };\n}\n\nasync function* getItemAsyncIterator<TElement, TPage, TLink, TPageSettings>(\n pagedResult: PagedResult<TPage, TPageSettings, TLink>,\n): AsyncIterableIterator<TElement> {\n const pages = getPageAsyncIterator(pagedResult);\n const firstVal = await pages.next();\n // if the result does not have an array shape, i.e. TPage = TElement, then we return it as is\n if (!Array.isArray(firstVal.value)) {\n // can extract elements from this page\n const { toElements } = pagedResult;\n if (toElements) {\n yield* toElements(firstVal.value) as TElement[];\n for await (const page of pages) {\n yield* toElements(page) as TElement[];\n }\n } else {\n yield firstVal.value;\n // `pages` is of type `AsyncIterableIterator<TPage>` but TPage = TElement in this case\n yield* pages as unknown as AsyncIterableIterator<TElement>;\n }\n } else {\n yield* firstVal.value;\n for await (const page of pages) {\n // pages is of type `AsyncIterableIterator<TPage>` so `page` is of type `TPage`. In this branch,\n // it must be the case that `TPage = TElement[]`\n yield* page as unknown as TElement[];\n }\n }\n}\n\nasync function* getPageAsyncIterator<TPage, TLink, TPageSettings>(\n pagedResult: PagedResult<TPage, TPageSettings, TLink>,\n options: {\n pageLink?: TLink;\n } = {},\n): AsyncIterableIterator<TPage> {\n const { pageLink } = options;\n let response = await pagedResult.getPage(pageLink ?? pagedResult.firstPageLink);\n if (!response) {\n return;\n }\n yield response.page;\n while (response.nextPageLink) {\n response = await pagedResult.getPage(response.nextPageLink);\n if (!response) {\n return;\n }\n yield response.page;\n }\n}\n\n/**\n * An interface that tracks the settings for paged iteration\n */\nexport interface PageSettings {\n /**\n * The token that keeps track of where to continue the iterator\n */\n continuationToken?: string;\n}\n\n/**\n * An interface that allows async iterable iteration both to completion and by page.\n */\nexport interface PagedAsyncIterableIterator<\n TElement,\n TPage = TElement[],\n TPageSettings = PageSettings,\n> {\n /**\n * The next method, part of the iteration protocol\n */\n next(): Promise<IteratorResult<TElement>>;\n /**\n * The connection to the async iterator, part of the iteration protocol\n */\n [Symbol.asyncIterator](): PagedAsyncIterableIterator<TElement, TPage, TPageSettings>;\n /**\n * Return an AsyncIterableIterator that works a page at a time\n */\n byPage: (settings?: TPageSettings) => AsyncIterableIterator<TPage>;\n}\n\n/**\n * An interface that describes how to communicate with the service.\n */\ninterface PagedResult<TPage, TPageSettings = PageSettings, TLink = string> {\n /**\n * Link to the first page of results.\n */\n firstPageLink: TLink;\n /**\n * A method that returns a page of results.\n */\n getPage: (pageLink: TLink) => Promise<{ page: TPage; nextPageLink?: TLink } | undefined>;\n /**\n * a function to implement the `byPage` method on the paged async iterator.\n */\n byPage?: (settings?: TPageSettings) => AsyncIterableIterator<TPage>;\n\n /**\n * A function to extract elements from a page.\n */\n toElements?: (page: TPage) => unknown[];\n}\n\n/**\n * Helper type to extract the type of an array\n */\nexport type GetArrayType<T> = T extends Array<infer TData> ? TData : never;\n\n/**\n * The type of a custom function that defines how to get a page and a link to the next one if any.\n */\nexport type GetPage<TPage> = (pageLink: string) => Promise<{\n page: TPage;\n nextPageLink?: string;\n}>;\n\n/**\n * Options for the paging helper\n */\nexport interface PagingOptions<TResponse> {\n /**\n * Custom function to extract pagination details for crating the PagedAsyncIterableIterator\n */\n customGetPage?: GetPage<PaginateReturn<TResponse>[]>;\n}\n\n/**\n * Helper type to infer the Type of the paged elements from the response type\n * This type is generated based on the swagger information for x-ms-pageable\n * specifically on the itemName property which indicates the property of the response\n * where the page items are found. The default value is `value`.\n * This type will allow us to provide strongly typed Iterator based on the response we get as second parameter\n */\nexport type PaginateReturn<TResult> = TResult extends {\n body: { value?: infer TPage };\n}\n ? GetArrayType<TPage>\n : Array<unknown>;\n\n/**\n * Helper to paginate results from an initial response that follows the specification of Autorest `x-ms-pageable` extension\n * @param client - Client to use for sending the next page requests\n * @param initialResponse - Initial response containing the nextLink and current page of elements\n * @param customGetPage - Optional - Function to define how to extract the page and next link to be used to paginate the results\n * @returns - PagedAsyncIterableIterator to iterate the elements\n */\nexport function paginate<TResponse extends PathUncheckedResponse>(\n client: Client,\n initialResponse: TResponse,\n options: PagingOptions<TResponse> = {},\n): PagedAsyncIterableIterator<PaginateReturn<TResponse>> {\n // Extract element type from initial response\n type TElement = PaginateReturn<TResponse>;\n let firstRun = true;\n const itemName = \"value\";\n const nextLinkName = \"nextLink\";\n const { customGetPage } = options;\n const pagedResult: PagedResult<TElement[]> = {\n firstPageLink: \"\",\n getPage:\n typeof customGetPage === \"function\"\n ? customGetPage\n : async (pageLink: string) => {\n const result = firstRun ? initialResponse : await client.pathUnchecked(pageLink).get();\n firstRun = false;\n checkPagingRequest(result);\n const nextLink = getNextLink(result.body, nextLinkName);\n const values = getElements<TElement>(result.body, itemName);\n return {\n page: values,\n nextPageLink: nextLink,\n };\n },\n };\n\n return getPagedAsyncIterator(pagedResult);\n}\n\n/**\n * Gets for the value of nextLink in the body\n */\nfunction getNextLink(body: unknown, nextLinkName?: string): string | undefined {\n if (!nextLinkName) {\n return undefined;\n }\n\n const nextLink = (body as Record<string, unknown>)[nextLinkName];\n\n if (typeof nextLink !== \"string\" && typeof nextLink !== \"undefined\") {\n throw new Error(`Body Property ${nextLinkName} should be a string or undefined`);\n }\n\n return nextLink;\n}\n\n/**\n * Gets the elements of the current request in the body.\n */\nfunction getElements<T = unknown>(body: unknown, itemName: string): T[] {\n const value = (body as Record<string, unknown>)[itemName] as T[];\n\n // value has to be an array according to the x-ms-pageable extension.\n // The fact that this must be an array is used above to calculate the\n // type of elements in the page in PaginateReturn\n if (!Array.isArray(value)) {\n throw new Error(\n `Couldn't paginate response\\n Body doesn't contain an array property with name: ${itemName}`,\n );\n }\n\n return value ?? [];\n}\n\n/**\n * Checks if a request failed\n */\nfunction checkPagingRequest(response: PathUncheckedResponse): void {\n const Http2xxStatusCodes = [\"200\", \"201\", \"202\", \"203\", \"204\", \"205\", \"206\", \"207\", \"208\", \"226\"];\n if (!Http2xxStatusCodes.includes(response.status)) {\n throw createRestError(\n `Pagination failed with unexpected statusCode ${response.status}`,\n response,\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"paginateHelper.js","sourceRoot":"","sources":["../../src/paginateHelper.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { Client, PathUncheckedResponse } from \"@azure-rest/core-client\";\nimport { createRestError } from \"@azure-rest/core-client\";\n\n/**\n * returns an async iterator that iterates over results. It also has a `byPage`\n * method that returns pages of items at once.\n *\n * @param pagedResult - an object that specifies how to get pages.\n * @returns a paged async iterator that iterates over results.\n */\nfunction getPagedAsyncIterator<\n TElement,\n TPage = TElement[],\n TPageSettings = PageSettings,\n TLink = string,\n>(\n pagedResult: PagedResult<TPage, TPageSettings, TLink>,\n): PagedAsyncIterableIterator<TElement, TPage, TPageSettings> {\n const iter = getItemAsyncIterator<TElement, TPage, TLink, TPageSettings>(pagedResult);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage:\n pagedResult?.byPage ??\n (((settings?: PageSettings) => {\n const { continuationToken } = settings ?? {};\n return getPageAsyncIterator(pagedResult, {\n pageLink: continuationToken as unknown as TLink | undefined,\n });\n }) as unknown as (settings?: TPageSettings) => AsyncIterableIterator<TPage>),\n };\n}\n\nasync function* getItemAsyncIterator<TElement, TPage, TLink, TPageSettings>(\n pagedResult: PagedResult<TPage, TPageSettings, TLink>,\n): AsyncIterableIterator<TElement> {\n const pages = getPageAsyncIterator(pagedResult);\n const firstVal = await pages.next();\n // if the result does not have an array shape, i.e. TPage = TElement, then we return it as is\n if (!Array.isArray(firstVal.value)) {\n // can extract elements from this page\n const { toElements } = pagedResult;\n if (toElements) {\n yield* toElements(firstVal.value) as TElement[];\n for await (const page of pages) {\n yield* toElements(page) as TElement[];\n }\n } else {\n yield firstVal.value;\n // `pages` is of type `AsyncIterableIterator<TPage>` but TPage = TElement in this case\n yield* pages as unknown as AsyncIterableIterator<TElement>;\n }\n } else {\n yield* firstVal.value;\n for await (const page of pages) {\n // pages is of type `AsyncIterableIterator<TPage>` so `page` is of type `TPage`. In this branch,\n // it must be the case that `TPage = TElement[]`\n yield* page as unknown as TElement[];\n }\n }\n}\n\nasync function* getPageAsyncIterator<TPage, TLink, TPageSettings>(\n pagedResult: PagedResult<TPage, TPageSettings, TLink>,\n options: {\n pageLink?: TLink;\n } = {},\n): AsyncIterableIterator<TPage> {\n const { pageLink } = options;\n let response = await pagedResult.getPage(pageLink ?? pagedResult.firstPageLink);\n if (!response) {\n return;\n }\n yield response.page;\n while (response.nextPageLink) {\n response = await pagedResult.getPage(response.nextPageLink);\n if (!response) {\n return;\n }\n yield response.page;\n }\n}\n\n/**\n * An interface that tracks the settings for paged iteration\n */\nexport interface PageSettings {\n /**\n * The token that keeps track of where to continue the iterator\n */\n continuationToken?: string;\n}\n\n/**\n * An interface that allows async iterable iteration both to completion and by page.\n */\nexport interface PagedAsyncIterableIterator<\n TElement,\n TPage = TElement[],\n TPageSettings = PageSettings,\n> {\n /**\n * The next method, part of the iteration protocol\n */\n next(): Promise<IteratorResult<TElement>>;\n /**\n * The connection to the async iterator, part of the iteration protocol\n */\n [Symbol.asyncIterator](): PagedAsyncIterableIterator<TElement, TPage, TPageSettings>;\n /**\n * Return an AsyncIterableIterator that works a page at a time\n */\n byPage: (settings?: TPageSettings) => AsyncIterableIterator<TPage>;\n}\n\n/**\n * An interface that describes how to communicate with the service.\n */\ninterface PagedResult<TPage, TPageSettings = PageSettings, TLink = string> {\n /**\n * Link to the first page of results.\n */\n firstPageLink: TLink;\n /**\n * A method that returns a page of results.\n */\n getPage: (pageLink: TLink) => Promise<{ page: TPage; nextPageLink?: TLink } | undefined>;\n /**\n * a function to implement the `byPage` method on the paged async iterator.\n */\n byPage?: (settings?: TPageSettings) => AsyncIterableIterator<TPage>;\n\n /**\n * A function to extract elements from a page.\n */\n toElements?: (page: TPage) => unknown[];\n}\n\n/**\n * Helper type to extract the type of an array\n */\nexport type GetArrayType<T> = T extends Array<infer TData> ? TData : never;\n\n/**\n * The type of a custom function that defines how to get a page and a link to the next one if any.\n */\nexport type GetPage<TPage> = (pageLink: string) => Promise<{\n page: TPage;\n nextPageLink?: string;\n}>;\n\n/**\n * Options for the paging helper\n */\nexport interface PagingOptions<TResponse> {\n /**\n * Custom function to extract pagination details for crating the PagedAsyncIterableIterator\n */\n customGetPage?: GetPage<PaginateReturn<TResponse>[]>;\n}\n\n/**\n * Helper type to infer the Type of the paged elements from the response type\n * This type is generated based on the swagger information for x-ms-pageable\n * specifically on the itemName property which indicates the property of the response\n * where the page items are found. The default value is `value`.\n * This type will allow us to provide strongly typed Iterator based on the response we get as second parameter\n */\nexport type PaginateReturn<TResult> = TResult extends {\n body: { value?: infer TPage };\n}\n ? GetArrayType<TPage>\n : Array<unknown>;\n\n/**\n * Helper to paginate results from an initial response that follows the specification of Autorest `x-ms-pageable` extension\n * @param client - Client to use for sending the next page requests\n * @param initialResponse - Initial response containing the nextLink and current page of elements\n * @param customGetPage - Optional - Function to define how to extract the page and next link to be used to paginate the results\n * @returns - PagedAsyncIterableIterator to iterate the elements\n */\nexport function paginate<TResponse extends PathUncheckedResponse>(\n client: Client,\n initialResponse: TResponse,\n options: PagingOptions<TResponse> = {},\n): PagedAsyncIterableIterator<PaginateReturn<TResponse>> {\n // Extract element type from initial response\n type TElement = PaginateReturn<TResponse>;\n let firstRun = true;\n const itemName = \"value\";\n const nextLinkName = \"nextLink\";\n const { customGetPage } = options;\n const pagedResult: PagedResult<TElement[]> = {\n firstPageLink: \"\",\n getPage:\n typeof customGetPage === \"function\"\n ? customGetPage\n : async (pageLink: string) => {\n const result = firstRun ? initialResponse : await client.pathUnchecked(pageLink).get();\n firstRun = false;\n checkPagingRequest(result);\n const nextLink = getNextLink(result.body, nextLinkName);\n const values = getElements<TElement>(result.body, itemName);\n return {\n page: values,\n nextPageLink: nextLink,\n };\n },\n };\n\n return getPagedAsyncIterator(pagedResult);\n}\n\n/**\n * Gets for the value of nextLink in the body\n */\nfunction getNextLink(body: unknown, nextLinkName?: string): string | undefined {\n if (!nextLinkName) {\n return undefined;\n }\n\n const nextLink = (body as Record<string, unknown>)[nextLinkName];\n\n if (typeof nextLink !== \"string\" && typeof nextLink !== \"undefined\") {\n throw new Error(`Body Property ${nextLinkName} should be a string or undefined`);\n }\n\n return nextLink;\n}\n\n/**\n * Gets the elements of the current request in the body.\n */\nfunction getElements<T = unknown>(body: unknown, itemName: string): T[] {\n const value = (body as Record<string, unknown>)[itemName] as T[];\n\n // value has to be an array according to the x-ms-pageable extension.\n // The fact that this must be an array is used above to calculate the\n // type of elements in the page in PaginateReturn\n if (!Array.isArray(value)) {\n throw new Error(\n `Couldn't paginate response\\n Body doesn't contain an array property with name: ${itemName}`,\n );\n }\n\n return value ?? [];\n}\n\n/**\n * Checks if a request failed\n */\nfunction checkPagingRequest(response: PathUncheckedResponse): void {\n const Http2xxStatusCodes = [\"200\", \"201\", \"202\", \"203\", \"204\", \"205\", \"206\", \"207\", \"208\", \"226\"];\n if (!Http2xxStatusCodes.includes(response.status)) {\n throw createRestError(\n `Pagination failed with unexpected statusCode ${response.status}`,\n response,\n );\n }\n}\n"]}
|
|
@@ -9,7 +9,6 @@ import { createHttpPoller } from "@azure/core-lro";
|
|
|
9
9
|
* @returns - A poller object to poll for operation state updates and eventually get the final response.
|
|
10
10
|
*/
|
|
11
11
|
export async function getLongRunningPoller(client, initialResponse, options = {}) {
|
|
12
|
-
var _a;
|
|
13
12
|
const abortController = new AbortController();
|
|
14
13
|
const poller = {
|
|
15
14
|
sendInitialRequest: async () => {
|
|
@@ -26,31 +25,31 @@ export async function getLongRunningPoller(client, initialResponse, options = {}
|
|
|
26
25
|
function abortListener() {
|
|
27
26
|
abortController.abort();
|
|
28
27
|
}
|
|
29
|
-
const inputAbortSignal = pollOptions
|
|
28
|
+
const inputAbortSignal = pollOptions?.abortSignal;
|
|
30
29
|
const abortSignal = abortController.signal;
|
|
31
|
-
if (inputAbortSignal
|
|
30
|
+
if (inputAbortSignal?.aborted) {
|
|
32
31
|
abortController.abort();
|
|
33
32
|
}
|
|
34
33
|
else if (!abortSignal.aborted) {
|
|
35
|
-
inputAbortSignal
|
|
34
|
+
inputAbortSignal?.addEventListener("abort", abortListener, {
|
|
36
35
|
once: true,
|
|
37
36
|
});
|
|
38
37
|
}
|
|
39
38
|
let response;
|
|
40
39
|
try {
|
|
41
40
|
response = await client
|
|
42
|
-
.pathUnchecked(path
|
|
41
|
+
.pathUnchecked(path ?? initialResponse.request.url)
|
|
43
42
|
.get({ abortSignal });
|
|
44
43
|
}
|
|
45
44
|
finally {
|
|
46
|
-
inputAbortSignal
|
|
45
|
+
inputAbortSignal?.removeEventListener("abort", abortListener);
|
|
47
46
|
}
|
|
48
47
|
const lroResponse = getLroResponse(response);
|
|
49
48
|
lroResponse.rawResponse.headers["x-ms-original-url"] = initialResponse.request.url;
|
|
50
49
|
return lroResponse;
|
|
51
50
|
},
|
|
52
51
|
};
|
|
53
|
-
options.resolveOnUnsuccessful =
|
|
52
|
+
options.resolveOnUnsuccessful = options.resolveOnUnsuccessful ?? true;
|
|
54
53
|
const httpPoller = createHttpPoller(poller, options);
|
|
55
54
|
const simplePoller = {
|
|
56
55
|
isDone() {
|
|
@@ -98,7 +97,11 @@ function getLroResponse(response) {
|
|
|
98
97
|
}
|
|
99
98
|
return {
|
|
100
99
|
flatResponse: response,
|
|
101
|
-
rawResponse:
|
|
100
|
+
rawResponse: {
|
|
101
|
+
...response,
|
|
102
|
+
statusCode: Number.parseInt(response.status),
|
|
103
|
+
body: response.body,
|
|
104
|
+
},
|
|
102
105
|
};
|
|
103
106
|
}
|
|
104
107
|
//# sourceMappingURL=pollingHelper.js.map
|