@azure-tools/typespec-ts 0.48.1 → 0.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/dist/src/modular/buildClientContext.d.ts.map +1 -1
- package/dist/src/modular/buildClientContext.js +6 -25
- package/dist/src/modular/buildClientContext.js.map +1 -1
- package/dist/src/modular/buildOperations.d.ts.map +1 -1
- package/dist/src/modular/buildOperations.js +1 -1
- package/dist/src/modular/buildOperations.js.map +1 -1
- package/dist/src/modular/buildRestorePoller.d.ts.map +1 -1
- package/dist/src/modular/buildRestorePoller.js +9 -2
- package/dist/src/modular/buildRestorePoller.js.map +1 -1
- package/dist/src/modular/emitSamples.d.ts.map +1 -1
- package/dist/src/modular/emitSamples.js +19 -1
- package/dist/src/modular/emitSamples.js.map +1 -1
- package/dist/src/modular/helpers/clientHelpers.d.ts +1 -0
- package/dist/src/modular/helpers/clientHelpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/clientHelpers.js +24 -7
- package/dist/src/modular/helpers/clientHelpers.js.map +1 -1
- package/dist/src/modular/helpers/operationHelpers.d.ts +2 -2
- package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/operationHelpers.js +40 -9
- package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
- package/dist/src/modular/helpers/typeHelpers.js +1 -1
- package/dist/src/modular/helpers/typeHelpers.js.map +1 -1
- package/dist/src/modular/serialization/buildDeserializerFunction.js +5 -1
- package/dist/src/modular/serialization/buildDeserializerFunction.js.map +1 -1
- package/dist/src/modular/serialization/buildSerializerFunction.js +5 -1
- package/dist/src/modular/serialization/buildSerializerFunction.js.map +1 -1
- package/dist/src/modular/serialization/serializeUtils.d.ts.map +1 -1
- package/dist/src/modular/serialization/serializeUtils.js +1 -0
- package/dist/src/modular/serialization/serializeUtils.js.map +1 -1
- package/dist/src/modular/type-expressions/get-type-expression.js +1 -1
- package/dist/src/modular/type-expressions/get-type-expression.js.map +1 -1
- package/dist/src/transform/transformPaths.js +1 -1
- package/dist/src/transform/transformPaths.js.map +1 -1
- package/dist/src/utils/modelUtils.d.ts.map +1 -1
- package/dist/src/utils/modelUtils.js +6 -2
- package/dist/src/utils/modelUtils.js.map +1 -1
- package/dist/src/utils/operationUtil.d.ts +1 -1
- package/dist/src/utils/operationUtil.d.ts.map +1 -1
- package/dist/src/utils/operationUtil.js +7 -4
- package/dist/src/utils/operationUtil.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
- package/src/modular/buildClientContext.ts +6 -26
- package/src/modular/buildOperations.ts +0 -1
- package/src/modular/buildRestorePoller.ts +9 -2
- package/src/modular/emitSamples.ts +29 -1
- package/src/modular/helpers/clientHelpers.ts +28 -10
- package/src/modular/helpers/operationHelpers.ts +48 -16
- package/src/modular/helpers/typeHelpers.ts +1 -1
- package/src/modular/serialization/buildDeserializerFunction.ts +5 -1
- package/src/modular/serialization/buildSerializerFunction.ts +5 -1
- package/src/modular/serialization/serializeUtils.ts +1 -0
- package/src/modular/type-expressions/get-type-expression.ts +1 -1
- package/src/transform/transformPaths.ts +1 -1
- package/src/utils/modelUtils.ts +5 -1
- package/src/utils/operationUtil.ts +11 -3
- package/static/static-helpers/pagingHelpers.ts +32 -6
- package/static/static-helpers/pollingHelpers.ts +27 -2
|
@@ -38,6 +38,10 @@ export interface GetLongRunningPollerOptions<TResponse> {
|
|
|
38
38
|
* The function to get the initial response
|
|
39
39
|
*/
|
|
40
40
|
getInitialResponse?: () => PromiseLike<TResponse>;
|
|
41
|
+
/**
|
|
42
|
+
* The api-version of the LRO
|
|
43
|
+
*/
|
|
44
|
+
apiVersion?: string;
|
|
41
45
|
}
|
|
42
46
|
export function getLongRunningPoller<
|
|
43
47
|
TResponse extends PathUncheckedResponse,
|
|
@@ -48,7 +52,7 @@ export function getLongRunningPoller<
|
|
|
48
52
|
expectedStatuses: string[],
|
|
49
53
|
options: GetLongRunningPollerOptions<TResponse>
|
|
50
54
|
): PollerLike<OperationState<TResult>, TResult> {
|
|
51
|
-
const { restoreFrom, getInitialResponse } = options;
|
|
55
|
+
const { restoreFrom, getInitialResponse, apiVersion } = options;
|
|
52
56
|
if (!restoreFrom && !getInitialResponse) {
|
|
53
57
|
throw new Error(
|
|
54
58
|
"Either restoreFrom or getInitialResponse must be specified"
|
|
@@ -91,7 +95,10 @@ export function getLongRunningPoller<
|
|
|
91
95
|
}
|
|
92
96
|
let response;
|
|
93
97
|
try {
|
|
94
|
-
|
|
98
|
+
const pollingPath = apiVersion
|
|
99
|
+
? addApiVersionToUrl(path, apiVersion)
|
|
100
|
+
: path;
|
|
101
|
+
response = await client.pathUnchecked(pollingPath).get({ abortSignal });
|
|
95
102
|
} finally {
|
|
96
103
|
options.abortSignal?.removeEventListener("abort", abortListener);
|
|
97
104
|
pollOptions?.abortSignal?.removeEventListener("abort", abortListener);
|
|
@@ -132,3 +139,21 @@ function getLroResponse<TResponse extends PathUncheckedResponse>(
|
|
|
132
139
|
}
|
|
133
140
|
};
|
|
134
141
|
}
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Adds the api-version query parameter on a URL if it's not present.
|
|
145
|
+
* @param url - the URL to modify
|
|
146
|
+
* @param apiVersion - the API version to set
|
|
147
|
+
* @returns - the URL with the api-version query parameter set
|
|
148
|
+
*/
|
|
149
|
+
function addApiVersionToUrl(url: string, apiVersion: string): string {
|
|
150
|
+
// The base URL is only used for parsing and won't appear in the returned URL
|
|
151
|
+
const urlObj = new URL(url, "https://microsoft.com");
|
|
152
|
+
if (!urlObj.searchParams.get("api-version")) {
|
|
153
|
+
// Append one if there is no apiVersion
|
|
154
|
+
return `${url}${
|
|
155
|
+
Array.from(urlObj.searchParams.keys()).length > 0 ? "&" : "?"
|
|
156
|
+
}api-version=${apiVersion}`;
|
|
157
|
+
}
|
|
158
|
+
return url;
|
|
159
|
+
}
|