@azure-rest/load-testing 1.1.0-alpha.20250718.2 → 1.1.0-alpha.20250730.2

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.
Files changed (51) hide show
  1. package/dist/browser/azureLoadTesting.js +13 -11
  2. package/dist/browser/azureLoadTesting.js.map +1 -1
  3. package/dist/browser/getFileValidationPoller.js +8 -10
  4. package/dist/browser/getFileValidationPoller.js.map +1 -1
  5. package/dist/browser/getTestProfileRunCompletionPoller.js +8 -10
  6. package/dist/browser/getTestProfileRunCompletionPoller.js.map +1 -1
  7. package/dist/browser/getTestRunCompletionPoller.js +8 -10
  8. package/dist/browser/getTestRunCompletionPoller.js.map +1 -1
  9. package/dist/browser/isUnexpected.js +4 -5
  10. package/dist/browser/isUnexpected.js.map +1 -1
  11. package/dist/browser/paginateHelper.js +43 -73
  12. package/dist/browser/paginateHelper.js.map +1 -1
  13. package/dist/commonjs/azureLoadTesting.js +13 -11
  14. package/dist/commonjs/azureLoadTesting.js.map +1 -1
  15. package/dist/commonjs/getFileValidationPoller.js +8 -10
  16. package/dist/commonjs/getFileValidationPoller.js.map +1 -1
  17. package/dist/commonjs/getTestProfileRunCompletionPoller.js +8 -10
  18. package/dist/commonjs/getTestProfileRunCompletionPoller.js.map +1 -1
  19. package/dist/commonjs/getTestRunCompletionPoller.js +8 -10
  20. package/dist/commonjs/getTestRunCompletionPoller.js.map +1 -1
  21. package/dist/commonjs/isUnexpected.js +4 -5
  22. package/dist/commonjs/isUnexpected.js.map +1 -1
  23. package/dist/commonjs/paginateHelper.js +43 -73
  24. package/dist/commonjs/paginateHelper.js.map +1 -1
  25. package/dist/commonjs/tsdoc-metadata.json +11 -11
  26. package/dist/esm/azureLoadTesting.js +13 -11
  27. package/dist/esm/azureLoadTesting.js.map +1 -1
  28. package/dist/esm/getFileValidationPoller.js +8 -10
  29. package/dist/esm/getFileValidationPoller.js.map +1 -1
  30. package/dist/esm/getTestProfileRunCompletionPoller.js +8 -10
  31. package/dist/esm/getTestProfileRunCompletionPoller.js.map +1 -1
  32. package/dist/esm/getTestRunCompletionPoller.js +8 -10
  33. package/dist/esm/getTestRunCompletionPoller.js.map +1 -1
  34. package/dist/esm/isUnexpected.js +4 -5
  35. package/dist/esm/isUnexpected.js.map +1 -1
  36. package/dist/esm/paginateHelper.js +43 -73
  37. package/dist/esm/paginateHelper.js.map +1 -1
  38. package/dist/react-native/azureLoadTesting.js +13 -11
  39. package/dist/react-native/azureLoadTesting.js.map +1 -1
  40. package/dist/react-native/getFileValidationPoller.js +8 -10
  41. package/dist/react-native/getFileValidationPoller.js.map +1 -1
  42. package/dist/react-native/getTestProfileRunCompletionPoller.js +8 -10
  43. package/dist/react-native/getTestProfileRunCompletionPoller.js.map +1 -1
  44. package/dist/react-native/getTestRunCompletionPoller.js +8 -10
  45. package/dist/react-native/getTestRunCompletionPoller.js.map +1 -1
  46. package/dist/react-native/isUnexpected.js +4 -5
  47. package/dist/react-native/isUnexpected.js.map +1 -1
  48. package/dist/react-native/paginateHelper.js +43 -73
  49. package/dist/react-native/paginateHelper.js.map +1 -1
  50. package/package.json +2 -2
  51. package/review/load-testing-node.api.md +3110 -3110
@@ -10,7 +10,6 @@ import { sleep, isTestProfileRunInProgress } from "./util/LROUtil.js";
10
10
  * @returns A poller which can be called to poll until completion of the job.
11
11
  */
12
12
  export async function getTestProfileRunCompletionPoller(client, createTestProfileRunResponse, polledOperationOptions = {}) {
13
- var _a;
14
13
  const state = {
15
14
  status: "notStarted",
16
15
  };
@@ -19,12 +18,11 @@ export async function getTestProfileRunCompletionPoller(client, createTestProfil
19
18
  let resultPromise;
20
19
  let cancelJob;
21
20
  const abortController = new AbortController();
22
- const currentPollIntervalInMs = (_a = polledOperationOptions.updateIntervalInMs) !== null && _a !== void 0 ? _a : 10000;
21
+ const currentPollIntervalInMs = polledOperationOptions.updateIntervalInMs ?? 10000;
23
22
  const testProfileRunId = createTestProfileRunResponse.body.testProfileRunId;
24
23
  const poller = {
25
24
  async poll(options) {
26
- var _a;
27
- if ((_a = options === null || options === void 0 ? void 0 : options.abortSignal) === null || _a === void 0 ? void 0 : _a.aborted) {
25
+ if (options?.abortSignal?.aborted) {
28
26
  throw new AbortError("The polling was aborted.");
29
27
  }
30
28
  if (testProfileRunId) {
@@ -54,18 +52,18 @@ export async function getTestProfileRunCompletionPoller(client, createTestProfil
54
52
  }
55
53
  },
56
54
  pollUntilDone(pollOptions) {
57
- return (resultPromise !== null && resultPromise !== void 0 ? resultPromise : (resultPromise = (async () => {
55
+ return (resultPromise ??= (async () => {
58
56
  const { abortSignal: inputAbortSignal } = pollOptions || {};
59
57
  // In the future we can use AbortSignal.any() instead
60
58
  function abortListener() {
61
59
  abortController.abort();
62
60
  }
63
61
  const abortSignal = abortController.signal;
64
- if (inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.aborted) {
62
+ if (inputAbortSignal?.aborted) {
65
63
  abortController.abort();
66
64
  }
67
65
  else if (!abortSignal.aborted) {
68
- inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.addEventListener("abort", abortListener, { once: true });
66
+ inputAbortSignal?.addEventListener("abort", abortListener, { once: true });
69
67
  }
70
68
  try {
71
69
  if (!poller.isDone()) {
@@ -79,7 +77,7 @@ export async function getTestProfileRunCompletionPoller(client, createTestProfil
79
77
  }
80
78
  }
81
79
  finally {
82
- inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.removeEventListener("abort", abortListener);
80
+ inputAbortSignal?.removeEventListener("abort", abortListener);
83
81
  }
84
82
  switch (state.status) {
85
83
  case "succeeded":
@@ -95,7 +93,7 @@ export async function getTestProfileRunCompletionPoller(client, createTestProfil
95
93
  }
96
94
  })().finally(() => {
97
95
  resultPromise = undefined;
98
- })));
96
+ }));
99
97
  },
100
98
  onProgress(callback) {
101
99
  const s = Symbol();
@@ -107,7 +105,7 @@ export async function getTestProfileRunCompletionPoller(client, createTestProfil
107
105
  },
108
106
  stopPolling() {
109
107
  abortController.abort();
110
- cancelJob === null || cancelJob === void 0 ? void 0 : cancelJob();
108
+ cancelJob?.();
111
109
  },
112
110
  isStopped() {
113
111
  return resultPromise === undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"getTestProfileRunCompletionPoller.js","sourceRoot":"","sources":["../../src/getTestProfileRunCompletionPoller.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AbortSignalLike } from \"@azure/abort-controller\";\nimport { AbortError } from \"@azure/abort-controller\";\nimport type { CancelOnProgress, OperationState, SimplePollerLike } from \"@azure/core-lro\";\nimport type { PolledOperationOptions, TestProfileRunCompletionPoller } from \"./models.js\";\nimport type { AzureLoadTestingClient } from \"./clientDefinitions.js\";\nimport type {\n TestProfileRunAdministrationCreateOrUpdateTestProfileRun200Response,\n TestProfileRunAdministrationCreateOrUpdateTestProfileRun201Response,\n TestProfileRunAdministrationGetTestProfileRun200Response,\n} from \"./responses.js\";\nimport { isUnexpected } from \"./isUnexpected.js\";\nimport { sleep, isTestProfileRunInProgress } from \"./util/LROUtil.js\";\n\n/**\n * Creates a poller to poll for test run status.\n * @param client - The Load Testing client.\n * @param options - The operation options.\n * @returns A poller which can be called to poll until completion of the job.\n */\nexport async function getTestProfileRunCompletionPoller(\n client: AzureLoadTestingClient,\n createTestProfileRunResponse:\n | TestProfileRunAdministrationCreateOrUpdateTestProfileRun200Response\n | TestProfileRunAdministrationCreateOrUpdateTestProfileRun201Response,\n polledOperationOptions: PolledOperationOptions = {},\n): Promise<TestProfileRunCompletionPoller> {\n type Handler = (\n state: OperationState<TestProfileRunAdministrationGetTestProfileRun200Response>,\n ) => void;\n\n const state: OperationState<TestProfileRunAdministrationGetTestProfileRun200Response> = {\n status: \"notStarted\",\n };\n\n const progressCallbacks = new Map<symbol, Handler>();\n const processProgressCallbacks = async (): Promise<void> =>\n progressCallbacks.forEach((h) => h(state));\n let resultPromise: Promise<TestProfileRunAdministrationGetTestProfileRun200Response> | undefined;\n let cancelJob: (() => void) | undefined;\n const abortController = new AbortController();\n const currentPollIntervalInMs = polledOperationOptions.updateIntervalInMs ?? 10000;\n const testProfileRunId = createTestProfileRunResponse.body.testProfileRunId;\n\n const poller: SimplePollerLike<\n OperationState<TestProfileRunAdministrationGetTestProfileRun200Response>,\n TestProfileRunAdministrationGetTestProfileRun200Response\n > = {\n async poll(options?: { abortSignal?: AbortSignalLike }): Promise<void> {\n if (options?.abortSignal?.aborted) {\n throw new AbortError(\"The polling was aborted.\");\n }\n\n if (testProfileRunId) {\n const getTestProfileRunResult = await client\n .path(\"/test-profile-runs/{testProfileRunId}\", testProfileRunId)\n .get();\n if (isUnexpected(getTestProfileRunResult)) {\n state.status = \"failed\";\n state.error = new Error(getTestProfileRunResult.body.error.message);\n return;\n }\n\n if (getTestProfileRunResult.body.status === \"FAILED\") {\n state.status = \"failed\";\n state.error = new Error(getTestProfileRunResult.body.status);\n }\n\n if (getTestProfileRunResult.body.status === \"CANCELLED\") {\n state.status = \"canceled\";\n }\n\n if (getTestProfileRunResult.body.status === \"DONE\") {\n state.status = \"succeeded\";\n }\n\n if (isTestProfileRunInProgress(getTestProfileRunResult.body)) {\n state.status = \"running\";\n }\n state.result = getTestProfileRunResult;\n await processProgressCallbacks();\n }\n },\n\n pollUntilDone(pollOptions?: {\n abortSignal?: AbortSignalLike;\n }): Promise<TestProfileRunAdministrationGetTestProfileRun200Response> {\n return (resultPromise ??= (async () => {\n const { abortSignal: inputAbortSignal } = pollOptions || {};\n // In the future we can use AbortSignal.any() instead\n function abortListener(): void {\n abortController.abort();\n }\n const abortSignal = abortController.signal;\n if (inputAbortSignal?.aborted) {\n abortController.abort();\n } else if (!abortSignal.aborted) {\n inputAbortSignal?.addEventListener(\"abort\", abortListener, { once: true });\n }\n\n try {\n if (!poller.isDone()) {\n await poller.poll({ abortSignal });\n while (!poller.isDone()) {\n const delay = sleep(currentPollIntervalInMs, abortSignal);\n cancelJob = () => abortController.abort();\n await delay;\n await poller.poll({ abortSignal });\n }\n }\n } finally {\n inputAbortSignal?.removeEventListener(\"abort\", abortListener);\n }\n switch (state.status) {\n case \"succeeded\":\n case \"failed\":\n case \"canceled\": {\n return poller.getResult() as TestProfileRunAdministrationGetTestProfileRun200Response;\n }\n case \"notStarted\":\n case \"running\": {\n // Unreachable\n throw new Error(`polling completed without succeeding or failing`);\n }\n }\n })().finally(() => {\n resultPromise = undefined;\n }));\n },\n\n onProgress(\n callback: (\n state: OperationState<TestProfileRunAdministrationGetTestProfileRun200Response>,\n ) => void,\n ): CancelOnProgress {\n const s = Symbol();\n progressCallbacks.set(s, callback);\n\n return () => progressCallbacks.delete(s);\n },\n\n isDone(): boolean {\n return [\"succeeded\", \"failed\", \"canceled\"].includes(state.status);\n },\n\n stopPolling(): void {\n abortController.abort();\n cancelJob?.();\n },\n\n isStopped(): boolean {\n return resultPromise === undefined;\n },\n\n getOperationState(): OperationState<TestProfileRunAdministrationGetTestProfileRun200Response> {\n return state;\n },\n\n getResult(): TestProfileRunAdministrationGetTestProfileRun200Response | undefined {\n return state.result;\n },\n\n toString() {\n return JSON.stringify({ state });\n },\n };\n\n return poller;\n}\n"]}
1
+ {"version":3,"file":"getTestProfileRunCompletionPoller.js","sourceRoot":"","sources":["../../src/getTestProfileRunCompletionPoller.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AbortSignalLike } from \"@azure/abort-controller\";\nimport { AbortError } from \"@azure/abort-controller\";\nimport type { CancelOnProgress, OperationState, SimplePollerLike } from \"@azure/core-lro\";\nimport type { PolledOperationOptions, TestProfileRunCompletionPoller } from \"./models.js\";\nimport type { AzureLoadTestingClient } from \"./clientDefinitions.js\";\nimport type {\n TestProfileRunAdministrationCreateOrUpdateTestProfileRun200Response,\n TestProfileRunAdministrationCreateOrUpdateTestProfileRun201Response,\n TestProfileRunAdministrationGetTestProfileRun200Response,\n} from \"./responses.js\";\nimport { isUnexpected } from \"./isUnexpected.js\";\nimport { sleep, isTestProfileRunInProgress } from \"./util/LROUtil.js\";\n\n/**\n * Creates a poller to poll for test run status.\n * @param client - The Load Testing client.\n * @param options - The operation options.\n * @returns A poller which can be called to poll until completion of the job.\n */\nexport async function getTestProfileRunCompletionPoller(\n client: AzureLoadTestingClient,\n createTestProfileRunResponse:\n | TestProfileRunAdministrationCreateOrUpdateTestProfileRun200Response\n | TestProfileRunAdministrationCreateOrUpdateTestProfileRun201Response,\n polledOperationOptions: PolledOperationOptions = {},\n): Promise<TestProfileRunCompletionPoller> {\n type Handler = (\n state: OperationState<TestProfileRunAdministrationGetTestProfileRun200Response>,\n ) => void;\n\n const state: OperationState<TestProfileRunAdministrationGetTestProfileRun200Response> = {\n status: \"notStarted\",\n };\n\n const progressCallbacks = new Map<symbol, Handler>();\n const processProgressCallbacks = async (): Promise<void> =>\n progressCallbacks.forEach((h) => h(state));\n let resultPromise: Promise<TestProfileRunAdministrationGetTestProfileRun200Response> | undefined;\n let cancelJob: (() => void) | undefined;\n const abortController = new AbortController();\n const currentPollIntervalInMs = polledOperationOptions.updateIntervalInMs ?? 10000;\n const testProfileRunId = createTestProfileRunResponse.body.testProfileRunId;\n\n const poller: SimplePollerLike<\n OperationState<TestProfileRunAdministrationGetTestProfileRun200Response>,\n TestProfileRunAdministrationGetTestProfileRun200Response\n > = {\n async poll(options?: { abortSignal?: AbortSignalLike }): Promise<void> {\n if (options?.abortSignal?.aborted) {\n throw new AbortError(\"The polling was aborted.\");\n }\n\n if (testProfileRunId) {\n const getTestProfileRunResult = await client\n .path(\"/test-profile-runs/{testProfileRunId}\", testProfileRunId)\n .get();\n if (isUnexpected(getTestProfileRunResult)) {\n state.status = \"failed\";\n state.error = new Error(getTestProfileRunResult.body.error.message);\n return;\n }\n\n if (getTestProfileRunResult.body.status === \"FAILED\") {\n state.status = \"failed\";\n state.error = new Error(getTestProfileRunResult.body.status);\n }\n\n if (getTestProfileRunResult.body.status === \"CANCELLED\") {\n state.status = \"canceled\";\n }\n\n if (getTestProfileRunResult.body.status === \"DONE\") {\n state.status = \"succeeded\";\n }\n\n if (isTestProfileRunInProgress(getTestProfileRunResult.body)) {\n state.status = \"running\";\n }\n state.result = getTestProfileRunResult;\n await processProgressCallbacks();\n }\n },\n\n pollUntilDone(pollOptions?: {\n abortSignal?: AbortSignalLike;\n }): Promise<TestProfileRunAdministrationGetTestProfileRun200Response> {\n return (resultPromise ??= (async () => {\n const { abortSignal: inputAbortSignal } = pollOptions || {};\n // In the future we can use AbortSignal.any() instead\n function abortListener(): void {\n abortController.abort();\n }\n const abortSignal = abortController.signal;\n if (inputAbortSignal?.aborted) {\n abortController.abort();\n } else if (!abortSignal.aborted) {\n inputAbortSignal?.addEventListener(\"abort\", abortListener, { once: true });\n }\n\n try {\n if (!poller.isDone()) {\n await poller.poll({ abortSignal });\n while (!poller.isDone()) {\n const delay = sleep(currentPollIntervalInMs, abortSignal);\n cancelJob = () => abortController.abort();\n await delay;\n await poller.poll({ abortSignal });\n }\n }\n } finally {\n inputAbortSignal?.removeEventListener(\"abort\", abortListener);\n }\n switch (state.status) {\n case \"succeeded\":\n case \"failed\":\n case \"canceled\": {\n return poller.getResult() as TestProfileRunAdministrationGetTestProfileRun200Response;\n }\n case \"notStarted\":\n case \"running\": {\n // Unreachable\n throw new Error(`polling completed without succeeding or failing`);\n }\n }\n })().finally(() => {\n resultPromise = undefined;\n }));\n },\n\n onProgress(\n callback: (\n state: OperationState<TestProfileRunAdministrationGetTestProfileRun200Response>,\n ) => void,\n ): CancelOnProgress {\n const s = Symbol();\n progressCallbacks.set(s, callback);\n\n return () => progressCallbacks.delete(s);\n },\n\n isDone(): boolean {\n return [\"succeeded\", \"failed\", \"canceled\"].includes(state.status);\n },\n\n stopPolling(): void {\n abortController.abort();\n cancelJob?.();\n },\n\n isStopped(): boolean {\n return resultPromise === undefined;\n },\n\n getOperationState(): OperationState<TestProfileRunAdministrationGetTestProfileRun200Response> {\n return state;\n },\n\n getResult(): TestProfileRunAdministrationGetTestProfileRun200Response | undefined {\n return state.result;\n },\n\n toString() {\n return JSON.stringify({ state });\n },\n };\n\n return poller;\n}\n"]}
@@ -10,7 +10,6 @@ import { sleep, isTestRunInProgress } from "./util/LROUtil.js";
10
10
  * @returns A poller which can be called to poll until completion of the job.
11
11
  */
12
12
  export async function getTestRunCompletionPoller(client, createTestRunResponse, polledOperationOptions = {}) {
13
- var _a;
14
13
  const state = {
15
14
  status: "notStarted",
16
15
  };
@@ -19,12 +18,11 @@ export async function getTestRunCompletionPoller(client, createTestRunResponse,
19
18
  let resultPromise;
20
19
  let cancelJob;
21
20
  const abortController = new AbortController();
22
- const currentPollIntervalInMs = (_a = polledOperationOptions.updateIntervalInMs) !== null && _a !== void 0 ? _a : 2000;
21
+ const currentPollIntervalInMs = polledOperationOptions.updateIntervalInMs ?? 2000;
23
22
  const testRunId = createTestRunResponse.body.testRunId;
24
23
  const poller = {
25
24
  async poll(options) {
26
- var _a;
27
- if ((_a = options === null || options === void 0 ? void 0 : options.abortSignal) === null || _a === void 0 ? void 0 : _a.aborted) {
25
+ if (options?.abortSignal?.aborted) {
28
26
  throw new AbortError("The polling was aborted.");
29
27
  }
30
28
  if (testRunId) {
@@ -52,18 +50,18 @@ export async function getTestRunCompletionPoller(client, createTestRunResponse,
52
50
  }
53
51
  },
54
52
  pollUntilDone(pollOptions) {
55
- return (resultPromise !== null && resultPromise !== void 0 ? resultPromise : (resultPromise = (async () => {
53
+ return (resultPromise ??= (async () => {
56
54
  const { abortSignal: inputAbortSignal } = pollOptions || {};
57
55
  // In the future we can use AbortSignal.any() instead
58
56
  function abortListener() {
59
57
  abortController.abort();
60
58
  }
61
59
  const abortSignal = abortController.signal;
62
- if (inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.aborted) {
60
+ if (inputAbortSignal?.aborted) {
63
61
  abortController.abort();
64
62
  }
65
63
  else if (!abortSignal.aborted) {
66
- inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.addEventListener("abort", abortListener, { once: true });
64
+ inputAbortSignal?.addEventListener("abort", abortListener, { once: true });
67
65
  }
68
66
  try {
69
67
  if (!poller.isDone()) {
@@ -77,7 +75,7 @@ export async function getTestRunCompletionPoller(client, createTestRunResponse,
77
75
  }
78
76
  }
79
77
  finally {
80
- inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.removeEventListener("abort", abortListener);
78
+ inputAbortSignal?.removeEventListener("abort", abortListener);
81
79
  }
82
80
  switch (state.status) {
83
81
  case "succeeded":
@@ -93,7 +91,7 @@ export async function getTestRunCompletionPoller(client, createTestRunResponse,
93
91
  }
94
92
  })().finally(() => {
95
93
  resultPromise = undefined;
96
- })));
94
+ }));
97
95
  },
98
96
  onProgress(callback) {
99
97
  const s = Symbol();
@@ -105,7 +103,7 @@ export async function getTestRunCompletionPoller(client, createTestRunResponse,
105
103
  },
106
104
  stopPolling() {
107
105
  abortController.abort();
108
- cancelJob === null || cancelJob === void 0 ? void 0 : cancelJob();
106
+ cancelJob?.();
109
107
  },
110
108
  isStopped() {
111
109
  return resultPromise === undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"getTestRunCompletionPoller.js","sourceRoot":"","sources":["../../src/getTestRunCompletionPoller.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AbortSignalLike } from \"@azure/abort-controller\";\nimport { AbortError } from \"@azure/abort-controller\";\nimport type { CancelOnProgress, OperationState, SimplePollerLike } from \"@azure/core-lro\";\nimport type { TestRunCompletionPoller, PolledOperationOptions } from \"./models.js\";\nimport type { AzureLoadTestingClient } from \"./clientDefinitions.js\";\nimport type {\n LoadTestRunCreateOrUpdateTestRun200Response,\n LoadTestRunCreateOrUpdateTestRun201Response,\n LoadTestRunGetTestRun200Response,\n} from \"./responses.js\";\nimport { isUnexpected } from \"./isUnexpected.js\";\nimport { sleep, isTestRunInProgress } from \"./util/LROUtil.js\";\n\n/**\n * Creates a poller to poll for test run status.\n * @param client - The Load Testing client.\n * @param options - The operation options.\n * @returns A poller which can be called to poll until completion of the job.\n */\nexport async function getTestRunCompletionPoller(\n client: AzureLoadTestingClient,\n createTestRunResponse:\n | LoadTestRunCreateOrUpdateTestRun200Response\n | LoadTestRunCreateOrUpdateTestRun201Response,\n polledOperationOptions: PolledOperationOptions = {},\n): Promise<TestRunCompletionPoller> {\n type Handler = (state: OperationState<LoadTestRunGetTestRun200Response>) => void;\n\n const state: OperationState<LoadTestRunGetTestRun200Response> = {\n status: \"notStarted\",\n };\n\n const progressCallbacks = new Map<symbol, Handler>();\n const processProgressCallbacks = async (): Promise<void> =>\n progressCallbacks.forEach((h) => h(state));\n let resultPromise: Promise<LoadTestRunGetTestRun200Response> | undefined;\n let cancelJob: (() => void) | undefined;\n const abortController = new AbortController();\n const currentPollIntervalInMs = polledOperationOptions.updateIntervalInMs ?? 2000;\n const testRunId = createTestRunResponse.body.testRunId;\n\n const poller: SimplePollerLike<\n OperationState<LoadTestRunGetTestRun200Response>,\n LoadTestRunGetTestRun200Response\n > = {\n async poll(options?: { abortSignal?: AbortSignalLike }): Promise<void> {\n if (options?.abortSignal?.aborted) {\n throw new AbortError(\"The polling was aborted.\");\n }\n\n if (testRunId) {\n const getTestRunResult = await client.path(\"/test-runs/{testRunId}\", testRunId).get();\n if (isUnexpected(getTestRunResult)) {\n state.status = \"failed\";\n state.error = new Error(getTestRunResult.body.error.message);\n return;\n }\n\n if (getTestRunResult.body.status === \"FAILED\") {\n state.status = \"failed\";\n state.error = new Error(getTestRunResult.body.status);\n }\n\n if (getTestRunResult.body.status === \"CANCELLED\") {\n state.status = \"canceled\";\n }\n\n if (getTestRunResult.body.status === \"DONE\") {\n state.status = \"succeeded\";\n }\n\n if (isTestRunInProgress(getTestRunResult.body)) {\n state.status = \"running\";\n }\n state.result = getTestRunResult;\n await processProgressCallbacks();\n }\n },\n\n pollUntilDone(pollOptions?: {\n abortSignal?: AbortSignalLike;\n }): Promise<LoadTestRunGetTestRun200Response> {\n return (resultPromise ??= (async () => {\n const { abortSignal: inputAbortSignal } = pollOptions || {};\n // In the future we can use AbortSignal.any() instead\n function abortListener(): void {\n abortController.abort();\n }\n const abortSignal = abortController.signal;\n if (inputAbortSignal?.aborted) {\n abortController.abort();\n } else if (!abortSignal.aborted) {\n inputAbortSignal?.addEventListener(\"abort\", abortListener, { once: true });\n }\n\n try {\n if (!poller.isDone()) {\n await poller.poll({ abortSignal });\n while (!poller.isDone()) {\n const delay = sleep(currentPollIntervalInMs, abortSignal);\n cancelJob = () => abortController.abort();\n await delay;\n await poller.poll({ abortSignal });\n }\n }\n } finally {\n inputAbortSignal?.removeEventListener(\"abort\", abortListener);\n }\n switch (state.status) {\n case \"succeeded\":\n case \"failed\":\n case \"canceled\": {\n return poller.getResult() as LoadTestRunGetTestRun200Response;\n }\n case \"notStarted\":\n case \"running\": {\n // Unreachable\n throw new Error(`polling completed without succeeding or failing`);\n }\n }\n })().finally(() => {\n resultPromise = undefined;\n }));\n },\n\n onProgress(\n callback: (state: OperationState<LoadTestRunGetTestRun200Response>) => void,\n ): CancelOnProgress {\n const s = Symbol();\n progressCallbacks.set(s, callback);\n\n return () => progressCallbacks.delete(s);\n },\n\n isDone(): boolean {\n return [\"succeeded\", \"failed\", \"canceled\"].includes(state.status);\n },\n\n stopPolling(): void {\n abortController.abort();\n cancelJob?.();\n },\n\n isStopped(): boolean {\n return resultPromise === undefined;\n },\n\n getOperationState(): OperationState<LoadTestRunGetTestRun200Response> {\n return state;\n },\n\n getResult(): LoadTestRunGetTestRun200Response | undefined {\n return state.result;\n },\n\n toString() {\n return JSON.stringify({ state });\n },\n };\n\n return poller;\n}\n"]}
1
+ {"version":3,"file":"getTestRunCompletionPoller.js","sourceRoot":"","sources":["../../src/getTestRunCompletionPoller.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AbortSignalLike } from \"@azure/abort-controller\";\nimport { AbortError } from \"@azure/abort-controller\";\nimport type { CancelOnProgress, OperationState, SimplePollerLike } from \"@azure/core-lro\";\nimport type { TestRunCompletionPoller, PolledOperationOptions } from \"./models.js\";\nimport type { AzureLoadTestingClient } from \"./clientDefinitions.js\";\nimport type {\n LoadTestRunCreateOrUpdateTestRun200Response,\n LoadTestRunCreateOrUpdateTestRun201Response,\n LoadTestRunGetTestRun200Response,\n} from \"./responses.js\";\nimport { isUnexpected } from \"./isUnexpected.js\";\nimport { sleep, isTestRunInProgress } from \"./util/LROUtil.js\";\n\n/**\n * Creates a poller to poll for test run status.\n * @param client - The Load Testing client.\n * @param options - The operation options.\n * @returns A poller which can be called to poll until completion of the job.\n */\nexport async function getTestRunCompletionPoller(\n client: AzureLoadTestingClient,\n createTestRunResponse:\n | LoadTestRunCreateOrUpdateTestRun200Response\n | LoadTestRunCreateOrUpdateTestRun201Response,\n polledOperationOptions: PolledOperationOptions = {},\n): Promise<TestRunCompletionPoller> {\n type Handler = (state: OperationState<LoadTestRunGetTestRun200Response>) => void;\n\n const state: OperationState<LoadTestRunGetTestRun200Response> = {\n status: \"notStarted\",\n };\n\n const progressCallbacks = new Map<symbol, Handler>();\n const processProgressCallbacks = async (): Promise<void> =>\n progressCallbacks.forEach((h) => h(state));\n let resultPromise: Promise<LoadTestRunGetTestRun200Response> | undefined;\n let cancelJob: (() => void) | undefined;\n const abortController = new AbortController();\n const currentPollIntervalInMs = polledOperationOptions.updateIntervalInMs ?? 2000;\n const testRunId = createTestRunResponse.body.testRunId;\n\n const poller: SimplePollerLike<\n OperationState<LoadTestRunGetTestRun200Response>,\n LoadTestRunGetTestRun200Response\n > = {\n async poll(options?: { abortSignal?: AbortSignalLike }): Promise<void> {\n if (options?.abortSignal?.aborted) {\n throw new AbortError(\"The polling was aborted.\");\n }\n\n if (testRunId) {\n const getTestRunResult = await client.path(\"/test-runs/{testRunId}\", testRunId).get();\n if (isUnexpected(getTestRunResult)) {\n state.status = \"failed\";\n state.error = new Error(getTestRunResult.body.error.message);\n return;\n }\n\n if (getTestRunResult.body.status === \"FAILED\") {\n state.status = \"failed\";\n state.error = new Error(getTestRunResult.body.status);\n }\n\n if (getTestRunResult.body.status === \"CANCELLED\") {\n state.status = \"canceled\";\n }\n\n if (getTestRunResult.body.status === \"DONE\") {\n state.status = \"succeeded\";\n }\n\n if (isTestRunInProgress(getTestRunResult.body)) {\n state.status = \"running\";\n }\n state.result = getTestRunResult;\n await processProgressCallbacks();\n }\n },\n\n pollUntilDone(pollOptions?: {\n abortSignal?: AbortSignalLike;\n }): Promise<LoadTestRunGetTestRun200Response> {\n return (resultPromise ??= (async () => {\n const { abortSignal: inputAbortSignal } = pollOptions || {};\n // In the future we can use AbortSignal.any() instead\n function abortListener(): void {\n abortController.abort();\n }\n const abortSignal = abortController.signal;\n if (inputAbortSignal?.aborted) {\n abortController.abort();\n } else if (!abortSignal.aborted) {\n inputAbortSignal?.addEventListener(\"abort\", abortListener, { once: true });\n }\n\n try {\n if (!poller.isDone()) {\n await poller.poll({ abortSignal });\n while (!poller.isDone()) {\n const delay = sleep(currentPollIntervalInMs, abortSignal);\n cancelJob = () => abortController.abort();\n await delay;\n await poller.poll({ abortSignal });\n }\n }\n } finally {\n inputAbortSignal?.removeEventListener(\"abort\", abortListener);\n }\n switch (state.status) {\n case \"succeeded\":\n case \"failed\":\n case \"canceled\": {\n return poller.getResult() as LoadTestRunGetTestRun200Response;\n }\n case \"notStarted\":\n case \"running\": {\n // Unreachable\n throw new Error(`polling completed without succeeding or failing`);\n }\n }\n })().finally(() => {\n resultPromise = undefined;\n }));\n },\n\n onProgress(\n callback: (state: OperationState<LoadTestRunGetTestRun200Response>) => void,\n ): CancelOnProgress {\n const s = Symbol();\n progressCallbacks.set(s, callback);\n\n return () => progressCallbacks.delete(s);\n },\n\n isDone(): boolean {\n return [\"succeeded\", \"failed\", \"canceled\"].includes(state.status);\n },\n\n stopPolling(): void {\n abortController.abort();\n cancelJob?.();\n },\n\n isStopped(): boolean {\n return resultPromise === undefined;\n },\n\n getOperationState(): OperationState<LoadTestRunGetTestRun200Response> {\n return state;\n },\n\n getResult(): LoadTestRunGetTestRun200Response | undefined {\n return state.result;\n },\n\n toString() {\n return JSON.stringify({ state });\n },\n };\n\n return poller;\n}\n"]}
@@ -47,7 +47,7 @@ const responseMap = {
47
47
  };
48
48
  export function isUnexpected(response) {
49
49
  const lroOriginal = response.headers["x-ms-original-url"];
50
- const url = new URL(lroOriginal !== null && lroOriginal !== void 0 ? lroOriginal : response.request.url);
50
+ const url = new URL(lroOriginal ?? response.request.url);
51
51
  const method = response.request.method;
52
52
  let pathDetails = responseMap[`${method} ${url.pathname}`];
53
53
  if (!pathDetails) {
@@ -56,7 +56,6 @@ export function isUnexpected(response) {
56
56
  return !pathDetails.includes(response.status);
57
57
  }
58
58
  function getParametrizedPathSuccess(method, path) {
59
- var _a, _b, _c, _d;
60
59
  const pathParts = path.split("/");
61
60
  // Traverse list to match the longest candidate
62
61
  // matchedLen: the length of candidate path
@@ -75,13 +74,13 @@ function getParametrizedPathSuccess(method, path) {
75
74
  // track if we have found a match to return the values found.
76
75
  let found = true;
77
76
  for (let i = candidateParts.length - 1, j = pathParts.length - 1; i >= 1 && j >= 1; i--, j--) {
78
- if (((_a = candidateParts[i]) === null || _a === void 0 ? void 0 : _a.startsWith("{")) && ((_b = candidateParts[i]) === null || _b === void 0 ? void 0 : _b.indexOf("}")) !== -1) {
79
- const start = candidateParts[i].indexOf("}") + 1, end = (_c = candidateParts[i]) === null || _c === void 0 ? void 0 : _c.length;
77
+ if (candidateParts[i]?.startsWith("{") && candidateParts[i]?.indexOf("}") !== -1) {
78
+ const start = candidateParts[i].indexOf("}") + 1, end = candidateParts[i]?.length;
80
79
  // If the current part of the candidate is a "template" part
81
80
  // Try to use the suffix of pattern to match the path
82
81
  // {guid} ==> $
83
82
  // {guid}:export ==> :export$
84
- const isMatched = new RegExp(`${(_d = candidateParts[i]) === null || _d === void 0 ? void 0 : _d.slice(start, end)}`).test(pathParts[j] || "");
83
+ const isMatched = new RegExp(`${candidateParts[i]?.slice(start, end)}`).test(pathParts[j] || "");
85
84
  if (!isMatched) {
86
85
  found = false;
87
86
  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 LoadTestAdministrationCreateOrUpdateTest200Response,\n LoadTestAdministrationCreateOrUpdateTest201Response,\n LoadTestAdministrationCreateOrUpdateTestDefaultResponse,\n LoadTestAdministrationDeleteTest204Response,\n LoadTestAdministrationDeleteTestDefaultResponse,\n LoadTestAdministrationGetTest200Response,\n LoadTestAdministrationGetTestDefaultResponse,\n LoadTestAdministrationListTests200Response,\n LoadTestAdministrationListTestsDefaultResponse,\n LoadTestAdministrationUploadTestFile201Response,\n LoadTestAdministrationUploadTestFileDefaultResponse,\n LoadTestAdministrationGetTestFile200Response,\n LoadTestAdministrationGetTestFileDefaultResponse,\n LoadTestAdministrationDeleteTestFile204Response,\n LoadTestAdministrationDeleteTestFileDefaultResponse,\n LoadTestAdministrationListTestFiles200Response,\n LoadTestAdministrationListTestFilesDefaultResponse,\n LoadTestAdministrationCreateOrUpdateAppComponents200Response,\n LoadTestAdministrationCreateOrUpdateAppComponents201Response,\n LoadTestAdministrationCreateOrUpdateAppComponentsDefaultResponse,\n LoadTestAdministrationGetAppComponents200Response,\n LoadTestAdministrationGetAppComponentsDefaultResponse,\n LoadTestAdministrationCreateOrUpdateServerMetricsConfig200Response,\n LoadTestAdministrationCreateOrUpdateServerMetricsConfig201Response,\n LoadTestAdministrationCreateOrUpdateServerMetricsConfigDefaultResponse,\n LoadTestAdministrationGetServerMetricsConfig200Response,\n LoadTestAdministrationGetServerMetricsConfigDefaultResponse,\n TestProfileAdministrationCreateOrUpdateTestProfile200Response,\n TestProfileAdministrationCreateOrUpdateTestProfile201Response,\n TestProfileAdministrationCreateOrUpdateTestProfileDefaultResponse,\n TestProfileAdministrationDeleteTestProfile204Response,\n TestProfileAdministrationDeleteTestProfileDefaultResponse,\n TestProfileAdministrationGetTestProfile200Response,\n TestProfileAdministrationGetTestProfileDefaultResponse,\n TestProfileAdministrationListTestProfiles200Response,\n TestProfileAdministrationListTestProfilesDefaultResponse,\n LoadTestRunGetTestRun200Response,\n LoadTestRunGetTestRunDefaultResponse,\n LoadTestRunCreateOrUpdateTestRun200Response,\n LoadTestRunCreateOrUpdateTestRun201Response,\n LoadTestRunCreateOrUpdateTestRunDefaultResponse,\n LoadTestRunDeleteTestRun204Response,\n LoadTestRunDeleteTestRunDefaultResponse,\n LoadTestRunListTestRuns200Response,\n LoadTestRunListTestRunsDefaultResponse,\n LoadTestRunGetTestRunFile200Response,\n LoadTestRunGetTestRunFileDefaultResponse,\n LoadTestRunStop200Response,\n LoadTestRunStopDefaultResponse,\n LoadTestRunListMetricNamespaces200Response,\n LoadTestRunListMetricNamespacesDefaultResponse,\n LoadTestRunListMetricDefinitions200Response,\n LoadTestRunListMetricDefinitionsDefaultResponse,\n LoadTestRunListMetrics200Response,\n LoadTestRunListMetricsDefaultResponse,\n LoadTestRunListMetricDimensionValues200Response,\n LoadTestRunListMetricDimensionValuesDefaultResponse,\n LoadTestRunCreateOrUpdateAppComponents200Response,\n LoadTestRunCreateOrUpdateAppComponents201Response,\n LoadTestRunCreateOrUpdateAppComponentsDefaultResponse,\n LoadTestRunGetAppComponents200Response,\n LoadTestRunGetAppComponentsDefaultResponse,\n LoadTestRunCreateOrUpdateServerMetricsConfig200Response,\n LoadTestRunCreateOrUpdateServerMetricsConfig201Response,\n LoadTestRunCreateOrUpdateServerMetricsConfigDefaultResponse,\n LoadTestRunGetServerMetricsConfig200Response,\n LoadTestRunGetServerMetricsConfigDefaultResponse,\n TestProfileRunAdministrationGetTestProfileRun200Response,\n TestProfileRunAdministrationGetTestProfileRunDefaultResponse,\n TestProfileRunAdministrationCreateOrUpdateTestProfileRun200Response,\n TestProfileRunAdministrationCreateOrUpdateTestProfileRun201Response,\n TestProfileRunAdministrationCreateOrUpdateTestProfileRunDefaultResponse,\n TestProfileRunAdministrationDeleteTestProfileRun204Response,\n TestProfileRunAdministrationDeleteTestProfileRunDefaultResponse,\n TestProfileRunAdministrationStop200Response,\n TestProfileRunAdministrationStopDefaultResponse,\n TestProfileRunAdministrationListTestProfileRuns200Response,\n TestProfileRunAdministrationListTestProfileRunsDefaultResponse,\n TriggerAdministrationGetTrigger200Response,\n TriggerAdministrationGetTriggerDefaultResponse,\n TriggerAdministrationCreateOrUpdateTrigger200Response,\n TriggerAdministrationCreateOrUpdateTrigger201Response,\n TriggerAdministrationCreateOrUpdateTriggerDefaultResponse,\n TriggerAdministrationDeleteTrigger204Response,\n TriggerAdministrationDeleteTriggerDefaultResponse,\n TriggerAdministrationListTrigger200Response,\n TriggerAdministrationListTriggerDefaultResponse,\n NotificationRuleAdministrationGetNotificationRule200Response,\n NotificationRuleAdministrationGetNotificationRuleDefaultResponse,\n NotificationRuleAdministrationCreateOrUpdateNotificationRule200Response,\n NotificationRuleAdministrationCreateOrUpdateNotificationRule201Response,\n NotificationRuleAdministrationCreateOrUpdateNotificationRuleDefaultResponse,\n NotificationRuleAdministrationDeleteNotificationRule204Response,\n NotificationRuleAdministrationDeleteNotificationRuleDefaultResponse,\n NotificationRuleAdministrationListNotificationRule200Response,\n NotificationRuleAdministrationListNotificationRuleDefaultResponse,\n} from \"./responses.js\";\n\nconst responseMap: Record<string, string[]> = {\n \"PATCH /tests/{testId}\": [\"200\", \"201\"],\n \"DELETE /tests/{testId}\": [\"204\"],\n \"GET /tests/{testId}\": [\"200\"],\n \"GET /tests\": [\"200\"],\n \"PUT /tests/{testId}/files/{fileName}\": [\"201\"],\n \"GET /tests/{testId}/files/{fileName}\": [\"200\"],\n \"DELETE /tests/{testId}/files/{fileName}\": [\"204\"],\n \"GET /tests/{testId}/files\": [\"200\"],\n \"PATCH /tests/{testId}/app-components\": [\"200\", \"201\"],\n \"GET /tests/{testId}/app-components\": [\"200\"],\n \"PATCH /tests/{testId}/server-metrics-config\": [\"200\", \"201\"],\n \"GET /tests/{testId}/server-metrics-config\": [\"200\"],\n \"PATCH /test-profiles/{testProfileId}\": [\"200\", \"201\"],\n \"DELETE /test-profiles/{testProfileId}\": [\"204\"],\n \"GET /test-profiles/{testProfileId}\": [\"200\"],\n \"GET /test-profiles\": [\"200\"],\n \"GET /test-runs/{testRunId}\": [\"200\"],\n \"PATCH /test-runs/{testRunId}\": [\"200\", \"201\"],\n \"DELETE /test-runs/{testRunId}\": [\"204\"],\n \"GET /test-runs\": [\"200\"],\n \"GET /test-runs/{testRunId}/files/{fileName}\": [\"200\"],\n \"POST /test-runs/{testRunId}:stop\": [\"200\"],\n \"GET /test-runs/{testRunId}/metric-namespaces\": [\"200\"],\n \"GET /test-runs/{testRunId}/metric-definitions\": [\"200\"],\n \"POST /test-runs/{testRunId}/metrics\": [\"200\"],\n \"GET /test-runs/{testRunId}/metric-dimensions/{name}/values\": [\"200\"],\n \"PATCH /test-runs/{testRunId}/app-components\": [\"200\", \"201\"],\n \"GET /test-runs/{testRunId}/app-components\": [\"200\"],\n \"PATCH /test-runs/{testRunId}/server-metrics-config\": [\"200\", \"201\"],\n \"GET /test-runs/{testRunId}/server-metrics-config\": [\"200\"],\n \"GET /test-profile-runs/{testProfileRunId}\": [\"200\"],\n \"PATCH /test-profile-runs/{testProfileRunId}\": [\"200\", \"201\"],\n \"DELETE /test-profile-runs/{testProfileRunId}\": [\"204\"],\n \"POST /test-profile-runs/{testProfileRunId}:stop\": [\"200\"],\n \"GET /test-profile-runs\": [\"200\"],\n \"GET /triggers/{triggerId}\": [\"200\"],\n \"PATCH /triggers/{triggerId}\": [\"200\", \"201\"],\n \"DELETE /triggers/{triggerId}\": [\"204\"],\n \"GET /triggers\": [\"200\"],\n \"GET /notification-rules/{notificationRuleId}\": [\"200\"],\n \"PATCH /notification-rules/{notificationRuleId}\": [\"200\", \"201\"],\n \"DELETE /notification-rules/{notificationRuleId}\": [\"204\"],\n \"GET /notification-rules\": [\"200\"],\n};\n\nexport function isUnexpected(\n response:\n | LoadTestAdministrationCreateOrUpdateTest200Response\n | LoadTestAdministrationCreateOrUpdateTest201Response\n | LoadTestAdministrationCreateOrUpdateTestDefaultResponse,\n): response is LoadTestAdministrationCreateOrUpdateTestDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestAdministrationDeleteTest204Response\n | LoadTestAdministrationDeleteTestDefaultResponse,\n): response is LoadTestAdministrationDeleteTestDefaultResponse;\nexport function isUnexpected(\n response: LoadTestAdministrationGetTest200Response | LoadTestAdministrationGetTestDefaultResponse,\n): response is LoadTestAdministrationGetTestDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestAdministrationListTests200Response\n | LoadTestAdministrationListTestsDefaultResponse,\n): response is LoadTestAdministrationListTestsDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestAdministrationUploadTestFile201Response\n | LoadTestAdministrationUploadTestFileDefaultResponse,\n): response is LoadTestAdministrationUploadTestFileDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestAdministrationGetTestFile200Response\n | LoadTestAdministrationGetTestFileDefaultResponse,\n): response is LoadTestAdministrationGetTestFileDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestAdministrationDeleteTestFile204Response\n | LoadTestAdministrationDeleteTestFileDefaultResponse,\n): response is LoadTestAdministrationDeleteTestFileDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestAdministrationListTestFiles200Response\n | LoadTestAdministrationListTestFilesDefaultResponse,\n): response is LoadTestAdministrationListTestFilesDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestAdministrationCreateOrUpdateAppComponents200Response\n | LoadTestAdministrationCreateOrUpdateAppComponents201Response\n | LoadTestAdministrationCreateOrUpdateAppComponentsDefaultResponse,\n): response is LoadTestAdministrationCreateOrUpdateAppComponentsDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestAdministrationGetAppComponents200Response\n | LoadTestAdministrationGetAppComponentsDefaultResponse,\n): response is LoadTestAdministrationGetAppComponentsDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestAdministrationCreateOrUpdateServerMetricsConfig200Response\n | LoadTestAdministrationCreateOrUpdateServerMetricsConfig201Response\n | LoadTestAdministrationCreateOrUpdateServerMetricsConfigDefaultResponse,\n): response is LoadTestAdministrationCreateOrUpdateServerMetricsConfigDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestAdministrationGetServerMetricsConfig200Response\n | LoadTestAdministrationGetServerMetricsConfigDefaultResponse,\n): response is LoadTestAdministrationGetServerMetricsConfigDefaultResponse;\nexport function isUnexpected(\n response:\n | TestProfileAdministrationCreateOrUpdateTestProfile200Response\n | TestProfileAdministrationCreateOrUpdateTestProfile201Response\n | TestProfileAdministrationCreateOrUpdateTestProfileDefaultResponse,\n): response is TestProfileAdministrationCreateOrUpdateTestProfileDefaultResponse;\nexport function isUnexpected(\n response:\n | TestProfileAdministrationDeleteTestProfile204Response\n | TestProfileAdministrationDeleteTestProfileDefaultResponse,\n): response is TestProfileAdministrationDeleteTestProfileDefaultResponse;\nexport function isUnexpected(\n response:\n | TestProfileAdministrationGetTestProfile200Response\n | TestProfileAdministrationGetTestProfileDefaultResponse,\n): response is TestProfileAdministrationGetTestProfileDefaultResponse;\nexport function isUnexpected(\n response:\n | TestProfileAdministrationListTestProfiles200Response\n | TestProfileAdministrationListTestProfilesDefaultResponse,\n): response is TestProfileAdministrationListTestProfilesDefaultResponse;\nexport function isUnexpected(\n response: LoadTestRunGetTestRun200Response | LoadTestRunGetTestRunDefaultResponse,\n): response is LoadTestRunGetTestRunDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestRunCreateOrUpdateTestRun200Response\n | LoadTestRunCreateOrUpdateTestRun201Response\n | LoadTestRunCreateOrUpdateTestRunDefaultResponse,\n): response is LoadTestRunCreateOrUpdateTestRunDefaultResponse;\nexport function isUnexpected(\n response: LoadTestRunDeleteTestRun204Response | LoadTestRunDeleteTestRunDefaultResponse,\n): response is LoadTestRunDeleteTestRunDefaultResponse;\nexport function isUnexpected(\n response: LoadTestRunListTestRuns200Response | LoadTestRunListTestRunsDefaultResponse,\n): response is LoadTestRunListTestRunsDefaultResponse;\nexport function isUnexpected(\n response: LoadTestRunGetTestRunFile200Response | LoadTestRunGetTestRunFileDefaultResponse,\n): response is LoadTestRunGetTestRunFileDefaultResponse;\nexport function isUnexpected(\n response: LoadTestRunStop200Response | LoadTestRunStopDefaultResponse,\n): response is LoadTestRunStopDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestRunListMetricNamespaces200Response\n | LoadTestRunListMetricNamespacesDefaultResponse,\n): response is LoadTestRunListMetricNamespacesDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestRunListMetricDefinitions200Response\n | LoadTestRunListMetricDefinitionsDefaultResponse,\n): response is LoadTestRunListMetricDefinitionsDefaultResponse;\nexport function isUnexpected(\n response: LoadTestRunListMetrics200Response | LoadTestRunListMetricsDefaultResponse,\n): response is LoadTestRunListMetricsDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestRunListMetricDimensionValues200Response\n | LoadTestRunListMetricDimensionValuesDefaultResponse,\n): response is LoadTestRunListMetricDimensionValuesDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestRunCreateOrUpdateAppComponents200Response\n | LoadTestRunCreateOrUpdateAppComponents201Response\n | LoadTestRunCreateOrUpdateAppComponentsDefaultResponse,\n): response is LoadTestRunCreateOrUpdateAppComponentsDefaultResponse;\nexport function isUnexpected(\n response: LoadTestRunGetAppComponents200Response | LoadTestRunGetAppComponentsDefaultResponse,\n): response is LoadTestRunGetAppComponentsDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestRunCreateOrUpdateServerMetricsConfig200Response\n | LoadTestRunCreateOrUpdateServerMetricsConfig201Response\n | LoadTestRunCreateOrUpdateServerMetricsConfigDefaultResponse,\n): response is LoadTestRunCreateOrUpdateServerMetricsConfigDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestRunGetServerMetricsConfig200Response\n | LoadTestRunGetServerMetricsConfigDefaultResponse,\n): response is LoadTestRunGetServerMetricsConfigDefaultResponse;\nexport function isUnexpected(\n response:\n | TestProfileRunAdministrationGetTestProfileRun200Response\n | TestProfileRunAdministrationGetTestProfileRunDefaultResponse,\n): response is TestProfileRunAdministrationGetTestProfileRunDefaultResponse;\nexport function isUnexpected(\n response:\n | TestProfileRunAdministrationCreateOrUpdateTestProfileRun200Response\n | TestProfileRunAdministrationCreateOrUpdateTestProfileRun201Response\n | TestProfileRunAdministrationCreateOrUpdateTestProfileRunDefaultResponse,\n): response is TestProfileRunAdministrationCreateOrUpdateTestProfileRunDefaultResponse;\nexport function isUnexpected(\n response:\n | TestProfileRunAdministrationDeleteTestProfileRun204Response\n | TestProfileRunAdministrationDeleteTestProfileRunDefaultResponse,\n): response is TestProfileRunAdministrationDeleteTestProfileRunDefaultResponse;\nexport function isUnexpected(\n response:\n | TestProfileRunAdministrationStop200Response\n | TestProfileRunAdministrationStopDefaultResponse,\n): response is TestProfileRunAdministrationStopDefaultResponse;\nexport function isUnexpected(\n response:\n | TestProfileRunAdministrationListTestProfileRuns200Response\n | TestProfileRunAdministrationListTestProfileRunsDefaultResponse,\n): response is TestProfileRunAdministrationListTestProfileRunsDefaultResponse;\nexport function isUnexpected(\n response:\n | TriggerAdministrationGetTrigger200Response\n | TriggerAdministrationGetTriggerDefaultResponse,\n): response is TriggerAdministrationGetTriggerDefaultResponse;\nexport function isUnexpected(\n response:\n | TriggerAdministrationCreateOrUpdateTrigger200Response\n | TriggerAdministrationCreateOrUpdateTrigger201Response\n | TriggerAdministrationCreateOrUpdateTriggerDefaultResponse,\n): response is TriggerAdministrationCreateOrUpdateTriggerDefaultResponse;\nexport function isUnexpected(\n response:\n | TriggerAdministrationDeleteTrigger204Response\n | TriggerAdministrationDeleteTriggerDefaultResponse,\n): response is TriggerAdministrationDeleteTriggerDefaultResponse;\nexport function isUnexpected(\n response:\n | TriggerAdministrationListTrigger200Response\n | TriggerAdministrationListTriggerDefaultResponse,\n): response is TriggerAdministrationListTriggerDefaultResponse;\nexport function isUnexpected(\n response:\n | NotificationRuleAdministrationGetNotificationRule200Response\n | NotificationRuleAdministrationGetNotificationRuleDefaultResponse,\n): response is NotificationRuleAdministrationGetNotificationRuleDefaultResponse;\nexport function isUnexpected(\n response:\n | NotificationRuleAdministrationCreateOrUpdateNotificationRule200Response\n | NotificationRuleAdministrationCreateOrUpdateNotificationRule201Response\n | NotificationRuleAdministrationCreateOrUpdateNotificationRuleDefaultResponse,\n): response is NotificationRuleAdministrationCreateOrUpdateNotificationRuleDefaultResponse;\nexport function isUnexpected(\n response:\n | NotificationRuleAdministrationDeleteNotificationRule204Response\n | NotificationRuleAdministrationDeleteNotificationRuleDefaultResponse,\n): response is NotificationRuleAdministrationDeleteNotificationRuleDefaultResponse;\nexport function isUnexpected(\n response:\n | NotificationRuleAdministrationListNotificationRule200Response\n | NotificationRuleAdministrationListNotificationRuleDefaultResponse,\n): response is NotificationRuleAdministrationListNotificationRuleDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestAdministrationCreateOrUpdateTest200Response\n | LoadTestAdministrationCreateOrUpdateTest201Response\n | LoadTestAdministrationCreateOrUpdateTestDefaultResponse\n | LoadTestAdministrationDeleteTest204Response\n | LoadTestAdministrationDeleteTestDefaultResponse\n | LoadTestAdministrationGetTest200Response\n | LoadTestAdministrationGetTestDefaultResponse\n | LoadTestAdministrationListTests200Response\n | LoadTestAdministrationListTestsDefaultResponse\n | LoadTestAdministrationUploadTestFile201Response\n | LoadTestAdministrationUploadTestFileDefaultResponse\n | LoadTestAdministrationGetTestFile200Response\n | LoadTestAdministrationGetTestFileDefaultResponse\n | LoadTestAdministrationDeleteTestFile204Response\n | LoadTestAdministrationDeleteTestFileDefaultResponse\n | LoadTestAdministrationListTestFiles200Response\n | LoadTestAdministrationListTestFilesDefaultResponse\n | LoadTestAdministrationCreateOrUpdateAppComponents200Response\n | LoadTestAdministrationCreateOrUpdateAppComponents201Response\n | LoadTestAdministrationCreateOrUpdateAppComponentsDefaultResponse\n | LoadTestAdministrationGetAppComponents200Response\n | LoadTestAdministrationGetAppComponentsDefaultResponse\n | LoadTestAdministrationCreateOrUpdateServerMetricsConfig200Response\n | LoadTestAdministrationCreateOrUpdateServerMetricsConfig201Response\n | LoadTestAdministrationCreateOrUpdateServerMetricsConfigDefaultResponse\n | LoadTestAdministrationGetServerMetricsConfig200Response\n | LoadTestAdministrationGetServerMetricsConfigDefaultResponse\n | TestProfileAdministrationCreateOrUpdateTestProfile200Response\n | TestProfileAdministrationCreateOrUpdateTestProfile201Response\n | TestProfileAdministrationCreateOrUpdateTestProfileDefaultResponse\n | TestProfileAdministrationDeleteTestProfile204Response\n | TestProfileAdministrationDeleteTestProfileDefaultResponse\n | TestProfileAdministrationGetTestProfile200Response\n | TestProfileAdministrationGetTestProfileDefaultResponse\n | TestProfileAdministrationListTestProfiles200Response\n | TestProfileAdministrationListTestProfilesDefaultResponse\n | LoadTestRunGetTestRun200Response\n | LoadTestRunGetTestRunDefaultResponse\n | LoadTestRunCreateOrUpdateTestRun200Response\n | LoadTestRunCreateOrUpdateTestRun201Response\n | LoadTestRunCreateOrUpdateTestRunDefaultResponse\n | LoadTestRunDeleteTestRun204Response\n | LoadTestRunDeleteTestRunDefaultResponse\n | LoadTestRunListTestRuns200Response\n | LoadTestRunListTestRunsDefaultResponse\n | LoadTestRunGetTestRunFile200Response\n | LoadTestRunGetTestRunFileDefaultResponse\n | LoadTestRunStop200Response\n | LoadTestRunStopDefaultResponse\n | LoadTestRunListMetricNamespaces200Response\n | LoadTestRunListMetricNamespacesDefaultResponse\n | LoadTestRunListMetricDefinitions200Response\n | LoadTestRunListMetricDefinitionsDefaultResponse\n | LoadTestRunListMetrics200Response\n | LoadTestRunListMetricsDefaultResponse\n | LoadTestRunListMetricDimensionValues200Response\n | LoadTestRunListMetricDimensionValuesDefaultResponse\n | LoadTestRunCreateOrUpdateAppComponents200Response\n | LoadTestRunCreateOrUpdateAppComponents201Response\n | LoadTestRunCreateOrUpdateAppComponentsDefaultResponse\n | LoadTestRunGetAppComponents200Response\n | LoadTestRunGetAppComponentsDefaultResponse\n | LoadTestRunCreateOrUpdateServerMetricsConfig200Response\n | LoadTestRunCreateOrUpdateServerMetricsConfig201Response\n | LoadTestRunCreateOrUpdateServerMetricsConfigDefaultResponse\n | LoadTestRunGetServerMetricsConfig200Response\n | LoadTestRunGetServerMetricsConfigDefaultResponse\n | TestProfileRunAdministrationGetTestProfileRun200Response\n | TestProfileRunAdministrationGetTestProfileRunDefaultResponse\n | TestProfileRunAdministrationCreateOrUpdateTestProfileRun200Response\n | TestProfileRunAdministrationCreateOrUpdateTestProfileRun201Response\n | TestProfileRunAdministrationCreateOrUpdateTestProfileRunDefaultResponse\n | TestProfileRunAdministrationDeleteTestProfileRun204Response\n | TestProfileRunAdministrationDeleteTestProfileRunDefaultResponse\n | TestProfileRunAdministrationStop200Response\n | TestProfileRunAdministrationStopDefaultResponse\n | TestProfileRunAdministrationListTestProfileRuns200Response\n | TestProfileRunAdministrationListTestProfileRunsDefaultResponse\n | TriggerAdministrationGetTrigger200Response\n | TriggerAdministrationGetTriggerDefaultResponse\n | TriggerAdministrationCreateOrUpdateTrigger200Response\n | TriggerAdministrationCreateOrUpdateTrigger201Response\n | TriggerAdministrationCreateOrUpdateTriggerDefaultResponse\n | TriggerAdministrationDeleteTrigger204Response\n | TriggerAdministrationDeleteTriggerDefaultResponse\n | TriggerAdministrationListTrigger200Response\n | TriggerAdministrationListTriggerDefaultResponse\n | NotificationRuleAdministrationGetNotificationRule200Response\n | NotificationRuleAdministrationGetNotificationRuleDefaultResponse\n | NotificationRuleAdministrationCreateOrUpdateNotificationRule200Response\n | NotificationRuleAdministrationCreateOrUpdateNotificationRule201Response\n | NotificationRuleAdministrationCreateOrUpdateNotificationRuleDefaultResponse\n | NotificationRuleAdministrationDeleteNotificationRule204Response\n | NotificationRuleAdministrationDeleteNotificationRuleDefaultResponse\n | NotificationRuleAdministrationListNotificationRule200Response\n | NotificationRuleAdministrationListNotificationRuleDefaultResponse,\n): response is\n | LoadTestAdministrationCreateOrUpdateTestDefaultResponse\n | LoadTestAdministrationDeleteTestDefaultResponse\n | LoadTestAdministrationGetTestDefaultResponse\n | LoadTestAdministrationListTestsDefaultResponse\n | LoadTestAdministrationUploadTestFileDefaultResponse\n | LoadTestAdministrationGetTestFileDefaultResponse\n | LoadTestAdministrationDeleteTestFileDefaultResponse\n | LoadTestAdministrationListTestFilesDefaultResponse\n | LoadTestAdministrationCreateOrUpdateAppComponentsDefaultResponse\n | LoadTestAdministrationGetAppComponentsDefaultResponse\n | LoadTestAdministrationCreateOrUpdateServerMetricsConfigDefaultResponse\n | LoadTestAdministrationGetServerMetricsConfigDefaultResponse\n | TestProfileAdministrationCreateOrUpdateTestProfileDefaultResponse\n | TestProfileAdministrationDeleteTestProfileDefaultResponse\n | TestProfileAdministrationGetTestProfileDefaultResponse\n | TestProfileAdministrationListTestProfilesDefaultResponse\n | LoadTestRunGetTestRunDefaultResponse\n | LoadTestRunCreateOrUpdateTestRunDefaultResponse\n | LoadTestRunDeleteTestRunDefaultResponse\n | LoadTestRunListTestRunsDefaultResponse\n | LoadTestRunGetTestRunFileDefaultResponse\n | LoadTestRunStopDefaultResponse\n | LoadTestRunListMetricNamespacesDefaultResponse\n | LoadTestRunListMetricDefinitionsDefaultResponse\n | LoadTestRunListMetricsDefaultResponse\n | LoadTestRunListMetricDimensionValuesDefaultResponse\n | LoadTestRunCreateOrUpdateAppComponentsDefaultResponse\n | LoadTestRunGetAppComponentsDefaultResponse\n | LoadTestRunCreateOrUpdateServerMetricsConfigDefaultResponse\n | LoadTestRunGetServerMetricsConfigDefaultResponse\n | TestProfileRunAdministrationGetTestProfileRunDefaultResponse\n | TestProfileRunAdministrationCreateOrUpdateTestProfileRunDefaultResponse\n | TestProfileRunAdministrationDeleteTestProfileRunDefaultResponse\n | TestProfileRunAdministrationStopDefaultResponse\n | TestProfileRunAdministrationListTestProfileRunsDefaultResponse\n | TriggerAdministrationGetTriggerDefaultResponse\n | TriggerAdministrationCreateOrUpdateTriggerDefaultResponse\n | TriggerAdministrationDeleteTriggerDefaultResponse\n | TriggerAdministrationListTriggerDefaultResponse\n | NotificationRuleAdministrationGetNotificationRuleDefaultResponse\n | NotificationRuleAdministrationCreateOrUpdateNotificationRuleDefaultResponse\n | NotificationRuleAdministrationDeleteNotificationRuleDefaultResponse\n | NotificationRuleAdministrationListNotificationRuleDefaultResponse {\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 LoadTestAdministrationCreateOrUpdateTest200Response,\n LoadTestAdministrationCreateOrUpdateTest201Response,\n LoadTestAdministrationCreateOrUpdateTestDefaultResponse,\n LoadTestAdministrationDeleteTest204Response,\n LoadTestAdministrationDeleteTestDefaultResponse,\n LoadTestAdministrationGetTest200Response,\n LoadTestAdministrationGetTestDefaultResponse,\n LoadTestAdministrationListTests200Response,\n LoadTestAdministrationListTestsDefaultResponse,\n LoadTestAdministrationUploadTestFile201Response,\n LoadTestAdministrationUploadTestFileDefaultResponse,\n LoadTestAdministrationGetTestFile200Response,\n LoadTestAdministrationGetTestFileDefaultResponse,\n LoadTestAdministrationDeleteTestFile204Response,\n LoadTestAdministrationDeleteTestFileDefaultResponse,\n LoadTestAdministrationListTestFiles200Response,\n LoadTestAdministrationListTestFilesDefaultResponse,\n LoadTestAdministrationCreateOrUpdateAppComponents200Response,\n LoadTestAdministrationCreateOrUpdateAppComponents201Response,\n LoadTestAdministrationCreateOrUpdateAppComponentsDefaultResponse,\n LoadTestAdministrationGetAppComponents200Response,\n LoadTestAdministrationGetAppComponentsDefaultResponse,\n LoadTestAdministrationCreateOrUpdateServerMetricsConfig200Response,\n LoadTestAdministrationCreateOrUpdateServerMetricsConfig201Response,\n LoadTestAdministrationCreateOrUpdateServerMetricsConfigDefaultResponse,\n LoadTestAdministrationGetServerMetricsConfig200Response,\n LoadTestAdministrationGetServerMetricsConfigDefaultResponse,\n TestProfileAdministrationCreateOrUpdateTestProfile200Response,\n TestProfileAdministrationCreateOrUpdateTestProfile201Response,\n TestProfileAdministrationCreateOrUpdateTestProfileDefaultResponse,\n TestProfileAdministrationDeleteTestProfile204Response,\n TestProfileAdministrationDeleteTestProfileDefaultResponse,\n TestProfileAdministrationGetTestProfile200Response,\n TestProfileAdministrationGetTestProfileDefaultResponse,\n TestProfileAdministrationListTestProfiles200Response,\n TestProfileAdministrationListTestProfilesDefaultResponse,\n LoadTestRunGetTestRun200Response,\n LoadTestRunGetTestRunDefaultResponse,\n LoadTestRunCreateOrUpdateTestRun200Response,\n LoadTestRunCreateOrUpdateTestRun201Response,\n LoadTestRunCreateOrUpdateTestRunDefaultResponse,\n LoadTestRunDeleteTestRun204Response,\n LoadTestRunDeleteTestRunDefaultResponse,\n LoadTestRunListTestRuns200Response,\n LoadTestRunListTestRunsDefaultResponse,\n LoadTestRunGetTestRunFile200Response,\n LoadTestRunGetTestRunFileDefaultResponse,\n LoadTestRunStop200Response,\n LoadTestRunStopDefaultResponse,\n LoadTestRunListMetricNamespaces200Response,\n LoadTestRunListMetricNamespacesDefaultResponse,\n LoadTestRunListMetricDefinitions200Response,\n LoadTestRunListMetricDefinitionsDefaultResponse,\n LoadTestRunListMetrics200Response,\n LoadTestRunListMetricsDefaultResponse,\n LoadTestRunListMetricDimensionValues200Response,\n LoadTestRunListMetricDimensionValuesDefaultResponse,\n LoadTestRunCreateOrUpdateAppComponents200Response,\n LoadTestRunCreateOrUpdateAppComponents201Response,\n LoadTestRunCreateOrUpdateAppComponentsDefaultResponse,\n LoadTestRunGetAppComponents200Response,\n LoadTestRunGetAppComponentsDefaultResponse,\n LoadTestRunCreateOrUpdateServerMetricsConfig200Response,\n LoadTestRunCreateOrUpdateServerMetricsConfig201Response,\n LoadTestRunCreateOrUpdateServerMetricsConfigDefaultResponse,\n LoadTestRunGetServerMetricsConfig200Response,\n LoadTestRunGetServerMetricsConfigDefaultResponse,\n TestProfileRunAdministrationGetTestProfileRun200Response,\n TestProfileRunAdministrationGetTestProfileRunDefaultResponse,\n TestProfileRunAdministrationCreateOrUpdateTestProfileRun200Response,\n TestProfileRunAdministrationCreateOrUpdateTestProfileRun201Response,\n TestProfileRunAdministrationCreateOrUpdateTestProfileRunDefaultResponse,\n TestProfileRunAdministrationDeleteTestProfileRun204Response,\n TestProfileRunAdministrationDeleteTestProfileRunDefaultResponse,\n TestProfileRunAdministrationStop200Response,\n TestProfileRunAdministrationStopDefaultResponse,\n TestProfileRunAdministrationListTestProfileRuns200Response,\n TestProfileRunAdministrationListTestProfileRunsDefaultResponse,\n TriggerAdministrationGetTrigger200Response,\n TriggerAdministrationGetTriggerDefaultResponse,\n TriggerAdministrationCreateOrUpdateTrigger200Response,\n TriggerAdministrationCreateOrUpdateTrigger201Response,\n TriggerAdministrationCreateOrUpdateTriggerDefaultResponse,\n TriggerAdministrationDeleteTrigger204Response,\n TriggerAdministrationDeleteTriggerDefaultResponse,\n TriggerAdministrationListTrigger200Response,\n TriggerAdministrationListTriggerDefaultResponse,\n NotificationRuleAdministrationGetNotificationRule200Response,\n NotificationRuleAdministrationGetNotificationRuleDefaultResponse,\n NotificationRuleAdministrationCreateOrUpdateNotificationRule200Response,\n NotificationRuleAdministrationCreateOrUpdateNotificationRule201Response,\n NotificationRuleAdministrationCreateOrUpdateNotificationRuleDefaultResponse,\n NotificationRuleAdministrationDeleteNotificationRule204Response,\n NotificationRuleAdministrationDeleteNotificationRuleDefaultResponse,\n NotificationRuleAdministrationListNotificationRule200Response,\n NotificationRuleAdministrationListNotificationRuleDefaultResponse,\n} from \"./responses.js\";\n\nconst responseMap: Record<string, string[]> = {\n \"PATCH /tests/{testId}\": [\"200\", \"201\"],\n \"DELETE /tests/{testId}\": [\"204\"],\n \"GET /tests/{testId}\": [\"200\"],\n \"GET /tests\": [\"200\"],\n \"PUT /tests/{testId}/files/{fileName}\": [\"201\"],\n \"GET /tests/{testId}/files/{fileName}\": [\"200\"],\n \"DELETE /tests/{testId}/files/{fileName}\": [\"204\"],\n \"GET /tests/{testId}/files\": [\"200\"],\n \"PATCH /tests/{testId}/app-components\": [\"200\", \"201\"],\n \"GET /tests/{testId}/app-components\": [\"200\"],\n \"PATCH /tests/{testId}/server-metrics-config\": [\"200\", \"201\"],\n \"GET /tests/{testId}/server-metrics-config\": [\"200\"],\n \"PATCH /test-profiles/{testProfileId}\": [\"200\", \"201\"],\n \"DELETE /test-profiles/{testProfileId}\": [\"204\"],\n \"GET /test-profiles/{testProfileId}\": [\"200\"],\n \"GET /test-profiles\": [\"200\"],\n \"GET /test-runs/{testRunId}\": [\"200\"],\n \"PATCH /test-runs/{testRunId}\": [\"200\", \"201\"],\n \"DELETE /test-runs/{testRunId}\": [\"204\"],\n \"GET /test-runs\": [\"200\"],\n \"GET /test-runs/{testRunId}/files/{fileName}\": [\"200\"],\n \"POST /test-runs/{testRunId}:stop\": [\"200\"],\n \"GET /test-runs/{testRunId}/metric-namespaces\": [\"200\"],\n \"GET /test-runs/{testRunId}/metric-definitions\": [\"200\"],\n \"POST /test-runs/{testRunId}/metrics\": [\"200\"],\n \"GET /test-runs/{testRunId}/metric-dimensions/{name}/values\": [\"200\"],\n \"PATCH /test-runs/{testRunId}/app-components\": [\"200\", \"201\"],\n \"GET /test-runs/{testRunId}/app-components\": [\"200\"],\n \"PATCH /test-runs/{testRunId}/server-metrics-config\": [\"200\", \"201\"],\n \"GET /test-runs/{testRunId}/server-metrics-config\": [\"200\"],\n \"GET /test-profile-runs/{testProfileRunId}\": [\"200\"],\n \"PATCH /test-profile-runs/{testProfileRunId}\": [\"200\", \"201\"],\n \"DELETE /test-profile-runs/{testProfileRunId}\": [\"204\"],\n \"POST /test-profile-runs/{testProfileRunId}:stop\": [\"200\"],\n \"GET /test-profile-runs\": [\"200\"],\n \"GET /triggers/{triggerId}\": [\"200\"],\n \"PATCH /triggers/{triggerId}\": [\"200\", \"201\"],\n \"DELETE /triggers/{triggerId}\": [\"204\"],\n \"GET /triggers\": [\"200\"],\n \"GET /notification-rules/{notificationRuleId}\": [\"200\"],\n \"PATCH /notification-rules/{notificationRuleId}\": [\"200\", \"201\"],\n \"DELETE /notification-rules/{notificationRuleId}\": [\"204\"],\n \"GET /notification-rules\": [\"200\"],\n};\n\nexport function isUnexpected(\n response:\n | LoadTestAdministrationCreateOrUpdateTest200Response\n | LoadTestAdministrationCreateOrUpdateTest201Response\n | LoadTestAdministrationCreateOrUpdateTestDefaultResponse,\n): response is LoadTestAdministrationCreateOrUpdateTestDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestAdministrationDeleteTest204Response\n | LoadTestAdministrationDeleteTestDefaultResponse,\n): response is LoadTestAdministrationDeleteTestDefaultResponse;\nexport function isUnexpected(\n response: LoadTestAdministrationGetTest200Response | LoadTestAdministrationGetTestDefaultResponse,\n): response is LoadTestAdministrationGetTestDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestAdministrationListTests200Response\n | LoadTestAdministrationListTestsDefaultResponse,\n): response is LoadTestAdministrationListTestsDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestAdministrationUploadTestFile201Response\n | LoadTestAdministrationUploadTestFileDefaultResponse,\n): response is LoadTestAdministrationUploadTestFileDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestAdministrationGetTestFile200Response\n | LoadTestAdministrationGetTestFileDefaultResponse,\n): response is LoadTestAdministrationGetTestFileDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestAdministrationDeleteTestFile204Response\n | LoadTestAdministrationDeleteTestFileDefaultResponse,\n): response is LoadTestAdministrationDeleteTestFileDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestAdministrationListTestFiles200Response\n | LoadTestAdministrationListTestFilesDefaultResponse,\n): response is LoadTestAdministrationListTestFilesDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestAdministrationCreateOrUpdateAppComponents200Response\n | LoadTestAdministrationCreateOrUpdateAppComponents201Response\n | LoadTestAdministrationCreateOrUpdateAppComponentsDefaultResponse,\n): response is LoadTestAdministrationCreateOrUpdateAppComponentsDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestAdministrationGetAppComponents200Response\n | LoadTestAdministrationGetAppComponentsDefaultResponse,\n): response is LoadTestAdministrationGetAppComponentsDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestAdministrationCreateOrUpdateServerMetricsConfig200Response\n | LoadTestAdministrationCreateOrUpdateServerMetricsConfig201Response\n | LoadTestAdministrationCreateOrUpdateServerMetricsConfigDefaultResponse,\n): response is LoadTestAdministrationCreateOrUpdateServerMetricsConfigDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestAdministrationGetServerMetricsConfig200Response\n | LoadTestAdministrationGetServerMetricsConfigDefaultResponse,\n): response is LoadTestAdministrationGetServerMetricsConfigDefaultResponse;\nexport function isUnexpected(\n response:\n | TestProfileAdministrationCreateOrUpdateTestProfile200Response\n | TestProfileAdministrationCreateOrUpdateTestProfile201Response\n | TestProfileAdministrationCreateOrUpdateTestProfileDefaultResponse,\n): response is TestProfileAdministrationCreateOrUpdateTestProfileDefaultResponse;\nexport function isUnexpected(\n response:\n | TestProfileAdministrationDeleteTestProfile204Response\n | TestProfileAdministrationDeleteTestProfileDefaultResponse,\n): response is TestProfileAdministrationDeleteTestProfileDefaultResponse;\nexport function isUnexpected(\n response:\n | TestProfileAdministrationGetTestProfile200Response\n | TestProfileAdministrationGetTestProfileDefaultResponse,\n): response is TestProfileAdministrationGetTestProfileDefaultResponse;\nexport function isUnexpected(\n response:\n | TestProfileAdministrationListTestProfiles200Response\n | TestProfileAdministrationListTestProfilesDefaultResponse,\n): response is TestProfileAdministrationListTestProfilesDefaultResponse;\nexport function isUnexpected(\n response: LoadTestRunGetTestRun200Response | LoadTestRunGetTestRunDefaultResponse,\n): response is LoadTestRunGetTestRunDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestRunCreateOrUpdateTestRun200Response\n | LoadTestRunCreateOrUpdateTestRun201Response\n | LoadTestRunCreateOrUpdateTestRunDefaultResponse,\n): response is LoadTestRunCreateOrUpdateTestRunDefaultResponse;\nexport function isUnexpected(\n response: LoadTestRunDeleteTestRun204Response | LoadTestRunDeleteTestRunDefaultResponse,\n): response is LoadTestRunDeleteTestRunDefaultResponse;\nexport function isUnexpected(\n response: LoadTestRunListTestRuns200Response | LoadTestRunListTestRunsDefaultResponse,\n): response is LoadTestRunListTestRunsDefaultResponse;\nexport function isUnexpected(\n response: LoadTestRunGetTestRunFile200Response | LoadTestRunGetTestRunFileDefaultResponse,\n): response is LoadTestRunGetTestRunFileDefaultResponse;\nexport function isUnexpected(\n response: LoadTestRunStop200Response | LoadTestRunStopDefaultResponse,\n): response is LoadTestRunStopDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestRunListMetricNamespaces200Response\n | LoadTestRunListMetricNamespacesDefaultResponse,\n): response is LoadTestRunListMetricNamespacesDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestRunListMetricDefinitions200Response\n | LoadTestRunListMetricDefinitionsDefaultResponse,\n): response is LoadTestRunListMetricDefinitionsDefaultResponse;\nexport function isUnexpected(\n response: LoadTestRunListMetrics200Response | LoadTestRunListMetricsDefaultResponse,\n): response is LoadTestRunListMetricsDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestRunListMetricDimensionValues200Response\n | LoadTestRunListMetricDimensionValuesDefaultResponse,\n): response is LoadTestRunListMetricDimensionValuesDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestRunCreateOrUpdateAppComponents200Response\n | LoadTestRunCreateOrUpdateAppComponents201Response\n | LoadTestRunCreateOrUpdateAppComponentsDefaultResponse,\n): response is LoadTestRunCreateOrUpdateAppComponentsDefaultResponse;\nexport function isUnexpected(\n response: LoadTestRunGetAppComponents200Response | LoadTestRunGetAppComponentsDefaultResponse,\n): response is LoadTestRunGetAppComponentsDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestRunCreateOrUpdateServerMetricsConfig200Response\n | LoadTestRunCreateOrUpdateServerMetricsConfig201Response\n | LoadTestRunCreateOrUpdateServerMetricsConfigDefaultResponse,\n): response is LoadTestRunCreateOrUpdateServerMetricsConfigDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestRunGetServerMetricsConfig200Response\n | LoadTestRunGetServerMetricsConfigDefaultResponse,\n): response is LoadTestRunGetServerMetricsConfigDefaultResponse;\nexport function isUnexpected(\n response:\n | TestProfileRunAdministrationGetTestProfileRun200Response\n | TestProfileRunAdministrationGetTestProfileRunDefaultResponse,\n): response is TestProfileRunAdministrationGetTestProfileRunDefaultResponse;\nexport function isUnexpected(\n response:\n | TestProfileRunAdministrationCreateOrUpdateTestProfileRun200Response\n | TestProfileRunAdministrationCreateOrUpdateTestProfileRun201Response\n | TestProfileRunAdministrationCreateOrUpdateTestProfileRunDefaultResponse,\n): response is TestProfileRunAdministrationCreateOrUpdateTestProfileRunDefaultResponse;\nexport function isUnexpected(\n response:\n | TestProfileRunAdministrationDeleteTestProfileRun204Response\n | TestProfileRunAdministrationDeleteTestProfileRunDefaultResponse,\n): response is TestProfileRunAdministrationDeleteTestProfileRunDefaultResponse;\nexport function isUnexpected(\n response:\n | TestProfileRunAdministrationStop200Response\n | TestProfileRunAdministrationStopDefaultResponse,\n): response is TestProfileRunAdministrationStopDefaultResponse;\nexport function isUnexpected(\n response:\n | TestProfileRunAdministrationListTestProfileRuns200Response\n | TestProfileRunAdministrationListTestProfileRunsDefaultResponse,\n): response is TestProfileRunAdministrationListTestProfileRunsDefaultResponse;\nexport function isUnexpected(\n response:\n | TriggerAdministrationGetTrigger200Response\n | TriggerAdministrationGetTriggerDefaultResponse,\n): response is TriggerAdministrationGetTriggerDefaultResponse;\nexport function isUnexpected(\n response:\n | TriggerAdministrationCreateOrUpdateTrigger200Response\n | TriggerAdministrationCreateOrUpdateTrigger201Response\n | TriggerAdministrationCreateOrUpdateTriggerDefaultResponse,\n): response is TriggerAdministrationCreateOrUpdateTriggerDefaultResponse;\nexport function isUnexpected(\n response:\n | TriggerAdministrationDeleteTrigger204Response\n | TriggerAdministrationDeleteTriggerDefaultResponse,\n): response is TriggerAdministrationDeleteTriggerDefaultResponse;\nexport function isUnexpected(\n response:\n | TriggerAdministrationListTrigger200Response\n | TriggerAdministrationListTriggerDefaultResponse,\n): response is TriggerAdministrationListTriggerDefaultResponse;\nexport function isUnexpected(\n response:\n | NotificationRuleAdministrationGetNotificationRule200Response\n | NotificationRuleAdministrationGetNotificationRuleDefaultResponse,\n): response is NotificationRuleAdministrationGetNotificationRuleDefaultResponse;\nexport function isUnexpected(\n response:\n | NotificationRuleAdministrationCreateOrUpdateNotificationRule200Response\n | NotificationRuleAdministrationCreateOrUpdateNotificationRule201Response\n | NotificationRuleAdministrationCreateOrUpdateNotificationRuleDefaultResponse,\n): response is NotificationRuleAdministrationCreateOrUpdateNotificationRuleDefaultResponse;\nexport function isUnexpected(\n response:\n | NotificationRuleAdministrationDeleteNotificationRule204Response\n | NotificationRuleAdministrationDeleteNotificationRuleDefaultResponse,\n): response is NotificationRuleAdministrationDeleteNotificationRuleDefaultResponse;\nexport function isUnexpected(\n response:\n | NotificationRuleAdministrationListNotificationRule200Response\n | NotificationRuleAdministrationListNotificationRuleDefaultResponse,\n): response is NotificationRuleAdministrationListNotificationRuleDefaultResponse;\nexport function isUnexpected(\n response:\n | LoadTestAdministrationCreateOrUpdateTest200Response\n | LoadTestAdministrationCreateOrUpdateTest201Response\n | LoadTestAdministrationCreateOrUpdateTestDefaultResponse\n | LoadTestAdministrationDeleteTest204Response\n | LoadTestAdministrationDeleteTestDefaultResponse\n | LoadTestAdministrationGetTest200Response\n | LoadTestAdministrationGetTestDefaultResponse\n | LoadTestAdministrationListTests200Response\n | LoadTestAdministrationListTestsDefaultResponse\n | LoadTestAdministrationUploadTestFile201Response\n | LoadTestAdministrationUploadTestFileDefaultResponse\n | LoadTestAdministrationGetTestFile200Response\n | LoadTestAdministrationGetTestFileDefaultResponse\n | LoadTestAdministrationDeleteTestFile204Response\n | LoadTestAdministrationDeleteTestFileDefaultResponse\n | LoadTestAdministrationListTestFiles200Response\n | LoadTestAdministrationListTestFilesDefaultResponse\n | LoadTestAdministrationCreateOrUpdateAppComponents200Response\n | LoadTestAdministrationCreateOrUpdateAppComponents201Response\n | LoadTestAdministrationCreateOrUpdateAppComponentsDefaultResponse\n | LoadTestAdministrationGetAppComponents200Response\n | LoadTestAdministrationGetAppComponentsDefaultResponse\n | LoadTestAdministrationCreateOrUpdateServerMetricsConfig200Response\n | LoadTestAdministrationCreateOrUpdateServerMetricsConfig201Response\n | LoadTestAdministrationCreateOrUpdateServerMetricsConfigDefaultResponse\n | LoadTestAdministrationGetServerMetricsConfig200Response\n | LoadTestAdministrationGetServerMetricsConfigDefaultResponse\n | TestProfileAdministrationCreateOrUpdateTestProfile200Response\n | TestProfileAdministrationCreateOrUpdateTestProfile201Response\n | TestProfileAdministrationCreateOrUpdateTestProfileDefaultResponse\n | TestProfileAdministrationDeleteTestProfile204Response\n | TestProfileAdministrationDeleteTestProfileDefaultResponse\n | TestProfileAdministrationGetTestProfile200Response\n | TestProfileAdministrationGetTestProfileDefaultResponse\n | TestProfileAdministrationListTestProfiles200Response\n | TestProfileAdministrationListTestProfilesDefaultResponse\n | LoadTestRunGetTestRun200Response\n | LoadTestRunGetTestRunDefaultResponse\n | LoadTestRunCreateOrUpdateTestRun200Response\n | LoadTestRunCreateOrUpdateTestRun201Response\n | LoadTestRunCreateOrUpdateTestRunDefaultResponse\n | LoadTestRunDeleteTestRun204Response\n | LoadTestRunDeleteTestRunDefaultResponse\n | LoadTestRunListTestRuns200Response\n | LoadTestRunListTestRunsDefaultResponse\n | LoadTestRunGetTestRunFile200Response\n | LoadTestRunGetTestRunFileDefaultResponse\n | LoadTestRunStop200Response\n | LoadTestRunStopDefaultResponse\n | LoadTestRunListMetricNamespaces200Response\n | LoadTestRunListMetricNamespacesDefaultResponse\n | LoadTestRunListMetricDefinitions200Response\n | LoadTestRunListMetricDefinitionsDefaultResponse\n | LoadTestRunListMetrics200Response\n | LoadTestRunListMetricsDefaultResponse\n | LoadTestRunListMetricDimensionValues200Response\n | LoadTestRunListMetricDimensionValuesDefaultResponse\n | LoadTestRunCreateOrUpdateAppComponents200Response\n | LoadTestRunCreateOrUpdateAppComponents201Response\n | LoadTestRunCreateOrUpdateAppComponentsDefaultResponse\n | LoadTestRunGetAppComponents200Response\n | LoadTestRunGetAppComponentsDefaultResponse\n | LoadTestRunCreateOrUpdateServerMetricsConfig200Response\n | LoadTestRunCreateOrUpdateServerMetricsConfig201Response\n | LoadTestRunCreateOrUpdateServerMetricsConfigDefaultResponse\n | LoadTestRunGetServerMetricsConfig200Response\n | LoadTestRunGetServerMetricsConfigDefaultResponse\n | TestProfileRunAdministrationGetTestProfileRun200Response\n | TestProfileRunAdministrationGetTestProfileRunDefaultResponse\n | TestProfileRunAdministrationCreateOrUpdateTestProfileRun200Response\n | TestProfileRunAdministrationCreateOrUpdateTestProfileRun201Response\n | TestProfileRunAdministrationCreateOrUpdateTestProfileRunDefaultResponse\n | TestProfileRunAdministrationDeleteTestProfileRun204Response\n | TestProfileRunAdministrationDeleteTestProfileRunDefaultResponse\n | TestProfileRunAdministrationStop200Response\n | TestProfileRunAdministrationStopDefaultResponse\n | TestProfileRunAdministrationListTestProfileRuns200Response\n | TestProfileRunAdministrationListTestProfileRunsDefaultResponse\n | TriggerAdministrationGetTrigger200Response\n | TriggerAdministrationGetTriggerDefaultResponse\n | TriggerAdministrationCreateOrUpdateTrigger200Response\n | TriggerAdministrationCreateOrUpdateTrigger201Response\n | TriggerAdministrationCreateOrUpdateTriggerDefaultResponse\n | TriggerAdministrationDeleteTrigger204Response\n | TriggerAdministrationDeleteTriggerDefaultResponse\n | TriggerAdministrationListTrigger200Response\n | TriggerAdministrationListTriggerDefaultResponse\n | NotificationRuleAdministrationGetNotificationRule200Response\n | NotificationRuleAdministrationGetNotificationRuleDefaultResponse\n | NotificationRuleAdministrationCreateOrUpdateNotificationRule200Response\n | NotificationRuleAdministrationCreateOrUpdateNotificationRule201Response\n | NotificationRuleAdministrationCreateOrUpdateNotificationRuleDefaultResponse\n | NotificationRuleAdministrationDeleteNotificationRule204Response\n | NotificationRuleAdministrationDeleteNotificationRuleDefaultResponse\n | NotificationRuleAdministrationListNotificationRule200Response\n | NotificationRuleAdministrationListNotificationRuleDefaultResponse,\n): response is\n | LoadTestAdministrationCreateOrUpdateTestDefaultResponse\n | LoadTestAdministrationDeleteTestDefaultResponse\n | LoadTestAdministrationGetTestDefaultResponse\n | LoadTestAdministrationListTestsDefaultResponse\n | LoadTestAdministrationUploadTestFileDefaultResponse\n | LoadTestAdministrationGetTestFileDefaultResponse\n | LoadTestAdministrationDeleteTestFileDefaultResponse\n | LoadTestAdministrationListTestFilesDefaultResponse\n | LoadTestAdministrationCreateOrUpdateAppComponentsDefaultResponse\n | LoadTestAdministrationGetAppComponentsDefaultResponse\n | LoadTestAdministrationCreateOrUpdateServerMetricsConfigDefaultResponse\n | LoadTestAdministrationGetServerMetricsConfigDefaultResponse\n | TestProfileAdministrationCreateOrUpdateTestProfileDefaultResponse\n | TestProfileAdministrationDeleteTestProfileDefaultResponse\n | TestProfileAdministrationGetTestProfileDefaultResponse\n | TestProfileAdministrationListTestProfilesDefaultResponse\n | LoadTestRunGetTestRunDefaultResponse\n | LoadTestRunCreateOrUpdateTestRunDefaultResponse\n | LoadTestRunDeleteTestRunDefaultResponse\n | LoadTestRunListTestRunsDefaultResponse\n | LoadTestRunGetTestRunFileDefaultResponse\n | LoadTestRunStopDefaultResponse\n | LoadTestRunListMetricNamespacesDefaultResponse\n | LoadTestRunListMetricDefinitionsDefaultResponse\n | LoadTestRunListMetricsDefaultResponse\n | LoadTestRunListMetricDimensionValuesDefaultResponse\n | LoadTestRunCreateOrUpdateAppComponentsDefaultResponse\n | LoadTestRunGetAppComponentsDefaultResponse\n | LoadTestRunCreateOrUpdateServerMetricsConfigDefaultResponse\n | LoadTestRunGetServerMetricsConfigDefaultResponse\n | TestProfileRunAdministrationGetTestProfileRunDefaultResponse\n | TestProfileRunAdministrationCreateOrUpdateTestProfileRunDefaultResponse\n | TestProfileRunAdministrationDeleteTestProfileRunDefaultResponse\n | TestProfileRunAdministrationStopDefaultResponse\n | TestProfileRunAdministrationListTestProfileRunsDefaultResponse\n | TriggerAdministrationGetTriggerDefaultResponse\n | TriggerAdministrationCreateOrUpdateTriggerDefaultResponse\n | TriggerAdministrationDeleteTriggerDefaultResponse\n | TriggerAdministrationListTriggerDefaultResponse\n | NotificationRuleAdministrationGetNotificationRuleDefaultResponse\n | NotificationRuleAdministrationCreateOrUpdateNotificationRuleDefaultResponse\n | NotificationRuleAdministrationDeleteNotificationRuleDefaultResponse\n | NotificationRuleAdministrationListNotificationRuleDefaultResponse {\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: (_a = pagedResult === null || pagedResult === void 0 ? void 0 : pagedResult.byPage) !== null && _a !== void 0 ? _a : ((settings) => {
23
- const { continuationToken } = settings !== null && settings !== void 0 ? settings : {};
24
- return getPageAsyncIterator(pagedResult, {
25
- pageLink: continuationToken,
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
- return __asyncGenerator(this, arguments, function* getItemAsyncIterator_1() {
32
- var _a, e_1, _b, _c, _d, e_2, _e, _f;
33
- const pages = getPageAsyncIterator(pagedResult);
34
- const firstVal = yield __await(pages.next());
35
- // if the result does not have an array shape, i.e. TPage = TElement, then we return it as is
36
- if (!Array.isArray(firstVal.value)) {
37
- // can extract elements from this page
38
- const { toElements } = pagedResult;
39
- if (toElements) {
40
- yield __await(yield* __asyncDelegator(__asyncValues(toElements(firstVal.value))));
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 __await(yield* __asyncDelegator(__asyncValues(firstVal.value)));
65
- try {
66
- for (var _h = true, pages_2 = __asyncValues(pages), pages_2_1; pages_2_1 = yield __await(pages_2.next()), _d = pages_2_1.done, !_d; _h = true) {
67
- _f = pages_2_1.value;
68
- _h = false;
69
- const page = _f;
70
- // pages is of type `AsyncIterableIterator<TPage>` so `page` is of type `TPage`. In this branch,
71
- // it must be the case that `TPage = TElement[]`
72
- yield __await(yield* __asyncDelegator(__asyncValues(page)));
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(pagedResult_1) {
86
- return __asyncGenerator(this, arguments, function* getPageAsyncIterator_1(pagedResult, options = {}) {
87
- const { pageLink } = options;
88
- let response = yield __await(pagedResult.getPage(pageLink !== null && pageLink !== void 0 ? pageLink : pagedResult.firstPageLink));
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 yield __await(void 0);
67
+ return;
91
68
  }
92
- yield yield __await(response.page);
93
- while (response.nextPageLink) {
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 !== null && value !== void 0 ? value : [];
126
+ return value ?? [];
157
127
  }
158
128
  /**
159
129
  * Checks if a request failed